@artsy/palette 18.6.0 → 18.7.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/CHANGELOG.md +36 -0
- package/dist/elements/BaseTabs/BaseTabs.d.ts +1 -1
- package/dist/elements/BaseTabs/BaseTabs.js +3 -4
- package/dist/elements/BaseTabs/BaseTabs.js.map +1 -1
- package/dist/elements/Button/Button.story.d.ts +1 -0
- package/dist/elements/Button/Button.story.js +29 -1
- package/dist/elements/Button/Button.story.js.map +1 -1
- package/dist/elements/Button/v3/Button.js +5 -1
- package/dist/elements/Button/v3/Button.js.map +1 -1
- package/dist/elements/HorizontalOverflow/HorizontalOverflow.d.ts +1 -1
- package/dist/elements/HorizontalOverflow/HorizontalOverflow.js +19 -15
- package/dist/elements/HorizontalOverflow/HorizontalOverflow.js.map +1 -1
- package/dist/elements/Stepper/Stepper.js +4 -2
- package/dist/elements/Stepper/Stepper.js.map +1 -1
- package/dist/elements/Tabs/Tabs.d.ts +7 -6
- package/dist/elements/Tabs/Tabs.js +39 -26
- package/dist/elements/Tabs/Tabs.js.map +1 -1
- package/dist/elements/Tabs/Tabs.story.d.ts +20 -1
- package/dist/elements/Tabs/Tabs.story.js +97 -26
- package/dist/elements/Tabs/Tabs.story.js.map +1 -1
- package/dist/helpers/color.d.ts +1 -1
- package/dist/helpers/color.js +3 -1
- package/dist/helpers/color.js.map +1 -1
- package/dist/svgs/Icon.d.ts +1 -1
- package/dist/svgs/Icon.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
# v18.7.0 (Thu Nov 11 2021)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- feat(button): improves support for icon buttons [#1071](https://github.com/artsy/palette/pull/1071) ([@dzucconi](https://github.com/dzucconi))
|
|
6
|
+
|
|
7
|
+
#### 🐛 Bug Fix
|
|
8
|
+
|
|
9
|
+
- fix(button): fixes alignment for icons ([@dzucconi](https://github.com/dzucconi))
|
|
10
|
+
- fix(color): supports currentColor ([@dzucconi](https://github.com/dzucconi))
|
|
11
|
+
|
|
12
|
+
#### Authors: 1
|
|
13
|
+
|
|
14
|
+
- Damon ([@dzucconi](https://github.com/dzucconi))
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# v18.6.1 (Thu Nov 11 2021)
|
|
19
|
+
|
|
20
|
+
#### 🐛 Bug Fix
|
|
21
|
+
|
|
22
|
+
- fix(tabs): avoids scrolling on mount [#1070](https://github.com/artsy/palette/pull/1070) ([@dzucconi](https://github.com/dzucconi))
|
|
23
|
+
- fix(tabs): avoids scrolling on mount ([@dzucconi](https://github.com/dzucconi))
|
|
24
|
+
- feat: forwards refs ([@dzucconi](https://github.com/dzucconi))
|
|
25
|
+
|
|
26
|
+
#### 🔩 Dependency Updates
|
|
27
|
+
|
|
28
|
+
- chore(deps): bump prismjs from 1.24.1 to 1.25.0 [#1039](https://github.com/artsy/palette/pull/1039) ([@dependabot[bot]](https://github.com/dependabot[bot]))
|
|
29
|
+
|
|
30
|
+
#### Authors: 2
|
|
31
|
+
|
|
32
|
+
- [@dependabot[bot]](https://github.com/dependabot[bot])
|
|
33
|
+
- Damon ([@dzucconi](https://github.com/dzucconi))
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
1
37
|
# v18.6.0 (Wed Nov 03 2021)
|
|
2
38
|
|
|
3
39
|
#### 🚀 Enhancement
|
|
@@ -11,4 +11,4 @@ export declare type BaseTabsProps = BoxProps & {
|
|
|
11
11
|
children: React.ReactNode;
|
|
12
12
|
};
|
|
13
13
|
/** Extends `Box`, provides configurable gutter */
|
|
14
|
-
export declare const BaseTabs: React.
|
|
14
|
+
export declare const BaseTabs: React.ForwardRefExoticComponent<BaseTabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -30,7 +30,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
30
30
|
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; }
|
|
31
31
|
|
|
32
32
|
/** Extends `Box`, provides configurable gutter */
|
|
33
|
-
var BaseTabs = function
|
|
33
|
+
var BaseTabs = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, forwardedRef) {
|
|
34
34
|
var fill = _ref.fill,
|
|
35
35
|
defaultSeparator = _ref.separator,
|
|
36
36
|
children = _ref.children,
|
|
@@ -46,6 +46,7 @@ var BaseTabs = function BaseTabs(_ref) {
|
|
|
46
46
|
return (0, _flattenChildren.flattenChildren)(children);
|
|
47
47
|
}, [children]);
|
|
48
48
|
return /*#__PURE__*/_react.default.createElement(_HorizontalOverflow.HorizontalOverflow, _extends({
|
|
49
|
+
ref: forwardedRef,
|
|
49
50
|
borderBottom: "1px solid",
|
|
50
51
|
borderBottomColor: "black10"
|
|
51
52
|
}, rest), /*#__PURE__*/_react.default.createElement(_Join.Join, {
|
|
@@ -58,8 +59,6 @@ var BaseTabs = function BaseTabs(_ref) {
|
|
|
58
59
|
flex: fill ? 1 : undefined
|
|
59
60
|
}, child);
|
|
60
61
|
})));
|
|
61
|
-
};
|
|
62
|
-
|
|
62
|
+
});
|
|
63
63
|
exports.BaseTabs = BaseTabs;
|
|
64
|
-
BaseTabs.displayName = "BaseTabs";
|
|
65
64
|
//# sourceMappingURL=BaseTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/BaseTabs/BaseTabs.tsx"],"names":["BaseTabs","fill","defaultSeparator","separator","children","rest","v2","v3","cells","map","child","i","undefined"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAaA;AACO,IAAMA,
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/BaseTabs/BaseTabs.tsx"],"names":["BaseTabs","forwardedRef","fill","defaultSeparator","separator","children","rest","v2","v3","cells","map","child","i","undefined"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAaA;AACO,IAAMA,QAEZ,gBAAG,uBACF,gBAA2DC,YAA3D,EAA4E;AAAA,MAAzEC,IAAyE,QAAzEA,IAAyE;AAAA,MAAxDC,gBAAwD,QAAnEC,SAAmE;AAAA,MAAtCC,QAAsC,QAAtCA,QAAsC;AAAA,MAAzBC,IAAyB;;AAC1E,MAAMF,SAAS,GAAG,2BAAe;AAC/BG,IAAAA,EAAE,EAAEJ,gBAAF,aAAEA,gBAAF,cAAEA,gBAAF,gBAAsB,6BAAC,QAAD;AAAK,MAAA,EAAE,EAAE;AAAT,MADO;AAE/BK,IAAAA,EAAE,EAAEL;AAF2B,GAAf,CAAlB;AAKA,MAAMM,KAAK,GAAG,oBAAQ;AAAA,WAAM,sCAAgBJ,QAAhB,CAAN;AAAA,GAAR,EAAyC,CAACA,QAAD,CAAzC,CAAd;AAEA,sBACE,6BAAC,sCAAD;AACE,IAAA,GAAG,EAAEJ,YADP;AAEE,IAAA,YAAY,EAAC,WAFf;AAGE,IAAA,iBAAiB,EAAC;AAHpB,KAIMK,IAJN,gBAME,6BAAC,UAAD;AAAM,IAAA,SAAS,EAAEF;AAAjB,KACGK,KAAK,CAACC,GAAN,CAAU,UAACC,KAAD,EAAQC,CAAR,EAAc;AACvB,wBACE,6BAAC,QAAD;AACE,MAAA,GAAG,EAAEA,CADP;AAEE,MAAA,OAAO,EAAC,aAFV;AAGE,MAAA,SAAS,EAAC,QAHZ;AAIE,MAAA,IAAI,EAAEV,IAAI,GAAG,CAAH,GAAOW;AAJnB,OAMGF,KANH,CADF;AAUD,GAXA,CADH,CANF,CADF;AAuBD,CAhCC,CAFG","sourcesContent":["import React, { forwardRef, useMemo } from \"react\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { useThemeConfig } from \"../../Theme\"\nimport { Box, BoxProps } from \"../Box\"\nimport { HorizontalOverflow } from \"../HorizontalOverflow/HorizontalOverflow\"\nimport { Join } from \"../Join\"\n\n/** Extends `Box` */\nexport type BaseTabsProps = BoxProps & {\n /**\n * Enable if tabs should fill the width of the container\n * (as opposed to left-align)\n */\n fill?: boolean\n separator?: JSX.Element\n children: React.ReactNode\n}\n\n/** Extends `Box`, provides configurable gutter */\nexport const BaseTabs: React.ForwardRefExoticComponent<\n BaseTabsProps & React.RefAttributes<HTMLDivElement>\n> = forwardRef(\n ({ fill, separator: defaultSeparator, children, ...rest }, forwardedRef) => {\n const separator = useThemeConfig({\n v2: defaultSeparator ?? <Box mx={1} />,\n v3: defaultSeparator,\n })\n\n const cells = useMemo(() => flattenChildren(children), [children])\n\n return (\n <HorizontalOverflow\n ref={forwardedRef}\n borderBottom=\"1px solid\"\n borderBottomColor=\"black10\"\n {...rest}\n >\n <Join separator={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)\n"],"file":"BaseTabs.js"}
|
|
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.As = exports.Loading = exports.WithBoxProps = exports.NativeButtonProps = exports.Variants = exports.Sizes = exports._States = exports.default = void 0;
|
|
8
|
+
exports.WithIcon = exports.As = exports.Loading = exports.WithBoxProps = exports.NativeButtonProps = exports.Variants = exports.Sizes = exports._States = exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
@@ -13,6 +13,8 @@ var _storybookStates = require("storybook-states");
|
|
|
13
13
|
|
|
14
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
15
|
|
|
16
|
+
var _ = require("../..");
|
|
17
|
+
|
|
16
18
|
var _Box = require("../Box");
|
|
17
19
|
|
|
18
20
|
var _Flex = require("../Flex");
|
|
@@ -205,4 +207,30 @@ var As = function As() {
|
|
|
205
207
|
|
|
206
208
|
exports.As = As;
|
|
207
209
|
As.displayName = "As";
|
|
210
|
+
|
|
211
|
+
var WithIcon = function WithIcon() {
|
|
212
|
+
return /*#__PURE__*/_react.default.createElement(_storybookStates.States, {
|
|
213
|
+
states: [{}, {
|
|
214
|
+
focus: true
|
|
215
|
+
}, {
|
|
216
|
+
hover: true
|
|
217
|
+
}, {
|
|
218
|
+
loading: true
|
|
219
|
+
}, {
|
|
220
|
+
disabled: true
|
|
221
|
+
}, {
|
|
222
|
+
loading: true,
|
|
223
|
+
disabled: true
|
|
224
|
+
}]
|
|
225
|
+
}, /*#__PURE__*/_react.default.createElement(_index.Button, {
|
|
226
|
+
variant: "secondaryOutline",
|
|
227
|
+
size: "small"
|
|
228
|
+
}, /*#__PURE__*/_react.default.createElement(_.BellIcon, {
|
|
229
|
+
fill: "currentColor",
|
|
230
|
+
mr: 0.5
|
|
231
|
+
}), "Create an Alert"));
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
exports.WithIcon = WithIcon;
|
|
235
|
+
WithIcon.displayName = "WithIcon";
|
|
208
236
|
//# sourceMappingURL=Button.story.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Button/Button.story.tsx"],"names":["title","_States","focus","hover","loading","disabled","story","name","Sizes","BUTTON_SIZE_NAMES","map","size","_Demo","Flex","displayName","Variants","BUTTON_VARIANT_NAMES","variant","props","NativeButtonProps","autoFocus","children","tabIndex","onClick","event","preventDefault","WithBoxProps","Loading","setLoading","handleClick","setTimeout","As","as"],"mappings":"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","sourcesContent":["import React, { useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport styled from \"styled-components\"\nimport { Box } from \"../Box\"\nimport { Flex } from \"../Flex\"\nimport { Spacer } from \"../Spacer\"\nimport { ButtonProps } from \"./Button\"\nimport { Button, BUTTON_SIZE_NAMES, BUTTON_VARIANT_NAMES } from \"./index\"\n\nexport default { title: \"Components/Button\" }\n\nexport const _States = () => {\n return (\n <States<ButtonProps>\n states={[\n {},\n { focus: true },\n { hover: true },\n { loading: true },\n { disabled: true },\n { loading: true, disabled: true },\n ]}\n >\n <Button>Label</Button>\n </States>\n )\n}\n\n_States.story = {\n name: \"States\",\n}\n\nexport const Sizes = () => {\n return (\n <States<ButtonProps> states={BUTTON_SIZE_NAMES.map((size) => ({ size }))}>\n <Button>Label</Button>\n </States>\n )\n}\n\nconst _Demo = styled(Flex)``\n_Demo.displayName = \"Button\"\n\nexport const Variants = () => {\n return (\n <States<ButtonProps>\n states={BUTTON_VARIANT_NAMES.map((variant) => ({ variant }))}\n >\n {(props) => (\n <_Demo>\n <Button {...props}>Label</Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} focus>\n Label\n </Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} hover>\n Label\n </Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} loading>\n Label\n </Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} disabled>\n Label\n </Button>\n </_Demo>\n )}\n </States>\n )\n}\n\nexport const NativeButtonProps = () => {\n return (\n <States<ButtonProps>\n states={[\n { autoFocus: true, children: \"autofocused\" },\n { tabIndex: -1, children: \"not focusable with keyboard\" },\n {\n onClick: (event) => {\n event.preventDefault()\n },\n children: \"correctly typed click event\",\n },\n ]}\n >\n <Button>Label</Button>\n </States>\n )\n}\n\nNativeButtonProps.story = {\n name: \"Native button tag props\",\n}\n\nexport const WithBoxProps = () => {\n return (\n <States>\n <Box border=\"1px dotted\" borderColor=\"black100\">\n <Button display=\"block\" width=\"100%\" my={2}>\n full width\n </Button>\n\n <Button display=\"block\" width=\"100%\" my={2}>\n with collapsing\n </Button>\n\n <Button display=\"block\" width=\"100%\" my={2}>\n margins\n </Button>\n </Box>\n </States>\n )\n}\n\nWithBoxProps.story = {\n name: \"with BoxProps\",\n}\n\nexport const Loading = () => {\n const [loading, setLoading] = useState(false)\n\n const handleClick = () => {\n if (loading) return\n setLoading(true)\n setTimeout(() => {\n setLoading(false)\n }, 1000)\n }\n return (\n <States>\n <Button loading={loading} onClick={handleClick}>\n click to load\n </Button>\n </States>\n )\n}\n\nexport const As = () => {\n return (\n <States states={[{}, { as: \"div\", children: \"This is a div\" }]}>\n {/* @ts-ignore */}\n <Button as=\"a\" href=\"#example\">\n This is an anchor tag with an href\n </Button>\n </States>\n )\n}\n"],"file":"Button.story.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Button/Button.story.tsx"],"names":["title","_States","focus","hover","loading","disabled","story","name","Sizes","BUTTON_SIZE_NAMES","map","size","_Demo","Flex","displayName","Variants","BUTTON_VARIANT_NAMES","variant","props","NativeButtonProps","autoFocus","children","tabIndex","onClick","event","preventDefault","WithBoxProps","Loading","setLoading","handleClick","setTimeout","As","as","WithIcon"],"mappings":"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","sourcesContent":["import React, { useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport styled from \"styled-components\"\nimport { BellIcon } from \"../..\"\nimport { Box } from \"../Box\"\nimport { Flex } from \"../Flex\"\nimport { Spacer } from \"../Spacer\"\nimport { ButtonProps } from \"./Button\"\nimport { Button, BUTTON_SIZE_NAMES, BUTTON_VARIANT_NAMES } from \"./index\"\n\nexport default { title: \"Components/Button\" }\n\nexport const _States = () => {\n return (\n <States<ButtonProps>\n states={[\n {},\n { focus: true },\n { hover: true },\n { loading: true },\n { disabled: true },\n { loading: true, disabled: true },\n ]}\n >\n <Button>Label</Button>\n </States>\n )\n}\n\n_States.story = {\n name: \"States\",\n}\n\nexport const Sizes = () => {\n return (\n <States<ButtonProps> states={BUTTON_SIZE_NAMES.map((size) => ({ size }))}>\n <Button>Label</Button>\n </States>\n )\n}\n\nconst _Demo = styled(Flex)``\n_Demo.displayName = \"Button\"\n\nexport const Variants = () => {\n return (\n <States<ButtonProps>\n states={BUTTON_VARIANT_NAMES.map((variant) => ({ variant }))}\n >\n {(props) => (\n <_Demo>\n <Button {...props}>Label</Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} focus>\n Label\n </Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} hover>\n Label\n </Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} loading>\n Label\n </Button>\n\n <Spacer mx={0.5} />\n\n <Button {...props} disabled>\n Label\n </Button>\n </_Demo>\n )}\n </States>\n )\n}\n\nexport const NativeButtonProps = () => {\n return (\n <States<ButtonProps>\n states={[\n { autoFocus: true, children: \"autofocused\" },\n { tabIndex: -1, children: \"not focusable with keyboard\" },\n {\n onClick: (event) => {\n event.preventDefault()\n },\n children: \"correctly typed click event\",\n },\n ]}\n >\n <Button>Label</Button>\n </States>\n )\n}\n\nNativeButtonProps.story = {\n name: \"Native button tag props\",\n}\n\nexport const WithBoxProps = () => {\n return (\n <States>\n <Box border=\"1px dotted\" borderColor=\"black100\">\n <Button display=\"block\" width=\"100%\" my={2}>\n full width\n </Button>\n\n <Button display=\"block\" width=\"100%\" my={2}>\n with collapsing\n </Button>\n\n <Button display=\"block\" width=\"100%\" my={2}>\n margins\n </Button>\n </Box>\n </States>\n )\n}\n\nWithBoxProps.story = {\n name: \"with BoxProps\",\n}\n\nexport const Loading = () => {\n const [loading, setLoading] = useState(false)\n\n const handleClick = () => {\n if (loading) return\n setLoading(true)\n setTimeout(() => {\n setLoading(false)\n }, 1000)\n }\n return (\n <States>\n <Button loading={loading} onClick={handleClick}>\n click to load\n </Button>\n </States>\n )\n}\n\nexport const As = () => {\n return (\n <States states={[{}, { as: \"div\", children: \"This is a div\" }]}>\n {/* @ts-ignore */}\n <Button as=\"a\" href=\"#example\">\n This is an anchor tag with an href\n </Button>\n </States>\n )\n}\n\nexport const WithIcon = () => {\n return (\n <States<ButtonProps>\n states={[\n {},\n { focus: true },\n { hover: true },\n { loading: true },\n { disabled: true },\n { loading: true, disabled: true },\n ]}\n >\n <Button variant=\"secondaryOutline\" size=\"small\">\n <BellIcon fill=\"currentColor\" mr={0.5} />\n Create an Alert\n </Button>\n </States>\n )\n}\n"],"file":"Button.story.js"}
|
|
@@ -70,11 +70,15 @@ var ButtonV3 = /*#__PURE__*/_react.default.forwardRef(function (_ref, forwardedR
|
|
|
70
70
|
}), /*#__PURE__*/_react.default.createElement(_Text.Text, {
|
|
71
71
|
lineHeight: 1,
|
|
72
72
|
variant: _tokens.BUTTON_TEXT_SIZES[size],
|
|
73
|
-
opacity: loading ? 0 : 1
|
|
73
|
+
opacity: loading ? 0 : 1,
|
|
74
|
+
display: "flex",
|
|
75
|
+
alignItems: "center",
|
|
76
|
+
justifyContent: "center"
|
|
74
77
|
}, children));
|
|
75
78
|
});
|
|
76
79
|
|
|
77
80
|
exports.ButtonV3 = ButtonV3;
|
|
81
|
+
ButtonV3.displayName = "Button";
|
|
78
82
|
ButtonV3.defaultProps = {
|
|
79
83
|
size: "medium",
|
|
80
84
|
variant: "primaryBlack"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/Button/v3/Button.tsx"],"names":["ButtonV3","React","forwardRef","forwardedRef","children","loading","color","size","onClick","rest","ref","handleClick","event","current","blur","BUTTON_TEXT_SIZES","defaultProps","variant","Container","styled","button","boxMixin","prop","variants","BUTTON_SIZES","props","hover","BUTTON_VARIANTS","focus","css","disabled","default","THEME_V3","mediaQueries"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;AAEO,IAAMA,QAEZ,gBAAGC,eAAMC,UAAN,CACF,gBAAuDC,YAAvD,EAAwE;AAAA,MAArEC,QAAqE,QAArEA,QAAqE;AAAA,MAA3DC,OAA2D,QAA3DA,OAA2D;AAAA,MAAlDC,KAAkD,QAAlDA,KAAkD;AAAA,MAA3CC,IAA2C,QAA3CA,IAA2C;AAAA,MAArCC,OAAqC,QAArCA,OAAqC;AAAA,MAAzBC,IAAyB;;AACtE,MAAMC,GAAG,GAAG,mBAAiC,IAAjC,CAAZ;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAClBC,KADkB,EAEf;AACH,QAAI,CAACP,OAAD,IAAYG,OAAhB,EAAyB;AACvBA,MAAAA,OAAO,CAACI,KAAD,CAAP;AACD;AACF,GAND;;AAQA,wBAAU,YAAM;AACd,QAAIP,OAAO,IAAIK,GAAG,CAACG,OAAJ,KAAgB,IAA/B,EAAqC;AACnCH,MAAAA,GAAG,CAACG,OAAJ,CAAaC,IAAb;AACD;AACF,GAJD,EAIG,CAACT,OAAD,CAJH;AAMA,sBACE,6BAAC,SAAD;AACE,IAAA,GAAG,EAAE,+BAAYK,GAAZ,EAAiBP,YAAjB,CADP;AAEE,IAAA,OAAO,EAAEQ,WAFX;AAGE,IAAA,IAAI,EAAEJ,IAHR;AAIE,IAAA,OAAO,EAAEF,OAJX;AAKE,IAAA,QAAQ,EAAEA,OAAO,GAAG,CAAC,CAAJ,GAAQ;AAL3B,KAMMI,IANN,GAQGJ,OAAO,iBAAI,6BAAC,gBAAD;AAAS,IAAA,IAAI,EAAEE,IAAf;AAAqB,IAAA,KAAK,EAAC;AAA3B,IARd,eAUE,6BAAC,UAAD;AACE,IAAA,UAAU,EAAE,CADd;AAEE,IAAA,OAAO,EAAEQ,0BAAkBR,IAAlB,CAFX;AAGE,IAAA,OAAO,EAAEF,OAAO,GAAG,CAAH,GAAO;
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/Button/v3/Button.tsx"],"names":["ButtonV3","React","forwardRef","forwardedRef","children","loading","color","size","onClick","rest","ref","handleClick","event","current","blur","BUTTON_TEXT_SIZES","displayName","defaultProps","variant","Container","styled","button","boxMixin","prop","variants","BUTTON_SIZES","props","hover","BUTTON_VARIANTS","focus","css","disabled","default","THEME_V3","mediaQueries"],"mappings":"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","sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport React, { useEffect, useRef } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport { THEME_V3 } from \"../../../themes\"\nimport { boxMixin } from \"../../Box\"\nimport { Spinner } from \"../../Spinner\"\nimport { Text } from \"../../Text\"\nimport { ButtonProps } from \"../Button\"\nimport { BUTTON_SIZES, BUTTON_TEXT_SIZES, BUTTON_VARIANTS } from \"./tokens\"\n\nexport const ButtonV3: React.ForwardRefExoticComponent<\n ButtonProps & { ref?: React.Ref<HTMLElement> }\n> = React.forwardRef(\n ({ children, loading, color, size, onClick, ...rest }, forwardedRef) => {\n const ref = useRef<HTMLButtonElement | null>(null)\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n if (!loading && onClick) {\n onClick(event)\n }\n }\n\n useEffect(() => {\n if (loading && ref.current !== null) {\n ref.current!.blur()\n }\n }, [loading])\n\n return (\n <Container\n ref={composeRefs(ref, forwardedRef) as any}\n onClick={handleClick}\n size={size}\n loading={loading}\n tabIndex={loading ? -1 : 0}\n {...rest}\n >\n {loading && <Spinner size={size} color=\"currentColor\" />}\n\n <Text\n lineHeight={1}\n variant={BUTTON_TEXT_SIZES[size!]}\n opacity={loading ? 0 : 1}\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {children}\n </Text>\n </Container>\n )\n }\n)\n\nButtonV3.displayName = \"Button\"\n\nButtonV3.defaultProps = {\n size: \"medium\",\n variant: \"primaryBlack\",\n}\n\ntype ContainerProps = Pick<\n ButtonProps,\n \"size\" | \"inline\" | \"loading\" | \"hover\" | \"focus\" | \"disabled\"\n>\n\nconst Container = styled.button<ContainerProps>`\n display: inline-flex;\n cursor: pointer;\n position: relative;\n white-space: nowrap;\n font-weight: normal;\n text-decoration: none;\n align-items: center;\n text-align: center;\n justify-content: center;\n border: 1px solid;\n transition: color 0.25s ease, border-color 0.25s ease,\n background-color 0.25s ease, box-shadow 0.25s ease;\n\n ${boxMixin};\n\n /* Handle sizing */\n ${variant({ prop: \"size\", variants: BUTTON_SIZES })}\n\n ${(props) => {\n // Handle props driven states\n if (props.hover) {\n return variant({ variants: BUTTON_VARIANTS.hover })\n }\n\n if (props.focus) {\n return css`\n outline: 0;\n ${variant({ variants: BUTTON_VARIANTS.focus })}\n `\n }\n\n if (props.loading) {\n return css`\n cursor: auto;\n transition: none;\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.loading })}\n `\n }\n\n if (props.disabled) {\n return css`\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.disabled })}\n `\n }\n\n return variant({ variants: BUTTON_VARIANTS.default })\n }}\n\n ${() => {\n // Handle pseudo classes\n return css`\n @media ${THEME_V3.mediaQueries.hover} {\n &:hover {\n ${variant({ variants: BUTTON_VARIANTS.hover })}\n }\n }\n\n &:focus {\n outline: 0;\n ${variant({ variants: BUTTON_VARIANTS.focus })}\n }\n\n &:disabled {\n pointer-events: none;\n ${variant({ variants: BUTTON_VARIANTS.disabled })}\n }\n `\n }};\n`\n"],"file":"Button.js"}
|
|
@@ -3,4 +3,4 @@ import { BoxProps } from "../Box";
|
|
|
3
3
|
export declare type HorizontalOverflowProps = BoxProps & {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
};
|
|
6
|
-
export declare const HorizontalOverflow: React.
|
|
6
|
+
export declare const HorizontalOverflow: React.ForwardRefExoticComponent<HorizontalOverflowProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.HorizontalOverflow = void 0;
|
|
9
9
|
|
|
10
|
+
var _composeReactRefs = _interopRequireDefault(require("@seznam/compose-react-refs"));
|
|
11
|
+
|
|
10
12
|
var _themeGet = require("@styled-system/theme-get");
|
|
11
13
|
|
|
12
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -21,12 +23,12 @@ var _splitProps = require("../../utils/splitProps");
|
|
|
21
23
|
|
|
22
24
|
var _Box = require("../Box");
|
|
23
25
|
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
26
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
27
27
|
|
|
28
28
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
|
|
29
29
|
|
|
30
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
+
|
|
30
32
|
function _extends() { _extends = Object.assign || 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); }
|
|
31
33
|
|
|
32
34
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -61,8 +63,7 @@ var Rail = (0, _styledComponents.default)(_Box.Box).withConfig({
|
|
|
61
63
|
displayName: "HorizontalOverflow__Rail",
|
|
62
64
|
componentId: "yzjfm6-2"
|
|
63
65
|
})(["white-space:nowrap;min-width:100%;height:100%;"]);
|
|
64
|
-
|
|
65
|
-
var HorizontalOverflow = function HorizontalOverflow(_ref2) {
|
|
66
|
+
var HorizontalOverflow = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, forwardedRef) {
|
|
66
67
|
var children = _ref2.children,
|
|
67
68
|
rest = _objectWithoutProperties(_ref2, ["children"]);
|
|
68
69
|
|
|
@@ -100,17 +101,20 @@ var HorizontalOverflow = function HorizontalOverflow(_ref2) {
|
|
|
100
101
|
setAtEnd(false);
|
|
101
102
|
};
|
|
102
103
|
|
|
103
|
-
return
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
104
|
+
return (
|
|
105
|
+
/*#__PURE__*/
|
|
106
|
+
// @ts-ignore
|
|
107
|
+
_react.default.createElement(Overlay, _extends({
|
|
108
|
+
atEnd: atEnd
|
|
109
|
+
}, boxProps), /*#__PURE__*/_react.default.createElement(Viewport, {
|
|
110
|
+
ref: (0, _composeReactRefs.default)(ref, forwardedRef),
|
|
111
|
+
onScroll: updateAtEnd
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement(Rail, _extends({
|
|
113
|
+
display: "inline-flex",
|
|
114
|
+
verticalAlign: "top"
|
|
115
|
+
}, railProps), children)))
|
|
116
|
+
);
|
|
117
|
+
});
|
|
114
118
|
exports.HorizontalOverflow = HorizontalOverflow;
|
|
115
119
|
HorizontalOverflow.displayName = "HorizontalOverflow";
|
|
116
120
|
//# sourceMappingURL=HorizontalOverflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/HorizontalOverflow/HorizontalOverflow.tsx"],"names":["splitRailProps","padding","justifyContent","border","Overlay","Box","atEnd","Viewport","visuallyDisableScrollbar","Rail","HorizontalOverflow","children","rest","ref","updateAtEnd","window","addEventListener","removeEventListener","railProps","boxProps","setAtEnd","current","scrollLeft","scrollWidth","clientWidth"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAQA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,cAAc,GAAG,4BACrB,2BAAQC,qBAAR,EAAiBC,4BAAjB,EAAiCC,oBAAjC,CADqB,CAAvB;AAIA,IAAMC,OAAO,GAAG,+BAAOC,QAAP,CAAH;AAAA;AAAA;AAAA,+QAWA,wBAAS,SAAT,CAXA,EAsBE;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,SAAgBA,KAAK,GAAG,CAAH,GAAO,CAA5B;AAAA,CAtBF,CAAb;AA0BA,IAAMC,QAAQ,GAAG,+BAAOF,QAAP,CAAH;AAAA;AAAA;AAAA,0EAIVG,0BAJU,CAAd;AAOA,IAAMC,IAAI,GAAG,+BAAOJ,QAAP,CAAH;AAAA;AAAA;AAAA,sDAAV
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/HorizontalOverflow/HorizontalOverflow.tsx"],"names":["splitRailProps","padding","justifyContent","border","Overlay","Box","atEnd","Viewport","visuallyDisableScrollbar","Rail","HorizontalOverflow","forwardedRef","children","rest","ref","updateAtEnd","window","addEventListener","removeEventListener","railProps","boxProps","setAtEnd","current","scrollLeft","scrollWidth","clientWidth","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAQA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,cAAc,GAAG,4BACrB,2BAAQC,qBAAR,EAAiBC,4BAAjB,EAAiCC,oBAAjC,CADqB,CAAvB;AAIA,IAAMC,OAAO,GAAG,+BAAOC,QAAP,CAAH;AAAA;AAAA;AAAA,+QAWA,wBAAS,SAAT,CAXA,EAsBE;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,SAAgBA,KAAK,GAAG,CAAH,GAAO,CAA5B;AAAA,CAtBF,CAAb;AA0BA,IAAMC,QAAQ,GAAG,+BAAOF,QAAP,CAAH;AAAA;AAAA;AAAA,0EAIVG,0BAJU,CAAd;AAOA,IAAMC,IAAI,GAAG,+BAAOJ,QAAP,CAAH;AAAA;AAAA;AAAA,sDAAV;AAQO,IAAMK,kBAEZ,gBAAG,uBAAW,iBAAwBC,YAAxB,EAAyC;AAAA,MAAtCC,QAAsC,SAAtCA,QAAsC;AAAA,MAAzBC,IAAyB;;AACtD,MAAMC,GAAG,GAAG,oBAAZ;AAEA,wBAAU,YAAM;AACdC,IAAAA,WAAW;AACXC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCF,WAAlC;AACA,WAAO,YAAM;AACXC,MAAAA,MAAM,CAACE,mBAAP,CAA2B,QAA3B,EAAqCH,WAArC;AACD,KAFD;AAGD,GAND,EAMG,EANH;;AAHsD,wBAWxBf,cAAc,CAACa,IAAD,CAXU;AAAA;AAAA,MAW/CM,SAX+C;AAAA,MAWpCC,QAXoC;;AAAA,kBAa5B,qBAAS,KAAT,CAb4B;AAAA;AAAA,MAa/Cd,KAb+C;AAAA,MAaxCe,QAbwC;;AAetD,MAAMN,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,QAAI,CAACD,GAAG,CAACQ,OAAT,EAAkB;AADM,uBAKpBR,GALoB,CAItBQ,OAJsB;AAAA,QAIXC,UAJW,gBAIXA,UAJW;AAAA,QAICC,WAJD,gBAICA,WAJD;AAAA,QAIcC,WAJd,gBAIcA,WAJd;;AAOxB,QAAIF,UAAU,GAAGE,WAAb,KAA6BD,WAAjC,EAA8C;AAC5CH,MAAAA,QAAQ,CAAC,IAAD,CAAR;AACA;AACD;;AAEDA,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAbD;;AAeA;AAAA;AACE;AACA,iCAAC,OAAD;AAAS,MAAA,KAAK,EAAEf;AAAhB,OAA2Bc,QAA3B,gBACE,6BAAC,QAAD;AACE,MAAA,GAAG,EAAE,+BAAYN,GAAZ,EAAiBH,YAAjB,CADP;AAEE,MAAA,QAAQ,EAAEI;AAFZ,oBAIE,6BAAC,IAAD;AAAM,MAAA,OAAO,EAAC,aAAd;AAA4B,MAAA,aAAa,EAAC;AAA1C,OAAoDI,SAApD,GACGP,QADH,CAJF,CADF;AAFF;AAaD,CA3CG,CAFG;;AA+CPF,kBAAkB,CAACgB,WAAnB,GAAiC,oBAAjC","sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, { forwardRef, useEffect, useRef, useState } from \"react\"\nimport styled from \"styled-components\"\nimport {\n border,\n compose,\n justifyContent,\n JustifyContentProps,\n padding,\n PaddingProps,\n} from \"styled-system\"\nimport { visuallyDisableScrollbar } from \"../..\"\nimport { splitProps } from \"../../utils/splitProps\"\nimport { Box, BoxProps } from \"../Box\"\n\nconst splitRailProps = splitProps<PaddingProps & JustifyContentProps>(\n compose(padding, justifyContent, border)\n)\n\nconst Overlay = styled(Box)<{ atEnd: boolean }>`\n position: relative;\n\n /* Fade-out gradient */\n &::after {\n display: block;\n content: \"\";\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: ${themeGet(\"space.6\")};\n z-index: 1;\n pointer-events: none;\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0) 0%,\n rgba(255, 255, 255, 1) 100%\n );\n\n /* Hide when scrolled all the way over */\n transition: opacity 250ms;\n opacity: ${({ atEnd }) => (atEnd ? 0 : 1)};\n }\n`\n\nconst Viewport = styled(Box)`\n height: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n ${visuallyDisableScrollbar}\n`\n\nconst Rail = styled(Box)`\n white-space: nowrap;\n min-width: 100%;\n height: 100%;\n`\n\nexport type HorizontalOverflowProps = BoxProps & { children: React.ReactNode }\n\nexport const HorizontalOverflow: React.ForwardRefExoticComponent<\n HorizontalOverflowProps & React.RefAttributes<HTMLDivElement>\n> = forwardRef(({ children, ...rest }, forwardedRef) => {\n const ref = useRef<HTMLDivElement | null>()\n\n useEffect(() => {\n updateAtEnd()\n window.addEventListener(\"resize\", updateAtEnd)\n return () => {\n window.removeEventListener(\"resize\", updateAtEnd)\n }\n }, [])\n\n const [railProps, boxProps] = splitRailProps(rest)\n\n const [atEnd, setAtEnd] = useState(false)\n\n const updateAtEnd = () => {\n if (!ref.current) return\n\n const {\n current: { scrollLeft, scrollWidth, clientWidth },\n } = ref\n\n if (scrollLeft + clientWidth === scrollWidth) {\n setAtEnd(true)\n return\n }\n\n setAtEnd(false)\n }\n\n return (\n // @ts-ignore\n <Overlay atEnd={atEnd} {...boxProps}>\n <Viewport\n ref={composeRefs(ref, forwardedRef) as any}\n onScroll={updateAtEnd}\n >\n <Rail display=\"inline-flex\" verticalAlign=\"top\" {...railProps}>\n {children}\n </Rail>\n </Viewport>\n </Overlay>\n )\n})\n\nHorizontalOverflow.displayName = \"HorizontalOverflow\"\n"],"file":"HorizontalOverflow.js"}
|
|
@@ -77,9 +77,11 @@ var Stepper = function Stepper(_ref) {
|
|
|
77
77
|
tabs = _useTabs.tabs,
|
|
78
78
|
activeTab = _useTabs.activeTab,
|
|
79
79
|
activeTabIndex = _useTabs.activeTabIndex,
|
|
80
|
-
handleClick = _useTabs.handleClick
|
|
80
|
+
handleClick = _useTabs.handleClick,
|
|
81
|
+
ref = _useTabs.ref;
|
|
81
82
|
|
|
82
83
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BaseTabs.BaseTabs, _extends({
|
|
84
|
+
ref: ref,
|
|
83
85
|
separator: tokens.joinSeparator,
|
|
84
86
|
fill: tokens.fill
|
|
85
87
|
}, rest), tabs.map(function (tab, i) {
|
|
@@ -110,7 +112,7 @@ var Stepper = function Stepper(_ref) {
|
|
|
110
112
|
fill: "green100",
|
|
111
113
|
ml: 1
|
|
112
114
|
})), tokens.inlineSeparator));
|
|
113
|
-
})), activeTab.child);
|
|
115
|
+
})), activeTab.current.child);
|
|
114
116
|
};
|
|
115
117
|
/** StepProps */
|
|
116
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Stepper/Stepper.tsx"],"names":["Stepper","currentStepIndex","disableNavigation","initialTabIndex","children","fill","rest","tokens","v2","joinSeparator","inlineSeparator","verticalAlignment","horizontalAlignment","checkAlignment","textVariant","v3","tabs","activeTab","activeTabIndex","handleClick","map","tab","i","Clickable","
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Stepper/Stepper.tsx"],"names":["Stepper","currentStepIndex","disableNavigation","initialTabIndex","children","fill","rest","tokens","v2","joinSeparator","inlineSeparator","verticalAlignment","horizontalAlignment","checkAlignment","textVariant","v3","tabs","activeTab","activeTabIndex","handleClick","ref","map","tab","i","Clickable","undefined","child","props","name","current","Step","defaultProps","mb"],"mappings":"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","sourcesContent":["import { TextVariant } from \"@artsy/palette-tokens/dist/typography/types\"\nimport React from \"react\"\nimport { CheckIcon } from \"../../svgs/CheckIcon\"\nimport { ChevronIcon } from \"../../svgs/ChevronIcon\"\nimport { useThemeConfig } from \"../../Theme\"\nimport { BaseTab, BaseTabs } from \"../BaseTabs\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex } from \"../Flex\"\nimport { TabProps, TabsProps, useTabs } from \"../Tabs\"\n\nexport interface StepperProps extends TabsProps {\n /** The step user currently is at (e.g. previous steps completed) */\n currentStepIndex: number\n /** Prevents the tabs from being directly clickable */\n disableNavigation?: boolean\n}\n\n/** Stepper */\nexport const Stepper: React.FC<StepperProps> = ({\n currentStepIndex,\n disableNavigation,\n initialTabIndex = 0,\n children,\n fill,\n ...rest\n}) => {\n const tokens = useThemeConfig({\n v2: {\n fill,\n joinSeparator: <ChevronIcon fill=\"black30\" width={12} mx={2} />,\n inlineSeparator: null,\n verticalAlignment: \"center\",\n horizontalAlignment: \"center\",\n checkAlignment: \"left\",\n textVariant: \"mediumText\" as TextVariant,\n },\n v3: {\n fill: true,\n joinSeparator: null,\n inlineSeparator: <ChevronIcon fill=\"black60\" height={10} ml={1} />,\n verticalAlignment: \"center\",\n horizontalAlignment: \"flex-start\",\n checkAlignment: \"right\",\n textVariant: \"sm\" as TextVariant,\n },\n })\n\n const { tabs, activeTab, activeTabIndex, handleClick, ref } = useTabs({\n children,\n initialTabIndex,\n })\n\n return (\n <>\n <BaseTabs\n ref={ref}\n separator={tokens.joinSeparator!}\n fill={tokens.fill}\n {...rest}\n >\n {tabs.map((tab, i) => {\n return (\n <BaseTab\n key={i}\n as={Clickable}\n ref={tab.ref as any}\n aria-selected={i === activeTabIndex}\n disabled={disableNavigation || i > currentStepIndex}\n onClick={handleClick(i)}\n active={i === activeTabIndex}\n variant={tokens.textVariant}\n justifyContent={tokens.horizontalAlignment}\n >\n <Flex\n alignItems={tokens.verticalAlignment}\n justifyContent=\"space-between\"\n flex={1}\n >\n <Flex alignItems={tokens.verticalAlignment}>\n {currentStepIndex > i && tokens.checkAlignment === \"left\" && (\n <CheckIcon fill=\"green100\" mr={1} />\n )}\n\n <Box color={i > currentStepIndex ? \"black30\" : undefined}>\n {tab.child.props.name}\n </Box>\n\n {currentStepIndex > i &&\n tokens.checkAlignment === \"right\" && (\n <CheckIcon\n width={16}\n height={16}\n fill=\"green100\"\n ml={1}\n />\n )}\n </Flex>\n\n {tokens.inlineSeparator}\n </Flex>\n </BaseTab>\n )\n })}\n </BaseTabs>\n\n {activeTab.current.child}\n </>\n )\n}\n\n/** StepProps */\nexport type StepProps = TabProps\n\n/**\n * An individual step.\n * Does nothing on its own; props are dealt with inside of Steps.\n */\nexport const Step: React.FC<StepProps> = ({ children }) => <>{children}</>\n\nStepper.defaultProps = {\n mb: 2,\n}\n"],"file":"Stepper.js"}
|
|
@@ -24,16 +24,17 @@ export interface TabsProps extends BaseTabsProps {
|
|
|
24
24
|
}
|
|
25
25
|
/** Tabs functionality */
|
|
26
26
|
export declare const useTabs: ({ children, initialTabIndex, onChange, }: TabsProps) => {
|
|
27
|
-
|
|
28
|
-
child: TabLike;
|
|
29
|
-
ref: React.RefObject<HTMLButtonElement | null>;
|
|
30
|
-
}[];
|
|
31
|
-
activeTab: {
|
|
27
|
+
activeTab: React.MutableRefObject<{
|
|
32
28
|
child: TabLike;
|
|
33
29
|
ref: React.RefObject<HTMLButtonElement | null>;
|
|
34
|
-
}
|
|
30
|
+
}>;
|
|
35
31
|
activeTabIndex: number;
|
|
36
32
|
handleClick: (index: number) => () => void;
|
|
33
|
+
ref: React.MutableRefObject<HTMLDivElement | null>;
|
|
34
|
+
tabs: {
|
|
35
|
+
child: TabLike;
|
|
36
|
+
ref: React.RefObject<HTMLButtonElement | null>;
|
|
37
|
+
}[];
|
|
37
38
|
};
|
|
38
39
|
/** A tab bar navigation component */
|
|
39
40
|
export declare const Tabs: React.FC<TabsProps>;
|
|
@@ -23,6 +23,8 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
23
23
|
|
|
24
24
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
|
|
25
25
|
|
|
26
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
27
|
+
|
|
26
28
|
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; }
|
|
27
29
|
|
|
28
30
|
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; }
|
|
@@ -45,44 +47,51 @@ var useTabs = function useTabs(_ref) {
|
|
|
45
47
|
_ref$initialTabIndex = _ref.initialTabIndex,
|
|
46
48
|
initialTabIndex = _ref$initialTabIndex === void 0 ? 0 : _ref$initialTabIndex,
|
|
47
49
|
onChange = _ref.onChange;
|
|
48
|
-
var tabs = (0,
|
|
49
|
-
return {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
var tabs = (0, _react.useMemo)(function () {
|
|
51
|
+
return (0, _flattenChildren.flattenChildren)(children).map(function (child) {
|
|
52
|
+
return {
|
|
53
|
+
child: child,
|
|
54
|
+
ref: /*#__PURE__*/(0, _react.createRef)()
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
}, [children]);
|
|
54
58
|
|
|
55
59
|
var _useState = (0, _react.useState)(initialTabIndex),
|
|
56
60
|
_useState2 = _slicedToArray(_useState, 2),
|
|
57
61
|
activeTabIndex = _useState2[0],
|
|
58
|
-
setActiveTabIndex = _useState2[1];
|
|
62
|
+
setActiveTabIndex = _useState2[1]; // Wraps active tab in a ref to prevent re-rendering.
|
|
63
|
+
// This means that we need to update the active tab before the index state change
|
|
64
|
+
// to catch the re-render.
|
|
65
|
+
|
|
59
66
|
|
|
60
|
-
var activeTab = tabs[activeTabIndex]; // If the `initialTabIndex` changes; update the active one
|
|
67
|
+
var activeTab = (0, _react.useRef)(tabs[activeTabIndex]); // If the `initialTabIndex` changes; update the active one
|
|
61
68
|
|
|
62
69
|
(0, _useUpdateEffect.useUpdateEffect)(function () {
|
|
70
|
+
activeTab.current = tabs[initialTabIndex];
|
|
63
71
|
setActiveTabIndex(initialTabIndex);
|
|
64
|
-
}, [initialTabIndex]);
|
|
72
|
+
}, [initialTabIndex]); // Ref of the tabs viewport
|
|
65
73
|
|
|
66
|
-
var
|
|
67
|
-
var _activeTab$ref$curren, _activeTab$ref$curren2;
|
|
74
|
+
var ref = (0, _react.useRef)(null); // Scroll to active tab when `activeTabIndex` changes
|
|
68
75
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
(0, _react.useEffect)(function () {
|
|
77
|
+
var _ref$current$scrollTo, _ref$current;
|
|
78
|
+
|
|
79
|
+
if (!ref.current) return;
|
|
80
|
+
var tab = activeTab.current.ref.current;
|
|
81
|
+
if (!tab) return;
|
|
82
|
+
var position = tab.offsetLeft;
|
|
83
|
+
(_ref$current$scrollTo = (_ref$current = ref.current).scrollTo) === null || _ref$current$scrollTo === void 0 ? void 0 : _ref$current$scrollTo.call(_ref$current, {
|
|
84
|
+
left: position,
|
|
72
85
|
behavior: "smooth"
|
|
73
86
|
});
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
(0, _react.useEffect)(function () {
|
|
77
|
-
scrollToTab();
|
|
78
|
-
}, [tabs, activeTabIndex]);
|
|
87
|
+
}, [activeTabIndex]);
|
|
79
88
|
var handleClick = (0, _react.useCallback)(function (index) {
|
|
80
89
|
return function () {
|
|
81
90
|
var _tabs$index$child$pro;
|
|
82
91
|
|
|
83
92
|
if (index === activeTabIndex) return;
|
|
93
|
+
activeTab.current = tabs[index];
|
|
84
94
|
setActiveTabIndex(index);
|
|
85
|
-
scrollToTab();
|
|
86
95
|
if (!onChange) return;
|
|
87
96
|
onChange({
|
|
88
97
|
tabIndex: index,
|
|
@@ -90,12 +99,13 @@ var useTabs = function useTabs(_ref) {
|
|
|
90
99
|
data: (_tabs$index$child$pro = tabs[index].child.props.data) !== null && _tabs$index$child$pro !== void 0 ? _tabs$index$child$pro : {}
|
|
91
100
|
});
|
|
92
101
|
};
|
|
93
|
-
}, [
|
|
102
|
+
}, [activeTabIndex, onChange, tabs]);
|
|
94
103
|
return {
|
|
95
|
-
tabs: tabs,
|
|
96
104
|
activeTab: activeTab,
|
|
97
105
|
activeTabIndex: activeTabIndex,
|
|
98
|
-
handleClick: handleClick
|
|
106
|
+
handleClick: handleClick,
|
|
107
|
+
ref: ref,
|
|
108
|
+
tabs: tabs
|
|
99
109
|
};
|
|
100
110
|
};
|
|
101
111
|
/** A tab bar navigation component */
|
|
@@ -123,9 +133,12 @@ var Tabs = function Tabs(_ref2) {
|
|
|
123
133
|
tabs = _useTabs.tabs,
|
|
124
134
|
activeTab = _useTabs.activeTab,
|
|
125
135
|
activeTabIndex = _useTabs.activeTabIndex,
|
|
126
|
-
handleClick = _useTabs.handleClick
|
|
136
|
+
handleClick = _useTabs.handleClick,
|
|
137
|
+
ref = _useTabs.ref;
|
|
127
138
|
|
|
128
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BaseTabs.BaseTabs,
|
|
139
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BaseTabs.BaseTabs, _extends({
|
|
140
|
+
ref: ref
|
|
141
|
+
}, rest), tabs.map(function (tab, i) {
|
|
129
142
|
return /*#__PURE__*/_react.default.createElement(_Clickable.Clickable, {
|
|
130
143
|
key: i,
|
|
131
144
|
ref: tab.ref,
|
|
@@ -136,7 +149,7 @@ var Tabs = function Tabs(_ref2) {
|
|
|
136
149
|
active: i === activeTabIndex,
|
|
137
150
|
variant: textVariant
|
|
138
151
|
}, /*#__PURE__*/_react.default.createElement("span", null, tab.child.props.name)));
|
|
139
|
-
})), activeTab.child);
|
|
152
|
+
})), activeTab.current.child);
|
|
140
153
|
};
|
|
141
154
|
|
|
142
155
|
exports.Tabs = Tabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Tabs/Tabs.tsx"],"names":["useTabs","children","initialTabIndex","onChange","tabs","map","child","ref","activeTabIndex","setActiveTabIndex","activeTab","
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Tabs/Tabs.tsx"],"names":["useTabs","children","initialTabIndex","onChange","tabs","map","child","ref","activeTabIndex","setActiveTabIndex","activeTab","current","tab","position","offsetLeft","scrollTo","left","behavior","handleClick","index","tabIndex","name","props","data","Tabs","rest","textVariant","v2","v3","i","defaultProps","mb","Tab"],"mappings":"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","sourcesContent":["import { TextVariant } from \"@artsy/palette-tokens/dist/typography/types\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { useThemeConfig } from \"../../Theme\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { BaseTabs, BaseTabsProps } from \"../BaseTabs\"\nimport { BaseTab } from \"../BaseTabs\"\nimport { Clickable } from \"../Clickable\"\n\nexport interface TabLike extends JSX.Element {\n props: TabProps\n}\n\nexport interface TabInfo extends TabProps {\n /** Index of the newly selected Tab */\n tabIndex: number\n /**\n * Arbitrary data that can be associated with a Tab.\n * Will be passed to the parent <Tabs>'s onChange handler.\n */\n data: any\n}\n\nexport interface TabsProps extends BaseTabsProps {\n /** Space or visual divider between tabs */\n separator?: JSX.Element\n /** Index of the Tab that should be pre-selected */\n initialTabIndex?: number\n /** @deprecated */\n autoScroll?: boolean\n /** Function that will be called when a new Tab is selected */\n onChange?: (tabInfo?: TabInfo) => void\n}\n\n/** Tabs functionality */\nexport const useTabs = ({\n children,\n initialTabIndex = 0,\n onChange,\n}: TabsProps) => {\n const tabs = useMemo(\n () =>\n flattenChildren<TabLike>(children).map((child) => ({\n child,\n ref: createRef<HTMLButtonElement | null>(),\n })),\n [children]\n )\n\n const [activeTabIndex, setActiveTabIndex] = useState<number>(initialTabIndex)\n\n // Wraps active tab in a ref to prevent re-rendering.\n // This means that we need to update the active tab before the index state change\n // to catch the re-render.\n const activeTab = useRef(tabs[activeTabIndex])\n\n // If the `initialTabIndex` changes; update the active one\n useUpdateEffect(() => {\n activeTab.current = tabs[initialTabIndex]\n setActiveTabIndex(initialTabIndex)\n }, [initialTabIndex])\n\n // Ref of the tabs viewport\n const ref = useRef<HTMLDivElement | null>(null)\n\n // Scroll to active tab when `activeTabIndex` changes\n useEffect(() => {\n if (!ref.current) return\n const tab = activeTab.current.ref.current\n if (!tab) return\n const position = tab.offsetLeft\n ref.current.scrollTo?.({ left: position, behavior: \"smooth\" })\n }, [activeTabIndex])\n\n const handleClick = useCallback(\n (index: number) => {\n return () => {\n if (index === activeTabIndex) return\n\n activeTab.current = tabs[index]\n setActiveTabIndex(index)\n\n if (!onChange) return\n\n onChange({\n tabIndex: index,\n name: tabs[index].child.props.name,\n data: tabs[index].child.props.data ?? {},\n })\n }\n },\n [activeTabIndex, onChange, tabs]\n )\n\n return {\n activeTab,\n activeTabIndex,\n handleClick,\n ref,\n tabs,\n }\n}\n\n/** A tab bar navigation component */\nexport const Tabs: React.FC<TabsProps> = ({\n children,\n initialTabIndex = 0,\n onChange,\n ...rest\n}) => {\n const textVariant: TextVariant = useThemeConfig({\n v2: \"mediumText\",\n v3: \"sm\",\n })\n\n const { tabs, activeTab, activeTabIndex, handleClick, ref } = useTabs({\n children,\n initialTabIndex,\n onChange,\n })\n\n return (\n <>\n <BaseTabs ref={ref} {...rest}>\n {tabs.map((tab, i) => {\n return (\n <Clickable\n key={i}\n ref={tab.ref as any}\n aria-selected={i === activeTabIndex}\n onClick={handleClick(i)}\n flex={1}\n >\n <BaseTab active={i === activeTabIndex} variant={textVariant}>\n <span>{tab.child.props.name}</span>\n </BaseTab>\n </Clickable>\n )\n })}\n </BaseTabs>\n\n {activeTab.current.child}\n </>\n )\n}\n\nTabs.defaultProps = {\n mb: 2,\n}\n\nexport interface TabProps {\n /** Display name of the Tab */\n name: string | JSX.Element\n /**\n * Arbitrary data that can be associated with a Tab.\n * Will be passed to the parent <Tabs>'s onChange handler.\n */\n data?: any\n}\n\n/**\n * An individual tab.\n * Does nothing on its own; props are dealt with inside of Tabs.\n */\nexport const Tab: React.FC<TabProps> = ({ children }) => <>{children}</>\n"],"file":"Tabs.js"}
|
|
@@ -7,4 +7,23 @@ export declare const Default: () => JSX.Element;
|
|
|
7
7
|
export declare const WithData: () => JSX.Element;
|
|
8
8
|
export declare const Counts: () => JSX.Element;
|
|
9
9
|
export declare const ConditionalTabs: () => JSX.Element;
|
|
10
|
-
export declare const AutoScrolling:
|
|
10
|
+
export declare const AutoScrolling: {
|
|
11
|
+
(): JSX.Element;
|
|
12
|
+
story: {
|
|
13
|
+
parameters: {
|
|
14
|
+
chromatic: {
|
|
15
|
+
disable: boolean;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare const InitialAutoScroll: {
|
|
21
|
+
(): JSX.Element;
|
|
22
|
+
story: {
|
|
23
|
+
parameters: {
|
|
24
|
+
chromatic: {
|
|
25
|
+
disable: boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.AutoScrolling = exports.ConditionalTabs = exports.Counts = exports.WithData = exports.Default = exports.default = void 0;
|
|
8
|
+
exports.InitialAutoScroll = exports.AutoScrolling = exports.ConditionalTabs = exports.Counts = exports.WithData = exports.Default = exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _addonActions = require("@storybook/addon-actions");
|
|
11
11
|
|
|
@@ -13,16 +13,16 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _storybookStates = require("storybook-states");
|
|
15
15
|
|
|
16
|
-
var _Button = require("../Button");
|
|
17
|
-
|
|
18
|
-
var _Flex = require("../Flex");
|
|
19
|
-
|
|
20
16
|
var _svgs = require("../../svgs");
|
|
21
17
|
|
|
22
18
|
var _Sup = require("../Sup");
|
|
23
19
|
|
|
24
20
|
var _ = require("./");
|
|
25
21
|
|
|
22
|
+
var _Box = require("../Box");
|
|
23
|
+
|
|
24
|
+
var _useCursor2 = require("use-cursor");
|
|
25
|
+
|
|
26
26
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
27
27
|
|
|
28
28
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
|
|
@@ -141,23 +141,91 @@ exports.ConditionalTabs = ConditionalTabs;
|
|
|
141
141
|
ConditionalTabs.displayName = "ConditionalTabs";
|
|
142
142
|
|
|
143
143
|
var AutoScrolling = function AutoScrolling() {
|
|
144
|
-
var
|
|
144
|
+
var _useCursor = (0, _useCursor2.useCursor)({
|
|
145
|
+
max: 15
|
|
146
|
+
}),
|
|
147
|
+
initialTabIndex = _useCursor.index,
|
|
148
|
+
handleNext = _useCursor.handleNext;
|
|
149
|
+
|
|
150
|
+
(0, _react.useEffect)(function () {
|
|
151
|
+
var interval = setInterval(handleNext, 500);
|
|
152
|
+
return function () {
|
|
153
|
+
return clearInterval(interval);
|
|
154
|
+
};
|
|
155
|
+
}, [handleNext]);
|
|
156
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_.Tabs, {
|
|
157
|
+
initialTabIndex: initialTabIndex,
|
|
158
|
+
onChange: (0, _addonActions.action)("onChange")
|
|
159
|
+
}, /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
160
|
+
name: "First"
|
|
161
|
+
}, "First"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
162
|
+
name: "Second"
|
|
163
|
+
}, "Second"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
164
|
+
name: "Third"
|
|
165
|
+
}, "Third"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
166
|
+
name: "Fourth"
|
|
167
|
+
}, "Fourth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
168
|
+
name: "Fifth"
|
|
169
|
+
}, "Fifth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
170
|
+
name: "Sixth"
|
|
171
|
+
}, "Sixth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
172
|
+
name: "Seventh"
|
|
173
|
+
}, "Seventh"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
174
|
+
name: "Eighth"
|
|
175
|
+
}, "Eighth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
176
|
+
name: "Nineth"
|
|
177
|
+
}, "Nineth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
178
|
+
name: "Tenth"
|
|
179
|
+
}, "Tenth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
180
|
+
name: "Eleventh"
|
|
181
|
+
}, "Eleventh"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
182
|
+
name: "Twelveth"
|
|
183
|
+
}, "Twelveth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
184
|
+
name: "Thirteenth"
|
|
185
|
+
}, "Thirteenth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
186
|
+
name: "Fourteenth"
|
|
187
|
+
}, "Fourteenth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
188
|
+
name: "Fifteenth"
|
|
189
|
+
}, "Fifteenth")), /*#__PURE__*/_react.default.createElement("pre", null, JSON.stringify({
|
|
190
|
+
initialTabIndex: initialTabIndex
|
|
191
|
+
})));
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
exports.AutoScrolling = AutoScrolling;
|
|
195
|
+
AutoScrolling.story = {
|
|
196
|
+
parameters: {
|
|
197
|
+
chromatic: {
|
|
198
|
+
disable: true
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
var InitialAutoScroll = function InitialAutoScroll() {
|
|
204
|
+
var _useState3 = (0, _react.useState)(1),
|
|
145
205
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
146
|
-
|
|
147
|
-
|
|
206
|
+
key = _useState4[0],
|
|
207
|
+
setKey = _useState4[1];
|
|
148
208
|
|
|
149
|
-
|
|
209
|
+
(0, _react.useEffect)(function () {
|
|
210
|
+
var interval = setInterval(function () {
|
|
211
|
+
setKey(function (key) {
|
|
212
|
+
return key + 1;
|
|
213
|
+
});
|
|
214
|
+
}, 500);
|
|
215
|
+
return function () {
|
|
216
|
+
return clearInterval(interval);
|
|
217
|
+
};
|
|
218
|
+
}, []);
|
|
219
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
220
|
+
bg: "black10",
|
|
221
|
+
height: 1000,
|
|
222
|
+
p: 2
|
|
223
|
+
}, "The vertical scroll of this page should be at the top.", /*#__PURE__*/_react.default.createElement("br", null), "Scroll down to see the tabs.", /*#__PURE__*/_react.default.createElement("br", null), "Render: #", key), /*#__PURE__*/_react.default.createElement(_.Tabs, {
|
|
150
224
|
onChange: (0, _addonActions.action)("onChange"),
|
|
151
|
-
initialTabIndex:
|
|
225
|
+
initialTabIndex: 14
|
|
152
226
|
}, /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
153
227
|
name: "First"
|
|
154
|
-
}, "First", /*#__PURE__*/_react.default.createElement(
|
|
155
|
-
size: "small",
|
|
156
|
-
marginTop: 4,
|
|
157
|
-
onClick: function onClick() {
|
|
158
|
-
setActiveTabIndex(14);
|
|
159
|
-
}
|
|
160
|
-
}, "Scroll to last"))), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
228
|
+
}, "First"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
161
229
|
name: "Second"
|
|
162
230
|
}, "Second"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
163
231
|
name: "Third"
|
|
@@ -185,15 +253,18 @@ var AutoScrolling = function AutoScrolling() {
|
|
|
185
253
|
name: "Fourteenth"
|
|
186
254
|
}, "Fourteenth"), /*#__PURE__*/_react.default.createElement(_.Tab, {
|
|
187
255
|
name: "Fifteenth"
|
|
188
|
-
}, "
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
setActiveTabIndex(0);
|
|
193
|
-
}
|
|
194
|
-
}, "Scroll to first"))));
|
|
256
|
+
}, "This tab should be active & visible on mount.")), /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
257
|
+
bg: "black10",
|
|
258
|
+
height: 1000
|
|
259
|
+
}));
|
|
195
260
|
};
|
|
196
261
|
|
|
197
|
-
exports.
|
|
198
|
-
|
|
262
|
+
exports.InitialAutoScroll = InitialAutoScroll;
|
|
263
|
+
InitialAutoScroll.story = {
|
|
264
|
+
parameters: {
|
|
265
|
+
chromatic: {
|
|
266
|
+
disable: true
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
};
|
|
199
270
|
//# sourceMappingURL=Tabs.story.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/Tabs/Tabs.story.tsx"],"names":["title","Default","initialTabIndex","separator","justifyContent","WithData","data","setData","name","JSON","stringify","Counts","ConditionalTabs","AutoScrolling","activeTabIndex","setActiveTabIndex"],"mappings":"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","sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React, { useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport { Button } from \"../Button\"\nimport { Flex } from \"../Flex\"\nimport { ChevronIcon } from \"../../svgs\"\nimport { Sup } from \"../Sup\"\nimport { Tab, Tabs, TabsProps } from \"./\"\n\nexport default {\n title: \"Components/Tabs\",\n}\n\nexport const Default = () => {\n return (\n <States<Partial<TabsProps>>\n states={[\n {},\n { initialTabIndex: 2 },\n { separator: <ChevronIcon mx={2} fill=\"black30\" width=\"12px\" /> },\n { justifyContent: \"center\" },\n ]}\n >\n <Tabs onChange={action(\"onChange\")}>\n <Tab name=\"Overview\">Overview panel</Tab>\n <Tab name=\"Works for sale\">Works for sale panel</Tab>\n <Tab name=\"CV\">CV panel</Tab>\n <Tab name=\"Auction results\">Auction results panel</Tab>\n </Tabs>\n </States>\n )\n}\n\nexport const WithData = () => {\n const [data, setData] = useState({})\n return (\n <>\n <Tabs onChange={setData as any}>\n <Tab name=\"Overview\" data={{ name: \"Overview\" }}>\n Overview panel\n </Tab>\n\n <Tab name=\"Works for sale\" data={{ name: \"Works for sale\" }}>\n Works for sale panel\n </Tab>\n\n <Tab name=\"CV\" data={{ name: \"CV\" }}>\n CV panel\n </Tab>\n\n <Tab name=\"Auction results\" data={{ name: \"Auction results\" }}>\n Auction results panel\n </Tab>\n\n <Tab name=\"No data\">No data panel</Tab>\n </Tabs>\n\n <pre>{JSON.stringify(data, null, 2)}</pre>\n </>\n )\n}\n\nexport const Counts = () => {\n return (\n <Tabs onChange={action(\"onChange\")}>\n <Tab\n name={\n <>\n Overview <Sup>123</Sup>\n </>\n }\n />\n <Tab\n name={\n <>\n Works for sale <Sup>123</Sup>\n </>\n }\n />\n <Tab name=\"CV\" />\n <Tab\n name={\n <>\n Auction results <Sup>123</Sup>\n </>\n }\n />\n </Tabs>\n )\n}\n\nexport const ConditionalTabs = () => {\n return (\n <Tabs onChange={action(\"onChange\")}>\n <Tab name=\"First\">First</Tab>\n {false && <Tab name=\"Second\">Second</Tab>}\n <Tab name=\"Third\">Third</Tab>\n </Tabs>\n )\n}\n\nexport const AutoScrolling = () => {\n const [activeTabIndex, setActiveTabIndex] = useState(0)\n\n return (\n <Tabs onChange={action(\"onChange\")} initialTabIndex={activeTabIndex}>\n <Tab name=\"First\">\n First\n <Flex>\n <Button\n size=\"small\"\n marginTop={4}\n onClick={() => {\n setActiveTabIndex(14)\n }}\n >\n Scroll to last\n </Button>\n </Flex>\n </Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">\n Fifteenth\n <Flex>\n <Button\n size=\"small\"\n marginTop={4}\n onClick={() => {\n setActiveTabIndex(0)\n }}\n >\n Scroll to first\n </Button>\n </Flex>\n </Tab>\n </Tabs>\n )\n}\n"],"file":"Tabs.story.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/Tabs/Tabs.story.tsx"],"names":["title","Default","initialTabIndex","separator","justifyContent","WithData","data","setData","name","JSON","stringify","Counts","ConditionalTabs","AutoScrolling","max","index","handleNext","interval","setInterval","clearInterval","story","parameters","chromatic","disable","InitialAutoScroll","key","setKey"],"mappings":"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","sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React, { useEffect, useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport { ChevronIcon } from \"../../svgs\"\nimport { Sup } from \"../Sup\"\nimport { Tab, Tabs, TabsProps } from \"./\"\nimport { Box } from \"../Box\"\nimport { useCursor } from \"use-cursor\"\n\nexport default {\n title: \"Components/Tabs\",\n}\n\nexport const Default = () => {\n return (\n <States<Partial<TabsProps>>\n states={[\n {},\n { initialTabIndex: 2 },\n { separator: <ChevronIcon mx={2} fill=\"black30\" width=\"12px\" /> },\n { justifyContent: \"center\" },\n ]}\n >\n <Tabs onChange={action(\"onChange\")}>\n <Tab name=\"Overview\">Overview panel</Tab>\n <Tab name=\"Works for sale\">Works for sale panel</Tab>\n <Tab name=\"CV\">CV panel</Tab>\n <Tab name=\"Auction results\">Auction results panel</Tab>\n </Tabs>\n </States>\n )\n}\n\nexport const WithData = () => {\n const [data, setData] = useState({})\n return (\n <>\n <Tabs onChange={setData as any}>\n <Tab name=\"Overview\" data={{ name: \"Overview\" }}>\n Overview panel\n </Tab>\n\n <Tab name=\"Works for sale\" data={{ name: \"Works for sale\" }}>\n Works for sale panel\n </Tab>\n\n <Tab name=\"CV\" data={{ name: \"CV\" }}>\n CV panel\n </Tab>\n\n <Tab name=\"Auction results\" data={{ name: \"Auction results\" }}>\n Auction results panel\n </Tab>\n\n <Tab name=\"No data\">No data panel</Tab>\n </Tabs>\n\n <pre>{JSON.stringify(data, null, 2)}</pre>\n </>\n )\n}\n\nexport const Counts = () => {\n return (\n <Tabs onChange={action(\"onChange\")}>\n <Tab\n name={\n <>\n Overview <Sup>123</Sup>\n </>\n }\n />\n <Tab\n name={\n <>\n Works for sale <Sup>123</Sup>\n </>\n }\n />\n <Tab name=\"CV\" />\n <Tab\n name={\n <>\n Auction results <Sup>123</Sup>\n </>\n }\n />\n </Tabs>\n )\n}\n\nexport const ConditionalTabs = () => {\n return (\n <Tabs onChange={action(\"onChange\")}>\n <Tab name=\"First\">First</Tab>\n {false && <Tab name=\"Second\">Second</Tab>}\n <Tab name=\"Third\">Third</Tab>\n </Tabs>\n )\n}\n\nexport const AutoScrolling = () => {\n const { index: initialTabIndex, handleNext } = useCursor({ max: 15 })\n\n useEffect(() => {\n const interval = setInterval(handleNext, 500)\n return () => clearInterval(interval)\n }, [handleNext])\n\n return (\n <>\n <Tabs initialTabIndex={initialTabIndex} onChange={action(\"onChange\")}>\n <Tab name=\"First\">First</Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">Fifteenth</Tab>\n </Tabs>\n\n <pre>{JSON.stringify({ initialTabIndex })}</pre>\n </>\n )\n}\n\nAutoScrolling.story = {\n parameters: { chromatic: { disable: true } },\n}\n\nexport const InitialAutoScroll = () => {\n const [key, setKey] = useState(1)\n\n useEffect(() => {\n const interval = setInterval(() => {\n setKey((key) => key + 1)\n }, 500)\n\n return () => clearInterval(interval)\n }, [])\n\n return (\n <>\n <Box bg=\"black10\" height={1000} p={2}>\n The vertical scroll of this page should be at the top.\n <br />\n Scroll down to see the tabs.\n <br />\n Render: #{key}\n </Box>\n\n <Tabs onChange={action(\"onChange\")} initialTabIndex={14}>\n <Tab name=\"First\">First</Tab>\n <Tab name=\"Second\">Second</Tab>\n <Tab name=\"Third\">Third</Tab>\n <Tab name=\"Fourth\">Fourth</Tab>\n <Tab name=\"Fifth\">Fifth</Tab>\n <Tab name=\"Sixth\">Sixth</Tab>\n <Tab name=\"Seventh\">Seventh</Tab>\n <Tab name=\"Eighth\">Eighth</Tab>\n <Tab name=\"Nineth\">Nineth</Tab>\n <Tab name=\"Tenth\">Tenth</Tab>\n <Tab name=\"Eleventh\">Eleventh</Tab>\n <Tab name=\"Twelveth\">Twelveth</Tab>\n <Tab name=\"Thirteenth\">Thirteenth</Tab>\n <Tab name=\"Fourteenth\">Fourteenth</Tab>\n <Tab name=\"Fifteenth\">\n This tab should be active & visible on mount.\n </Tab>\n </Tabs>\n\n <Box bg=\"black10\" height={1000} />\n </>\n )\n}\n\nInitialAutoScroll.story = {\n parameters: { chromatic: { disable: true } },\n}\n"],"file":"Tabs.story.js"}
|
package/dist/helpers/color.d.ts
CHANGED
package/dist/helpers/color.js
CHANGED
|
@@ -14,7 +14,9 @@ var _Theme = require("../Theme");
|
|
|
14
14
|
* @deprecated use component `color` or `borderColor` props, or `themeGet('colors.colorName')`
|
|
15
15
|
*/
|
|
16
16
|
var color = function color(colorKey) {
|
|
17
|
-
|
|
17
|
+
var _themeProps$colors$co;
|
|
18
|
+
|
|
19
|
+
return (_themeProps$colors$co = _Theme.themeProps.colors[colorKey]) !== null && _themeProps$colors$co !== void 0 ? _themeProps$colors$co : colorKey;
|
|
18
20
|
};
|
|
19
21
|
|
|
20
22
|
exports.color = color;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/color.ts"],"names":["color","colorKey","themeProps","colors"],"mappings":";;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,QAAD;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/color.ts"],"names":["color","colorKey","themeProps","colors"],"mappings":";;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,QAAD;AAAA;;AAAA,kCACnBC,kBAAWC,MAAX,CAAkBF,QAAlB,CADmB,yEACYA,QADZ;AAAA,CAAd","sourcesContent":["import { Color, themeProps } from \"../Theme\"\n\n/**\n * A helper to easily access colors when not in a styled-components or\n * styled-systems context.\n *\n * @deprecated use component `color` or `borderColor` props, or `themeGet('colors.colorName')`\n */\nexport const color = (colorKey: Color | \"currentColor\") =>\n themeProps.colors[colorKey] ?? colorKey\n"],"file":"color.js"}
|
package/dist/svgs/Icon.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React, { FC } from "react";
|
|
|
2
2
|
import { PositionProps, SpaceProps } from "styled-system";
|
|
3
3
|
import { Color } from "../Theme";
|
|
4
4
|
export interface IconProps extends React.SVGProps<any>, SpaceProps, PositionProps {
|
|
5
|
-
fill?: Color;
|
|
5
|
+
fill?: Color | "currentColor";
|
|
6
6
|
title?: string;
|
|
7
7
|
}
|
|
8
8
|
/** Wrapper for icons to include space */
|
package/dist/svgs/Icon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/svgs/Icon.tsx"],"names":["iconMixin","space","position","Icon","styled","svg","defaultProps","fill","height","width","Path","props","Title","G","Circle","Rect"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAiBA,IAAMA,SAAS,GAAG,2BAAQC,mBAAR,EAAeC,sBAAf,CAAlB;AAEA;;AACO,IAAMC,IAAI,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,+BAEbL,SAFa,CAAV;;;AAKPG,IAAI,CAACG,YAAL,GAAoB;AAClBC,EAAAA,IAAI,EAAE,UADY;AAElBC,EAAAA,MAAM,EAAE,MAFU;AAGlBC,EAAAA,KAAK,EAAE;AAHW,CAApB;AAKA;;AACO,IAAMC,IAAuC,GAAG,SAA1CA,IAA0C,OAAkB;AAAA,MAAZC,KAAY;;AACvE,sBAAO,qCAAUA,KAAV,CAAP;AACD,CAFM;;;AAAMD,I;;AAIb;AACO,IAAME,KAAyC,GAAG,SAA5CA,KAA4C,QAAkB;AAAA,MAAZD,KAAY;;AACzE,sBAAO,sCAAWA,KAAX,CAAP;AACD,CAFM;;;AAAMC,K;;AAIb;AACO,IAAMC,CAAiC,GAAG,SAApCA,CAAoC,QAAkB;AAAA,MAAZF,KAAY;;AACjE,sBAAO,kCAAOA,KAAP,CAAP;AACD,CAFM;;;AAAME,C;;AAIb;AACO,IAAMC,MAA2C,GAAG,SAA9CA,MAA8C,QAAkB;AAAA,MAAZH,KAAY;;AAC3E,sBAAO,uCAAYA,KAAZ,CAAP;AACD,CAFM;;;AAAMG,M;;AAIb;AACO,IAAMC,IAAuC,GAAG,SAA1CA,IAA0C,QAAkB;AAAA,MAAZJ,KAAY;;AACvE,sBAAO,qCAAUA,KAAV,CAAP;AACD,CAFM;;;AAAMI,I","sourcesContent":["import React, { FC } from \"react\"\nimport styled from \"styled-components\"\nimport {\n compose,\n position,\n PositionProps,\n space,\n SpaceProps,\n} from \"styled-system\"\nimport { Color } from \"../Theme\"\n\nexport interface IconProps\n extends React.SVGProps<any>,\n SpaceProps,\n PositionProps {\n fill?: Color\n title?: string\n}\n\nconst iconMixin = compose(space, position)\n\n/** Wrapper for icons to include space */\nexport const Icon = styled.svg<IconProps>`\n position: relative;\n ${iconMixin}\n`\n\nIcon.defaultProps = {\n fill: \"black100\",\n height: \"18px\",\n width: \"18px\",\n}\n/** Compatibility component used to normalize paths between react dom and react native */\nexport const Path: FC<JSX.IntrinsicElements[\"path\"]> = ({ ...props }) => {\n return <path {...props} />\n}\n\n/** Compatibility component used to normalize titles between react dom and react native */\nexport const Title: FC<JSX.IntrinsicElements[\"title\"]> = ({ ...props }) => {\n return <title {...props} />\n}\n\n/** Compatibility component used to normalize svg groups between react dom and react native */\nexport const G: FC<JSX.IntrinsicElements[\"g\"]> = ({ ...props }) => {\n return <g {...props} />\n}\n\n/** Compatibility component used to normalize svg circles between react dom and react native */\nexport const Circle: FC<JSX.IntrinsicElements[\"circle\"]> = ({ ...props }) => {\n return <circle {...props} />\n}\n\n/** Compatibility component used to normalize svg rects between react dom and react native */\nexport const Rect: FC<JSX.IntrinsicElements[\"rect\"]> = ({ ...props }) => {\n return <rect {...props} />\n}\n"],"file":"Icon.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/svgs/Icon.tsx"],"names":["iconMixin","space","position","Icon","styled","svg","defaultProps","fill","height","width","Path","props","Title","G","Circle","Rect"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAiBA,IAAMA,SAAS,GAAG,2BAAQC,mBAAR,EAAeC,sBAAf,CAAlB;AAEA;;AACO,IAAMC,IAAI,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,+BAEbL,SAFa,CAAV;;;AAKPG,IAAI,CAACG,YAAL,GAAoB;AAClBC,EAAAA,IAAI,EAAE,UADY;AAElBC,EAAAA,MAAM,EAAE,MAFU;AAGlBC,EAAAA,KAAK,EAAE;AAHW,CAApB;AAKA;;AACO,IAAMC,IAAuC,GAAG,SAA1CA,IAA0C,OAAkB;AAAA,MAAZC,KAAY;;AACvE,sBAAO,qCAAUA,KAAV,CAAP;AACD,CAFM;;;AAAMD,I;;AAIb;AACO,IAAME,KAAyC,GAAG,SAA5CA,KAA4C,QAAkB;AAAA,MAAZD,KAAY;;AACzE,sBAAO,sCAAWA,KAAX,CAAP;AACD,CAFM;;;AAAMC,K;;AAIb;AACO,IAAMC,CAAiC,GAAG,SAApCA,CAAoC,QAAkB;AAAA,MAAZF,KAAY;;AACjE,sBAAO,kCAAOA,KAAP,CAAP;AACD,CAFM;;;AAAME,C;;AAIb;AACO,IAAMC,MAA2C,GAAG,SAA9CA,MAA8C,QAAkB;AAAA,MAAZH,KAAY;;AAC3E,sBAAO,uCAAYA,KAAZ,CAAP;AACD,CAFM;;;AAAMG,M;;AAIb;AACO,IAAMC,IAAuC,GAAG,SAA1CA,IAA0C,QAAkB;AAAA,MAAZJ,KAAY;;AACvE,sBAAO,qCAAUA,KAAV,CAAP;AACD,CAFM;;;AAAMI,I","sourcesContent":["import React, { FC } from \"react\"\nimport styled from \"styled-components\"\nimport {\n compose,\n position,\n PositionProps,\n space,\n SpaceProps,\n} from \"styled-system\"\nimport { Color } from \"../Theme\"\n\nexport interface IconProps\n extends React.SVGProps<any>,\n SpaceProps,\n PositionProps {\n fill?: Color | \"currentColor\"\n title?: string\n}\n\nconst iconMixin = compose(space, position)\n\n/** Wrapper for icons to include space */\nexport const Icon = styled.svg<IconProps>`\n position: relative;\n ${iconMixin}\n`\n\nIcon.defaultProps = {\n fill: \"black100\",\n height: \"18px\",\n width: \"18px\",\n}\n/** Compatibility component used to normalize paths between react dom and react native */\nexport const Path: FC<JSX.IntrinsicElements[\"path\"]> = ({ ...props }) => {\n return <path {...props} />\n}\n\n/** Compatibility component used to normalize titles between react dom and react native */\nexport const Title: FC<JSX.IntrinsicElements[\"title\"]> = ({ ...props }) => {\n return <title {...props} />\n}\n\n/** Compatibility component used to normalize svg groups between react dom and react native */\nexport const G: FC<JSX.IntrinsicElements[\"g\"]> = ({ ...props }) => {\n return <g {...props} />\n}\n\n/** Compatibility component used to normalize svg circles between react dom and react native */\nexport const Circle: FC<JSX.IntrinsicElements[\"circle\"]> = ({ ...props }) => {\n return <circle {...props} />\n}\n\n/** Compatibility component used to normalize svg rects between react dom and react native */\nexport const Rect: FC<JSX.IntrinsicElements[\"rect\"]> = ({ ...props }) => {\n return <rect {...props} />\n}\n"],"file":"Icon.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artsy/palette",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.7.0",
|
|
4
4
|
"description": "Design system library for react components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -175,5 +175,5 @@
|
|
|
175
175
|
"<rootDir>/www/"
|
|
176
176
|
]
|
|
177
177
|
},
|
|
178
|
-
"gitHead": "
|
|
178
|
+
"gitHead": "66385b473665b7e92a4bde7233c94eb462d13595"
|
|
179
179
|
}
|