@artsy/palette 45.12.0 → 45.13.1
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/AutocompleteInput/AutocompleteInput.d.ts +3 -2
- package/dist/elements/AutocompleteInput/AutocompleteInput.js +11 -7
- package/dist/elements/AutocompleteInput/AutocompleteInput.js.map +1 -1
- package/dist/elements/AutocompleteInput/AutocompleteInput.story.d.ts +1 -1
- package/dist/elements/BaseTabs/BaseTab.d.ts +1 -1
- package/dist/elements/Sup/Sup.d.ts +1 -1
- package/dist/elements/Sup/Sup.story.d.ts +1 -1
- package/dist/elements/Tabs/Tabs.js +11 -4
- package/dist/elements/Tabs/Tabs.js.map +1 -1
- package/dist/elements/Tabs/Tabs.story.d.ts +10 -0
- package/dist/elements/Tabs/Tabs.story.js +80 -1
- package/dist/elements/Tabs/Tabs.story.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { InputProps } from "../Input";
|
|
3
2
|
import { ResponsiveValue } from "styled-system";
|
|
3
|
+
import { InputProps } from "../Input";
|
|
4
4
|
export interface AutocompleteFooterActions {
|
|
5
5
|
/** Call to close dropdown */
|
|
6
6
|
onClose(): void;
|
|
@@ -15,6 +15,7 @@ export interface AutocompleteInputProps<T extends AutocompleteInputOptionType> e
|
|
|
15
15
|
clamp?: boolean;
|
|
16
16
|
defaultValue?: string;
|
|
17
17
|
dropdownMaxHeight?: ResponsiveValue<string | number>;
|
|
18
|
+
dropdownMinWidth?: ResponsiveValue<string | number>;
|
|
18
19
|
loading?: boolean;
|
|
19
20
|
header?: React.ReactNode;
|
|
20
21
|
/** Optionally disable flipping (default: `true`) */
|
|
@@ -34,4 +35,4 @@ export interface AutocompleteInputProps<T extends AutocompleteInputOptionType> e
|
|
|
34
35
|
renderOption?(option: T, i: number): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
35
36
|
}
|
|
36
37
|
/** AutocompleteInput */
|
|
37
|
-
export declare const AutocompleteInput: <T extends AutocompleteInputOptionType>({ clamp, defaultValue, dropdownMaxHeight, flip, footer, forwardRef: forwardedRef, header, height, id, loading, onChange, onClear, onClose, onKeyDown, onSelect, onSubmit, options, renderOption, ...rest }: AutocompleteInputProps<T>) => React.JSX.Element;
|
|
38
|
+
export declare const AutocompleteInput: <T extends AutocompleteInputOptionType>({ clamp, defaultValue, dropdownMaxHeight, dropdownMinWidth, flip, footer, forwardRef: forwardedRef, header, height, id, loading, onChange, onClear, onClose, onKeyDown, onSelect, onSubmit, options, renderOption, ...rest }: AutocompleteInputProps<T>) => React.JSX.Element;
|
|
@@ -4,24 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.AutocompleteInput = void 0;
|
|
7
|
+
var _CloseIcon = _interopRequireDefault(require("@artsy/icons/CloseIcon"));
|
|
8
|
+
var _SearchIcon = _interopRequireDefault(require("@artsy/icons/SearchIcon"));
|
|
7
9
|
var _composeReactRefs = _interopRequireDefault(require("@seznam/compose-react-refs"));
|
|
10
|
+
var _themeGet = require("@styled-system/theme-get");
|
|
8
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
13
|
var _useKeyboardListNavigation = require("use-keyboard-list-navigation");
|
|
11
|
-
var _Spinner = require("../Spinner");
|
|
12
|
-
var _SearchIcon = _interopRequireDefault(require("@artsy/icons/SearchIcon"));
|
|
13
|
-
var _CloseIcon = _interopRequireDefault(require("@artsy/icons/CloseIcon"));
|
|
14
14
|
var _utils = require("../../utils");
|
|
15
|
+
var _useMouseActivity2 = require("../../utils/useMouseActivity");
|
|
15
16
|
var _useWidthOf2 = require("../../utils/useWidthOf");
|
|
16
17
|
var _Box = require("../Box");
|
|
17
18
|
var _Clickable = require("../Clickable");
|
|
18
19
|
var _LabeledInput = require("../LabeledInput");
|
|
20
|
+
var _Spinner = require("../Spinner");
|
|
19
21
|
var _VisuallyHidden = require("../VisuallyHidden");
|
|
20
22
|
var _AutocompleteInputOption = require("./AutocompleteInputOption");
|
|
21
23
|
var _AutocompleteInputOptionLabel = require("./AutocompleteInputOptionLabel");
|
|
22
|
-
var
|
|
23
|
-
var _useMouseActivity2 = require("../../utils/useMouseActivity");
|
|
24
|
-
var _excluded = ["clamp", "defaultValue", "dropdownMaxHeight", "flip", "footer", "forwardRef", "header", "height", "id", "loading", "onChange", "onClear", "onClose", "onKeyDown", "onSelect", "onSubmit", "options", "renderOption"];
|
|
24
|
+
var _excluded = ["clamp", "defaultValue", "dropdownMaxHeight", "dropdownMinWidth", "flip", "footer", "forwardRef", "header", "height", "id", "loading", "onChange", "onClear", "onClose", "onKeyDown", "onSelect", "onSubmit", "options", "renderOption"];
|
|
25
25
|
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); }
|
|
26
26
|
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; }
|
|
27
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -77,6 +77,7 @@ var AutocompleteInput = exports.AutocompleteInput = function AutocompleteInput(_
|
|
|
77
77
|
defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
|
|
78
78
|
_ref$dropdownMaxHeigh = _ref.dropdownMaxHeight,
|
|
79
79
|
dropdownMaxHeight = _ref$dropdownMaxHeigh === void 0 ? 308 : _ref$dropdownMaxHeigh,
|
|
80
|
+
dropdownMinWidth = _ref.dropdownMinWidth,
|
|
80
81
|
_ref$flip = _ref.flip,
|
|
81
82
|
flip = _ref$flip === void 0 ? true : _ref$flip,
|
|
82
83
|
footer = _ref.footer,
|
|
@@ -394,8 +395,11 @@ var AutocompleteInput = exports.AutocompleteInput = function AutocompleteInput(_
|
|
|
394
395
|
ref: tooltipRef,
|
|
395
396
|
role: "listbox",
|
|
396
397
|
width: width,
|
|
398
|
+
minWidth: 200,
|
|
397
399
|
pt: 1 // Gap in place of `offset` for `usePosition`
|
|
398
|
-
}, /*#__PURE__*/_react.default.createElement(AutocompleteInputDropdown,
|
|
400
|
+
}, /*#__PURE__*/_react.default.createElement(AutocompleteInputDropdown, {
|
|
401
|
+
minWidth: dropdownMinWidth
|
|
402
|
+
}, /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
399
403
|
ref: headerRef
|
|
400
404
|
}, ignoreFocusChange), header), /*#__PURE__*/_react.default.createElement(AutocompleteInputOptions, {
|
|
401
405
|
maxHeight: dropdownMaxHeight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteInput.js","names":["_composeReactRefs","_interopRequireDefault","require","_react","_interopRequireWildcard","_styledComponents","_useKeyboardListNavigation","_Spinner","_SearchIcon","_CloseIcon","_utils","_useWidthOf2","_Box","_Clickable","_LabeledInput","_VisuallyHidden","_AutocompleteInputOption","_AutocompleteInputOptionLabel","_themeGet","_useMouseActivity2","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","reducer","state","action","type","open","query","payload","AutocompleteInput","exports","_ref","_staged$text","_ref$clamp","clamp","_ref$defaultValue","defaultValue","_ref$dropdownMaxHeigh","dropdownMaxHeight","_ref$flip","flip","footer","forwardedRef","forwardRef","header","height","id","loading","onChange","onClear","onClose","onKeyDown","onSelect","onSubmit","options","_ref$renderOption","renderOption","option","createElement","AutocompleteInputOptionLabel","rest","inputRef","useRef","containerRef","headerRef","footerRef","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_useReducer","useReducer","_useReducer2","dispatch","optionsWithRefs","useMemo","map","ref","createRef","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","useKeyboardListNavigation","list","waitForInteractive","onEnter","_ref2","element","event","preventDefault","stopPropagation","isDropdownVisible","useEffect","_usePosition","usePosition","active","offset","position","anchorRef","tooltipRef","_useWidthOf","useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","useCallback","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","handleFocusChange","focused","_useContainsFocus","useContainsFocus","containsFocusRef","useClickOutside","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","Box","composeRefs","LabeledInput","role","concat","label","Spinner","size","Clickable","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdownContainer","pt","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","AutocompleteInputOption","onMouseEnter","tabIndex","VisuallyHidden","displayName","styled","withConfig","componentId","themeGet"],"sources":["../../../src/elements/AutocompleteInput/AutocompleteInput.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { Spinner } from \"../Spinner\"\nimport SearchIcon from \"@artsy/icons/SearchIcon\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { usePosition, useContainsFocus, useClickOutside } from \"../../utils\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { InputProps } from \"../Input\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { AutocompleteInputOption } from \"./AutocompleteInputOption\"\nimport { AutocompleteInputOptionLabel } from \"./AutocompleteInputOptionLabel\"\nimport { ResponsiveValue } from \"styled-system\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport { useMouseActivity } from \"../../utils/useMouseActivity\"\n\nexport interface AutocompleteFooterActions {\n /** Call to close dropdown */\n onClose(): void\n}\n\n/** Base option type — can be expanded */\nexport interface AutocompleteInputOptionType {\n text: string\n value: string\n}\n\ninterface State {\n open: boolean\n query: string\n}\n\ntype Action =\n | { type: \"OPEN\" }\n | { type: \"CLOSE\" }\n | { type: \"CLEAR\" }\n | { type: \"CHANGE\"; payload: { query: string } }\n | { type: \"SELECT\"; payload: { query: string } }\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"OPEN\":\n return { ...state, open: true }\n case \"CLOSE\":\n return { ...state, open: false }\n case \"CLEAR\":\n return { ...state, query: \"\" }\n case \"CHANGE\":\n return { ...state, query: action.payload.query, open: true }\n case \"SELECT\":\n return { ...state, query: action.payload.query, open: false }\n }\n}\n\nexport interface AutocompleteInputProps<T extends AutocompleteInputOptionType>\n extends Omit<InputProps, \"onSelect\" | \"onSubmit\"> {\n /** Optionally enable clamping (default: `false`) */\n clamp?: boolean\n defaultValue?: string\n dropdownMaxHeight?: ResponsiveValue<string | number>\n loading?: boolean\n header?: React.ReactNode\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n footer?:\n | React.ReactNode\n | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode)\n /** Ref to the input; workaround generics */\n forwardRef?: React.Ref<HTMLInputElement>\n /** on <enter> when no option is selected */\n onSubmit?(query: string): void\n /** on <click> or <enter> when an option is selected */\n onSelect?(option: T, index: number): void\n /** on <click> of the 'x' (clear) button */\n onClear?(): void\n /** Callback that runs when options are hidden */\n onClose?(): void\n options: T[]\n renderOption?(\n option: T,\n i: number\n ): React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/** AutocompleteInput */\nexport const AutocompleteInput = <T extends AutocompleteInputOptionType>({\n clamp = false,\n defaultValue = \"\",\n dropdownMaxHeight = 308, // 308 = roughly 5.5 options\n flip = true,\n footer,\n forwardRef: forwardedRef,\n header,\n height,\n id,\n loading,\n onChange,\n onClear,\n onClose,\n onKeyDown,\n onSelect,\n onSubmit,\n options,\n renderOption = (option) => <AutocompleteInputOptionLabel {...option} />,\n ...rest\n}: AutocompleteInputProps<T>) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const footerRef = useRef<HTMLDivElement | null>(null)\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n\n const [state, dispatch] = useReducer(reducer, {\n open: false,\n query: defaultValue,\n })\n\n const optionsWithRefs = useMemo(() => {\n return options.map((option) => ({\n option,\n ref: createRef<HTMLButtonElement>(),\n }))\n }, [options])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n dispatch({ type: \"CLOSE\" })\n }, 100)\n }\n\n const handleSelect = (option: T, index: number) => {\n dispatch({ type: \"SELECT\", payload: { query: option.text } })\n inputRef.current?.focus()\n onSelect?.(option, index)\n }\n\n const { index, reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: options,\n waitForInteractive: true,\n onEnter: ({ element: option, index: i, event }) => {\n event.preventDefault()\n event.stopPropagation()\n handleSelect(option, i)\n resetUI()\n },\n })\n\n const isDropdownVisible = state.open && options.length > 0\n\n // Reset keyboard navigation when options change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, [options])\n\n // Reset keyboard navigation when query is empty\n useEffect(() => {\n if (state.query === \"\") reset()\n }, [reset, state.query])\n\n const { anchorRef, tooltipRef } = usePosition({\n active: isDropdownVisible,\n clamp,\n flip,\n key: options.length,\n offset: 0,\n position: \"bottom\",\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const handleFocus = () => {\n reset()\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseDown = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n // Records the latest mouse movement and, inside the `handleMouseEnter` callback,\n // only treat the event as genuine if the mouse has moved very recently.\n // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.\n const { lastMouseMoveTimestamp } = useMouseActivity()\n\n const handleMouseEnter = (i: number) => () => {\n const now = performance.now()\n\n // 50ms mouse move window\n if (now - lastMouseMoveTimestamp.current < 50) {\n set({ cursor: i, interactive: true })\n }\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const {\n currentTarget: { value },\n } = event\n\n dispatch({ type: \"CHANGE\", payload: { query: value } })\n onChange?.(event)\n }\n\n const handleClearOrSubmit = () => {\n if (state.query === \"\") {\n onSubmit?.(state.query)\n return\n }\n\n dispatch({ type: \"CLEAR\" })\n inputRef.current?.focus()\n onClear?.()\n }\n\n const handleClose = useCallback(() => {\n dispatch({ type: \"CLOSE\" })\n reset()\n onClose?.()\n }, [onClose, reset])\n\n const ignoreFocusChangeRef = useRef<boolean>(false)\n const ignoreFocusChange = {\n onMouseDown: () => (ignoreFocusChangeRef.current = true),\n onMouseUp: () => (ignoreFocusChangeRef.current = false),\n }\n\n // Moves focus to different options when keyboard navigating using up/down\n useEffect(() => {\n const el = optionsWithRefs[index]?.ref?.current\n if (!el) return\n\n const isPointerInteraction =\n performance.now() - lastMouseMoveTimestamp.current < 50\n\n if (isPointerInteraction) {\n // Pointer interactions should not cause scroll\n el.focus({ preventScroll: true })\n return\n }\n\n // Keyboard navigation: focus and ensure visibility\n el.focus({ preventScroll: true })\n try {\n el.scrollIntoView({ block: \"nearest\" })\n } catch {}\n }, [index, optionsWithRefs])\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return\n\n handleClose()\n },\n\n [isDropdownVisible, handleClose]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n useClickOutside({\n ref: containsFocusRef,\n onClickOutside: handleClose,\n when: isDropdownVisible,\n type: \"click\",\n })\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n // Handle <Enter> when nothing is selected\n case \"Enter\":\n if (state.query !== \"\" && index === -1) {\n onSubmit?.(state.query)\n resetUI()\n }\n return\n\n // <Esc> to close dropdown\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n\n return\n\n default:\n break\n }\n\n onKeyDown?.(event)\n }\n\n // Moves focus back to input when typing\n const handleContainerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Alt\":\n case \"ArrowDown\":\n case \"ArrowUp\":\n case \"Control\":\n case \"Enter\":\n case \"Meta\":\n case \"Shift\":\n case \"Tab\":\n // Ignore\n return\n\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n reset()\n\n return\n\n default:\n inputRef.current?.focus()\n }\n }\n\n // Option that is being hovered or keyed into\n const staged = options[index]\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n onKeyDown={handleContainerKeydown}\n {...boxProps}\n >\n <LabeledInput\n ref={composeRefs(inputRef, anchorRef, forwardedRef) as any}\n role=\"combobox\"\n aria-expanded={isDropdownVisible}\n aria-autocomplete=\"list\"\n {...(id ? { id, \"aria-describedby\": `${id}__assistiveHint` } : {})}\n label={\n loading ? (\n <Box width={18}>\n <Spinner size=\"small\" />\n </Box>\n ) : state.query ? (\n <Clickable\n onClick={handleClearOrSubmit}\n height=\"100%\"\n display=\"flex\"\n alignItems=\"center\"\n aria-label=\"Clear input\"\n >\n <CloseIcon fill=\"mono60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"mono60\" aria-hidden />\n )\n }\n value={staged?.text ?? state.query}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeydown}\n onClick={handleClick}\n autoComplete=\"off\"\n height={height}\n {...inputProps}\n />\n\n {isDropdownVisible && (\n <AutocompleteInputDropdownContainer\n ref={tooltipRef as any}\n role=\"listbox\"\n width={width}\n pt={1} // Gap in place of `offset` for `usePosition`\n >\n <AutocompleteInputDropdown>\n <div ref={headerRef} {...ignoreFocusChange}>\n {header}\n </div>\n\n <AutocompleteInputOptions maxHeight={dropdownMaxHeight}>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <AutocompleteInputOption\n key={i}\n ref={ref}\n role=\"option\"\n aria-selected={i === index}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n onMouseDown={handleMouseDown(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n tabIndex={-1}\n >\n {renderOption(option, i)}\n </AutocompleteInputOption>\n )\n })}\n </AutocompleteInputOptions>\n\n <div ref={footerRef} {...ignoreFocusChange}>\n {typeof footer === \"function\"\n ? footer({ onClose: handleClose })\n : footer}\n </div>\n </AutocompleteInputDropdown>\n </AutocompleteInputDropdownContainer>\n )}\n\n <VisuallyHidden {...(id ? { id: `${id}__assistiveHint` } : {})}>\n When autocomplete results are available use up and down arrows to review\n and enter to select. Touch device users, explore by touch or with swipe\n gestures.\n </VisuallyHidden>\n\n {isDropdownVisible && (\n <VisuallyHidden role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {options.length === 1\n ? `1 result is available`\n : `${options.length} results are available`}\n </VisuallyHidden>\n )}\n </Box>\n )\n}\n\nconst AutocompleteInputDropdownContainer = styled(Box)`\n z-index: 1;\n`\n\nconst AutocompleteInputDropdown = styled(Box)`\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n`\n\nconst AutocompleteInputOptions = styled(Box)`\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutocompleteInput.js","names":["_CloseIcon","_interopRequireDefault","require","_SearchIcon","_composeReactRefs","_themeGet","_react","_interopRequireWildcard","_styledComponents","_useKeyboardListNavigation","_utils","_useMouseActivity2","_useWidthOf2","_Box","_Clickable","_LabeledInput","_Spinner","_VisuallyHidden","_AutocompleteInputOption","_AutocompleteInputOptionLabel","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","reducer","state","action","type","open","query","payload","AutocompleteInput","exports","_ref","_staged$text","_ref$clamp","clamp","_ref$defaultValue","defaultValue","_ref$dropdownMaxHeigh","dropdownMaxHeight","dropdownMinWidth","_ref$flip","flip","footer","forwardedRef","forwardRef","header","height","id","loading","onChange","onClear","onClose","onKeyDown","onSelect","onSubmit","options","_ref$renderOption","renderOption","option","createElement","AutocompleteInputOptionLabel","rest","inputRef","useRef","containerRef","headerRef","footerRef","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_useReducer","useReducer","_useReducer2","dispatch","optionsWithRefs","useMemo","map","ref","createRef","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","useKeyboardListNavigation","list","waitForInteractive","onEnter","_ref2","element","event","preventDefault","stopPropagation","isDropdownVisible","useEffect","_usePosition","usePosition","active","offset","position","anchorRef","tooltipRef","_useWidthOf","useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","useCallback","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","handleFocusChange","focused","_useContainsFocus","useContainsFocus","containsFocusRef","useClickOutside","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","Box","composeRefs","LabeledInput","role","concat","label","Spinner","size","Clickable","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdownContainer","minWidth","pt","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","AutocompleteInputOption","onMouseEnter","tabIndex","VisuallyHidden","displayName","styled","withConfig","componentId","themeGet"],"sources":["../../../src/elements/AutocompleteInput/AutocompleteInput.tsx"],"sourcesContent":["import CloseIcon from \"@artsy/icons/CloseIcon\"\nimport SearchIcon from \"@artsy/icons/SearchIcon\"\nimport composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { ResponsiveValue } from \"styled-system\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { useClickOutside, useContainsFocus, usePosition } from \"../../utils\"\nimport { useMouseActivity } from \"../../utils/useMouseActivity\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { InputProps } from \"../Input\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { Spinner } from \"../Spinner\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { AutocompleteInputOption } from \"./AutocompleteInputOption\"\nimport { AutocompleteInputOptionLabel } from \"./AutocompleteInputOptionLabel\"\n\nexport interface AutocompleteFooterActions {\n /** Call to close dropdown */\n onClose(): void\n}\n\n/** Base option type — can be expanded */\nexport interface AutocompleteInputOptionType {\n text: string\n value: string\n}\n\ninterface State {\n open: boolean\n query: string\n}\n\ntype Action =\n | { type: \"OPEN\" }\n | { type: \"CLOSE\" }\n | { type: \"CLEAR\" }\n | { type: \"CHANGE\"; payload: { query: string } }\n | { type: \"SELECT\"; payload: { query: string } }\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"OPEN\":\n return { ...state, open: true }\n case \"CLOSE\":\n return { ...state, open: false }\n case \"CLEAR\":\n return { ...state, query: \"\" }\n case \"CHANGE\":\n return { ...state, query: action.payload.query, open: true }\n case \"SELECT\":\n return { ...state, query: action.payload.query, open: false }\n }\n}\n\nexport interface AutocompleteInputProps<T extends AutocompleteInputOptionType>\n extends Omit<InputProps, \"onSelect\" | \"onSubmit\"> {\n /** Optionally enable clamping (default: `false`) */\n clamp?: boolean\n defaultValue?: string\n dropdownMaxHeight?: ResponsiveValue<string | number>\n dropdownMinWidth?: ResponsiveValue<string | number>\n loading?: boolean\n header?: React.ReactNode\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n footer?:\n | React.ReactNode\n | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode)\n /** Ref to the input; workaround generics */\n forwardRef?: React.Ref<HTMLInputElement>\n /** on <enter> when no option is selected */\n onSubmit?(query: string): void\n /** on <click> or <enter> when an option is selected */\n onSelect?(option: T, index: number): void\n /** on <click> of the 'x' (clear) button */\n onClear?(): void\n /** Callback that runs when options are hidden */\n onClose?(): void\n options: T[]\n renderOption?(\n option: T,\n i: number\n ): React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/** AutocompleteInput */\nexport const AutocompleteInput = <T extends AutocompleteInputOptionType>({\n clamp = false,\n defaultValue = \"\",\n dropdownMaxHeight = 308, // 308 = roughly 5.5 options\n dropdownMinWidth,\n flip = true,\n footer,\n forwardRef: forwardedRef,\n header,\n height,\n id,\n loading,\n onChange,\n onClear,\n onClose,\n onKeyDown,\n onSelect,\n onSubmit,\n options,\n renderOption = (option) => <AutocompleteInputOptionLabel {...option} />,\n ...rest\n}: AutocompleteInputProps<T>) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const footerRef = useRef<HTMLDivElement | null>(null)\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n\n const [state, dispatch] = useReducer(reducer, {\n open: false,\n query: defaultValue,\n })\n\n const optionsWithRefs = useMemo(() => {\n return options.map((option) => ({\n option,\n ref: createRef<HTMLButtonElement>(),\n }))\n }, [options])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n dispatch({ type: \"CLOSE\" })\n }, 100)\n }\n\n const handleSelect = (option: T, index: number) => {\n dispatch({ type: \"SELECT\", payload: { query: option.text } })\n inputRef.current?.focus()\n onSelect?.(option, index)\n }\n\n const { index, reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: options,\n waitForInteractive: true,\n onEnter: ({ element: option, index: i, event }) => {\n event.preventDefault()\n event.stopPropagation()\n handleSelect(option, i)\n resetUI()\n },\n })\n\n const isDropdownVisible = state.open && options.length > 0\n\n // Reset keyboard navigation when options change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, [options])\n\n // Reset keyboard navigation when query is empty\n useEffect(() => {\n if (state.query === \"\") reset()\n }, [reset, state.query])\n\n const { anchorRef, tooltipRef } = usePosition({\n active: isDropdownVisible,\n clamp,\n flip,\n key: options.length,\n offset: 0,\n position: \"bottom\",\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const handleFocus = () => {\n reset()\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseDown = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n // Records the latest mouse movement and, inside the `handleMouseEnter` callback,\n // only treat the event as genuine if the mouse has moved very recently.\n // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.\n const { lastMouseMoveTimestamp } = useMouseActivity()\n\n const handleMouseEnter = (i: number) => () => {\n const now = performance.now()\n\n // 50ms mouse move window\n if (now - lastMouseMoveTimestamp.current < 50) {\n set({ cursor: i, interactive: true })\n }\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const {\n currentTarget: { value },\n } = event\n\n dispatch({ type: \"CHANGE\", payload: { query: value } })\n onChange?.(event)\n }\n\n const handleClearOrSubmit = () => {\n if (state.query === \"\") {\n onSubmit?.(state.query)\n return\n }\n\n dispatch({ type: \"CLEAR\" })\n inputRef.current?.focus()\n onClear?.()\n }\n\n const handleClose = useCallback(() => {\n dispatch({ type: \"CLOSE\" })\n reset()\n onClose?.()\n }, [onClose, reset])\n\n const ignoreFocusChangeRef = useRef<boolean>(false)\n const ignoreFocusChange = {\n onMouseDown: () => (ignoreFocusChangeRef.current = true),\n onMouseUp: () => (ignoreFocusChangeRef.current = false),\n }\n\n // Moves focus to different options when keyboard navigating using up/down\n useEffect(() => {\n const el = optionsWithRefs[index]?.ref?.current\n if (!el) return\n\n const isPointerInteraction =\n performance.now() - lastMouseMoveTimestamp.current < 50\n\n if (isPointerInteraction) {\n // Pointer interactions should not cause scroll\n el.focus({ preventScroll: true })\n return\n }\n\n // Keyboard navigation: focus and ensure visibility\n el.focus({ preventScroll: true })\n try {\n el.scrollIntoView({ block: \"nearest\" })\n } catch {}\n }, [index, optionsWithRefs])\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return\n\n handleClose()\n },\n\n [isDropdownVisible, handleClose]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n useClickOutside({\n ref: containsFocusRef,\n onClickOutside: handleClose,\n when: isDropdownVisible,\n type: \"click\",\n })\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n // Handle <Enter> when nothing is selected\n case \"Enter\":\n if (state.query !== \"\" && index === -1) {\n onSubmit?.(state.query)\n resetUI()\n }\n return\n\n // <Esc> to close dropdown\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n\n return\n\n default:\n break\n }\n\n onKeyDown?.(event)\n }\n\n // Moves focus back to input when typing\n const handleContainerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Alt\":\n case \"ArrowDown\":\n case \"ArrowUp\":\n case \"Control\":\n case \"Enter\":\n case \"Meta\":\n case \"Shift\":\n case \"Tab\":\n // Ignore\n return\n\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n reset()\n\n return\n\n default:\n inputRef.current?.focus()\n }\n }\n\n // Option that is being hovered or keyed into\n const staged = options[index]\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n onKeyDown={handleContainerKeydown}\n {...boxProps}\n >\n <LabeledInput\n ref={composeRefs(inputRef, anchorRef, forwardedRef) as any}\n role=\"combobox\"\n aria-expanded={isDropdownVisible}\n aria-autocomplete=\"list\"\n {...(id ? { id, \"aria-describedby\": `${id}__assistiveHint` } : {})}\n label={\n loading ? (\n <Box width={18}>\n <Spinner size=\"small\" />\n </Box>\n ) : state.query ? (\n <Clickable\n onClick={handleClearOrSubmit}\n height=\"100%\"\n display=\"flex\"\n alignItems=\"center\"\n aria-label=\"Clear input\"\n >\n <CloseIcon fill=\"mono60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"mono60\" aria-hidden />\n )\n }\n value={staged?.text ?? state.query}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeydown}\n onClick={handleClick}\n autoComplete=\"off\"\n height={height}\n {...inputProps}\n />\n\n {isDropdownVisible && (\n <AutocompleteInputDropdownContainer\n ref={tooltipRef as any}\n role=\"listbox\"\n width={width}\n minWidth={200}\n pt={1} // Gap in place of `offset` for `usePosition`\n >\n <AutocompleteInputDropdown minWidth={dropdownMinWidth}>\n <div ref={headerRef} {...ignoreFocusChange}>\n {header}\n </div>\n\n <AutocompleteInputOptions maxHeight={dropdownMaxHeight}>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <AutocompleteInputOption\n key={i}\n ref={ref}\n role=\"option\"\n aria-selected={i === index}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n onMouseDown={handleMouseDown(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n tabIndex={-1}\n >\n {renderOption(option, i)}\n </AutocompleteInputOption>\n )\n })}\n </AutocompleteInputOptions>\n\n <div ref={footerRef} {...ignoreFocusChange}>\n {typeof footer === \"function\"\n ? footer({ onClose: handleClose })\n : footer}\n </div>\n </AutocompleteInputDropdown>\n </AutocompleteInputDropdownContainer>\n )}\n\n <VisuallyHidden {...(id ? { id: `${id}__assistiveHint` } : {})}>\n When autocomplete results are available use up and down arrows to review\n and enter to select. Touch device users, explore by touch or with swipe\n gestures.\n </VisuallyHidden>\n\n {isDropdownVisible && (\n <VisuallyHidden role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {options.length === 1\n ? `1 result is available`\n : `${options.length} results are available`}\n </VisuallyHidden>\n )}\n </Box>\n )\n}\n\nconst AutocompleteInputDropdownContainer = styled(Box)`\n z-index: 1;\n`\n\nconst AutocompleteInputDropdown = styled(Box)`\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n`\n\nconst AutocompleteInputOptions = styled(Box)`\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
declare const _default: {
|
|
3
3
|
title: string;
|
|
4
|
-
component: <T extends import("./AutocompleteInput").AutocompleteInputOptionType>({ clamp, defaultValue, dropdownMaxHeight, flip, footer, forwardRef: forwardedRef, header, height, id, loading, onChange, onClear, onClose, onKeyDown, onSelect, onSubmit, options, renderOption, ...rest }: import("./AutocompleteInput").AutocompleteInputProps<T>) => React.JSX.Element;
|
|
4
|
+
component: <T extends import("./AutocompleteInput").AutocompleteInputOptionType>({ clamp, defaultValue, dropdownMaxHeight, dropdownMinWidth, flip, footer, forwardRef: forwardedRef, header, height, id, loading, onChange, onClear, onClose, onKeyDown, onSelect, onSubmit, options, renderOption, ...rest }: import("./AutocompleteInput").AutocompleteInputProps<T>) => React.JSX.Element;
|
|
5
5
|
tags: string[];
|
|
6
6
|
parameters: {
|
|
7
7
|
docs: {
|
|
@@ -19,7 +19,7 @@ export type BaseTabProps<C extends React.ComponentType<React.PropsWithChildren<u
|
|
|
19
19
|
*/
|
|
20
20
|
export declare const BaseTab: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("..").BoxProps> & import("..").BoxProps, "ref"> & {
|
|
21
21
|
ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
22
|
-
}, "gap" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "
|
|
22
|
+
}, "p" | "top" | "bottom" | "left" | "right" | "position" | "padding" | "width" | "height" | "gap" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "boxShadow" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "pointerEvents" | "textAlign" | "textTransform" | "verticalAlign" | "zIndex" | "background" | "backgroundPosition" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "lineClamp" | "margin" | "overflow" | "bg" | "borderX" | "borderY" | "size" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "textColor" | "variant" | "hyphenate" | "overflowEllipsis"> & import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & Omit<import("styled-system").ColorProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol>, "color"> & {
|
|
23
23
|
variant?: import("styled-system").ResponsiveValue<import("@artsy/palette-tokens/dist/typography/v3").TextVariant>;
|
|
24
24
|
textColor?: import("styled-system").ResponsiveValue<import("@artsy/palette-tokens").Color>;
|
|
25
25
|
lineClamp?: number;
|
|
@@ -2,7 +2,7 @@ import { TextProps } from "../Text";
|
|
|
2
2
|
export type SupProps = TextProps;
|
|
3
3
|
export declare const Sup: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("..").BoxProps> & import("..").BoxProps, "ref"> & {
|
|
4
4
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
5
|
-
}, "gap" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "
|
|
5
|
+
}, "p" | "top" | "bottom" | "left" | "right" | "position" | "padding" | "width" | "height" | "gap" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "boxShadow" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "pointerEvents" | "textAlign" | "textTransform" | "verticalAlign" | "zIndex" | "background" | "backgroundPosition" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "lineClamp" | "margin" | "overflow" | "bg" | "borderX" | "borderY" | "size" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "textColor" | "variant" | "hyphenate" | "overflowEllipsis"> & import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & Omit<import("styled-system").ColorProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol>, "color"> & {
|
|
6
6
|
variant?: import("styled-system").ResponsiveValue<import("@artsy/palette-tokens/dist/typography/v3").TextVariant>;
|
|
7
7
|
textColor?: import("styled-system").ResponsiveValue<import("@artsy/palette-tokens").Color>;
|
|
8
8
|
lineClamp?: number;
|
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
declare const _default: {
|
|
3
3
|
component: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("..").BoxProps> & import("..").BoxProps, "ref"> & {
|
|
4
4
|
ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
5
|
-
}, "gap" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "
|
|
5
|
+
}, "p" | "top" | "bottom" | "left" | "right" | "position" | "padding" | "width" | "height" | "gap" | "alignContent" | "alignItems" | "alignSelf" | "backgroundColor" | "backgroundImage" | "backgroundRepeat" | "backgroundSize" | "borderBottomColor" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderTopColor" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStyle" | "borderTopWidth" | "boxShadow" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "marginBottom" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "opacity" | "order" | "overflowX" | "overflowY" | "paddingBottom" | "paddingLeft" | "paddingRight" | "paddingTop" | "pointerEvents" | "textAlign" | "textTransform" | "verticalAlign" | "zIndex" | "background" | "backgroundPosition" | "border" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderStyle" | "borderTop" | "borderWidth" | "flex" | "gridArea" | "lineClamp" | "margin" | "overflow" | "bg" | "borderX" | "borderY" | "size" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "textColor" | "variant" | "hyphenate" | "overflowEllipsis"> & import("styled-system").TypographyProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> & Omit<import("styled-system").ColorProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol>, "color"> & {
|
|
6
6
|
variant?: import("styled-system").ResponsiveValue<import("@artsy/palette-tokens/dist/typography/v3").TextVariant>;
|
|
7
7
|
textColor?: import("styled-system").ResponsiveValue<import("@artsy/palette-tokens").Color>;
|
|
8
8
|
lineClamp?: number;
|
|
@@ -53,6 +53,10 @@ var useTabs = exports.useTabs = function useTabs(_ref) {
|
|
|
53
53
|
setActiveTabIndex(initialTabIndex);
|
|
54
54
|
}, [initialTabIndex, tabs]);
|
|
55
55
|
|
|
56
|
+
// Compute a safe index for rendering (clamped to valid range)
|
|
57
|
+
// Ensures we never access an out-of-bounds index during removal
|
|
58
|
+
var safeActiveTabIndex = tabs.length === 0 ? 0 : Math.min(activeTabIndex, tabs.length - 1);
|
|
59
|
+
|
|
56
60
|
// Ref of the tabs viewport
|
|
57
61
|
var ref = (0, _react.useRef)(null);
|
|
58
62
|
|
|
@@ -60,14 +64,15 @@ var useTabs = exports.useTabs = function useTabs(_ref) {
|
|
|
60
64
|
(0, _react.useEffect)(function () {
|
|
61
65
|
var _ref$current$scrollTo, _ref$current;
|
|
62
66
|
if (!ref.current) return;
|
|
63
|
-
|
|
67
|
+
if (tabs.length === 0 || safeActiveTabIndex >= tabs.length) return;
|
|
68
|
+
var tab = tabs[safeActiveTabIndex].ref.current;
|
|
64
69
|
if (!tab) return;
|
|
65
70
|
var position = tab.offsetLeft;
|
|
66
71
|
(_ref$current$scrollTo = (_ref$current = ref.current).scrollTo) === null || _ref$current$scrollTo === void 0 ? void 0 : _ref$current$scrollTo.call(_ref$current, {
|
|
67
72
|
left: position,
|
|
68
73
|
behavior: "smooth"
|
|
69
74
|
});
|
|
70
|
-
}, [
|
|
75
|
+
}, [safeActiveTabIndex, tabs.length]);
|
|
71
76
|
var handleClick = (0, _react.useCallback)(function (index) {
|
|
72
77
|
return function () {
|
|
73
78
|
var _tabs$index$child$pro;
|
|
@@ -82,7 +87,7 @@ var useTabs = exports.useTabs = function useTabs(_ref) {
|
|
|
82
87
|
};
|
|
83
88
|
}, [activeTabIndex, onChange, tabs]);
|
|
84
89
|
return {
|
|
85
|
-
activeTabIndex:
|
|
90
|
+
activeTabIndex: safeActiveTabIndex,
|
|
86
91
|
handleClick: handleClick,
|
|
87
92
|
ref: ref,
|
|
88
93
|
tabs: tabs
|
|
@@ -95,6 +100,7 @@ var Container = (0, _styledComponents.default)(_Clickable.Clickable).withConfig(
|
|
|
95
100
|
|
|
96
101
|
/** A tab bar navigation component */
|
|
97
102
|
var Tabs = exports.Tabs = function Tabs(_ref2) {
|
|
103
|
+
var _tabs$activeTabIndex;
|
|
98
104
|
var children = _ref2.children,
|
|
99
105
|
_ref2$initialTabIndex = _ref2.initialTabIndex,
|
|
100
106
|
initialTabIndex = _ref2$initialTabIndex === void 0 ? 0 : _ref2$initialTabIndex,
|
|
@@ -111,6 +117,7 @@ var Tabs = exports.Tabs = function Tabs(_ref2) {
|
|
|
111
117
|
activeTabIndex = _useTabs.activeTabIndex,
|
|
112
118
|
handleClick = _useTabs.handleClick,
|
|
113
119
|
ref = _useTabs.ref;
|
|
120
|
+
if (tabs.length === 0) return null;
|
|
114
121
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BaseTabs.BaseTabs, _extends({
|
|
115
122
|
ref: ref,
|
|
116
123
|
mb: mb
|
|
@@ -125,7 +132,7 @@ var Tabs = exports.Tabs = function Tabs(_ref2) {
|
|
|
125
132
|
active: i === activeTabIndex,
|
|
126
133
|
variant: "sm"
|
|
127
134
|
}, /*#__PURE__*/_react.default.createElement("span", null, tab.child.props.name)));
|
|
128
|
-
})), tabs[activeTabIndex].child);
|
|
135
|
+
})), (_tabs$activeTabIndex = tabs[activeTabIndex]) === null || _tabs$activeTabIndex === void 0 ? void 0 : _tabs$activeTabIndex.child);
|
|
129
136
|
};
|
|
130
137
|
/**
|
|
131
138
|
* An individual tab.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_themeGet","_flattenChildren","_useUpdateEffect","_BaseTabs","_Clickable","_usePrevious","_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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","useTabs","exports","_ref","children","_ref$initialTabIndex","initialTabIndex","onChange","tabs","useMemo","flattenChildren","map","child","ref","createRef","previousInitialTabIndex","usePrevious","_useState","useState","_useState2","activeTabIndex","setActiveTabIndex","useUpdateEffect","useRef","useEffect","_ref$current$scrollTo","_ref$current","current","tab","position","offsetLeft","scrollTo","left","behavior","handleClick","useCallback","index","_tabs$index$child$pro","tabIndex","props","data","Container","styled","Clickable","withConfig","displayName","componentId","themeGet","Tabs","_ref2","_ref2$initialTabIndex","_ref2$mb","mb","rest","_useTabs","createElement","Fragment","BaseTabs","onClick","flex","BaseTab","active","variant","Tab","_ref3"],"sources":["../../../src/elements/Tabs/Tabs.tsx"],"sourcesContent":["import React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { BaseTabs, BaseTabsProps } from \"../BaseTabs\"\nimport { BaseTab } from \"../BaseTabs\"\nimport { Clickable } from \"../Clickable\"\nimport { usePrevious } from \"../../utils/usePrevious\"\n\nexport interface TabLike extends JSX.Element {\n props: TabProps\n}\n\nexport interface TabInfo extends TabProps {\n /** Index of the newly selected Tab */\n tabIndex: number\n /**\n * Arbitrary data that can be associated with a Tab.\n * Will be passed to the parent <Tabs>'s onChange handler.\n */\n data: any\n}\n\nexport interface TabsProps extends BaseTabsProps {\n /** Index of the Tab that should be pre-selected */\n initialTabIndex?: number\n /** @deprecated */\n autoScroll?: boolean\n /** Function that will be called when a new Tab is selected */\n onChange?: (tabInfo?: TabInfo) => void\n}\n\n/** Tabs functionality */\nexport const useTabs = ({\n children,\n initialTabIndex = 0,\n onChange,\n}: TabsProps) => {\n const tabs = useMemo(\n () =>\n flattenChildren<TabLike>(children).map((child) => ({\n child,\n ref: createRef<HTMLButtonElement | null>(),\n })),\n [children]\n )\n\n const previousInitialTabIndex = usePrevious(initialTabIndex)\n const [activeTabIndex, setActiveTabIndex] = useState<number>(initialTabIndex)\n\n // If the `initialTabIndex` changes; update the active one\n useUpdateEffect(() => {\n // Only update if the `initialTabIndex` has changed externally\n if (initialTabIndex === previousInitialTabIndex) return\n setActiveTabIndex(initialTabIndex)\n }, [initialTabIndex, tabs])\n\n // Ref of the tabs viewport\n const ref = useRef<HTMLDivElement | null>(null)\n\n // Scroll to active tab when `activeTabIndex` changes\n useEffect(() => {\n if (!ref.current) return\n const tab = tabs[activeTabIndex].ref.current\n if (!tab) return\n const position = tab.offsetLeft\n ref.current.scrollTo?.({ left: position, behavior: \"smooth\" })\n }, [activeTabIndex])\n\n const handleClick = useCallback(\n (index: number) => {\n return () => {\n if (index === activeTabIndex) return\n\n setActiveTabIndex(index)\n\n if (!onChange) return\n\n onChange({\n tabIndex: index,\n name: tabs[index].child.props.name,\n data: tabs[index].child.props.data ?? {},\n })\n }\n },\n [activeTabIndex, onChange, tabs]\n )\n\n return {\n activeTabIndex,\n handleClick,\n ref,\n tabs,\n }\n}\n\nconst Container = styled(Clickable)`\n &:focus-visible {\n outline: none;\n z-index: 2;\n box-shadow: inset 0 0 0 1px ${themeGet(\"colors.blue100\")};\n }\n`\n\n/** A tab bar navigation component */\nexport const Tabs: React.FC<React.PropsWithChildren<TabsProps>> = ({\n children,\n initialTabIndex = 0,\n mb = 2,\n onChange,\n ...rest\n}) => {\n const { tabs, activeTabIndex, handleClick, ref } = useTabs({\n children,\n initialTabIndex,\n onChange,\n })\n\n return (\n <>\n <BaseTabs ref={ref} mb={mb} {...rest}>\n {tabs.map((tab, i) => {\n return (\n <Container\n key={i}\n ref={tab.ref as any}\n aria-selected={i === activeTabIndex}\n onClick={handleClick(i)}\n flex={1}\n >\n <BaseTab active={i === activeTabIndex} variant=\"sm\">\n <span>{tab.child.props.name}</span>\n </BaseTab>\n </Container>\n )\n })}\n </BaseTabs>\n\n {tabs[activeTabIndex].child}\n </>\n )\n}\n\nexport interface TabProps {\n /** Display name of the Tab */\n name: string | JSX.Element\n /**\n * Arbitrary data that can be associated with a Tab.\n * Will be passed to the parent <Tabs>'s onChange handler.\n */\n data?: any\n}\n\n/**\n * An individual tab.\n * Does nothing on its own; props are dealt with inside of Tabs.\n */\nexport const Tab: React.FC<React.PropsWithChildren<TabProps>> = ({\n children,\n}) => <>{children}</>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tabs.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_themeGet","_flattenChildren","_useUpdateEffect","_BaseTabs","_Clickable","_usePrevious","_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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","useTabs","exports","_ref","children","_ref$initialTabIndex","initialTabIndex","onChange","tabs","useMemo","flattenChildren","map","child","ref","createRef","previousInitialTabIndex","usePrevious","_useState","useState","_useState2","activeTabIndex","setActiveTabIndex","useUpdateEffect","safeActiveTabIndex","Math","min","useRef","useEffect","_ref$current$scrollTo","_ref$current","current","tab","position","offsetLeft","scrollTo","left","behavior","handleClick","useCallback","index","_tabs$index$child$pro","tabIndex","props","data","Container","styled","Clickable","withConfig","displayName","componentId","themeGet","Tabs","_ref2","_tabs$activeTabIndex","_ref2$initialTabIndex","_ref2$mb","mb","rest","_useTabs","createElement","Fragment","BaseTabs","onClick","flex","BaseTab","active","variant","Tab","_ref3"],"sources":["../../../src/elements/Tabs/Tabs.tsx"],"sourcesContent":["import React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { BaseTabs, BaseTabsProps } from \"../BaseTabs\"\nimport { BaseTab } from \"../BaseTabs\"\nimport { Clickable } from \"../Clickable\"\nimport { usePrevious } from \"../../utils/usePrevious\"\n\nexport interface TabLike extends JSX.Element {\n props: TabProps\n}\n\nexport interface TabInfo extends TabProps {\n /** Index of the newly selected Tab */\n tabIndex: number\n /**\n * Arbitrary data that can be associated with a Tab.\n * Will be passed to the parent <Tabs>'s onChange handler.\n */\n data: any\n}\n\nexport interface TabsProps extends BaseTabsProps {\n /** Index of the Tab that should be pre-selected */\n initialTabIndex?: number\n /** @deprecated */\n autoScroll?: boolean\n /** Function that will be called when a new Tab is selected */\n onChange?: (tabInfo?: TabInfo) => void\n}\n\n/** Tabs functionality */\nexport const useTabs = ({\n children,\n initialTabIndex = 0,\n onChange,\n}: TabsProps) => {\n const tabs = useMemo(\n () =>\n flattenChildren<TabLike>(children).map((child) => ({\n child,\n ref: createRef<HTMLButtonElement | null>(),\n })),\n [children]\n )\n\n const previousInitialTabIndex = usePrevious(initialTabIndex)\n const [activeTabIndex, setActiveTabIndex] = useState<number>(initialTabIndex)\n\n // If the `initialTabIndex` changes; update the active one\n useUpdateEffect(() => {\n // Only update if the `initialTabIndex` has changed externally\n if (initialTabIndex === previousInitialTabIndex) return\n setActiveTabIndex(initialTabIndex)\n }, [initialTabIndex, tabs])\n\n // Compute a safe index for rendering (clamped to valid range)\n // Ensures we never access an out-of-bounds index during removal\n const safeActiveTabIndex =\n tabs.length === 0 ? 0 : Math.min(activeTabIndex, tabs.length - 1)\n\n // Ref of the tabs viewport\n const ref = useRef<HTMLDivElement | null>(null)\n\n // Scroll to active tab when `activeTabIndex` changes\n useEffect(() => {\n if (!ref.current) return\n if (tabs.length === 0 || safeActiveTabIndex >= tabs.length) return\n const tab = tabs[safeActiveTabIndex].ref.current\n if (!tab) return\n const position = tab.offsetLeft\n ref.current.scrollTo?.({ left: position, behavior: \"smooth\" })\n }, [safeActiveTabIndex, tabs.length])\n\n const handleClick = useCallback(\n (index: number) => {\n return () => {\n if (index === activeTabIndex) return\n\n setActiveTabIndex(index)\n\n if (!onChange) return\n\n onChange({\n tabIndex: index,\n name: tabs[index].child.props.name,\n data: tabs[index].child.props.data ?? {},\n })\n }\n },\n [activeTabIndex, onChange, tabs]\n )\n\n return {\n activeTabIndex: safeActiveTabIndex,\n handleClick,\n ref,\n tabs,\n }\n}\n\nconst Container = styled(Clickable)`\n &:focus-visible {\n outline: none;\n z-index: 2;\n box-shadow: inset 0 0 0 1px ${themeGet(\"colors.blue100\")};\n }\n`\n\n/** A tab bar navigation component */\nexport const Tabs: React.FC<React.PropsWithChildren<TabsProps>> = ({\n children,\n initialTabIndex = 0,\n mb = 2,\n onChange,\n ...rest\n}) => {\n const { tabs, activeTabIndex, handleClick, ref } = useTabs({\n children,\n initialTabIndex,\n onChange,\n })\n\n if (tabs.length === 0) return null\n\n return (\n <>\n <BaseTabs ref={ref} mb={mb} {...rest}>\n {tabs.map((tab, i) => {\n return (\n <Container\n key={i}\n ref={tab.ref as any}\n aria-selected={i === activeTabIndex}\n onClick={handleClick(i)}\n flex={1}\n >\n <BaseTab active={i === activeTabIndex} variant=\"sm\">\n <span>{tab.child.props.name}</span>\n </BaseTab>\n </Container>\n )\n })}\n </BaseTabs>\n\n {tabs[activeTabIndex]?.child}\n </>\n )\n}\n\nexport interface TabProps {\n /** Display name of the Tab */\n name: string | JSX.Element\n /**\n * Arbitrary data that can be associated with a Tab.\n * Will be passed to the parent <Tabs>'s onChange handler.\n */\n data?: any\n}\n\n/**\n * An individual tab.\n * Does nothing on its own; props are dealt with inside of Tabs.\n */\nexport const Tab: React.FC<React.PropsWithChildren<TabProps>> = ({\n children,\n}) => <>{children}</>\n"],"mappings":"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"}
|
|
@@ -52,3 +52,13 @@ export declare const Cached: {
|
|
|
52
52
|
export declare const WithInputs: {
|
|
53
53
|
render: () => React.JSX.Element;
|
|
54
54
|
};
|
|
55
|
+
export declare const DynamicTabs: {
|
|
56
|
+
render: () => React.JSX.Element;
|
|
57
|
+
parameters: {
|
|
58
|
+
docs: {
|
|
59
|
+
description: {
|
|
60
|
+
story: string;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
};
|
|
@@ -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.WithInputs = exports.WithData = exports.InitialAutoScroll = exports.Default = exports.Counts = exports.ConditionalTabs = exports.Cached = exports.AutoScrolling = void 0;
|
|
7
|
+
exports.default = exports.WithInputs = exports.WithData = exports.InitialAutoScroll = exports.DynamicTabs = exports.Default = exports.Counts = exports.ConditionalTabs = exports.Cached = exports.AutoScrolling = void 0;
|
|
8
8
|
var _test = require("@storybook/test");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _Sup = require("../Sup");
|
|
@@ -16,6 +16,10 @@ var _Input = require("../Input");
|
|
|
16
16
|
var _storybookBlocklist = require("../../utils/storybookBlocklist");
|
|
17
17
|
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); }
|
|
18
18
|
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; }
|
|
19
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
20
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
22
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
19
23
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
24
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
25
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -298,4 +302,79 @@ var WithInputs = exports.WithInputs = {
|
|
|
298
302
|
})));
|
|
299
303
|
}
|
|
300
304
|
};
|
|
305
|
+
var DynamicTabs = exports.DynamicTabs = {
|
|
306
|
+
render: function render() {
|
|
307
|
+
var _useState11 = (0, _react.useState)([{
|
|
308
|
+
id: 1,
|
|
309
|
+
name: "Tab 1"
|
|
310
|
+
}, {
|
|
311
|
+
id: 2,
|
|
312
|
+
name: "Tab 2"
|
|
313
|
+
}, {
|
|
314
|
+
id: 3,
|
|
315
|
+
name: "Tab 3"
|
|
316
|
+
}]),
|
|
317
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
318
|
+
tabs = _useState12[0],
|
|
319
|
+
setTabs = _useState12[1];
|
|
320
|
+
var _useState13 = (0, _react.useState)(4),
|
|
321
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
322
|
+
nextId = _useState14[0],
|
|
323
|
+
setNextId = _useState14[1];
|
|
324
|
+
var addTab = function addTab() {
|
|
325
|
+
setTabs(function (prev) {
|
|
326
|
+
return [].concat(_toConsumableArray(prev), [{
|
|
327
|
+
id: nextId,
|
|
328
|
+
name: "Tab ".concat(nextId)
|
|
329
|
+
}]);
|
|
330
|
+
});
|
|
331
|
+
setNextId(function (prev) {
|
|
332
|
+
return prev + 1;
|
|
333
|
+
});
|
|
334
|
+
};
|
|
335
|
+
var removeTab = function removeTab(id) {
|
|
336
|
+
setTabs(function (prev) {
|
|
337
|
+
return prev.filter(function (tab) {
|
|
338
|
+
return tab.id !== id;
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
};
|
|
342
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
343
|
+
display: "flex",
|
|
344
|
+
flexDirection: "row",
|
|
345
|
+
gap: 1,
|
|
346
|
+
mb: 2
|
|
347
|
+
}, /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
348
|
+
variant: "secondaryBlack",
|
|
349
|
+
size: "small",
|
|
350
|
+
onClick: addTab
|
|
351
|
+
}, "Add Tab")), /*#__PURE__*/_react.default.createElement(_.Tabs, {
|
|
352
|
+
onChange: (0, _test.fn)()
|
|
353
|
+
}, tabs.map(function (tab) {
|
|
354
|
+
return /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
355
|
+
key: tab.id,
|
|
356
|
+
name: tab.name
|
|
357
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
358
|
+
p: 2
|
|
359
|
+
}, /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
360
|
+
mb: 2
|
|
361
|
+
}, "Content for ", tab.name), /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
362
|
+
variant: "secondaryBlack",
|
|
363
|
+
size: "small",
|
|
364
|
+
onClick: function onClick() {
|
|
365
|
+
return removeTab(tab.id);
|
|
366
|
+
}
|
|
367
|
+
}, "Remove this tab")));
|
|
368
|
+
})), /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
369
|
+
mt: 2
|
|
370
|
+
}, /*#__PURE__*/_react.default.createElement("pre", null, "Current tabs: ", JSON.stringify(tabs, null, 2))));
|
|
371
|
+
},
|
|
372
|
+
parameters: {
|
|
373
|
+
docs: {
|
|
374
|
+
description: {
|
|
375
|
+
story: "Demonstrates dynamically adding and removing tabs. The component should handle tab changes gracefully, adjusting the active tab index when tabs are removed."
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
};
|
|
301
380
|
//# sourceMappingURL=Tabs.story.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.story.js","names":["_test","require","_react","_interopRequireWildcard","_Sup","_","_Box","_useCursor2","_Button","_Input","_storybookBlocklist","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","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","_default","exports","title","component","Tabs","tags","parameters","docs","description","controls","exclude","STORYBOOK_PROPS_BLOCKLIST","Default","args","onChange","fn","children","createElement","Tab","WithData","render","_useState","useState","_useState2","data","setData","Fragment","tabInfo","JSON","stringify","Counts","Sup","ConditionalTabs","AutoScrolling","_useCursor","useCursor","max","initialTabIndex","index","handleNext","useEffect","interval","setInterval","clearInterval","chromatic","disable","InitialAutoScroll","_useState3","_useState4","setKey","Box","bg","height","p","Cached","_useState5","_useState6","count","setCount","Button","variant","size","mb","onClick","prevCount","WithInputs","_useState7","_useState8","setValue","_useState9","_useState10","value2","setValue2","Input","e","target"],"sources":["../../../src/elements/Tabs/Tabs.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React, { useEffect, useState } from \"react\"\nimport { Sup } from \"../Sup\"\nimport { Tab, Tabs } from \"./\"\nimport { Box } from \"../Box\"\nimport { useCursor } from \"use-cursor\"\nimport { Button } from \"../Button\"\nimport { Input } from \"../Input\"\nimport { STORYBOOK_PROPS_BLOCKLIST } from \"../../utils/storybookBlocklist\"\n\nexport default {\n title: \"Components/Tabs\",\n component: Tabs,\n tags: [\"autodocs\"],\n parameters: {\n docs: {\n description: {\n component:\n \"Tabs component provides a tabbed interface for organizing content into separate panels. Supports keyboard navigation, custom initial tab selection, and flexible layout options.\",\n },\n controls: {\n exclude: STORYBOOK_PROPS_BLOCKLIST,\n },\n },\n },\n}\n\nexport const Default = {\n args: {\n onChange: fn(),\n children: [\n <Tab name=\"Overview\" key=\"overview\">\n Overview panel\n </Tab>,\n <Tab name=\"Works for sale\" key=\"works\">\n Works for sale panel\n </Tab>,\n <Tab name=\"CV\" key=\"cv\">\n CV panel\n </Tab>,\n <Tab name=\"Auction results\" key=\"auctions\">\n Auction results panel\n </Tab>,\n ],\n },\n}\n\nexport const WithData = {\n render: () => {\n const [data, setData] = useState({ name: \"Pending\" })\n\n return (\n <>\n <Tabs\n onChange={(tabInfo) => {\n if (!tabInfo) return\n\n setData(tabInfo.data)\n }}\n >\n <Tab name=\"Overview\" data={{ name: \"Overview\" }}>\n Overview panel\n </Tab>\n\n <Tab name=\"Works for sale\" data={{ name: \"Works for sale\" }}>\n Works for sale panel\n </Tab>\n\n <Tab name=\"CV\" data={{ name: \"CV\" }}>\n CV panel\n </Tab>\n\n <Tab name=\"Auction results\" data={{ name: \"Auction results\" }}>\n Auction results panel\n </Tab>\n\n <Tab name=\"No data\">No data panel</Tab>\n </Tabs>\n\n <pre>{JSON.stringify(data, null, 2)}</pre>\n </>\n )\n },\n}\n\nexport const Counts = {\n render: () => {\n return (\n <Tabs onChange={fn()}>\n <Tab\n name={\n <>\n Overview <Sup>123</Sup>\n </>\n }\n />\n <Tab\n name={\n <>\n Works for sale <Sup>123</Sup>\n </>\n }\n />\n <Tab name=\"CV\" />\n <Tab\n name={\n <>\n Auction results <Sup>123</Sup>\n </>\n }\n />\n </Tabs>\n )\n },\n}\n\nexport const ConditionalTabs = {\n render: () => {\n return (\n <Tabs onChange={fn()}>\n <Tab name=\"First\">First</Tab>\n {false && <Tab name=\"Second\">Second</Tab>}\n <Tab name=\"Third\">Third</Tab>\n </Tabs>\n )\n },\n}\n\nexport const AutoScrolling = {\n render: () => {\n const { index: initialTabIndex, handleNext } = useCursor({ max: 15 })\n\n useEffect(() => {\n const interval = setInterval(handleNext, 500)\n return () => clearInterval(interval)\n }, [handleNext])\n\n return (\n <>\n <Tabs initialTabIndex={initialTabIndex} onChange={fn()}>\n <Tab name=\"First\">First</Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">Fifteenth</Tab>\n </Tabs>\n\n <pre>{JSON.stringify({ initialTabIndex })}</pre>\n </>\n )\n },\n parameters: { chromatic: { disable: true } },\n}\n\nexport const InitialAutoScroll = {\n render: () => {\n const [key, setKey] = useState(1)\n\n useEffect(() => {\n const interval = setInterval(() => {\n setKey((key) => key + 1)\n }, 500)\n\n return () => clearInterval(interval)\n }, [])\n\n return (\n <>\n <Box bg=\"mono10\" height={1000} p={2}>\n The vertical scroll of this page should be at the top.\n <br />\n Scroll down to see the tabs.\n <br />\n Render: #{key}\n </Box>\n\n <Tabs onChange={fn()} initialTabIndex={14}>\n <Tab name=\"First\">First</Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">\n This tab should be active & visible on mount.\n </Tab>\n </Tabs>\n\n <Box bg=\"mono10\" height={1000} />\n </>\n )\n },\n parameters: { chromatic: { disable: true } },\n}\n\n// FIXME: Currently renders one step behind\nexport const Cached = {\n render: () => {\n const [count, setCount] = useState(1)\n\n return (\n <>\n <Button\n variant=\"secondaryBlack\"\n size=\"small\"\n mb={1}\n onClick={() => {\n setCount((prevCount) => prevCount + 1)\n }}\n >\n Increment count — count: {count}\n </Button>\n\n <Tabs>\n <Tab name=\"First\">First — count: {count}</Tab>\n <Tab name=\"Second\">Second — count: {count}</Tab>\n <Tab name=\"Third\">Third — count: {count}</Tab>\n </Tabs>\n </>\n )\n },\n}\n\nexport const WithInputs = {\n render: () => {\n const [value, setValue] = useState(\"\")\n const [value2, setValue2] = useState(\"\")\n\n return (\n <Tabs>\n <Tab name=\"First\">\n <pre>{JSON.stringify({ value })}</pre>\n <Input value={value} onChange={(e) => setValue(e.target.value)} />\n </Tab>\n\n <Tab name=\"Second\">\n <pre>{JSON.stringify({ value2 })}</pre>\n <Input value={value2} onChange={(e) => setValue2(e.target.value)} />\n </Tab>\n </Tabs>\n )\n },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tabs.story.js","names":["_test","require","_react","_interopRequireWildcard","_Sup","_","_Box","_useCursor2","_Button","_Input","_storybookBlocklist","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_default","exports","title","component","Tabs","tags","parameters","docs","description","controls","exclude","STORYBOOK_PROPS_BLOCKLIST","Default","args","onChange","fn","children","createElement","Tab","WithData","render","_useState","useState","_useState2","data","setData","Fragment","tabInfo","JSON","stringify","Counts","Sup","ConditionalTabs","AutoScrolling","_useCursor","useCursor","max","initialTabIndex","index","handleNext","useEffect","interval","setInterval","clearInterval","chromatic","disable","InitialAutoScroll","_useState3","_useState4","setKey","Box","bg","height","p","Cached","_useState5","_useState6","count","setCount","Button","variant","size","mb","onClick","prevCount","WithInputs","_useState7","_useState8","setValue","_useState9","_useState10","value2","setValue2","Input","e","target","DynamicTabs","_useState11","id","_useState12","tabs","setTabs","_useState13","_useState14","nextId","setNextId","addTab","prev","concat","removeTab","filter","tab","display","flexDirection","gap","map","mt","story"],"sources":["../../../src/elements/Tabs/Tabs.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React, { useEffect, useState } from \"react\"\nimport { Sup } from \"../Sup\"\nimport { Tab, Tabs } from \"./\"\nimport { Box } from \"../Box\"\nimport { useCursor } from \"use-cursor\"\nimport { Button } from \"../Button\"\nimport { Input } from \"../Input\"\nimport { STORYBOOK_PROPS_BLOCKLIST } from \"../../utils/storybookBlocklist\"\n\nexport default {\n title: \"Components/Tabs\",\n component: Tabs,\n tags: [\"autodocs\"],\n parameters: {\n docs: {\n description: {\n component:\n \"Tabs component provides a tabbed interface for organizing content into separate panels. Supports keyboard navigation, custom initial tab selection, and flexible layout options.\",\n },\n controls: {\n exclude: STORYBOOK_PROPS_BLOCKLIST,\n },\n },\n },\n}\n\nexport const Default = {\n args: {\n onChange: fn(),\n children: [\n <Tab name=\"Overview\" key=\"overview\">\n Overview panel\n </Tab>,\n <Tab name=\"Works for sale\" key=\"works\">\n Works for sale panel\n </Tab>,\n <Tab name=\"CV\" key=\"cv\">\n CV panel\n </Tab>,\n <Tab name=\"Auction results\" key=\"auctions\">\n Auction results panel\n </Tab>,\n ],\n },\n}\n\nexport const WithData = {\n render: () => {\n const [data, setData] = useState({ name: \"Pending\" })\n\n return (\n <>\n <Tabs\n onChange={(tabInfo) => {\n if (!tabInfo) return\n\n setData(tabInfo.data)\n }}\n >\n <Tab name=\"Overview\" data={{ name: \"Overview\" }}>\n Overview panel\n </Tab>\n\n <Tab name=\"Works for sale\" data={{ name: \"Works for sale\" }}>\n Works for sale panel\n </Tab>\n\n <Tab name=\"CV\" data={{ name: \"CV\" }}>\n CV panel\n </Tab>\n\n <Tab name=\"Auction results\" data={{ name: \"Auction results\" }}>\n Auction results panel\n </Tab>\n\n <Tab name=\"No data\">No data panel</Tab>\n </Tabs>\n\n <pre>{JSON.stringify(data, null, 2)}</pre>\n </>\n )\n },\n}\n\nexport const Counts = {\n render: () => {\n return (\n <Tabs onChange={fn()}>\n <Tab\n name={\n <>\n Overview <Sup>123</Sup>\n </>\n }\n />\n <Tab\n name={\n <>\n Works for sale <Sup>123</Sup>\n </>\n }\n />\n <Tab name=\"CV\" />\n <Tab\n name={\n <>\n Auction results <Sup>123</Sup>\n </>\n }\n />\n </Tabs>\n )\n },\n}\n\nexport const ConditionalTabs = {\n render: () => {\n return (\n <Tabs onChange={fn()}>\n <Tab name=\"First\">First</Tab>\n {false && <Tab name=\"Second\">Second</Tab>}\n <Tab name=\"Third\">Third</Tab>\n </Tabs>\n )\n },\n}\n\nexport const AutoScrolling = {\n render: () => {\n const { index: initialTabIndex, handleNext } = useCursor({ max: 15 })\n\n useEffect(() => {\n const interval = setInterval(handleNext, 500)\n return () => clearInterval(interval)\n }, [handleNext])\n\n return (\n <>\n <Tabs initialTabIndex={initialTabIndex} onChange={fn()}>\n <Tab name=\"First\">First</Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">Fifteenth</Tab>\n </Tabs>\n\n <pre>{JSON.stringify({ initialTabIndex })}</pre>\n </>\n )\n },\n parameters: { chromatic: { disable: true } },\n}\n\nexport const InitialAutoScroll = {\n render: () => {\n const [key, setKey] = useState(1)\n\n useEffect(() => {\n const interval = setInterval(() => {\n setKey((key) => key + 1)\n }, 500)\n\n return () => clearInterval(interval)\n }, [])\n\n return (\n <>\n <Box bg=\"mono10\" height={1000} p={2}>\n The vertical scroll of this page should be at the top.\n <br />\n Scroll down to see the tabs.\n <br />\n Render: #{key}\n </Box>\n\n <Tabs onChange={fn()} initialTabIndex={14}>\n <Tab name=\"First\">First</Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">\n This tab should be active & visible on mount.\n </Tab>\n </Tabs>\n\n <Box bg=\"mono10\" height={1000} />\n </>\n )\n },\n parameters: { chromatic: { disable: true } },\n}\n\n// FIXME: Currently renders one step behind\nexport const Cached = {\n render: () => {\n const [count, setCount] = useState(1)\n\n return (\n <>\n <Button\n variant=\"secondaryBlack\"\n size=\"small\"\n mb={1}\n onClick={() => {\n setCount((prevCount) => prevCount + 1)\n }}\n >\n Increment count — count: {count}\n </Button>\n\n <Tabs>\n <Tab name=\"First\">First — count: {count}</Tab>\n <Tab name=\"Second\">Second — count: {count}</Tab>\n <Tab name=\"Third\">Third — count: {count}</Tab>\n </Tabs>\n </>\n )\n },\n}\n\nexport const WithInputs = {\n render: () => {\n const [value, setValue] = useState(\"\")\n const [value2, setValue2] = useState(\"\")\n\n return (\n <Tabs>\n <Tab name=\"First\">\n <pre>{JSON.stringify({ value })}</pre>\n <Input value={value} onChange={(e) => setValue(e.target.value)} />\n </Tab>\n\n <Tab name=\"Second\">\n <pre>{JSON.stringify({ value2 })}</pre>\n <Input value={value2} onChange={(e) => setValue2(e.target.value)} />\n </Tab>\n </Tabs>\n )\n },\n}\n\nexport const DynamicTabs = {\n render: () => {\n const [tabs, setTabs] = useState([\n { id: 1, name: \"Tab 1\" },\n { id: 2, name: \"Tab 2\" },\n { id: 3, name: \"Tab 3\" },\n ])\n const [nextId, setNextId] = useState(4)\n\n const addTab = () => {\n setTabs((prev) => [...prev, { id: nextId, name: `Tab ${nextId}` }])\n setNextId((prev) => prev + 1)\n }\n\n const removeTab = (id: number) => {\n setTabs((prev) => prev.filter((tab) => tab.id !== id))\n }\n\n return (\n <>\n <Box display=\"flex\" flexDirection=\"row\" gap={1} mb={2}>\n <Button variant=\"secondaryBlack\" size=\"small\" onClick={addTab}>\n Add Tab\n </Button>\n </Box>\n\n <Tabs onChange={fn()}>\n {tabs.map((tab) => (\n <Tab key={tab.id} name={tab.name}>\n <Box p={2}>\n <Box mb={2}>Content for {tab.name}</Box>\n <Button\n variant=\"secondaryBlack\"\n size=\"small\"\n onClick={() => removeTab(tab.id)}\n >\n Remove this tab\n </Button>\n </Box>\n </Tab>\n ))}\n </Tabs>\n\n <Box mt={2}>\n <pre>Current tabs: {JSON.stringify(tabs, null, 2)}</pre>\n </Box>\n </>\n )\n },\n parameters: {\n docs: {\n description: {\n story:\n \"Demonstrates dynamically adding and removing tabs. The component should handle tab changes gracefully, adjusting the active tab index when tabs are removed.\",\n },\n },\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.13.1",
|
|
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": "feb61c8f18c2672606da093552f1b227c2829761"
|
|
195
195
|
}
|