@artsy/palette 41.0.0 → 41.1.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/AutocompleteInput/AutocompleteInput.story.d.ts +1 -0
- package/dist/elements/AutocompleteInput/AutocompleteInput.story.js +26 -1
- package/dist/elements/AutocompleteInput/AutocompleteInput.story.js.map +1 -1
- package/dist/utils/usePosition.js +11 -9
- package/dist/utils/usePosition.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,3 +7,4 @@ export declare const Default: () => React.JSX.Element;
|
|
|
7
7
|
export declare const Demo: () => React.JSX.Element;
|
|
8
8
|
export declare const FilterDemo: () => React.JSX.Element;
|
|
9
9
|
export declare const ProgrammaticFocus: () => React.JSX.Element;
|
|
10
|
+
export declare const OpenOnClick: () => React.JSX.Element;
|
|
@@ -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.ProgrammaticFocus = exports.FilterDemo = exports.Demo = exports.Default = void 0;
|
|
7
|
+
exports.default = exports.ProgrammaticFocus = exports.OpenOnClick = exports.FilterDemo = exports.Demo = exports.Default = void 0;
|
|
8
8
|
var _addonActions = require("@storybook/addon-actions");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _storybookStates = require("storybook-states");
|
|
@@ -14,6 +14,7 @@ var _AutocompleteInput = require("./AutocompleteInput");
|
|
|
14
14
|
var _Clickable = require("../Clickable");
|
|
15
15
|
var _Flex = require("../Flex");
|
|
16
16
|
var _Button = require("../Button");
|
|
17
|
+
var _Stack = require("../Stack");
|
|
17
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); }
|
|
18
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; }
|
|
19
20
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -380,4 +381,28 @@ var ProgrammaticFocus = function ProgrammaticFocus() {
|
|
|
380
381
|
};
|
|
381
382
|
exports.ProgrammaticFocus = ProgrammaticFocus;
|
|
382
383
|
ProgrammaticFocus.displayName = "ProgrammaticFocus";
|
|
384
|
+
var OpenOnClick = function OpenOnClick() {
|
|
385
|
+
var _useState7 = (0, _react.useState)(false),
|
|
386
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
387
|
+
open = _useState8[0],
|
|
388
|
+
setOpen = _useState8[1];
|
|
389
|
+
return /*#__PURE__*/_react.default.createElement(_Stack.Stack, {
|
|
390
|
+
gap: 2,
|
|
391
|
+
width: 300
|
|
392
|
+
}, open ? /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
393
|
+
onClick: function onClick() {
|
|
394
|
+
return setOpen(false);
|
|
395
|
+
}
|
|
396
|
+
}, "Close") : /*#__PURE__*/_react.default.createElement(_Button.Button, {
|
|
397
|
+
onClick: function onClick() {
|
|
398
|
+
return setOpen(true);
|
|
399
|
+
}
|
|
400
|
+
}, "Open"), open && /*#__PURE__*/_react.default.createElement(_AutocompleteInput.AutocompleteInput, {
|
|
401
|
+
autoFocus: true,
|
|
402
|
+
placeholder: "Begin typing...",
|
|
403
|
+
options: CITIES
|
|
404
|
+
}));
|
|
405
|
+
};
|
|
406
|
+
exports.OpenOnClick = OpenOnClick;
|
|
407
|
+
OpenOnClick.displayName = "OpenOnClick";
|
|
383
408
|
//# sourceMappingURL=AutocompleteInput.story.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteInput.story.js","names":["_addonActions","require","_react","_interopRequireWildcard","_storybookStates","_Box","_Text","_AutocompleteInput","_Clickable","_Flex","_Button","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","Array","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","iter","len","arr2","_default","title","exports","OPTIONS","text","subtitle","Default","createElement","States","states","loading","options","height","concat","map","option","renderOption","Box","px","py","Text","variant","color","footer","bg","header","_ref","onClose","Clickable","display","width","onClick","dropdownMaxHeight","AutocompleteInput","placeholder","onSelect","action","onSubmit","displayName","Demo","_useState","useState","_useState2","query","setQuery","handleChange","event","onChange","displayQuery","borderBottom","borderColor","CITIES","FilterDemo","_useState3","_useState4","_useState5","_useState6","selection","setSelection","handleSelect","JSON","stringify","handleClear","alignItems","justifyContent","flexDirection","gap","toLowerCase","includes","onClear","ProgrammaticFocus","ref","useRef","Flex","forwardRef","Button","current","console","log","focus"],"sources":["../../../src/elements/AutocompleteInput/AutocompleteInput.story.tsx"],"sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React, { useRef, useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport { Box } from \"../Box\"\nimport { Text } from \"../Text\"\nimport {\n AutocompleteInput,\n AutocompleteInputOptionType,\n AutocompleteInputProps,\n} from \"./AutocompleteInput\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex } from \"../Flex\"\nimport { Button } from \"../Button\"\n\nexport default {\n title: \"Components/AutocompleteInput\",\n}\n\nconst OPTIONS = [\n {\n text: \"Painting\",\n value: \"painting\",\n subtitle: \"An example subtitle\",\n },\n { text: \"Print\", value: \"print\", subtitle: \"An example subtitle\" },\n { text: \"Sculpture\", value: \"sculpture\", subtitle: \"An example subtitle\" },\n {\n text: \"Photography\",\n value: \"photography\",\n subtitle: \"An example subtitle\",\n },\n {\n text: \"Mixed Media\",\n value: \"mixed-media\",\n subtitle: \"An example subtitle\",\n },\n]\n\nexport const Default = () => {\n return (\n <States<Partial<AutocompleteInputProps<typeof OPTIONS[number]>>>\n states={[\n {},\n { loading: true },\n { options: [], height: 40 },\n {\n options: [\n ...OPTIONS,\n ...OPTIONS.map((option) => ({\n ...option,\n text: `Another ${option.text}`,\n value: `another-${option.value}`,\n })),\n ],\n renderOption: (option) => (\n <Box px={2} py={1}>\n <Text variant=\"sm-display\">{option.text}</Text>\n <Text variant=\"xs\" color=\"mono60\">\n {option.subtitle}\n </Text>\n </Box>\n ),\n },\n {\n options: [\n ...OPTIONS,\n ...OPTIONS.map((option) => ({\n ...option,\n text: `Another ${option.text}`,\n value: `another-${option.value}`,\n })),\n ],\n footer: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Footer</Text>\n </Box>\n ),\n },\n {\n options: [OPTIONS[0], OPTIONS[1]],\n footer: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Footer</Text>\n </Box>\n ),\n },\n {\n options: [OPTIONS[0], OPTIONS[1]],\n header: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Header</Text>\n </Box>\n ),\n footer: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Footer</Text>\n </Box>\n ),\n },\n {\n options: [\n ...OPTIONS,\n ...OPTIONS.map((option) => ({\n ...option,\n text: `Another ${option.text}`,\n value: `another-${option.value}`,\n })),\n ],\n header: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Header</Text>\n </Box>\n ),\n footer: ({ onClose }) => (\n <Clickable\n display=\"flex\"\n width={\"100%\"}\n onClick={onClose}\n px={2}\n py={1}\n bg=\"white\"\n >\n <Text variant=\"xs\">Footer</Text>\n </Clickable>\n ),\n dropdownMaxHeight: \"700px\",\n },\n ]}\n >\n <AutocompleteInput\n placeholder=\"Search\"\n options={OPTIONS}\n onSelect={action(\"onSelect\")}\n onSubmit={action(\"onSubmit\")}\n onClose={action(\"onClose\")}\n />\n </States>\n )\n}\n\nexport const Demo = () => {\n const [query, setQuery] = useState(\"\")\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value)\n }\n\n return (\n <AutocompleteInput\n placeholder=\"Begin typing...\"\n options={[...(query ? [{ text: query, value: query }] : []), ...OPTIONS]}\n onChange={handleChange}\n onSelect={action(\"onSelect\")}\n onSubmit={action(\"onSubmit\")}\n onClose={action(\"onClose\")}\n renderOption={(option, i) => {\n const displayQuery = i === 0 && query !== \"\"\n\n return (\n <Box\n px={2}\n py={1}\n {...(displayQuery\n ? { borderBottom: \"1px solid\", borderColor: \"mono10\" }\n : {})}\n >\n <Text variant=\"sm-display\">\n {displayQuery\n ? `See full results for “${option.text}”`\n : option.text}\n </Text>\n\n {\"subtitle\" in option && (\n <Text variant=\"xs\" color=\"mono60\">\n {option.subtitle}\n </Text>\n )}\n </Box>\n )\n }}\n />\n )\n}\n\nconst CITIES = [\n { text: \"New York\", value: \"new-york\" },\n { text: \"Los Angeles\", value: \"los-angeles\" },\n { text: \"London\", value: \"london\" },\n { text: \"Berlin\", value: \"berlin\" },\n { text: \"Paris\", value: \"paris\" },\n { text: \"Rome\", value: \"rome\" },\n { text: \"Madrid\", value: \"madrid\" },\n { text: \"Barcelona\", value: \"barcelona\" },\n { text: \"Amsterdam\", value: \"amsterdam\" },\n { text: \"Brussels\", value: \"brussels\" },\n { text: \"Copenhagen\", value: \"copenhagen\" },\n { text: \"Dublin\", value: \"dublin\" },\n { text: \"Florence\", value: \"florence\" },\n { text: \"Geneva\", value: \"geneva\" },\n { text: \"Helsinki\", value: \"helsinki\" },\n { text: \"Hong Kong\", value: \"hong-kong\" },\n { text: \"Lisbon\", value: \"lisbon\" },\n { text: \"Milan\", value: \"milan\" },\n { text: \"Monaco\", value: \"monaco\" },\n { text: \"Moscow\", value: \"moscow\" },\n { text: \"Munich\", value: \"munich\" },\n { text: \"New Delhi\", value: \"new-delhi\" },\n { text: \"Oslo\", value: \"oslo\" },\n { text: \"Prague\", value: \"prague\" },\n { text: \"Rio de Janeiro\", value: \"rio-de-janeiro\" },\n { text: \"San Francisco\", value: \"san-francisco\" },\n { text: \"São Paulo\", value: \"sao-paulo\" },\n { text: \"Seoul\", value: \"seoul\" },\n { text: \"Shanghai\", value: \"shanghai\" },\n { text: \"Singapore\", value: \"singapore\" },\n { text: \"Stockholm\", value: \"stockholm\" },\n { text: \"Sydney\", value: \"sydney\" },\n { text: \"Taipei\", value: \"taipei\" },\n { text: \"Tokyo\", value: \"tokyo\" },\n { text: \"Toronto\", value: \"toronto\" },\n { text: \"Venice\", value: \"venice\" },\n { text: \"Vienna\", value: \"vienna\" },\n { text: \"Warsaw\", value: \"warsaw\" },\n { text: \"Zurich\", value: \"zurich\" },\n]\n\nexport const FilterDemo = () => {\n const [query, setQuery] = useState(\"\")\n const [selection, setSelection] = useState(\"\")\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value)\n }\n\n const handleSelect = (option: AutocompleteInputOptionType) => {\n setSelection(JSON.stringify(option))\n }\n\n const handleClear = () => {\n setQuery(\"\")\n }\n\n return (\n <Box\n display=\"flex\"\n height=\"150vh\"\n width=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"column\"\n gap={2}\n >\n <AutocompleteInput\n width={[\"75%\", \"50%\"]}\n placeholder=\"Begin typing...\"\n options={CITIES.filter((option) => {\n return option.text.toLowerCase().includes(query.toLowerCase())\n })}\n onChange={handleChange}\n onSelect={handleSelect}\n onClear={handleClear}\n onSubmit={action(\"onSubmit\")}\n onClose={action(\"onClose\")}\n />\n\n <Text variant=\"xs\">\n Selected: {selection ? selection : \"Nothing Yet\"}\n </Text>\n </Box>\n )\n}\n\nexport const ProgrammaticFocus = () => {\n const ref = useRef<HTMLInputElement | null>(null)\n\n return (\n <Flex flexDirection=\"column\" gap={2}>\n <AutocompleteInput\n forwardRef={ref}\n width={[\"75%\", \"50%\"]}\n placeholder=\"Begin typing...\"\n options={CITIES}\n />\n\n <Button\n onClick={() => {\n if (!ref.current) return\n console.log({ ref })\n ref.current.focus()\n }}\n >\n Focus input\n </Button>\n </Flex>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutocompleteInput.story.js","names":["_addonActions","require","_react","_interopRequireWildcard","_storybookStates","_Box","_Text","_AutocompleteInput","_Clickable","_Flex","_Button","_Stack","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","Array","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","from","test","iter","len","arr2","_default","title","exports","OPTIONS","text","subtitle","Default","createElement","States","states","loading","options","height","concat","map","option","renderOption","Box","px","py","Text","variant","color","footer","bg","header","_ref","onClose","Clickable","display","width","onClick","dropdownMaxHeight","AutocompleteInput","placeholder","onSelect","action","onSubmit","displayName","Demo","_useState","useState","_useState2","query","setQuery","handleChange","event","onChange","displayQuery","borderBottom","borderColor","CITIES","FilterDemo","_useState3","_useState4","_useState5","_useState6","selection","setSelection","handleSelect","JSON","stringify","handleClear","alignItems","justifyContent","flexDirection","gap","toLowerCase","includes","onClear","ProgrammaticFocus","ref","useRef","Flex","forwardRef","Button","current","console","log","focus","OpenOnClick","_useState7","_useState8","open","setOpen","Stack","autoFocus"],"sources":["../../../src/elements/AutocompleteInput/AutocompleteInput.story.tsx"],"sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React, { useRef, useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport { Box } from \"../Box\"\nimport { Text } from \"../Text\"\nimport {\n AutocompleteInput,\n AutocompleteInputOptionType,\n AutocompleteInputProps,\n} from \"./AutocompleteInput\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex } from \"../Flex\"\nimport { Button } from \"../Button\"\nimport { Stack } from \"../Stack\"\n\nexport default {\n title: \"Components/AutocompleteInput\",\n}\n\nconst OPTIONS = [\n {\n text: \"Painting\",\n value: \"painting\",\n subtitle: \"An example subtitle\",\n },\n { text: \"Print\", value: \"print\", subtitle: \"An example subtitle\" },\n { text: \"Sculpture\", value: \"sculpture\", subtitle: \"An example subtitle\" },\n {\n text: \"Photography\",\n value: \"photography\",\n subtitle: \"An example subtitle\",\n },\n {\n text: \"Mixed Media\",\n value: \"mixed-media\",\n subtitle: \"An example subtitle\",\n },\n]\n\nexport const Default = () => {\n return (\n <States<Partial<AutocompleteInputProps<typeof OPTIONS[number]>>>\n states={[\n {},\n { loading: true },\n { options: [], height: 40 },\n {\n options: [\n ...OPTIONS,\n ...OPTIONS.map((option) => ({\n ...option,\n text: `Another ${option.text}`,\n value: `another-${option.value}`,\n })),\n ],\n renderOption: (option) => (\n <Box px={2} py={1}>\n <Text variant=\"sm-display\">{option.text}</Text>\n <Text variant=\"xs\" color=\"mono60\">\n {option.subtitle}\n </Text>\n </Box>\n ),\n },\n {\n options: [\n ...OPTIONS,\n ...OPTIONS.map((option) => ({\n ...option,\n text: `Another ${option.text}`,\n value: `another-${option.value}`,\n })),\n ],\n footer: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Footer</Text>\n </Box>\n ),\n },\n {\n options: [OPTIONS[0], OPTIONS[1]],\n footer: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Footer</Text>\n </Box>\n ),\n },\n {\n options: [OPTIONS[0], OPTIONS[1]],\n header: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Header</Text>\n </Box>\n ),\n footer: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Footer</Text>\n </Box>\n ),\n },\n {\n options: [\n ...OPTIONS,\n ...OPTIONS.map((option) => ({\n ...option,\n text: `Another ${option.text}`,\n value: `another-${option.value}`,\n })),\n ],\n header: (\n <Box px={2} py={1} bg=\"mono10\">\n <Text variant=\"xs\">Header</Text>\n </Box>\n ),\n footer: ({ onClose }) => (\n <Clickable\n display=\"flex\"\n width={\"100%\"}\n onClick={onClose}\n px={2}\n py={1}\n bg=\"white\"\n >\n <Text variant=\"xs\">Footer</Text>\n </Clickable>\n ),\n dropdownMaxHeight: \"700px\",\n },\n ]}\n >\n <AutocompleteInput\n placeholder=\"Search\"\n options={OPTIONS}\n onSelect={action(\"onSelect\")}\n onSubmit={action(\"onSubmit\")}\n onClose={action(\"onClose\")}\n />\n </States>\n )\n}\n\nexport const Demo = () => {\n const [query, setQuery] = useState(\"\")\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value)\n }\n\n return (\n <AutocompleteInput\n placeholder=\"Begin typing...\"\n options={[...(query ? [{ text: query, value: query }] : []), ...OPTIONS]}\n onChange={handleChange}\n onSelect={action(\"onSelect\")}\n onSubmit={action(\"onSubmit\")}\n onClose={action(\"onClose\")}\n renderOption={(option, i) => {\n const displayQuery = i === 0 && query !== \"\"\n\n return (\n <Box\n px={2}\n py={1}\n {...(displayQuery\n ? { borderBottom: \"1px solid\", borderColor: \"mono10\" }\n : {})}\n >\n <Text variant=\"sm-display\">\n {displayQuery\n ? `See full results for “${option.text}”`\n : option.text}\n </Text>\n\n {\"subtitle\" in option && (\n <Text variant=\"xs\" color=\"mono60\">\n {option.subtitle}\n </Text>\n )}\n </Box>\n )\n }}\n />\n )\n}\n\nconst CITIES = [\n { text: \"New York\", value: \"new-york\" },\n { text: \"Los Angeles\", value: \"los-angeles\" },\n { text: \"London\", value: \"london\" },\n { text: \"Berlin\", value: \"berlin\" },\n { text: \"Paris\", value: \"paris\" },\n { text: \"Rome\", value: \"rome\" },\n { text: \"Madrid\", value: \"madrid\" },\n { text: \"Barcelona\", value: \"barcelona\" },\n { text: \"Amsterdam\", value: \"amsterdam\" },\n { text: \"Brussels\", value: \"brussels\" },\n { text: \"Copenhagen\", value: \"copenhagen\" },\n { text: \"Dublin\", value: \"dublin\" },\n { text: \"Florence\", value: \"florence\" },\n { text: \"Geneva\", value: \"geneva\" },\n { text: \"Helsinki\", value: \"helsinki\" },\n { text: \"Hong Kong\", value: \"hong-kong\" },\n { text: \"Lisbon\", value: \"lisbon\" },\n { text: \"Milan\", value: \"milan\" },\n { text: \"Monaco\", value: \"monaco\" },\n { text: \"Moscow\", value: \"moscow\" },\n { text: \"Munich\", value: \"munich\" },\n { text: \"New Delhi\", value: \"new-delhi\" },\n { text: \"Oslo\", value: \"oslo\" },\n { text: \"Prague\", value: \"prague\" },\n { text: \"Rio de Janeiro\", value: \"rio-de-janeiro\" },\n { text: \"San Francisco\", value: \"san-francisco\" },\n { text: \"São Paulo\", value: \"sao-paulo\" },\n { text: \"Seoul\", value: \"seoul\" },\n { text: \"Shanghai\", value: \"shanghai\" },\n { text: \"Singapore\", value: \"singapore\" },\n { text: \"Stockholm\", value: \"stockholm\" },\n { text: \"Sydney\", value: \"sydney\" },\n { text: \"Taipei\", value: \"taipei\" },\n { text: \"Tokyo\", value: \"tokyo\" },\n { text: \"Toronto\", value: \"toronto\" },\n { text: \"Venice\", value: \"venice\" },\n { text: \"Vienna\", value: \"vienna\" },\n { text: \"Warsaw\", value: \"warsaw\" },\n { text: \"Zurich\", value: \"zurich\" },\n]\n\nexport const FilterDemo = () => {\n const [query, setQuery] = useState(\"\")\n const [selection, setSelection] = useState(\"\")\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value)\n }\n\n const handleSelect = (option: AutocompleteInputOptionType) => {\n setSelection(JSON.stringify(option))\n }\n\n const handleClear = () => {\n setQuery(\"\")\n }\n\n return (\n <Box\n display=\"flex\"\n height=\"150vh\"\n width=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"column\"\n gap={2}\n >\n <AutocompleteInput\n width={[\"75%\", \"50%\"]}\n placeholder=\"Begin typing...\"\n options={CITIES.filter((option) => {\n return option.text.toLowerCase().includes(query.toLowerCase())\n })}\n onChange={handleChange}\n onSelect={handleSelect}\n onClear={handleClear}\n onSubmit={action(\"onSubmit\")}\n onClose={action(\"onClose\")}\n />\n\n <Text variant=\"xs\">\n Selected: {selection ? selection : \"Nothing Yet\"}\n </Text>\n </Box>\n )\n}\n\nexport const ProgrammaticFocus = () => {\n const ref = useRef<HTMLInputElement | null>(null)\n\n return (\n <Flex flexDirection=\"column\" gap={2}>\n <AutocompleteInput\n forwardRef={ref}\n width={[\"75%\", \"50%\"]}\n placeholder=\"Begin typing...\"\n options={CITIES}\n />\n\n <Button\n onClick={() => {\n if (!ref.current) return\n console.log({ ref })\n ref.current.focus()\n }}\n >\n Focus input\n </Button>\n </Flex>\n )\n}\n\nexport const OpenOnClick = () => {\n const [open, setOpen] = useState(false)\n\n return (\n <Stack gap={2} width={300}>\n {open ? (\n <Button onClick={() => setOpen(false)}>Close</Button>\n ) : (\n <Button onClick={() => setOpen(true)}>Open</Button>\n )}\n\n {open && (\n <AutocompleteInput\n autoFocus\n placeholder=\"Begin typing...\"\n options={CITIES}\n />\n )}\n </Stack>\n )\n}\n"],"mappings":"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"}
|
|
@@ -129,15 +129,17 @@ var usePosition = function usePosition(_ref) {
|
|
|
129
129
|
window.addEventListener("resize", handleResize, {
|
|
130
130
|
passive: true
|
|
131
131
|
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
132
|
+
requestAnimationFrame(function () {
|
|
133
|
+
setState(placeTooltip({
|
|
134
|
+
anchor: anchor,
|
|
135
|
+
tooltip: tooltip,
|
|
136
|
+
position: position,
|
|
137
|
+
offset: offset,
|
|
138
|
+
flip: flip,
|
|
139
|
+
clamp: clamp,
|
|
140
|
+
padding: padding
|
|
141
|
+
}));
|
|
142
|
+
});
|
|
141
143
|
return function () {
|
|
142
144
|
document.removeEventListener("scroll", handleScroll);
|
|
143
145
|
window.removeEventListener("resize", handleResize);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePosition.js","names":["_react","require","_useMutationObserver","_useIsomorphicLayoutEffect","_useResizeObserver","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","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","POSITION","top","bottom","left","right","exports","usePosition","_ref","key","position","_ref$offset","offset","_ref$active","active","_ref$flip","flip","_ref$clamp","clamp","_ref$padding","padding","_useState","useState","isFlipped","_useState2","state","setState","tooltipRef","useRef","anchorRef","update","current","tooltip","anchor","requestAnimationFrame","placeTooltip","useMutationObserver","ref","onMutate","useResizeObserver","target","onResize","useIsomorphicLayoutEffect","style","handleScroll","document","addEventListener","passive","handleResize","window","removeEventListener","_ref2","_ref2$offset","_ref2$boundaryRect","boundaryRect","getDocumentBoundingRect","_ref2$flip","_ref2$clamp","_ref2$padding","elementRect","getBoundingClientRect","tooltipRect","targetPosition","getPosition","shouldFlip","getOppositePosition","x","Math","max","min","width","y","height","shouldHide","isWithin","display","transform","translateWithOffset","_ref3","_ref4","_ref5","concat","body","clientWidth","clientHeight","_ref6","calculateMaxHeight","_ref7","anchorRect","_ref7$offset","viewportHeight","innerHeight"],"sources":["../../src/utils/usePosition.ts"],"sourcesContent":["/**\n * Adapted from https://codesandbox.io/s/positioning-tooltip-rhplo\n */\nimport { useState } from \"react\"\nimport { useRef } from \"react\"\nimport { useMutationObserver } from \"./useMutationObserver\"\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\"\nimport { useResizeObserver } from \"./useResizeObserver\"\n\nexport const POSITION = {\n \"top-start\": \"top-start\",\n top: \"top\",\n \"top-end\": \"top-end\",\n \"bottom-start\": \"bottom-start\",\n bottom: \"bottom\",\n \"bottom-end\": \"bottom-end\",\n \"left-start\": \"left-start\",\n left: \"left\",\n \"left-end\": \"left-end\",\n \"right-start\": \"right-start\",\n right: \"right\",\n \"right-end\": \"right-end\",\n} as const\n\nexport type Position = keyof typeof POSITION\n\ninterface TargetPosition {\n x: number\n y: number\n}\n\n/**\n * Will position the floating element (tooltip) relative to the anchor element,\n * using `position: fixed` and in such a way that it shouldn't ever appear\n * partially offscreen and will move correctly when the parent is scrolled.\n */\nexport const usePosition = ({\n key,\n position,\n offset = 0,\n active = true,\n flip = true,\n clamp = true,\n padding = 0,\n}: {\n /** Listen to changes on this value */\n key?: string | number | boolean\n /** Placement relative to anchor */\n position: Position\n /** Distance from anchor (default: `0`) */\n offset?: number\n /** Optionally disable for performance (default: `true`) */\n active?: boolean\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n /** Optionally disable clamping (default: `true`) */\n clamp?: boolean\n /** Add boundary padding (default: `0`) used when clamping */\n padding?: number\n}) => {\n const [state, setState] = useState<ReturnType<typeof placeTooltip>>({\n isFlipped: false,\n })\n\n const tooltipRef = useRef<HTMLElement | null>(null)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n const update = () => {\n if (!active || !tooltipRef.current || !anchorRef.current) return\n\n const { current: tooltip } = tooltipRef\n const { current: anchor } = anchorRef\n\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n }\n\n // Re-position when there's any change to the tooltip\n useMutationObserver({ ref: tooltipRef, onMutate: update, active })\n\n // Re-position when there's any change to the anchor's size\n useResizeObserver({ target: anchorRef, onResize: update, active })\n\n // Listen to changes on key\n useIsomorphicLayoutEffect(update, [key])\n\n useIsomorphicLayoutEffect(() => {\n if (!active || !tooltipRef.current || !anchorRef.current) return\n\n const { current: tooltip } = tooltipRef\n const { current: anchor } = anchorRef\n\n tooltip.style.position = \"fixed\"\n tooltip.style.top = \"0\"\n tooltip.style.left = \"0\"\n\n const handleScroll = () => {\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n }\n\n document.addEventListener(\"scroll\", handleScroll, {\n passive: true,\n })\n\n const handleResize = () => {\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n }\n\n window.addEventListener(\"resize\", handleResize, { passive: true })\n\n setState(\n placeTooltip({ anchor, tooltip, position, offset, flip, clamp, padding })\n )\n\n return () => {\n document.removeEventListener(\"scroll\", handleScroll)\n window.removeEventListener(\"resize\", handleResize)\n }\n }, [active, tooltipRef, anchorRef, position])\n\n return {\n // Element that floating element is anchored to\n tooltipRef,\n // Element you want to position relative to the anchor\n anchorRef,\n state,\n }\n}\n\ninterface PlaceTooltip {\n anchor: HTMLElement\n tooltip: HTMLElement\n position: Position\n offset?: number\n boundaryRect?: DOMRect\n flip?: boolean\n clamp?: boolean\n padding?: number\n}\n\nexport const placeTooltip = ({\n anchor,\n tooltip,\n position,\n offset = 0,\n boundaryRect = getDocumentBoundingRect(),\n flip = true,\n clamp = true,\n padding = 0,\n}: PlaceTooltip) => {\n const elementRect = anchor.getBoundingClientRect()\n const tooltipRect = tooltip.getBoundingClientRect()\n\n let targetPosition = getPosition({\n elementRect,\n tooltipRect,\n position,\n })\n\n // Flip to avoid edges\n const isFlipped =\n flip &&\n shouldFlip({\n targetPosition,\n position,\n boundaryRect,\n tooltipRect,\n })\n\n if (isFlipped) {\n position = getOppositePosition(position)\n targetPosition = getPosition({ elementRect, tooltipRect, position })\n }\n\n // Clamp position within boundary\n if (clamp) {\n targetPosition.x = Math.max(boundaryRect.left, targetPosition.x)\n targetPosition.x = Math.min(\n boundaryRect.right - tooltipRect.width,\n targetPosition.x\n )\n targetPosition.y = Math.max(boundaryRect.top, targetPosition.y)\n targetPosition.y = Math.min(\n boundaryRect.bottom - tooltipRect.height,\n targetPosition.y\n )\n\n // Apply padding to boundary\n switch (position) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n targetPosition.x = targetPosition.x - padding\n break\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n targetPosition.y = targetPosition.y + padding\n break\n }\n }\n\n // Should hide entirely if it scrolls out of view\n const shouldHide = !isWithin(elementRect, boundaryRect)\n tooltip.style.display = shouldHide ? \"none\" : \"block\"\n\n tooltip.style.transform = translateWithOffset(\n targetPosition,\n position,\n offset\n )\n\n return { isFlipped }\n}\n\nexport const getPosition = ({\n elementRect,\n tooltipRect,\n position,\n}: {\n elementRect: Pick<\n DOMRect,\n \"width\" | \"height\" | \"top\" | \"right\" | \"bottom\" | \"left\"\n >\n tooltipRect: Pick<DOMRect, \"width\" | \"height\">\n position: Position\n}): TargetPosition => {\n let x: number\n let y: number\n\n // X position\n switch (position) {\n case \"top-start\":\n case \"bottom-start\":\n x = elementRect.left\n break\n case \"top\":\n case \"bottom\":\n x = elementRect.left + elementRect.width / 2 - tooltipRect.width / 2\n break\n case \"top-end\":\n case \"bottom-end\":\n x = elementRect.right - tooltipRect.width\n break\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n // [..] {XXX}\n x = elementRect.left - tooltipRect.width\n break\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n // {XXX} [...]\n x = elementRect.right\n break\n }\n\n // Y position\n switch (position) {\n case \"left-start\":\n case \"right-start\":\n y = elementRect.top\n break\n case \"left\":\n case \"right\":\n y = elementRect.top + elementRect.height / 2 - tooltipRect.height / 2\n break\n case \"left-end\":\n case \"right-end\":\n y = elementRect.bottom - tooltipRect.height\n break\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n // [..]\n // {XXX}\n y = elementRect.top - tooltipRect.height\n break\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n // {XXX}\n // [...]\n y = elementRect.bottom\n break\n }\n\n return { x, y }\n}\n\nexport const translateWithOffset = (\n targetPosition: TargetPosition,\n position: Position,\n offset: number\n) => {\n const [x, y] = (() => {\n switch (position) {\n case \"top-start\":\n return [targetPosition.x, targetPosition.y - offset]\n case \"top\":\n return [targetPosition.x, targetPosition.y - offset]\n case \"top-end\":\n return [targetPosition.x, targetPosition.y - offset]\n case \"bottom-start\":\n return [targetPosition.x, targetPosition.y + offset]\n case \"bottom\":\n return [targetPosition.x, targetPosition.y + offset]\n case \"bottom-end\":\n return [targetPosition.x, targetPosition.y + offset]\n case \"left-start\":\n return [targetPosition.x - offset, targetPosition.y]\n case \"left\":\n return [targetPosition.x - offset, targetPosition.y]\n case \"left-end\":\n return [targetPosition.x - offset, targetPosition.y]\n case \"right-start\":\n return [targetPosition.x + offset, targetPosition.y]\n case \"right\":\n return [targetPosition.x + offset, targetPosition.y]\n case \"right-end\":\n return [targetPosition.x + offset, targetPosition.y]\n }\n })()\n\n return `translate(${x}px, ${y}px)`\n}\n\nconst getOppositePosition = (position: Position) => {\n switch (position) {\n case \"top-start\":\n return \"bottom-start\"\n case \"top\":\n return \"bottom\"\n case \"top-end\":\n return \"bottom-end\"\n case \"bottom-start\":\n return \"top-start\"\n case \"bottom\":\n return \"top\"\n case \"bottom-end\":\n return \"top-end\"\n case \"left-start\":\n return \"right-start\"\n case \"left\":\n return \"right\"\n case \"left-end\":\n return \"right-end\"\n case \"right-start\":\n return \"left-start\"\n case \"right\":\n return \"left\"\n case \"right-end\":\n return \"left-end\"\n }\n}\n\nexport const getDocumentBoundingRect = () => {\n const width = document.body.clientWidth\n const height = document.body.clientHeight\n\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height,\n } as DOMRect\n}\n\ninterface ShouldFlip {\n targetPosition: TargetPosition\n position: Position\n boundaryRect: Pick<DOMRect, \"top\" | \"right\" | \"bottom\" | \"left\">\n tooltipRect: Pick<DOMRect, \"width\" | \"height\">\n}\n\nexport const shouldFlip = ({\n targetPosition,\n position,\n boundaryRect,\n tooltipRect,\n}: ShouldFlip) => {\n switch (position) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n return targetPosition.y < boundaryRect.top\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return targetPosition.y + tooltipRect.height > boundaryRect.bottom\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return targetPosition.x < boundaryRect.left\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n return targetPosition.x + tooltipRect.width > boundaryRect.right\n }\n}\n\nconst isWithin = (elementRect: DOMRect, boundaryRect: DOMRect) => {\n return (\n boundaryRect.top < elementRect.bottom &&\n boundaryRect.left < elementRect.right &&\n boundaryRect.bottom > elementRect.top &&\n boundaryRect.right > elementRect.left\n )\n}\n\n/**\n * Calculate the maximum height available for a tooltip based on its placement and viewport constraints.\n */\nexport const calculateMaxHeight = ({\n anchorRect,\n position,\n offset = 0,\n}: {\n anchorRect: DOMRect\n position: Position\n offset?: number\n}): number => {\n const viewportHeight = window.innerHeight\n\n switch (position) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n // Space from top of anchor to top of viewport\n return anchorRect.top - offset * 2\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n // Space from bottom of anchor to bottom of viewport\n return viewportHeight - anchorRect.bottom - offset * 2\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n // For side placements, use the entire viewport height\n return viewportHeight - offset * 2\n default:\n return viewportHeight\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePosition.js","names":["_react","require","_useMutationObserver","_useIsomorphicLayoutEffect","_useResizeObserver","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","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","POSITION","top","bottom","left","right","exports","usePosition","_ref","key","position","_ref$offset","offset","_ref$active","active","_ref$flip","flip","_ref$clamp","clamp","_ref$padding","padding","_useState","useState","isFlipped","_useState2","state","setState","tooltipRef","useRef","anchorRef","update","current","tooltip","anchor","requestAnimationFrame","placeTooltip","useMutationObserver","ref","onMutate","useResizeObserver","target","onResize","useIsomorphicLayoutEffect","style","handleScroll","document","addEventListener","passive","handleResize","window","removeEventListener","_ref2","_ref2$offset","_ref2$boundaryRect","boundaryRect","getDocumentBoundingRect","_ref2$flip","_ref2$clamp","_ref2$padding","elementRect","getBoundingClientRect","tooltipRect","targetPosition","getPosition","shouldFlip","getOppositePosition","x","Math","max","min","width","y","height","shouldHide","isWithin","display","transform","translateWithOffset","_ref3","_ref4","_ref5","concat","body","clientWidth","clientHeight","_ref6","calculateMaxHeight","_ref7","anchorRect","_ref7$offset","viewportHeight","innerHeight"],"sources":["../../src/utils/usePosition.ts"],"sourcesContent":["/**\n * Adapted from https://codesandbox.io/s/positioning-tooltip-rhplo\n */\nimport { useState } from \"react\"\nimport { useRef } from \"react\"\nimport { useMutationObserver } from \"./useMutationObserver\"\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\"\nimport { useResizeObserver } from \"./useResizeObserver\"\n\nexport const POSITION = {\n \"top-start\": \"top-start\",\n top: \"top\",\n \"top-end\": \"top-end\",\n \"bottom-start\": \"bottom-start\",\n bottom: \"bottom\",\n \"bottom-end\": \"bottom-end\",\n \"left-start\": \"left-start\",\n left: \"left\",\n \"left-end\": \"left-end\",\n \"right-start\": \"right-start\",\n right: \"right\",\n \"right-end\": \"right-end\",\n} as const\n\nexport type Position = keyof typeof POSITION\n\ninterface TargetPosition {\n x: number\n y: number\n}\n\n/**\n * Will position the floating element (tooltip) relative to the anchor element,\n * using `position: fixed` and in such a way that it shouldn't ever appear\n * partially offscreen and will move correctly when the parent is scrolled.\n */\nexport const usePosition = ({\n key,\n position,\n offset = 0,\n active = true,\n flip = true,\n clamp = true,\n padding = 0,\n}: {\n /** Listen to changes on this value */\n key?: string | number | boolean\n /** Placement relative to anchor */\n position: Position\n /** Distance from anchor (default: `0`) */\n offset?: number\n /** Optionally disable for performance (default: `true`) */\n active?: boolean\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n /** Optionally disable clamping (default: `true`) */\n clamp?: boolean\n /** Add boundary padding (default: `0`) used when clamping */\n padding?: number\n}) => {\n const [state, setState] = useState<ReturnType<typeof placeTooltip>>({\n isFlipped: false,\n })\n\n const tooltipRef = useRef<HTMLElement | null>(null)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n const update = () => {\n if (!active || !tooltipRef.current || !anchorRef.current) return\n\n const { current: tooltip } = tooltipRef\n const { current: anchor } = anchorRef\n\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n }\n\n // Re-position when there's any change to the tooltip\n useMutationObserver({ ref: tooltipRef, onMutate: update, active })\n\n // Re-position when there's any change to the anchor's size\n useResizeObserver({ target: anchorRef, onResize: update, active })\n\n // Listen to changes on key\n useIsomorphicLayoutEffect(update, [key])\n\n useIsomorphicLayoutEffect(() => {\n if (!active || !tooltipRef.current || !anchorRef.current) return\n\n const { current: tooltip } = tooltipRef\n const { current: anchor } = anchorRef\n\n tooltip.style.position = \"fixed\"\n tooltip.style.top = \"0\"\n tooltip.style.left = \"0\"\n\n const handleScroll = () => {\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n }\n\n document.addEventListener(\"scroll\", handleScroll, {\n passive: true,\n })\n\n const handleResize = () => {\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n }\n\n window.addEventListener(\"resize\", handleResize, { passive: true })\n\n requestAnimationFrame(() => {\n setState(\n placeTooltip({\n anchor,\n tooltip,\n position,\n offset,\n flip,\n clamp,\n padding,\n })\n )\n })\n\n return () => {\n document.removeEventListener(\"scroll\", handleScroll)\n window.removeEventListener(\"resize\", handleResize)\n }\n }, [active, tooltipRef, anchorRef, position])\n\n return {\n // Element that floating element is anchored to\n tooltipRef,\n // Element you want to position relative to the anchor\n anchorRef,\n state,\n }\n}\n\ninterface PlaceTooltip {\n anchor: HTMLElement\n tooltip: HTMLElement\n position: Position\n offset?: number\n boundaryRect?: DOMRect\n flip?: boolean\n clamp?: boolean\n padding?: number\n}\n\nexport const placeTooltip = ({\n anchor,\n tooltip,\n position,\n offset = 0,\n boundaryRect = getDocumentBoundingRect(),\n flip = true,\n clamp = true,\n padding = 0,\n}: PlaceTooltip) => {\n const elementRect = anchor.getBoundingClientRect()\n const tooltipRect = tooltip.getBoundingClientRect()\n\n let targetPosition = getPosition({\n elementRect,\n tooltipRect,\n position,\n })\n\n // Flip to avoid edges\n const isFlipped =\n flip &&\n shouldFlip({\n targetPosition,\n position,\n boundaryRect,\n tooltipRect,\n })\n\n if (isFlipped) {\n position = getOppositePosition(position)\n targetPosition = getPosition({ elementRect, tooltipRect, position })\n }\n\n // Clamp position within boundary\n if (clamp) {\n targetPosition.x = Math.max(boundaryRect.left, targetPosition.x)\n targetPosition.x = Math.min(\n boundaryRect.right - tooltipRect.width,\n targetPosition.x\n )\n targetPosition.y = Math.max(boundaryRect.top, targetPosition.y)\n targetPosition.y = Math.min(\n boundaryRect.bottom - tooltipRect.height,\n targetPosition.y\n )\n\n // Apply padding to boundary\n switch (position) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n targetPosition.x = targetPosition.x - padding\n break\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n targetPosition.y = targetPosition.y + padding\n break\n }\n }\n\n // Should hide entirely if it scrolls out of view\n const shouldHide = !isWithin(elementRect, boundaryRect)\n tooltip.style.display = shouldHide ? \"none\" : \"block\"\n\n tooltip.style.transform = translateWithOffset(\n targetPosition,\n position,\n offset\n )\n\n return { isFlipped }\n}\n\nexport const getPosition = ({\n elementRect,\n tooltipRect,\n position,\n}: {\n elementRect: Pick<\n DOMRect,\n \"width\" | \"height\" | \"top\" | \"right\" | \"bottom\" | \"left\"\n >\n tooltipRect: Pick<DOMRect, \"width\" | \"height\">\n position: Position\n}): TargetPosition => {\n let x: number\n let y: number\n\n // X position\n switch (position) {\n case \"top-start\":\n case \"bottom-start\":\n x = elementRect.left\n break\n case \"top\":\n case \"bottom\":\n x = elementRect.left + elementRect.width / 2 - tooltipRect.width / 2\n break\n case \"top-end\":\n case \"bottom-end\":\n x = elementRect.right - tooltipRect.width\n break\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n // [..] {XXX}\n x = elementRect.left - tooltipRect.width\n break\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n // {XXX} [...]\n x = elementRect.right\n break\n }\n\n // Y position\n switch (position) {\n case \"left-start\":\n case \"right-start\":\n y = elementRect.top\n break\n case \"left\":\n case \"right\":\n y = elementRect.top + elementRect.height / 2 - tooltipRect.height / 2\n break\n case \"left-end\":\n case \"right-end\":\n y = elementRect.bottom - tooltipRect.height\n break\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n // [..]\n // {XXX}\n y = elementRect.top - tooltipRect.height\n break\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n // {XXX}\n // [...]\n y = elementRect.bottom\n break\n }\n\n return { x, y }\n}\n\nexport const translateWithOffset = (\n targetPosition: TargetPosition,\n position: Position,\n offset: number\n) => {\n const [x, y] = (() => {\n switch (position) {\n case \"top-start\":\n return [targetPosition.x, targetPosition.y - offset]\n case \"top\":\n return [targetPosition.x, targetPosition.y - offset]\n case \"top-end\":\n return [targetPosition.x, targetPosition.y - offset]\n case \"bottom-start\":\n return [targetPosition.x, targetPosition.y + offset]\n case \"bottom\":\n return [targetPosition.x, targetPosition.y + offset]\n case \"bottom-end\":\n return [targetPosition.x, targetPosition.y + offset]\n case \"left-start\":\n return [targetPosition.x - offset, targetPosition.y]\n case \"left\":\n return [targetPosition.x - offset, targetPosition.y]\n case \"left-end\":\n return [targetPosition.x - offset, targetPosition.y]\n case \"right-start\":\n return [targetPosition.x + offset, targetPosition.y]\n case \"right\":\n return [targetPosition.x + offset, targetPosition.y]\n case \"right-end\":\n return [targetPosition.x + offset, targetPosition.y]\n }\n })()\n\n return `translate(${x}px, ${y}px)`\n}\n\nconst getOppositePosition = (position: Position) => {\n switch (position) {\n case \"top-start\":\n return \"bottom-start\"\n case \"top\":\n return \"bottom\"\n case \"top-end\":\n return \"bottom-end\"\n case \"bottom-start\":\n return \"top-start\"\n case \"bottom\":\n return \"top\"\n case \"bottom-end\":\n return \"top-end\"\n case \"left-start\":\n return \"right-start\"\n case \"left\":\n return \"right\"\n case \"left-end\":\n return \"right-end\"\n case \"right-start\":\n return \"left-start\"\n case \"right\":\n return \"left\"\n case \"right-end\":\n return \"left-end\"\n }\n}\n\nexport const getDocumentBoundingRect = () => {\n const width = document.body.clientWidth\n const height = document.body.clientHeight\n\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height,\n } as DOMRect\n}\n\ninterface ShouldFlip {\n targetPosition: TargetPosition\n position: Position\n boundaryRect: Pick<DOMRect, \"top\" | \"right\" | \"bottom\" | \"left\">\n tooltipRect: Pick<DOMRect, \"width\" | \"height\">\n}\n\nexport const shouldFlip = ({\n targetPosition,\n position,\n boundaryRect,\n tooltipRect,\n}: ShouldFlip) => {\n switch (position) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n return targetPosition.y < boundaryRect.top\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n return targetPosition.y + tooltipRect.height > boundaryRect.bottom\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n return targetPosition.x < boundaryRect.left\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n return targetPosition.x + tooltipRect.width > boundaryRect.right\n }\n}\n\nconst isWithin = (elementRect: DOMRect, boundaryRect: DOMRect) => {\n return (\n boundaryRect.top < elementRect.bottom &&\n boundaryRect.left < elementRect.right &&\n boundaryRect.bottom > elementRect.top &&\n boundaryRect.right > elementRect.left\n )\n}\n\n/**\n * Calculate the maximum height available for a tooltip based on its placement and viewport constraints.\n */\nexport const calculateMaxHeight = ({\n anchorRect,\n position,\n offset = 0,\n}: {\n anchorRect: DOMRect\n position: Position\n offset?: number\n}): number => {\n const viewportHeight = window.innerHeight\n\n switch (position) {\n case \"top-start\":\n case \"top\":\n case \"top-end\":\n // Space from top of anchor to top of viewport\n return anchorRect.top - offset * 2\n case \"bottom-start\":\n case \"bottom\":\n case \"bottom-end\":\n // Space from bottom of anchor to bottom of viewport\n return viewportHeight - anchorRect.bottom - offset * 2\n case \"left-start\":\n case \"left\":\n case \"left-end\":\n case \"right-start\":\n case \"right\":\n case \"right-end\":\n // For side placements, use the entire viewport height\n return viewportHeight - offset * 2\n default:\n return viewportHeight\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": "41.
|
|
3
|
+
"version": "41.1.0",
|
|
4
4
|
"description": "Design system library for react components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -187,5 +187,5 @@
|
|
|
187
187
|
"url": "http://localhost"
|
|
188
188
|
}
|
|
189
189
|
},
|
|
190
|
-
"gitHead": "
|
|
190
|
+
"gitHead": "3cece6fdbd656e7ce0a6ac460da91110347d2b6e"
|
|
191
191
|
}
|