@artsy/palette 45.14.0-canary.1497.33070.0 → 45.14.0-canary.1497.33079.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/cjs/Theme.d.ts +1 -1
- package/dist/cjs/Theme.js +2 -11
- package/dist/cjs/Theme.js.map +1 -1
- package/dist/cjs/elements/BorderBox/index.d.ts +1 -1
- package/dist/cjs/elements/BorderBox/index.js +0 -11
- package/dist/cjs/elements/BorderBox/index.js.map +1 -1
- package/dist/cjs/elements/FilterSelect/index.d.ts +1 -1
- package/dist/cjs/elements/FilterSelect/index.js +0 -25
- package/dist/cjs/elements/FilterSelect/index.js.map +1 -1
- package/dist/cjs/elements/GridColumns/index.d.ts +1 -1
- package/dist/cjs/elements/GridColumns/index.js +0 -18
- package/dist/cjs/elements/GridColumns/index.js.map +1 -1
- package/dist/esm/Theme.js +1 -2
- package/dist/esm/Theme.js.map +1 -1
- package/dist/esm/elements/AutocompleteInput/AutocompleteInput.js +0 -2
- package/dist/esm/elements/AutocompleteInput/AutocompleteInput.js.map +1 -1
- package/dist/esm/elements/AutocompleteInput/AutocompleteInputOption.js +1 -1
- package/dist/esm/elements/AutocompleteInput/AutocompleteInputOption.js.map +1 -1
- package/dist/esm/elements/AutocompleteInput/AutocompleteInputOptionLabel.js +1 -1
- package/dist/esm/elements/AutocompleteInput/AutocompleteInputOptionLabel.js.map +1 -1
- package/dist/esm/elements/Avatar/Avatar.js +2 -3
- package/dist/esm/elements/Avatar/Avatar.js.map +1 -1
- package/dist/esm/elements/Banner/Banner.js +1 -1
- package/dist/esm/elements/Banner/Banner.js.map +1 -1
- package/dist/esm/elements/BaseTabs/BaseTab.js +1 -2
- package/dist/esm/elements/BaseTabs/BaseTab.js.map +1 -1
- package/dist/esm/elements/BaseTabs/BaseTabs.js +1 -1
- package/dist/esm/elements/BaseTabs/BaseTabs.js.map +1 -1
- package/dist/esm/elements/BorderBox/BorderBox.js +1 -1
- package/dist/esm/elements/BorderBox/BorderBox.js.map +1 -1
- package/dist/esm/elements/BorderBox/BorderBoxBase.js +1 -1
- package/dist/esm/elements/BorderBox/BorderBoxBase.js.map +1 -1
- package/dist/esm/elements/BorderBox/index.js +1 -1
- package/dist/esm/elements/BorderBox/index.js.map +1 -1
- package/dist/esm/elements/BorderedRadio/BorderedRadio.js +1 -1
- package/dist/esm/elements/BorderedRadio/BorderedRadio.js.map +1 -1
- package/dist/esm/elements/Box/Box.js +2 -2
- package/dist/esm/elements/Box/Box.js.map +1 -1
- package/dist/esm/elements/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/esm/elements/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/esm/elements/Button/Button.js +3 -5
- package/dist/esm/elements/Button/Button.js.map +1 -1
- package/dist/esm/elements/Button/tokens.js +0 -2
- package/dist/esm/elements/Button/tokens.js.map +1 -1
- package/dist/esm/elements/CSSGrid/CSSGrid.js +2 -2
- package/dist/esm/elements/CSSGrid/CSSGrid.js.map +1 -1
- package/dist/esm/elements/Cards/Card.js +2 -2
- package/dist/esm/elements/Cards/Card.js.map +1 -1
- package/dist/esm/elements/Cards/TriptychCard.js +2 -2
- package/dist/esm/elements/Cards/TriptychCard.js.map +1 -1
- package/dist/esm/elements/Carousel/Carousel.js +3 -4
- package/dist/esm/elements/Carousel/Carousel.js.map +1 -1
- package/dist/esm/elements/Carousel/Carousel.story.js +1 -1
- package/dist/esm/elements/Carousel/Carousel.story.js.map +1 -1
- package/dist/esm/elements/Carousel/CarouselNavigation.js +1 -2
- package/dist/esm/elements/Carousel/CarouselNavigation.js.map +1 -1
- package/dist/esm/elements/CarouselBar/CarouselBar.js +1 -1
- package/dist/esm/elements/CarouselBar/CarouselBar.js.map +1 -1
- package/dist/esm/elements/Checkbox/Checkbox.js +1 -1
- package/dist/esm/elements/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/elements/CleanTag/CleanTag.js +1 -1
- package/dist/esm/elements/CleanTag/CleanTag.js.map +1 -1
- package/dist/esm/elements/Clickable/Clickable.js +2 -3
- package/dist/esm/elements/Clickable/Clickable.js.map +1 -1
- package/dist/esm/elements/Drawer/Drawer.js +1 -1
- package/dist/esm/elements/Drawer/Drawer.js.map +1 -1
- package/dist/esm/elements/Dropdown/Dropdown.js +2 -2
- package/dist/esm/elements/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/elements/Dropdown/Dropdown.story.js +0 -1
- package/dist/esm/elements/Dropdown/Dropdown.story.js.map +1 -1
- package/dist/esm/elements/EntityHeader/EntityHeader.js +2 -3
- package/dist/esm/elements/EntityHeader/EntityHeader.js.map +1 -1
- package/dist/esm/elements/Expandable/Expandable.js +1 -1
- package/dist/esm/elements/Expandable/Expandable.js.map +1 -1
- package/dist/esm/elements/FilterSelect/Components/FilterInput.js +0 -1
- package/dist/esm/elements/FilterSelect/Components/FilterInput.js.map +1 -1
- package/dist/esm/elements/FilterSelect/Components/FilterSelectResultItem.js +1 -1
- package/dist/esm/elements/FilterSelect/Components/FilterSelectResultItem.js.map +1 -1
- package/dist/esm/elements/FilterSelect/FilterSelect.js +1 -1
- package/dist/esm/elements/FilterSelect/FilterSelect.js.map +1 -1
- package/dist/esm/elements/FilterSelect/index.js +1 -1
- package/dist/esm/elements/FilterSelect/index.js.map +1 -1
- package/dist/esm/elements/Flex/Flex.js +1 -1
- package/dist/esm/elements/Flex/Flex.js.map +1 -1
- package/dist/esm/elements/FullBleed/FullBleed.js +1 -1
- package/dist/esm/elements/FullBleed/FullBleed.js.map +1 -1
- package/dist/esm/elements/GridColumns/GridColumns.js +4 -4
- package/dist/esm/elements/GridColumns/GridColumns.js.map +1 -1
- package/dist/esm/elements/GridColumns/index.js +1 -1
- package/dist/esm/elements/GridColumns/index.js.map +1 -1
- package/dist/esm/elements/HTML/HTML.js +2 -2
- package/dist/esm/elements/HTML/HTML.js.map +1 -1
- package/dist/esm/elements/HorizontalOverflow/HorizontalOverflow.js +2 -2
- package/dist/esm/elements/HorizontalOverflow/HorizontalOverflow.js.map +1 -1
- package/dist/esm/elements/Image/Image.js +1 -1
- package/dist/esm/elements/Image/Image.js.map +1 -1
- package/dist/esm/elements/Input/Input.js +1 -1
- package/dist/esm/elements/Input/Input.js.map +1 -1
- package/dist/esm/elements/Input/tokens.js +0 -1
- package/dist/esm/elements/Input/tokens.js.map +1 -1
- package/dist/esm/elements/Label/Label.js +1 -1
- package/dist/esm/elements/Label/Label.js.map +1 -1
- package/dist/esm/elements/Label/Label.story.js +1 -1
- package/dist/esm/elements/Label/Label.story.js.map +1 -1
- package/dist/esm/elements/LabeledInput/LabeledInput.js +1 -1
- package/dist/esm/elements/LabeledInput/LabeledInput.js.map +1 -1
- package/dist/esm/elements/Link/Link.js +2 -2
- package/dist/esm/elements/Link/Link.js.map +1 -1
- package/dist/esm/elements/Marquee/Marquee.js +1 -1
- package/dist/esm/elements/Marquee/Marquee.js.map +1 -1
- package/dist/esm/elements/Message/Message.js +1 -1
- package/dist/esm/elements/Message/Message.js.map +1 -1
- package/dist/esm/elements/Message/Message.story.js +1 -1
- package/dist/esm/elements/Message/Message.story.js.map +1 -1
- package/dist/esm/elements/Modal/ModalBase.js +2 -2
- package/dist/esm/elements/Modal/ModalBase.js.map +1 -1
- package/dist/esm/elements/Modal/ModalBase.story.js +1 -1
- package/dist/esm/elements/Modal/ModalBase.story.js.map +1 -1
- package/dist/esm/elements/ModalDialog/ModalDialog.js +2 -2
- package/dist/esm/elements/ModalDialog/ModalDialog.js.map +1 -1
- package/dist/esm/elements/ModalDialog/ModalDialogContent.js +3 -3
- package/dist/esm/elements/ModalDialog/ModalDialogContent.js.map +1 -1
- package/dist/esm/elements/MultiSelect/MultiSelect.js +2 -2
- package/dist/esm/elements/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/esm/elements/MultiSelect/tokens.js +1 -2
- package/dist/esm/elements/MultiSelect/tokens.js.map +1 -1
- package/dist/esm/elements/Pagination/Pagination.js +3 -3
- package/dist/esm/elements/Pagination/Pagination.js.map +1 -1
- package/dist/esm/elements/PasswordInput/PasswordInput.js +0 -1
- package/dist/esm/elements/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/esm/elements/Pill/Pill.js +1 -3
- package/dist/esm/elements/Pill/Pill.js.map +1 -1
- package/dist/esm/elements/Pill/Pill.story.js +1 -1
- package/dist/esm/elements/Pill/Pill.story.js.map +1 -1
- package/dist/esm/elements/Pill/tokens.js +1 -2
- package/dist/esm/elements/Pill/tokens.js.map +1 -1
- package/dist/esm/elements/Pointer/Pointer.js +1 -2
- package/dist/esm/elements/Pointer/Pointer.js.map +1 -1
- package/dist/esm/elements/Popover/Popover.js +2 -2
- package/dist/esm/elements/Popover/Popover.js.map +1 -1
- package/dist/esm/elements/Popover/Popover.story.js +2 -2
- package/dist/esm/elements/Popover/Popover.story.js.map +1 -1
- package/dist/esm/elements/ProgressBar/ProgressBar.js +1 -2
- package/dist/esm/elements/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/elements/ProgressDots/ProgressDots.js +1 -1
- package/dist/esm/elements/ProgressDots/ProgressDots.js.map +1 -1
- package/dist/esm/elements/Radio/Radio.js +1 -1
- package/dist/esm/elements/Radio/Radio.js.map +1 -1
- package/dist/esm/elements/Radio/tokens.js +0 -2
- package/dist/esm/elements/Radio/tokens.js.map +1 -1
- package/dist/esm/elements/RadioGroup/RadioGroup.js +1 -2
- package/dist/esm/elements/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/elements/Range/Range.js +1 -1
- package/dist/esm/elements/Range/Range.js.map +1 -1
- package/dist/esm/elements/ResponsiveBox/ResponsiveBox.js +1 -1
- package/dist/esm/elements/ResponsiveBox/ResponsiveBox.js.map +1 -1
- package/dist/esm/elements/ResponsiveBox/ResponsiveBox.story.js +1 -1
- package/dist/esm/elements/ResponsiveBox/ResponsiveBox.story.js.map +1 -1
- package/dist/esm/elements/Select/Select.js +2 -2
- package/dist/esm/elements/Select/Select.js.map +1 -1
- package/dist/esm/elements/Select/tokens.js +1 -2
- package/dist/esm/elements/Select/tokens.js.map +1 -1
- package/dist/esm/elements/SelectInput/SelectInput.js +3 -4
- package/dist/esm/elements/SelectInput/SelectInput.js.map +1 -1
- package/dist/esm/elements/SelectInput/SelectInputList.js +1 -2
- package/dist/esm/elements/SelectInput/SelectInputList.js.map +1 -1
- package/dist/esm/elements/Separator/Separator.js +1 -1
- package/dist/esm/elements/Separator/Separator.js.map +1 -1
- package/dist/esm/elements/Shelf/Shelf.js +1 -2
- package/dist/esm/elements/Shelf/Shelf.js.map +1 -1
- package/dist/esm/elements/Shelf/ShelfNavigation.js +1 -1
- package/dist/esm/elements/Shelf/ShelfNavigation.js.map +1 -1
- package/dist/esm/elements/Shelf/ShelfScrollBar.js +1 -1
- package/dist/esm/elements/Shelf/ShelfScrollBar.js.map +1 -1
- package/dist/esm/elements/ShowMore/ShowMore.js +2 -2
- package/dist/esm/elements/ShowMore/ShowMore.js.map +1 -1
- package/dist/esm/elements/Skeleton/Skeleton.js +3 -3
- package/dist/esm/elements/Skeleton/Skeleton.js.map +1 -1
- package/dist/esm/elements/Skip/Skip.js +1 -1
- package/dist/esm/elements/Skip/Skip.js.map +1 -1
- package/dist/esm/elements/Spacer/Spacer.js +1 -1
- package/dist/esm/elements/Spacer/Spacer.js.map +1 -1
- package/dist/esm/elements/Spinner/Spinner.js +2 -2
- package/dist/esm/elements/Spinner/Spinner.js.map +1 -1
- package/dist/esm/elements/Stack/Stack.js +1 -2
- package/dist/esm/elements/Stack/Stack.js.map +1 -1
- package/dist/esm/elements/StackableBorderBox/StackableBorderBox.js +1 -1
- package/dist/esm/elements/StackableBorderBox/StackableBorderBox.js.map +1 -1
- package/dist/esm/elements/Stepper/Stepper.js +1 -1
- package/dist/esm/elements/Stepper/Stepper.js.map +1 -1
- package/dist/esm/elements/Sup/Sup.js +1 -1
- package/dist/esm/elements/Sup/Sup.js.map +1 -1
- package/dist/esm/elements/Swiper/Swiper.js +1 -1
- package/dist/esm/elements/Swiper/Swiper.js.map +1 -1
- package/dist/esm/elements/Swiper/Swiper.story.js +1 -1
- package/dist/esm/elements/Swiper/Swiper.story.js.map +1 -1
- package/dist/esm/elements/Tabs/Tabs.js +1 -1
- package/dist/esm/elements/Tabs/Tabs.js.map +1 -1
- package/dist/esm/elements/Text/Text.js +3 -4
- package/dist/esm/elements/Text/Text.js.map +1 -1
- package/dist/esm/elements/TextArea/TextArea.js +1 -1
- package/dist/esm/elements/TextArea/TextArea.js.map +1 -1
- package/dist/esm/elements/TextArea/tokens.js +0 -1
- package/dist/esm/elements/TextArea/tokens.js.map +1 -1
- package/dist/esm/elements/Toasts/Toast.js +1 -1
- package/dist/esm/elements/Toasts/Toast.js.map +1 -1
- package/dist/esm/elements/Toasts/Toasts.js +1 -1
- package/dist/esm/elements/Toasts/Toasts.js.map +1 -1
- package/dist/esm/elements/Toasts/Toasts.story.js +1 -1
- package/dist/esm/elements/Toasts/Toasts.story.js.map +1 -1
- package/dist/esm/elements/Toasts/useToasts.js +0 -1
- package/dist/esm/elements/Toasts/useToasts.js.map +1 -1
- package/dist/esm/elements/Toggle/Toggle.js +1 -1
- package/dist/esm/elements/Toggle/Toggle.js.map +1 -1
- package/dist/esm/elements/Tooltip/Tooltip.js +2 -2
- package/dist/esm/elements/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/elements/Tooltip/Tooltip.story.js +2 -2
- package/dist/esm/elements/Tooltip/Tooltip.story.js.map +1 -1
- package/dist/esm/elements/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/esm/elements/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/esm/helpers/color.js +1 -1
- package/dist/esm/helpers/color.js.map +1 -1
- package/dist/esm/helpers/injectGlobalStyles.js +1 -1
- package/dist/esm/helpers/injectGlobalStyles.js.map +1 -1
- package/dist/esm/helpers/isText.js +1 -1
- package/dist/esm/helpers/isText.js.map +1 -1
- package/dist/esm/helpers/space.js +1 -1
- package/dist/esm/helpers/space.js.map +1 -1
- package/dist/esm/shared/RequiredField.js +1 -1
- package/dist/esm/shared/RequiredField.js.map +1 -1
- package/dist/esm/themes/Themes.story.js +1 -2
- package/dist/esm/themes/Themes.story.js.map +1 -1
- package/dist/esm/utils/splitProps.js +0 -1
- package/dist/esm/utils/splitProps.js.map +1 -1
- package/dist/esm/utils/usePortal.js +1 -1
- package/dist/esm/utils/usePortal.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/cjs/Theme.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Theme as TTheme } from "./themes";
|
|
3
3
|
export * from "@artsy/palette-tokens/dist/themes/v3";
|
|
4
|
-
export { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
|
|
4
|
+
export type { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
|
|
5
5
|
export declare const THEMES: {
|
|
6
6
|
light: {
|
|
7
7
|
id: string;
|
package/dist/cjs/Theme.js
CHANGED
|
@@ -7,17 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
var _exportNames = {
|
|
8
8
|
THEMES: true,
|
|
9
9
|
Theme: true,
|
|
10
|
-
useTheme: true
|
|
11
|
-
TextVariant: true
|
|
10
|
+
useTheme: true
|
|
12
11
|
};
|
|
13
|
-
exports.THEMES = void 0;
|
|
14
|
-
Object.defineProperty(exports, "TextVariant", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function get() {
|
|
17
|
-
return _v2.TextVariant;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
exports.useTheme = exports.Theme = void 0;
|
|
12
|
+
exports.useTheme = exports.Theme = exports.THEMES = void 0;
|
|
21
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
22
14
|
var _styledComponents = require("styled-components");
|
|
23
15
|
var _themes = require("./themes");
|
|
@@ -34,7 +26,6 @@ Object.keys(_v).forEach(function (key) {
|
|
|
34
26
|
});
|
|
35
27
|
});
|
|
36
28
|
var _v3Dark = require("@artsy/palette-tokens/dist/themes/v3Dark");
|
|
37
|
-
var _v2 = require("@artsy/palette-tokens/dist/typography/v3");
|
|
38
29
|
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); }
|
|
39
30
|
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; }
|
|
40
31
|
var THEMES = exports.THEMES = {
|
package/dist/cjs/Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_themes","_v","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_v3Dark","
|
|
1
|
+
{"version":3,"file":"Theme.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_themes","_v","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_v3Dark","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","THEMES","light","THEME","dark","THEME_DARK","DEFAULT_THEME","Theme","_ref","children","_ref$theme","theme","selectedTheme","createElement","ThemeProvider","displayName","useTheme","useContext","ThemeContext"],"sources":["../../src/Theme.tsx"],"sourcesContent":["import React, { useContext } from \"react\"\nimport { ThemeContext, ThemeProvider } from \"styled-components\"\nimport { THEME, Theme as TTheme } from \"./themes\"\n\nexport * from \"@artsy/palette-tokens/dist/themes/v3\"\nimport { THEME_DARK } from \"@artsy/palette-tokens/dist/themes/v3Dark\"\nexport type { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\n\nexport const THEMES = {\n light: THEME,\n dark: THEME_DARK,\n}\n\nconst DEFAULT_THEME = THEME\n\ninterface ThemeProps {\n children?: React.ReactNode\n theme?: \"light\" | \"dark\"\n}\n\n/**\n * A wrapper component for passing down the Artsy theme context\n */\nexport const Theme: React.FC<React.PropsWithChildren<ThemeProps>> = ({\n children,\n theme = \"light\",\n}) => {\n const selectedTheme = THEMES[theme]\n return <ThemeProvider theme={selectedTheme}>{children}</ThemeProvider>\n}\n\n/** Returns the current theme */\nexport const useTheme = <T extends TTheme>() => {\n const theme: T = (useContext(ThemeContext) || DEFAULT_THEME) as T\n return { theme }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./BorderBox";
|
|
2
|
-
export { BorderBoxProps } from "./BorderBoxBase";
|
|
2
|
+
export type { BorderBoxProps } from "./BorderBoxBase";
|
|
@@ -3,19 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
BorderBoxProps: true
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "BorderBoxProps", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: function get() {
|
|
12
|
-
return _BorderBoxBase.BorderBoxProps;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
6
|
var _BorderBox = require("./BorderBox");
|
|
16
7
|
Object.keys(_BorderBox).forEach(function (key) {
|
|
17
8
|
if (key === "default" || key === "__esModule") return;
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
19
9
|
if (key in exports && exports[key] === _BorderBox[key]) return;
|
|
20
10
|
Object.defineProperty(exports, key, {
|
|
21
11
|
enumerable: true,
|
|
@@ -24,5 +14,4 @@ Object.keys(_BorderBox).forEach(function (key) {
|
|
|
24
14
|
}
|
|
25
15
|
});
|
|
26
16
|
});
|
|
27
|
-
var _BorderBoxBase = require("./BorderBoxBase");
|
|
28
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_BorderBox","require","Object","keys","forEach","key","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_BorderBox","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/elements/BorderBox/index.tsx"],"sourcesContent":["export * from \"./BorderBox\"\nexport type { BorderBoxProps } from \"./BorderBoxBase\"\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { FilterSelectChangeState, Item as FilterSelectItem, Items as FilterSelectItems, } from "./Components/FilterSelectContext";
|
|
1
|
+
export type { FilterSelectChangeState, Item as FilterSelectItem, Items as FilterSelectItems, } from "./Components/FilterSelectContext";
|
|
2
2
|
export * from "./FilterSelect";
|
|
@@ -3,34 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
FilterSelectChangeState: true,
|
|
8
|
-
FilterSelectItem: true,
|
|
9
|
-
FilterSelectItems: true
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "FilterSelectChangeState", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: function get() {
|
|
14
|
-
return _FilterSelectContext.FilterSelectChangeState;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(exports, "FilterSelectItem", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function get() {
|
|
20
|
-
return _FilterSelectContext.Item;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports, "FilterSelectItems", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
get: function get() {
|
|
26
|
-
return _FilterSelectContext.Items;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
var _FilterSelectContext = require("./Components/FilterSelectContext");
|
|
30
6
|
var _FilterSelect = require("./FilterSelect");
|
|
31
7
|
Object.keys(_FilterSelect).forEach(function (key) {
|
|
32
8
|
if (key === "default" || key === "__esModule") return;
|
|
33
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
34
9
|
if (key in exports && exports[key] === _FilterSelect[key]) return;
|
|
35
10
|
Object.defineProperty(exports, key, {
|
|
36
11
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_FilterSelect","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/elements/FilterSelect/index.tsx"],"sourcesContent":["export type {\n FilterSelectChangeState,\n Item as FilterSelectItem,\n Items as FilterSelectItems,\n} from \"./Components/FilterSelectContext\"\nexport * from \"./FilterSelect\"\n"],"mappings":";;;;;AAKA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ColumnSpan, ColumnStart } from "./calculateGridColumn";
|
|
1
|
+
export type { ColumnSpan, ColumnStart } from "./calculateGridColumn";
|
|
2
2
|
export * from "./GridColumns";
|
|
@@ -3,27 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
ColumnSpan: true,
|
|
8
|
-
ColumnStart: true
|
|
9
|
-
};
|
|
10
|
-
Object.defineProperty(exports, "ColumnSpan", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _calculateGridColumn.ColumnSpan;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
Object.defineProperty(exports, "ColumnStart", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function get() {
|
|
19
|
-
return _calculateGridColumn.ColumnStart;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
var _calculateGridColumn = require("./calculateGridColumn");
|
|
23
6
|
var _GridColumns = require("./GridColumns");
|
|
24
7
|
Object.keys(_GridColumns).forEach(function (key) {
|
|
25
8
|
if (key === "default" || key === "__esModule") return;
|
|
26
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
27
9
|
if (key in exports && exports[key] === _GridColumns[key]) return;
|
|
28
10
|
Object.defineProperty(exports, key, {
|
|
29
11
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_GridColumns","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/elements/GridColumns/index.ts"],"sourcesContent":["export type { ColumnSpan, ColumnStart } from \"./calculateGridColumn\"\nexport * from \"./GridColumns\"\n"],"mappings":";;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
package/dist/esm/Theme.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React, { useContext } from "react";
|
|
2
2
|
import { ThemeContext, ThemeProvider } from "styled-components";
|
|
3
|
-
import { THEME
|
|
3
|
+
import { THEME } from "./themes";
|
|
4
4
|
export * from "@artsy/palette-tokens/dist/themes/v3";
|
|
5
5
|
import { THEME_DARK } from "@artsy/palette-tokens/dist/themes/v3Dark";
|
|
6
|
-
export { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
|
|
7
6
|
export var THEMES = {
|
|
8
7
|
light: THEME,
|
|
9
8
|
dark: THEME_DARK
|
package/dist/esm/Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.js","names":["React","useContext","ThemeContext","ThemeProvider","THEME","
|
|
1
|
+
{"version":3,"file":"Theme.js","names":["React","useContext","ThemeContext","ThemeProvider","THEME","THEME_DARK","THEMES","light","dark","DEFAULT_THEME","Theme","_ref","children","_ref$theme","theme","selectedTheme","createElement","displayName","useTheme"],"sources":["../../src/Theme.tsx"],"sourcesContent":["import React, { useContext } from \"react\"\nimport { ThemeContext, ThemeProvider } from \"styled-components\"\nimport { THEME, Theme as TTheme } from \"./themes\"\n\nexport * from \"@artsy/palette-tokens/dist/themes/v3\"\nimport { THEME_DARK } from \"@artsy/palette-tokens/dist/themes/v3Dark\"\nexport type { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\n\nexport const THEMES = {\n light: THEME,\n dark: THEME_DARK,\n}\n\nconst DEFAULT_THEME = THEME\n\ninterface ThemeProps {\n children?: React.ReactNode\n theme?: \"light\" | \"dark\"\n}\n\n/**\n * A wrapper component for passing down the Artsy theme context\n */\nexport const Theme: React.FC<React.PropsWithChildren<ThemeProps>> = ({\n children,\n theme = \"light\",\n}) => {\n const selectedTheme = THEMES[theme]\n return <ThemeProvider theme={selectedTheme}>{children}</ThemeProvider>\n}\n\n/** Returns the current theme */\nexport const useTheme = <T extends TTheme>() => {\n const theme: T = (useContext(ThemeContext) || DEFAULT_THEME) as T\n return { theme }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,YAAY,EAAEC,aAAa,QAAQ,mBAAmB;AAC/D,SAASC,KAAK;AAEd,cAAc,sCAAsC;AACpD,SAASC,UAAU,QAAQ,0CAA0C;AAGrE,OAAO,IAAMC,MAAM,GAAG;EACpBC,KAAK,EAAEH,KAAK;EACZI,IAAI,EAAEH;AACR,CAAC;AAED,IAAMI,aAAa,GAAGL,KAAK;AAO3B;AACA;AACA;AACA,OAAO,IAAMM,KAAoD,GAAG,SAAvDA,KAAoDA,CAAAC,IAAA,EAG3D;EAAA,IAFJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,UAAA,GAAAF,IAAA,CACRG,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,OAAO,GAAAA,UAAA;EAEf,IAAME,aAAa,GAAGT,MAAM,CAACQ,KAAK,CAAC;EACnC,oBAAOd,KAAA,CAAAgB,aAAA,CAACb,aAAa;IAACW,KAAK,EAAEC;EAAc,GAAEH,QAAQ,CAAiB;AACxE,CAAC;AANYF,KAAoD,CAAAO,WAAA;AAQjE;AACA,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAA2B;EAC9C,IAAMJ,KAAQ,GAAIb,UAAU,CAACC,YAAY,CAAC,IAAIO,aAAmB;EACjE,OAAO;IAAEK,KAAK,EAALA;EAAM,CAAC;AAClB,CAAC"}
|
|
@@ -20,14 +20,12 @@ import composeRefs from "@seznam/compose-react-refs";
|
|
|
20
20
|
import { themeGet } from "@styled-system/theme-get";
|
|
21
21
|
import React, { createRef, useCallback, useEffect, useMemo, useReducer, useRef } from "react";
|
|
22
22
|
import styled from "styled-components";
|
|
23
|
-
import { ResponsiveValue } from "styled-system";
|
|
24
23
|
import { useKeyboardListNavigation } from "use-keyboard-list-navigation";
|
|
25
24
|
import { useClickOutside, useContainsFocus, usePosition } from "../../utils";
|
|
26
25
|
import { useMouseActivity } from "../../utils/useMouseActivity";
|
|
27
26
|
import { useWidthOf } from "../../utils/useWidthOf";
|
|
28
27
|
import { Box, splitBoxProps } from "../Box";
|
|
29
28
|
import { Clickable } from "../Clickable";
|
|
30
|
-
import { InputProps } from "../Input";
|
|
31
29
|
import { LabeledInput } from "../LabeledInput";
|
|
32
30
|
import { Spinner } from "../Spinner";
|
|
33
31
|
import { VisuallyHidden } from "../VisuallyHidden";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteInput.js","names":["CloseIcon","SearchIcon","composeRefs","themeGet","React","createRef","useCallback","useEffect","useMemo","useReducer","useRef","styled","ResponsiveValue","useKeyboardListNavigation","useClickOutside","useContainsFocus","usePosition","useMouseActivity","useWidthOf","Box","splitBoxProps","Clickable","InputProps","LabeledInput","Spinner","VisuallyHidden","AutocompleteInputOption","AutocompleteInputOptionLabel","reducer","state","action","type","_objectSpread","open","query","payload","AutocompleteInput","_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","rest","_objectWithoutProperties","_excluded","inputRef","containerRef","headerRef","footerRef","_splitBoxProps","_splitBoxProps2","_slicedToArray","boxProps","inputProps","_useReducer","_useReducer2","dispatch","optionsWithRefs","map","ref","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","list","waitForInteractive","onEnter","_ref2","element","i","event","preventDefault","stopPropagation","set","isDropdownVisible","length","_usePosition","active","key","offset","position","anchorRef","tooltipRef","_useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","value","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","handleFocusChange","focused","_useContainsFocus","containsFocusRef","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","_extends","role","concat","label","size","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdownContainer","minWidth","pt","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","onMouseEnter","tabIndex","displayName","withConfig","componentId"],"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
|
+
{"version":3,"file":"AutocompleteInput.js","names":["CloseIcon","SearchIcon","composeRefs","themeGet","React","createRef","useCallback","useEffect","useMemo","useReducer","useRef","styled","useKeyboardListNavigation","useClickOutside","useContainsFocus","usePosition","useMouseActivity","useWidthOf","Box","splitBoxProps","Clickable","LabeledInput","Spinner","VisuallyHidden","AutocompleteInputOption","AutocompleteInputOptionLabel","reducer","state","action","type","_objectSpread","open","query","payload","AutocompleteInput","_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","rest","_objectWithoutProperties","_excluded","inputRef","containerRef","headerRef","footerRef","_splitBoxProps","_splitBoxProps2","_slicedToArray","boxProps","inputProps","_useReducer","_useReducer2","dispatch","optionsWithRefs","map","ref","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","list","waitForInteractive","onEnter","_ref2","element","i","event","preventDefault","stopPropagation","set","isDropdownVisible","length","_usePosition","active","key","offset","position","anchorRef","tooltipRef","_useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","value","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","handleFocusChange","focused","_useContainsFocus","containsFocusRef","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","_extends","role","concat","label","size","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdownContainer","minWidth","pt","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","onMouseEnter","tabIndex","displayName","withConfig","componentId"],"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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"}
|
|
@@ -6,7 +6,7 @@ import composeRefs from "@seznam/compose-react-refs";
|
|
|
6
6
|
import { themeGet } from "@styled-system/theme-get";
|
|
7
7
|
import React, { forwardRef, useRef } from "react";
|
|
8
8
|
import styled from "styled-components";
|
|
9
|
-
import { Clickable
|
|
9
|
+
import { Clickable } from "../Clickable";
|
|
10
10
|
export var AutocompleteInputOption = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
|
|
11
11
|
var children = _ref.children,
|
|
12
12
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteInputOption.js","names":["composeRefs","themeGet","React","forwardRef","useRef","styled","Clickable","
|
|
1
|
+
{"version":3,"file":"AutocompleteInputOption.js","names":["composeRefs","themeGet","React","forwardRef","useRef","styled","Clickable","AutocompleteInputOption","_ref","forwardedRef","children","rest","_objectWithoutProperties","_excluded","ref","createElement","Container","_extends","bg","displayName","withConfig","componentId"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInputOption.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, { forwardRef, useRef } from \"react\"\nimport styled from \"styled-components\"\nimport { Clickable, ClickableProps } from \"../Clickable\"\n\nexport type AutocompleteInputOptionProps = ClickableProps\n\nexport const AutocompleteInputOption = forwardRef<\n HTMLButtonElement,\n AutocompleteInputOptionProps\n>(({ children, ...rest }, forwardedRef) => {\n const ref = useRef<HTMLButtonElement | null>(null)\n\n return (\n <Container ref={composeRefs(ref, forwardedRef) as any} bg=\"mono0\" {...rest}>\n {children}\n </Container>\n )\n})\n\nAutocompleteInputOption.displayName = \"AutocompleteInputOption\"\n\nconst Container = styled(Clickable)`\n display: block;\n width: 100%;\n\n &:focus,\n &:active {\n outline: 0;\n background-color: ${themeGet(\"colors.mono5\")};\n }\n`\n"],"mappings":";;;;AAAA,OAAOA,WAAW,MAAM,4BAA4B;AACpD,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACjD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS;AAIlB,OAAO,IAAMC,uBAAuB,gBAAGJ,UAAU,CAG/C,UAAAK,IAAA,EAAwBC,YAAY,EAAK;EAAA,IAAtCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACpB,IAAMC,GAAG,GAAGV,MAAM,CAA2B,IAAI,CAAC;EAElD,oBACEF,KAAA,CAAAa,aAAA,CAACC,SAAS,EAAAC,QAAA;IAACH,GAAG,EAAEd,WAAW,CAACc,GAAG,EAAEL,YAAY,CAAS;IAACS,EAAE,EAAC;EAAO,GAAKP,IAAI,GACvED,QAAQ,CACC;AAEhB,CAAC,CAAC;AAEFH,uBAAuB,CAACY,WAAW,GAAG,yBAAyB;AAE/D,IAAMH,SAAS,GAAGX,MAAM,CAACC,SAAS,CAAC,CAAAc,UAAA;EAAAD,WAAA;EAAAE,WAAA;AAAA,oFAOXpB,QAAQ,CAAC,cAAc,CAAC,CAE/C"}
|
|
@@ -3,7 +3,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
3
3
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
4
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
5
|
import React from "react";
|
|
6
|
-
import { Text
|
|
6
|
+
import { Text } from "../Text";
|
|
7
7
|
export var AutocompleteInputOptionLabel = function AutocompleteInputOptionLabel(_ref) {
|
|
8
8
|
var text = _ref.text,
|
|
9
9
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteInputOptionLabel.js","names":["React","Text","
|
|
1
|
+
{"version":3,"file":"AutocompleteInputOptionLabel.js","names":["React","Text","AutocompleteInputOptionLabel","_ref","text","rest","_objectWithoutProperties","_excluded","createElement","_extends","variant","lineHeight","p","overflowEllipsis","displayName"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInputOptionLabel.tsx"],"sourcesContent":["import React from \"react\"\nimport { Text, TextProps } from \"../Text\"\n\nexport interface AutocompleteInputOptionLabelProps extends TextProps {\n text: string\n}\n\nexport const AutocompleteInputOptionLabel: React.FC<React.PropsWithChildren<AutocompleteInputOptionLabelProps>> = ({\n text,\n ...rest\n}) => {\n return (\n <Text variant=\"sm-display\" lineHeight={1} p={2} overflowEllipsis {...rest}>\n {text}\n </Text>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI;AAMb,OAAO,IAAMC,4BAAkG,GAAG,SAArGA,4BAAkGA,CAAAC,IAAA,EAGzG;EAAA,IAFJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACDC,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAEP,oBACEP,KAAA,CAAAQ,aAAA,CAACP,IAAI,EAAAQ,QAAA;IAACC,OAAO,EAAC,YAAY;IAACC,UAAU,EAAE,CAAE;IAACC,CAAC,EAAE,CAAE;IAACC,gBAAgB;EAAA,GAAKR,IAAI,GACtED,IAAI,CACA;AAEX,CAAC;AATYF,4BAAkG,CAAAY,WAAA"}
|
|
@@ -8,11 +8,10 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
|
|
|
8
8
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
9
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
10
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
11
|
-
import { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
|
|
12
11
|
import React, { useState } from "react";
|
|
13
12
|
import { splitBoxProps } from "../Box";
|
|
14
|
-
import { Flex
|
|
15
|
-
import { Image
|
|
13
|
+
import { Flex } from "../Flex";
|
|
14
|
+
import { Image } from "../Image";
|
|
16
15
|
import { Text } from "../Text";
|
|
17
16
|
var LENGTHS = {
|
|
18
17
|
xxs: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":["React","useState","splitBoxProps","Flex","Image","Text","LENGTHS","xxs","xs","sm","md","TOKENS","fontWeight","color","bg","diameter","variant","Avatar","_ref","_TOKENS$size","src","initials","_ref$size","size","_ref$lazyLoad","lazyLoad","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","mode","setMode","_splitBoxProps","_splitBoxProps2","boxProps","imageProps","_ref2","createElement","_extends","border","borderColor","borderRadius","alignItems","justifyContent","position","overflow","flexShrink","lineHeight","slice","top","left","width","height","alt","onError","displayName"],"sources":["../../../../src/elements/Avatar/Avatar.tsx"],"sourcesContent":["import { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\nimport React, { useState } from \"react\"\nimport { splitBoxProps } from \"../Box\"\nimport { Flex, FlexProps } from \"../Flex\"\nimport { Image, ImageProps } from \"../Image\"\nimport { Text } from \"../Text\"\n\nexport interface AvatarProps extends FlexProps, Partial<ImageProps> {\n /** If an image is missing, show initials instead */\n initials?: string\n /** The size of the Avatar */\n size?: \"xxs\" | \"xs\" | \"sm\" | \"md\"\n}\n\nconst LENGTHS = {\n xxs: 2,\n xs: 2,\n sm: 3,\n md: 4,\n}\n\nconst TOKENS = {\n fontWeight: \"normal\",\n color: \"mono100\",\n bg: \"transparent\",\n xxs: {\n diameter: 30,\n variant: \"xs\" as TextVariant,\n },\n xs: {\n diameter: 45,\n variant: \"sm-display\" as TextVariant,\n },\n sm: {\n diameter: 70,\n variant: \"md\" as TextVariant,\n },\n md: {\n diameter: 100,\n variant: \"lg-display\" as TextVariant,\n },\n}\n\n/** An circular Avatar component containing an image or initials */\nexport const Avatar: React.FC<React.PropsWithChildren<AvatarProps>> = ({\n src,\n initials,\n size = \"md\",\n lazyLoad = false,\n ...rest\n}) => {\n const [mode, setMode] = useState<\"OK\" | \"Error\">(\"OK\")\n\n const [boxProps, imageProps] = splitBoxProps(rest)\n\n const { diameter, variant } = TOKENS[size] ?? TOKENS.sm\n\n return (\n <Flex\n size={diameter}\n bg={TOKENS.bg}\n border={src ? \"transparent\" : \"1px solid\"}\n borderColor=\"mono15\"\n borderRadius=\"50%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"relative\"\n overflow=\"hidden\"\n flexShrink={0}\n {...boxProps}\n >\n {initials && (\n <Text\n variant={variant}\n fontWeight={TOKENS.fontWeight}\n color={TOKENS.color}\n lineHeight={1}\n >\n {initials.slice(0, LENGTHS[size])}\n </Text>\n )}\n\n {src && mode !== \"Error\" && (\n <Flex position=\"absolute\" top={0} left={0} width=\"100%\" height=\"100%\">\n <Image\n src={src}\n width=\"100%\"\n height=\"100%\"\n lazyLoad={lazyLoad}\n alt={initials ?? \"\"}\n onError={() => {\n setMode(\"Error\")\n }}\n {...imageProps}\n />\n </Flex>\n )}\n </Flex>\n )\n}\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import styled from "styled-components";
|
|
|
13
13
|
import { variant } from "styled-system";
|
|
14
14
|
import CloseIcon from "@artsy/icons/CloseIcon";
|
|
15
15
|
import { Clickable } from "../Clickable";
|
|
16
|
-
import { Flex
|
|
16
|
+
import { Flex } from "../Flex";
|
|
17
17
|
import { Text } from "../Text";
|
|
18
18
|
/** A banner */
|
|
19
19
|
export var Banner = function Banner(_ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","names":["React","useState","styled","variant","CloseIcon","Clickable","Flex","
|
|
1
|
+
{"version":3,"file":"Banner.js","names":["React","useState","styled","variant","CloseIcon","Clickable","Flex","Text","Banner","_ref","_ref$dismissable","dismissable","_ref$variant","onClose","children","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","dismissed","setDismissed","handleClick","createElement","Container","_extends","position","py","px","display","alignItems","justifyContent","textAlign","flex","top","right","bottom","p","color","onClick","style","fill","displayName","BANNER_VARIANTS","defaultLight","backgroundColor","defaultDark","success","error","brand","withConfig","componentId","variants"],"sources":["../../../../src/elements/Banner/Banner.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport styled from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex, FlexProps } from \"../Flex\"\nimport { Text } from \"../Text\"\n\nexport type BannerVariant = keyof typeof BANNER_VARIANTS\n\nexport interface BannerProps extends FlexProps {\n variant?: BannerVariant\n dismissable?: boolean\n onClose?: () => void\n}\n\n/** A banner */\nexport const Banner: React.FC<React.PropsWithChildren<BannerProps>> = ({\n dismissable = false,\n variant = \"defaultLight\",\n onClose,\n children,\n ...rest\n}) => {\n const [dismissed, setDismissed] = useState(false)\n\n const handleClick = () => {\n if (onClose) {\n onClose()\n }\n setDismissed(true)\n }\n\n if (dismissed) return null\n\n return (\n <Container position=\"relative\" py={1} px={4} variant={variant} {...rest}>\n <Text\n variant=\"xs\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n textAlign=\"center\"\n flex={1}\n >\n {children}\n </Text>\n\n {dismissable && (\n <Clickable\n position=\"absolute\"\n top={0}\n right={0}\n bottom={0}\n p={1}\n display=\"flex\"\n alignItems=\"center\"\n color=\"currentColor\"\n onClick={handleClick}\n >\n <CloseIcon style={{ fill: \"currentcolor\" }} />\n </Clickable>\n )}\n </Container>\n )\n}\n\nexport const BANNER_VARIANTS = {\n defaultLight: {\n backgroundColor: \"mono10\",\n color: \"mono100\",\n },\n defaultDark: {\n backgroundColor: \"mono100\",\n color: \"mono0\",\n },\n success: {\n backgroundColor: \"green100\",\n color: \"mono0\",\n },\n error: {\n backgroundColor: \"red100\",\n color: \"mono0\",\n },\n brand: {\n backgroundColor: \"brand\",\n color: \"mono0\",\n },\n}\n\nconst Container = styled(Flex)<{ variant: BannerVariant }>`\n ${variant({ variants: BANNER_VARIANTS })}\n`\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTab.js","names":["
|
|
1
|
+
{"version":3,"file":"BaseTab.js","names":["styled","css","Clickable","Text","STATES","BaseTab","withConfig","displayName","componentId","props","default","hover","focus","active","defaultProps","variant","mb","alignItems","justifyContent","textAlign","__Ignore__"],"sources":["../../../../src/elements/BaseTabs/BaseTab.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Clickable } from \"../Clickable\"\nimport { Text, TextProps } from \"../Text\"\nimport { STATES } from \"./tokens\"\n\n/**\n * Utilize as=\"a\" or as={Component} to alter functionality\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type BaseTabProps<C extends React.ComponentType<React.PropsWithChildren<unknown>> = any> = TextProps & {\n active?: boolean\n focus?: boolean\n hover?: boolean\n} & React.ComponentPropsWithoutRef<C> & { as?: C }\n\n/**\n * Extends `Text`. Should always be nested within a `BaseTabs` container.\n *\n * Use the `as` prop to alter behavior.\n * E.g.: `<BaseTab as={RouterLink} to=\"/foo\">Foo</BaseTab>`\n * or `<BaseTab as={Clickable} onClick={handleClick}>Foo</BaseTab>`\n */\nexport const BaseTab = styled(Text)<BaseTabProps>`\n display: flex;\n width: 100%;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n z-index: 1;\n\n ${(props) => {\n return css`\n ${STATES.default}\n ${props.hover && STATES.hover}\n ${props.focus && STATES.focus}\n ${props.active && STATES.active}\n\n &:hover:not(:disabled) {\n ${STATES.hover}\n }\n\n &:focus {\n outline: 0;\n ${STATES.focus}\n }\n `\n }}\n`\n\nBaseTab.defaultProps = {\n variant: \"sm\",\n mb: \"-1px\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n textAlign: \"center\",\n}\n\nBaseTab.displayName = \"BaseTab\"\n\n/**\n * So this is interesting: We can trick styled-components into correcting the CSS specificity (Text > Clickable)\n * by simply including a Clickable here.\n */\n// @ts-expect-error MIGRATE_STRICT_MODE\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst __Ignore__ = Clickable\n"],"mappings":"AACA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,SAAS;AAClB,SAASC,IAAI;AACb,SAASC,MAAM;;AAEf;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,OAAO,GAAGL,MAAM,CAACG,IAAI,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yGAQ/B,UAACC,KAAK,EAAK;EACX,OAAOR,GAAG,8EACNG,MAAM,CAACM,OAAO,EACdD,KAAK,CAACE,KAAK,IAAIP,MAAM,CAACO,KAAK,EAC3BF,KAAK,CAACG,KAAK,IAAIR,MAAM,CAACQ,KAAK,EAC3BH,KAAK,CAACI,MAAM,IAAIT,MAAM,CAACS,MAAM,EAG3BT,MAAM,CAACO,KAAK,EAKZP,MAAM,CAACQ,KAAK;AAGpB,CAAC,CACF;AAEDP,OAAO,CAACS,YAAY,GAAG;EACrBC,OAAO,EAAE,IAAI;EACbC,EAAE,EAAE,MAAM;EACVC,UAAU,EAAE,YAAY;EACxBC,cAAc,EAAE,QAAQ;EACxBC,SAAS,EAAE;AACb,CAAC;AAEDd,OAAO,CAACE,WAAW,GAAG,SAAS;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,IAAMa,UAAU,GAAGlB,SAAS"}
|
|
@@ -4,7 +4,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
4
4
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
5
|
import React, { forwardRef, useMemo } from "react";
|
|
6
6
|
import { flattenChildren } from "../../helpers/flattenChildren";
|
|
7
|
-
import { Box
|
|
7
|
+
import { Box } from "../Box";
|
|
8
8
|
import { HorizontalOverflow } from "../HorizontalOverflow/HorizontalOverflow";
|
|
9
9
|
import { Join } from "../Join";
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTabs.js","names":["React","forwardRef","useMemo","flattenChildren","Box","
|
|
1
|
+
{"version":3,"file":"BaseTabs.js","names":["React","forwardRef","useMemo","flattenChildren","Box","HorizontalOverflow","Join","BaseTabs","_ref","forwardedRef","fill","children","rest","_objectWithoutProperties","_excluded","cells","createElement","_extends","ref","borderBottom","borderBottomColor","separator","Fragment","map","child","i","key","display","textAlign","flex","undefined","displayName"],"sources":["../../../../src/elements/BaseTabs/BaseTabs.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { Box, BoxProps } from \"../Box\"\nimport { HorizontalOverflow } from \"../HorizontalOverflow/HorizontalOverflow\"\nimport { Join } from \"../Join\"\n\n/** Extends `Box` */\nexport type BaseTabsProps = BoxProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> & {\n /**\n * Enable if tabs should fill the width of the container\n * (as opposed to left-align)\n */\n fill?: boolean\n children: React.ReactNode\n }\n\n/** Extends `Box`, provides configurable gutter */\nexport const BaseTabs: React.ForwardRefExoticComponent<\n BaseTabsProps & React.RefAttributes<HTMLDivElement>\n> = forwardRef(({ fill, children, ...rest }, forwardedRef) => {\n const cells = useMemo(() => flattenChildren(children), [children])\n\n return (\n <HorizontalOverflow\n ref={forwardedRef}\n borderBottom=\"1px solid\"\n borderBottomColor=\"mono10\"\n {...rest}\n >\n <Join separator={<></>}>\n {cells.map((child, i) => {\n return (\n <Box\n key={i}\n display=\"inline-flex\"\n textAlign=\"center\"\n flex={fill ? 1 : undefined}\n >\n {child}\n </Box>\n )\n })}\n </Join>\n </HorizontalOverflow>\n )\n})\n\nBaseTabs.displayName = \"BaseTabs\"\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,SAASC,eAAe;AACxB,SAASC,GAAG;AACZ,SAASC,kBAAkB;AAC3B,SAASC,IAAI;;AAEb;;AAWA;AACA,OAAO,IAAMC,QAEZ,gBAAGN,UAAU,CAAC,UAAAO,IAAA,EAA8BC,YAAY,EAAK;EAAA,IAA5CC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EACvC,IAAMC,KAAK,GAAGb,OAAO,CAAC;IAAA,OAAMC,eAAe,CAACQ,QAAQ,CAAC;EAAA,GAAE,CAACA,QAAQ,CAAC,CAAC;EAElE,oBACEX,KAAA,CAAAgB,aAAA,CAACX,kBAAkB,EAAAY,QAAA;IACjBC,GAAG,EAAET,YAAa;IAClBU,YAAY,EAAC,WAAW;IACxBC,iBAAiB,EAAC;EAAQ,GACtBR,IAAI,gBAERZ,KAAA,CAAAgB,aAAA,CAACV,IAAI;IAACe,SAAS,eAAErB,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAsB,QAAA;EAAM,GACpBP,KAAK,CAACQ,GAAG,CAAC,UAACC,KAAK,EAAEC,CAAC,EAAK;IACvB,oBACEzB,KAAA,CAAAgB,aAAA,CAACZ,GAAG;MACFsB,GAAG,EAAED,CAAE;MACPE,OAAO,EAAC,aAAa;MACrBC,SAAS,EAAC,QAAQ;MAClBC,IAAI,EAAEnB,IAAI,GAAG,CAAC,GAAGoB;IAAU,GAE1BN,KAAK,CACF;EAEV,CAAC,CAAC,CACG,CACY;AAEzB,CAAC,CAAC;AAEFjB,QAAQ,CAACwB,WAAW,GAAG,UAAU"}
|