@razorpay/blade 11.17.1 → 11.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/ActionList/ActionListItem.js +2 -1
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/Avatar/Avatar.native.js +7 -0
- package/build/lib/native/components/Avatar/Avatar.native.js.map +1 -0
- package/build/lib/native/components/Avatar/AvatarGroup.native.js +7 -0
- package/build/lib/native/components/Avatar/AvatarGroup.native.js.map +1 -0
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js +1 -1
- package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/native/components/Dropdown/dropdownUtils.js +1 -1
- package/build/lib/native/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js +34 -0
- package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -0
- package/build/lib/native/components/ProgressBar/ProgressBar.js +1 -1
- package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/native/components/index.js +3 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/tokens/theme/bladeTheme.js +1 -1
- package/build/lib/native/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +3 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/Avatar/Avatar.web.js +125 -0
- package/build/lib/web/development/components/Avatar/Avatar.web.js.map +1 -0
- package/build/lib/web/development/components/Avatar/AvatarButton.js +86 -0
- package/build/lib/web/development/components/Avatar/AvatarButton.js.map +1 -0
- package/build/lib/web/development/components/Avatar/AvatarGroup.web.js +114 -0
- package/build/lib/web/development/components/Avatar/AvatarGroup.web.js.map +1 -0
- package/build/lib/web/development/components/Avatar/AvatarGroupContext.js +11 -0
- package/build/lib/web/development/components/Avatar/AvatarGroupContext.js.map +1 -0
- package/build/lib/web/development/components/Avatar/StyledAvatar.js +30 -0
- package/build/lib/web/development/components/Avatar/StyledAvatar.js.map +1 -0
- package/build/lib/web/development/components/Avatar/StyledAvatarButton.js +48 -0
- package/build/lib/web/development/components/Avatar/StyledAvatarButton.js.map +1 -0
- package/build/lib/web/development/components/Avatar/StyledAvatarGroup.js +24 -0
- package/build/lib/web/development/components/Avatar/StyledAvatarGroup.js.map +1 -0
- package/build/lib/web/development/components/Avatar/avatarTokens.js +49 -0
- package/build/lib/web/development/components/Avatar/avatarTokens.js.map +1 -0
- package/build/lib/web/development/components/Avatar/index.js +3 -0
- package/build/lib/web/development/components/Avatar/index.js.map +1 -0
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js +2 -16
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +2 -1
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/dropdownUtils.js +1 -1
- package/build/lib/web/development/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +180 -0
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -0
- package/build/lib/web/development/components/Input/SearchInput/index.js +2 -0
- package/build/lib/web/development/components/Input/SearchInput/index.js.map +1 -0
- package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js +5 -3
- package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js +1 -1
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/development/components/index.js +5 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/tokens/global/size.js +2 -0
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/tokens/theme/bladeTheme.js +6 -6
- package/build/lib/web/development/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js +3 -0
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +3 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/Avatar/Avatar.web.js +125 -0
- package/build/lib/web/production/components/Avatar/Avatar.web.js.map +1 -0
- package/build/lib/web/production/components/Avatar/AvatarButton.js +86 -0
- package/build/lib/web/production/components/Avatar/AvatarButton.js.map +1 -0
- package/build/lib/web/production/components/Avatar/AvatarGroup.web.js +114 -0
- package/build/lib/web/production/components/Avatar/AvatarGroup.web.js.map +1 -0
- package/build/lib/web/production/components/Avatar/AvatarGroupContext.js +11 -0
- package/build/lib/web/production/components/Avatar/AvatarGroupContext.js.map +1 -0
- package/build/lib/web/production/components/Avatar/StyledAvatar.js +30 -0
- package/build/lib/web/production/components/Avatar/StyledAvatar.js.map +1 -0
- package/build/lib/web/production/components/Avatar/StyledAvatarButton.js +48 -0
- package/build/lib/web/production/components/Avatar/StyledAvatarButton.js.map +1 -0
- package/build/lib/web/production/components/Avatar/StyledAvatarGroup.js +24 -0
- package/build/lib/web/production/components/Avatar/StyledAvatarGroup.js.map +1 -0
- package/build/lib/web/production/components/Avatar/avatarTokens.js +49 -0
- package/build/lib/web/production/components/Avatar/avatarTokens.js.map +1 -0
- package/build/lib/web/production/components/Avatar/index.js +3 -0
- package/build/lib/web/production/components/Avatar/index.js.map +1 -0
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js +2 -16
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +2 -1
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/dropdownUtils.js +1 -1
- package/build/lib/web/production/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +180 -0
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -0
- package/build/lib/web/production/components/Input/SearchInput/index.js +2 -0
- package/build/lib/web/production/components/Input/SearchInput/index.js.map +1 -0
- package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js +5 -3
- package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js.map +1 -1
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js +1 -1
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/production/components/index.js +5 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/tokens/global/size.js +2 -0
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/tokens/theme/bladeTheme.js +6 -6
- package/build/lib/web/production/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js +3 -0
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/types/components/index.d.ts +328 -147
- package/build/types/components/index.native.d.ts +282 -147
- package/build/types/tokens/index.d.ts +2 -0
- package/build/types/tokens/index.native.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import 'react';
|
|
4
|
+
import { StyledAvatar } from './StyledAvatar.js';
|
|
5
|
+
import { useAvatarGroupContext } from './AvatarGroupContext.js';
|
|
6
|
+
import { AvatarButton } from './AvatarButton.js';
|
|
7
|
+
import '../Box/styledProps/index.js';
|
|
8
|
+
import '../../utils/metaAttribute/index.js';
|
|
9
|
+
import '../../utils/assignWithoutSideEffects/index.js';
|
|
10
|
+
import '../../utils/logger/index.js';
|
|
11
|
+
import '../Icons/index.js';
|
|
12
|
+
import { jsx } from 'react/jsx-runtime';
|
|
13
|
+
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
14
|
+
import UserIcon from '../Icons/UserIcon/UserIcon.js';
|
|
15
|
+
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
16
|
+
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
17
|
+
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
18
|
+
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
19
|
+
|
|
20
|
+
var _excluded = ["name", "color", "size", "variant", "icon", "href", "target", "rel", "src", "alt", "srcSet", "crossOrigin", "referrerPolicy", "testID"];
|
|
21
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
|
+
var getInitials = function getInitials(name) {
|
|
24
|
+
// Combine first and last name initials
|
|
25
|
+
var names = name.trim().toUpperCase().split(' ');
|
|
26
|
+
if (names.length === 1) {
|
|
27
|
+
return names[0].substring(0, 2);
|
|
28
|
+
}
|
|
29
|
+
return names[0][0] + names[names.length - 1][0];
|
|
30
|
+
};
|
|
31
|
+
var _Avatar = function _Avatar(_ref) {
|
|
32
|
+
var _groupProps$size;
|
|
33
|
+
var name = _ref.name,
|
|
34
|
+
_ref$color = _ref.color,
|
|
35
|
+
color = _ref$color === void 0 ? 'neutral' : _ref$color,
|
|
36
|
+
_ref$size = _ref.size,
|
|
37
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
38
|
+
_ref$variant = _ref.variant,
|
|
39
|
+
variant = _ref$variant === void 0 ? 'circle' : _ref$variant,
|
|
40
|
+
icon = _ref.icon,
|
|
41
|
+
href = _ref.href,
|
|
42
|
+
target = _ref.target,
|
|
43
|
+
rel = _ref.rel,
|
|
44
|
+
src = _ref.src,
|
|
45
|
+
alt = _ref.alt,
|
|
46
|
+
srcSet = _ref.srcSet,
|
|
47
|
+
crossOrigin = _ref.crossOrigin,
|
|
48
|
+
referrerPolicy = _ref.referrerPolicy,
|
|
49
|
+
testID = _ref.testID,
|
|
50
|
+
styledProps = _objectWithoutProperties(_ref, _excluded);
|
|
51
|
+
if (true) {
|
|
52
|
+
if (src && !alt && !name) {
|
|
53
|
+
throwBladeError({
|
|
54
|
+
moduleName: 'Avatar',
|
|
55
|
+
message: '"alt" or "name" prop is required when the "src" prop is provided.'
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
var groupProps = useAvatarGroupContext();
|
|
60
|
+
var avatarSize = (_groupProps$size = groupProps === null || groupProps === void 0 ? void 0 : groupProps.size) !== null && _groupProps$size !== void 0 ? _groupProps$size : size;
|
|
61
|
+
var commonButtonProps = {
|
|
62
|
+
variant: variant,
|
|
63
|
+
color: color,
|
|
64
|
+
size: avatarSize,
|
|
65
|
+
href: href,
|
|
66
|
+
target: target,
|
|
67
|
+
rel: rel
|
|
68
|
+
};
|
|
69
|
+
var getChildrenToRender = function getChildrenToRender() {
|
|
70
|
+
if (src) {
|
|
71
|
+
return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({}, commonButtonProps), {}, {
|
|
72
|
+
imgProps: {
|
|
73
|
+
src: src,
|
|
74
|
+
alt: alt !== null && alt !== void 0 ? alt : name,
|
|
75
|
+
srcSet: srcSet,
|
|
76
|
+
crossOrigin: crossOrigin,
|
|
77
|
+
referrerPolicy: referrerPolicy
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
if (name && !src) {
|
|
82
|
+
return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({}, commonButtonProps), {}, {
|
|
83
|
+
children: getInitials(name)
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({}, commonButtonProps), {}, {
|
|
87
|
+
icon: icon !== null && icon !== void 0 ? icon : UserIcon
|
|
88
|
+
}));
|
|
89
|
+
};
|
|
90
|
+
return /*#__PURE__*/jsx(StyledAvatar, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
91
|
+
name: MetaConstants.Avatar,
|
|
92
|
+
testID: testID
|
|
93
|
+
})), getStyledProps(styledProps)), {}, {
|
|
94
|
+
backgroundColor: "surface.background.gray.intense",
|
|
95
|
+
variant: variant,
|
|
96
|
+
size: avatarSize,
|
|
97
|
+
children: getChildrenToRender()
|
|
98
|
+
}));
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* ### Avatar Component
|
|
103
|
+
*
|
|
104
|
+
* An avatar component is a standardized visual representation of a user or entity.
|
|
105
|
+
*
|
|
106
|
+
* ---
|
|
107
|
+
*
|
|
108
|
+
* #### Usage
|
|
109
|
+
*
|
|
110
|
+
* ```jsx
|
|
111
|
+
<Avatar name="Nitin Kumar" src="https://avatars.githubusercontent.com/u/46647141?v=4" />
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* ---
|
|
115
|
+
*
|
|
116
|
+
* Checkout {@link https://blade.razorpay.com/?path=/docs/components-avatar-avatar Avatar Documentation}
|
|
117
|
+
*
|
|
118
|
+
*/
|
|
119
|
+
var Avatar = /*#__PURE__*/assignWithoutSideEffects(_Avatar, {
|
|
120
|
+
displayName: 'Avatar',
|
|
121
|
+
componentId: 'Avatar'
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
export { Avatar };
|
|
125
|
+
//# sourceMappingURL=Avatar.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.web.js","sources":["../../../../../../src/components/Avatar/Avatar.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\nimport type { AvatarProps } from './types';\nimport { StyledAvatar } from './StyledAvatar';\nimport { useAvatarGroupContext } from './AvatarGroupContext';\nimport { AvatarButton } from './AvatarButton';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { UserIcon } from '~components/Icons';\n\nconst getInitials = (name: string): string => {\n // Combine first and last name initials\n const names = name.trim().toUpperCase().split(' ');\n\n if (names.length === 1) {\n return names[0].substring(0, 2);\n }\n return names[0][0] + names[names.length - 1][0];\n};\n\nconst _Avatar = ({\n name,\n color = 'neutral',\n size = 'medium',\n variant = 'circle',\n icon,\n href,\n target,\n rel,\n // Image Props\n src,\n alt,\n srcSet,\n crossOrigin,\n referrerPolicy,\n testID,\n ...styledProps\n}: AvatarProps): ReactElement => {\n if (__DEV__) {\n if (src && !alt && !name) {\n throwBladeError({\n moduleName: 'Avatar',\n message: '\"alt\" or \"name\" prop is required when the \"src\" prop is provided.',\n });\n }\n }\n\n const groupProps = useAvatarGroupContext();\n const avatarSize = groupProps?.size ?? size;\n\n const commonButtonProps = {\n variant,\n color,\n size: avatarSize,\n href,\n target,\n rel,\n };\n\n const getChildrenToRender = (): React.ReactElement => {\n if (src) {\n return (\n <AvatarButton\n {...commonButtonProps}\n imgProps={{\n src,\n alt: alt ?? name,\n srcSet,\n crossOrigin,\n referrerPolicy,\n }}\n />\n );\n }\n\n if (name && !src) {\n return <AvatarButton {...commonButtonProps}>{getInitials(name)}</AvatarButton>;\n }\n\n return <AvatarButton {...commonButtonProps} icon={icon ?? UserIcon} />;\n };\n\n return (\n <StyledAvatar\n {...metaAttribute({ name: MetaConstants.Avatar, testID })}\n {...getStyledProps(styledProps)}\n backgroundColor=\"surface.background.gray.intense\"\n variant={variant}\n size={avatarSize}\n >\n {getChildrenToRender()}\n </StyledAvatar>\n );\n};\n\n/**\n * ### Avatar Component\n * \n * An avatar component is a standardized visual representation of a user or entity.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n <Avatar name=\"Nitin Kumar\" src=\"https://avatars.githubusercontent.com/u/46647141?v=4\" /> \n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-avatar-avatar Avatar Documentation}\n * \n */\nconst Avatar = assignWithoutSideEffects(_Avatar, {\n displayName: 'Avatar',\n componentId: 'Avatar',\n});\n\nexport { Avatar };\nexport type { AvatarProps };\n"],"names":["getInitials","name","names","trim","toUpperCase","split","length","substring","_Avatar","_ref","_groupProps$size","_ref$color","color","_ref$size","size","_ref$variant","variant","icon","href","target","rel","src","alt","srcSet","crossOrigin","referrerPolicy","testID","styledProps","_objectWithoutProperties","_excluded","throwBladeError","moduleName","message","groupProps","useAvatarGroupContext","avatarSize","commonButtonProps","getChildrenToRender","_jsx","AvatarButton","_objectSpread","imgProps","children","UserIcon","StyledAvatar","metaAttribute","MetaConstants","Avatar","getStyledProps","backgroundColor","assignWithoutSideEffects","displayName","componentId"],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import 'react';
|
|
3
|
+
import { StyledAvatarButton } from './StyledAvatarButton.js';
|
|
4
|
+
import { avatarIconSizeTokens, avatarTextSizeMapping } from './avatarTokens.js';
|
|
5
|
+
import '../Box/BaseBox/index.js';
|
|
6
|
+
import '../../utils/makeAccessible/index.js';
|
|
7
|
+
import '../Typography/index.js';
|
|
8
|
+
import { getTextColorToken } from '../Button/BaseButton/BaseButton.js';
|
|
9
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
|
+
import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
|
|
11
|
+
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
12
|
+
import { Heading } from '../Typography/Heading/Heading.js';
|
|
13
|
+
import { Text } from '../Typography/Text/Text.js';
|
|
14
|
+
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
var AvatarButton = function AvatarButton(_ref) {
|
|
18
|
+
var href = _ref.href,
|
|
19
|
+
target = _ref.target,
|
|
20
|
+
rel = _ref.rel,
|
|
21
|
+
_ref$variant = _ref.variant,
|
|
22
|
+
variant = _ref$variant === void 0 ? 'circle' : _ref$variant,
|
|
23
|
+
_ref$color = _ref.color,
|
|
24
|
+
color = _ref$color === void 0 ? 'neutral' : _ref$color,
|
|
25
|
+
_ref$size = _ref.size,
|
|
26
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
27
|
+
Icon = _ref.icon,
|
|
28
|
+
imgProps = _ref.imgProps,
|
|
29
|
+
children = _ref.children;
|
|
30
|
+
var isLink = Boolean(href);
|
|
31
|
+
var defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;
|
|
32
|
+
var iconColor = getTextColorToken({
|
|
33
|
+
property: 'icon',
|
|
34
|
+
variant: 'secondary',
|
|
35
|
+
color: color,
|
|
36
|
+
state: 'default'
|
|
37
|
+
});
|
|
38
|
+
var textColor = getTextColorToken({
|
|
39
|
+
property: 'text',
|
|
40
|
+
variant: 'secondary',
|
|
41
|
+
color: color,
|
|
42
|
+
state: 'default'
|
|
43
|
+
});
|
|
44
|
+
return /*#__PURE__*/jsx(StyledAvatarButton, {
|
|
45
|
+
as: href ? 'a' : 'button',
|
|
46
|
+
size: size,
|
|
47
|
+
color: color,
|
|
48
|
+
href: href,
|
|
49
|
+
variant: variant,
|
|
50
|
+
target: target,
|
|
51
|
+
rel: rel !== null && rel !== void 0 ? rel : defaultRel,
|
|
52
|
+
accessibilityProps: _objectSpread({}, makeAccessible({
|
|
53
|
+
role: isLink ? 'link' : 'button'
|
|
54
|
+
})),
|
|
55
|
+
children: /*#__PURE__*/jsxs(BaseBox, {
|
|
56
|
+
display: "flex",
|
|
57
|
+
flexDirection: "row",
|
|
58
|
+
alignItems: "center",
|
|
59
|
+
justifyContent: "center",
|
|
60
|
+
zIndex: 1,
|
|
61
|
+
height: "100%",
|
|
62
|
+
children: [Icon ? /*#__PURE__*/jsx(BaseBox, {
|
|
63
|
+
display: "flex",
|
|
64
|
+
justifyContent: "center",
|
|
65
|
+
alignItems: "center",
|
|
66
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
67
|
+
size: avatarIconSizeTokens[size],
|
|
68
|
+
color: iconColor
|
|
69
|
+
})
|
|
70
|
+
}) : null, imgProps !== null && imgProps !== void 0 && imgProps.src ? /*#__PURE__*/jsx("img", _objectSpread({}, imgProps)) : null, size === 'xlarge' ? /*#__PURE__*/jsx(Heading, {
|
|
71
|
+
size: avatarTextSizeMapping[size],
|
|
72
|
+
weight: "semibold",
|
|
73
|
+
color: textColor,
|
|
74
|
+
children: children
|
|
75
|
+
}) : /*#__PURE__*/jsx(Text, {
|
|
76
|
+
size: avatarTextSizeMapping[size],
|
|
77
|
+
weight: "semibold",
|
|
78
|
+
color: textColor,
|
|
79
|
+
children: children
|
|
80
|
+
})]
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { AvatarButton };
|
|
86
|
+
//# sourceMappingURL=AvatarButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarButton.js","sources":["../../../../../../src/components/Avatar/AvatarButton.tsx"],"sourcesContent":["import React from 'react';\nimport { StyledAvatarButton } from './StyledAvatarButton';\nimport type { AvatarButtonProps } from './types';\nimport { avatarTextSizeMapping, avatarIconSizeTokens } from './avatarTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { Heading, Text } from '~components/Typography';\nimport { getTextColorToken } from '~components/Button/BaseButton/BaseButton';\nimport type { IconColor } from '~components/Button/BaseButton/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\nconst AvatarButton = ({\n href,\n target,\n rel,\n variant = 'circle',\n color = 'neutral',\n size = 'medium',\n icon: Icon,\n imgProps,\n children,\n}: AvatarButtonProps): React.ReactElement => {\n const isLink = Boolean(href);\n const defaultRel = target === '_blank' ? 'noreferrer noopener' : undefined;\n const iconColor = getTextColorToken({\n property: 'icon',\n variant: 'secondary',\n color,\n state: 'default',\n }) as IconColor;\n const textColor = getTextColorToken({\n property: 'text',\n variant: 'secondary',\n color,\n state: 'default',\n }) as BaseTextProps['color'];\n\n return (\n <StyledAvatarButton\n as={href ? 'a' : 'button'}\n size={size}\n color={color}\n href={href}\n variant={variant}\n target={target}\n rel={rel ?? defaultRel}\n accessibilityProps={{\n ...makeAccessible({\n role: isLink ? 'link' : 'button',\n }),\n }}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n zIndex={1}\n height=\"100%\"\n >\n {Icon ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={avatarIconSizeTokens[size]} color={iconColor} />\n </BaseBox>\n ) : null}\n\n {/* eslint-disable-next-line jsx-a11y/alt-text -- alt text is provided in imgProps */}\n {imgProps?.src ? <img {...imgProps} /> : null}\n\n {size === 'xlarge' ? (\n <Heading size={avatarTextSizeMapping[size]} weight=\"semibold\" color={textColor}>\n {children}\n </Heading>\n ) : (\n <Text size={avatarTextSizeMapping[size]} weight=\"semibold\" color={textColor}>\n {children}\n </Text>\n )}\n </BaseBox>\n </StyledAvatarButton>\n );\n};\n\nexport { AvatarButton };\n"],"names":["AvatarButton","_ref","href","target","rel","_ref$variant","variant","_ref$color","color","_ref$size","size","Icon","icon","imgProps","children","isLink","Boolean","defaultRel","undefined","iconColor","getTextColorToken","property","state","textColor","_jsx","StyledAvatarButton","as","accessibilityProps","_objectSpread","makeAccessible","role","_jsxs","BaseBox","display","flexDirection","alignItems","justifyContent","zIndex","height","avatarIconSizeTokens","src","Heading","avatarTextSizeMapping","weight","Text"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { StyledAvatarGroup } from './StyledAvatarGroup.js';
|
|
5
|
+
import { StyledAvatar } from './StyledAvatar.js';
|
|
6
|
+
import { AvatarGroupProvider } from './AvatarGroupContext.js';
|
|
7
|
+
import { AvatarButton } from './AvatarButton.js';
|
|
8
|
+
import '../Box/styledProps/index.js';
|
|
9
|
+
import '../../utils/metaAttribute/index.js';
|
|
10
|
+
import '../../utils/assignWithoutSideEffects/index.js';
|
|
11
|
+
import '../../utils/logger/index.js';
|
|
12
|
+
import '../../utils/isValidAllowedChildren/index.js';
|
|
13
|
+
import { jsx } from 'react/jsx-runtime';
|
|
14
|
+
import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
|
|
15
|
+
import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
|
|
16
|
+
import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
|
|
17
|
+
import { isValidAllowedChildren } from '../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
|
|
18
|
+
import { throwBladeError } from '../../utils/logger/logger.js';
|
|
19
|
+
import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
20
|
+
|
|
21
|
+
var _excluded = ["children", "size", "maxCount", "testID"];
|
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
+
var _AvatarGroup = function _AvatarGroup(_ref) {
|
|
25
|
+
var children = _ref.children,
|
|
26
|
+
_ref$size = _ref.size,
|
|
27
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
28
|
+
maxCount = _ref.maxCount,
|
|
29
|
+
testID = _ref.testID,
|
|
30
|
+
styledProps = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
var contextValue = {
|
|
32
|
+
size: size
|
|
33
|
+
};
|
|
34
|
+
var childrenCount = React__default.Children.count(children);
|
|
35
|
+
return /*#__PURE__*/jsx(AvatarGroupProvider, {
|
|
36
|
+
value: contextValue,
|
|
37
|
+
children: /*#__PURE__*/jsx(StyledAvatarGroup, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
|
|
38
|
+
name: MetaConstants.AvatarGroup,
|
|
39
|
+
testID: testID
|
|
40
|
+
})), getStyledProps(styledProps)), {}, {
|
|
41
|
+
role: "group",
|
|
42
|
+
size: size,
|
|
43
|
+
children: React__default.Children.map(children, function (child, index) {
|
|
44
|
+
if (true) {
|
|
45
|
+
// throw error if child is not an Avatar
|
|
46
|
+
if (!isValidAllowedChildren(child, 'Avatar')) {
|
|
47
|
+
throwBladeError({
|
|
48
|
+
moduleName: 'AvatarGroup',
|
|
49
|
+
message: "Only \"Avatar\" component is allowed as a children."
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (maxCount && maxCount <= childrenCount) {
|
|
54
|
+
if (index === maxCount) {
|
|
55
|
+
return /*#__PURE__*/jsx(StyledAvatar, _objectSpread(_objectSpread({}, metaAttribute({
|
|
56
|
+
name: MetaConstants.Avatar,
|
|
57
|
+
testID: testID
|
|
58
|
+
})), {}, {
|
|
59
|
+
backgroundColor: "surface.background.gray.intense",
|
|
60
|
+
size: size,
|
|
61
|
+
variant: "circle",
|
|
62
|
+
children: /*#__PURE__*/jsx(AvatarButton, {
|
|
63
|
+
variant: "circle",
|
|
64
|
+
color: "neutral",
|
|
65
|
+
size: size,
|
|
66
|
+
children: "+".concat(String(childrenCount - maxCount))
|
|
67
|
+
})
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
if (index > maxCount) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return child;
|
|
75
|
+
})
|
|
76
|
+
}))
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* ### AvatarGroup Component
|
|
82
|
+
*
|
|
83
|
+
* The AvatarGroup component is used to group Avatars together.
|
|
84
|
+
*
|
|
85
|
+
* ---
|
|
86
|
+
*
|
|
87
|
+
* #### Usage
|
|
88
|
+
*
|
|
89
|
+
* ```jsx
|
|
90
|
+
const App = () => {
|
|
91
|
+
return (
|
|
92
|
+
<AvatarGroup>
|
|
93
|
+
<Avatar name="Kamlesh Chandnani" />
|
|
94
|
+
<Avatar name="Rama Krushna Behera" />
|
|
95
|
+
<Avatar name="Chaitanya Vikas Deorukhkar" />
|
|
96
|
+
<Avatar name="Anurag Hazra" />
|
|
97
|
+
<Avatar name="Nitin Kumar" />
|
|
98
|
+
</AvatarGroup>
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* ---
|
|
104
|
+
*
|
|
105
|
+
* Checkout {@link https://blade.razorpay.com/?path=/docs/components-avatar-avatargroup AvatarGroup Documentation}
|
|
106
|
+
*
|
|
107
|
+
*/
|
|
108
|
+
var AvatarGroup = /*#__PURE__*/assignWithoutSideEffects(_AvatarGroup, {
|
|
109
|
+
displayName: 'AvatarGroup',
|
|
110
|
+
componentId: 'AvatarGroup'
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
export { AvatarGroup };
|
|
114
|
+
//# sourceMappingURL=AvatarGroup.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarGroup.web.js","sources":["../../../../../../src/components/Avatar/AvatarGroup.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { AvatarGroupProps, AvatarGroupContextType } from './types';\nimport { StyledAvatarGroup } from './StyledAvatarGroup';\nimport { StyledAvatar } from './StyledAvatar';\nimport { AvatarGroupProvider } from './AvatarGroupContext';\nimport { AvatarButton } from './AvatarButton';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\n\nconst _AvatarGroup = ({\n children,\n size = 'medium',\n maxCount,\n testID,\n ...styledProps\n}: AvatarGroupProps): React.ReactElement => {\n const contextValue: AvatarGroupContextType = {\n size,\n };\n const childrenCount = React.Children.count(children);\n\n return (\n <AvatarGroupProvider value={contextValue}>\n <StyledAvatarGroup\n {...metaAttribute({ name: MetaConstants.AvatarGroup, testID })}\n {...getStyledProps(styledProps)}\n role=\"group\"\n size={size}\n >\n {React.Children.map(children, (child, index) => {\n if (__DEV__) {\n // throw error if child is not an Avatar\n if (!isValidAllowedChildren(child, 'Avatar')) {\n throwBladeError({\n moduleName: 'AvatarGroup',\n message: `Only \"Avatar\" component is allowed as a children.`,\n });\n }\n }\n\n if (maxCount && maxCount <= childrenCount) {\n if (index === maxCount) {\n return (\n <StyledAvatar\n {...metaAttribute({ name: MetaConstants.Avatar, testID })}\n backgroundColor=\"surface.background.gray.intense\"\n size={size}\n variant=\"circle\"\n >\n <AvatarButton variant=\"circle\" color=\"neutral\" size={size}>\n {`+${String(childrenCount - maxCount)}`}\n </AvatarButton>\n </StyledAvatar>\n );\n }\n\n if (index > maxCount) {\n return null;\n }\n }\n\n return child;\n })}\n </StyledAvatarGroup>\n </AvatarGroupProvider>\n );\n};\n\n/**\n * ### AvatarGroup Component\n * \n * The AvatarGroup component is used to group Avatars together.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const App = () => {\n return (\n <AvatarGroup>\n <Avatar name=\"Kamlesh Chandnani\" />\n <Avatar name=\"Rama Krushna Behera\" />\n <Avatar name=\"Chaitanya Vikas Deorukhkar\" />\n <Avatar name=\"Anurag Hazra\" />\n <Avatar name=\"Nitin Kumar\" />\n </AvatarGroup>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-avatar-avatargroup AvatarGroup Documentation}\n * \n */\nconst AvatarGroup = assignWithoutSideEffects(_AvatarGroup, {\n displayName: 'AvatarGroup',\n componentId: 'AvatarGroup',\n});\n\nexport { AvatarGroup };\nexport type { AvatarGroupProps };\n"],"names":["_AvatarGroup","_ref","children","_ref$size","size","maxCount","testID","styledProps","_objectWithoutProperties","_excluded","contextValue","childrenCount","React","Children","count","_jsx","AvatarGroupProvider","value","StyledAvatarGroup","_objectSpread","metaAttribute","name","MetaConstants","AvatarGroup","getStyledProps","role","map","child","index","isValidAllowedChildren","throwBladeError","moduleName","message","StyledAvatar","Avatar","backgroundColor","variant","AvatarButton","color","concat","String","assignWithoutSideEffects","displayName","componentId"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
|
|
3
|
+
var AvatarGroupContext = /*#__PURE__*/React__default.createContext({});
|
|
4
|
+
var AvatarGroupProvider = AvatarGroupContext.Provider;
|
|
5
|
+
var useAvatarGroupContext = function useAvatarGroupContext() {
|
|
6
|
+
var context = React__default.useContext(AvatarGroupContext);
|
|
7
|
+
return context;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { AvatarGroupProvider, useAvatarGroupContext };
|
|
11
|
+
//# sourceMappingURL=AvatarGroupContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarGroupContext.js","sources":["../../../../../../src/components/Avatar/AvatarGroupContext.tsx"],"sourcesContent":["import React from 'react';\nimport type { AvatarGroupContextType } from './types';\n\nconst AvatarGroupContext = React.createContext<AvatarGroupContextType>({});\nconst AvatarGroupProvider = AvatarGroupContext.Provider;\n\nconst useAvatarGroupContext = (): AvatarGroupContextType => {\n const context = React.useContext(AvatarGroupContext);\n return context;\n};\n\nexport { useAvatarGroupContext, AvatarGroupProvider };\n"],"names":["AvatarGroupContext","React","createContext","AvatarGroupProvider","Provider","useAvatarGroupContext","context","useContext"],"mappings":";;AAGA,IAAMA,kBAAkB,gBAAGC,cAAK,CAACC,aAAa,CAAyB,EAAE,CAAC,CAAA;AAC1E,IAAMC,mBAAmB,GAAGH,kBAAkB,CAACI,SAAQ;AAEvD,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAiC;AAC1D,EAAA,IAAMC,OAAO,GAAGL,cAAK,CAACM,UAAU,CAACP,kBAAkB,CAAC,CAAA;AACpD,EAAA,OAAOM,OAAO,CAAA;AAChB;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
import { avatarSizeTokens, avatarBorderRadiusTokens } from './avatarTokens.js';
|
|
3
|
+
import '../Box/BaseBox/index.js';
|
|
4
|
+
import '../../utils/index.js';
|
|
5
|
+
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
6
|
+
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
7
|
+
import { makeBorderSize } from '../../utils/makeBorderSize/makeBorderSize.js';
|
|
8
|
+
|
|
9
|
+
var StyledAvatar = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
10
|
+
displayName: "StyledAvatar",
|
|
11
|
+
componentId: "sc-127ewkg-0"
|
|
12
|
+
})(function (_ref) {
|
|
13
|
+
var theme = _ref.theme,
|
|
14
|
+
variant = _ref.variant,
|
|
15
|
+
size = _ref.size;
|
|
16
|
+
return {
|
|
17
|
+
display: 'flex',
|
|
18
|
+
width: makeSize(avatarSizeTokens[size]),
|
|
19
|
+
height: makeSize(avatarSizeTokens[size]),
|
|
20
|
+
borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),
|
|
21
|
+
outline: "".concat(makeBorderSize(theme.border.width.thinner), " solid ").concat(theme.colors.surface.border.gray.subtle),
|
|
22
|
+
'&:hover': {
|
|
23
|
+
outline: "".concat(makeBorderSize(theme.border.width.thick), " solid ").concat(theme.colors.surface.border.gray.muted),
|
|
24
|
+
borderColor: theme.colors.surface.border.gray.muted
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export { StyledAvatar };
|
|
30
|
+
//# sourceMappingURL=StyledAvatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledAvatar.js","sources":["../../../../../../src/components/Avatar/StyledAvatar.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { StyledAvatarProps } from './types';\nimport { avatarSizeTokens, avatarBorderRadiusTokens } from './avatarTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeBorderSize, makeSize } from '~utils';\n\nconst StyledAvatar = styled(BaseBox)<StyledAvatarProps>(({ theme, variant, size }) => {\n return {\n display: 'flex',\n width: makeSize(avatarSizeTokens[size]),\n height: makeSize(avatarSizeTokens[size]),\n borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),\n outline: `${makeBorderSize(theme.border.width.thinner)} solid ${\n theme.colors.surface.border.gray.subtle\n }`,\n\n '&:hover': {\n outline: `${makeBorderSize(theme.border.width.thick)} solid ${\n theme.colors.surface.border.gray.muted\n }`,\n borderColor: theme.colors.surface.border.gray.muted,\n },\n };\n});\n\nexport { StyledAvatar };\n"],"names":["StyledAvatar","styled","BaseBox","withConfig","displayName","componentId","_ref","theme","variant","size","display","width","makeSize","avatarSizeTokens","height","borderRadius","makeBorderSize","border","radius","avatarBorderRadiusTokens","outline","concat","thinner","colors","surface","gray","subtle","thick","muted","borderColor"],"mappings":";;;;;;;;AAMA,IAAMA,YAAY,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,cAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAAoB,CAAA,CAAA,UAAAC,IAAA,EAA8B;AAAA,EAAA,IAA3BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI,CAAA;EAC7E,OAAO;AACLC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,KAAK,EAAEC,QAAQ,CAACC,gBAAgB,CAACJ,IAAI,CAAC,CAAC;AACvCK,IAAAA,MAAM,EAAEF,QAAQ,CAACC,gBAAgB,CAACJ,IAAI,CAAC,CAAC;AACxCM,IAAAA,YAAY,EAAEC,cAAc,CAACT,KAAK,CAACU,MAAM,CAACC,MAAM,CAACC,wBAAwB,CAACX,OAAO,CAAC,CAAC,CAAC;IACpFY,OAAO,EAAA,EAAA,CAAAC,MAAA,CAAKL,cAAc,CAACT,KAAK,CAACU,MAAM,CAACN,KAAK,CAACW,OAAO,CAAC,EAAAD,SAAAA,CAAAA,CAAAA,MAAA,CACpDd,KAAK,CAACgB,MAAM,CAACC,OAAO,CAACP,MAAM,CAACQ,IAAI,CAACC,MAAM,CACvC;AAEF,IAAA,SAAS,EAAE;MACTN,OAAO,EAAA,EAAA,CAAAC,MAAA,CAAKL,cAAc,CAACT,KAAK,CAACU,MAAM,CAACN,KAAK,CAACgB,KAAK,CAAC,EAAAN,SAAAA,CAAAA,CAAAA,MAAA,CAClDd,KAAK,CAACgB,MAAM,CAACC,OAAO,CAACP,MAAM,CAACQ,IAAI,CAACG,KAAK,CACtC;MACFC,WAAW,EAAEtB,KAAK,CAACgB,MAAM,CAACC,OAAO,CAACP,MAAM,CAACQ,IAAI,CAACG,KAAAA;AAChD,KAAA;GACD,CAAA;AACH,CAAC;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { avatarSizeTokens, avatarBorderRadiusTokens, avatarColorTokens } from './avatarTokens.js';
|
|
4
|
+
import '../../utils/index.js';
|
|
5
|
+
import getIn from '../../utils/lodashButBetter/get.js';
|
|
6
|
+
import '../../utils/getFocusRingStyles/index.js';
|
|
7
|
+
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
8
|
+
import { makeBorderSize } from '../../utils/makeBorderSize/makeBorderSize.js';
|
|
9
|
+
import { getFocusRingStyles } from '../../utils/getFocusRingStyles/getFocusRingStyles.web.js';
|
|
10
|
+
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
var StyledAvatarButton = /*#__PURE__*/styled.button.withConfig({
|
|
14
|
+
displayName: "StyledAvatarButton",
|
|
15
|
+
componentId: "sc-1w6qflj-0"
|
|
16
|
+
})(function (_ref) {
|
|
17
|
+
var theme = _ref.theme,
|
|
18
|
+
_ref$size = _ref.size,
|
|
19
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
20
|
+
_ref$variant = _ref.variant,
|
|
21
|
+
variant = _ref$variant === void 0 ? 'circle' : _ref$variant,
|
|
22
|
+
_ref$color = _ref.color,
|
|
23
|
+
color = _ref$color === void 0 ? 'neutral' : _ref$color;
|
|
24
|
+
return {
|
|
25
|
+
textAlign: 'center',
|
|
26
|
+
textDecoration: 'none',
|
|
27
|
+
cursor: 'pointer',
|
|
28
|
+
minHeight: makeSize(avatarSizeTokens[size]),
|
|
29
|
+
height: makeSize(avatarSizeTokens[size]),
|
|
30
|
+
width: makeSize(avatarSizeTokens[size]),
|
|
31
|
+
border: 'none',
|
|
32
|
+
borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),
|
|
33
|
+
backgroundColor: getIn(theme.colors, avatarColorTokens.background[color]),
|
|
34
|
+
img: {
|
|
35
|
+
display: 'block',
|
|
36
|
+
height: avatarSizeTokens[size],
|
|
37
|
+
width: avatarSizeTokens[size],
|
|
38
|
+
borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),
|
|
39
|
+
objectFit: 'cover'
|
|
40
|
+
},
|
|
41
|
+
'&:focus-visible': _objectSpread({}, getFocusRingStyles({
|
|
42
|
+
theme: theme
|
|
43
|
+
}))
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export { StyledAvatarButton };
|
|
48
|
+
//# sourceMappingURL=StyledAvatarButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledAvatarButton.js","sources":["../../../../../../src/components/Avatar/StyledAvatarButton.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { AvatarButtonProps } from './types';\nimport { avatarSizeTokens, avatarColorTokens, avatarBorderRadiusTokens } from './avatarTokens';\nimport { makeBorderSize, makeSize } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\n\nconst StyledAvatarButton = styled.button<AvatarButtonProps>(\n ({ theme, size = 'medium', variant = 'circle', color = 'neutral' }) => {\n return {\n textAlign: 'center',\n textDecoration: 'none',\n cursor: 'pointer',\n minHeight: makeSize(avatarSizeTokens[size]),\n height: makeSize(avatarSizeTokens[size]),\n width: makeSize(avatarSizeTokens[size]),\n border: 'none',\n borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),\n backgroundColor: getIn(theme.colors, avatarColorTokens.background[color]),\n\n img: {\n display: 'block',\n height: avatarSizeTokens[size],\n width: avatarSizeTokens[size],\n borderRadius: makeBorderSize(theme.border.radius[avatarBorderRadiusTokens[variant]]),\n objectFit: 'cover',\n },\n\n '&:focus-visible': {\n ...getFocusRingStyles({ theme }),\n },\n };\n },\n);\n\nexport { StyledAvatarButton };\n"],"names":["StyledAvatarButton","styled","button","withConfig","displayName","componentId","_ref","theme","_ref$size","size","_ref$variant","variant","_ref$color","color","textAlign","textDecoration","cursor","minHeight","makeSize","avatarSizeTokens","height","width","border","borderRadius","makeBorderSize","radius","avatarBorderRadiusTokens","backgroundColor","getIn","colors","avatarColorTokens","background","img","display","objectFit","_objectSpread","getFocusRingStyles"],"mappings":";;;;;;;;;;;;AAOA,IAAMA,kBAAkB,gBAAGC,MAAM,CAACC,MAAM,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,oBAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CACtC,CAAA,CAAA,UAAAC,IAAA,EAAuE;AAAA,EAAA,IAApEC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,SAAA,GAAAF,IAAA,CAAEG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IAAAE,YAAA,GAAAJ,IAAA,CAAEK,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,YAAA;IAAAE,UAAA,GAAAN,IAAA,CAAEO,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA,CAAA;EAC9D,OAAO;AACLE,IAAAA,SAAS,EAAE,QAAQ;AACnBC,IAAAA,cAAc,EAAE,MAAM;AACtBC,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,SAAS,EAAEC,QAAQ,CAACC,gBAAgB,CAACV,IAAI,CAAC,CAAC;AAC3CW,IAAAA,MAAM,EAAEF,QAAQ,CAACC,gBAAgB,CAACV,IAAI,CAAC,CAAC;AACxCY,IAAAA,KAAK,EAAEH,QAAQ,CAACC,gBAAgB,CAACV,IAAI,CAAC,CAAC;AACvCa,IAAAA,MAAM,EAAE,MAAM;AACdC,IAAAA,YAAY,EAAEC,cAAc,CAACjB,KAAK,CAACe,MAAM,CAACG,MAAM,CAACC,wBAAwB,CAACf,OAAO,CAAC,CAAC,CAAC;AACpFgB,IAAAA,eAAe,EAAEC,KAAK,CAACrB,KAAK,CAACsB,MAAM,EAAEC,iBAAiB,CAACC,UAAU,CAAClB,KAAK,CAAC,CAAC;AAEzEmB,IAAAA,GAAG,EAAE;AACHC,MAAAA,OAAO,EAAE,OAAO;AAChBb,MAAAA,MAAM,EAAED,gBAAgB,CAACV,IAAI,CAAC;AAC9BY,MAAAA,KAAK,EAAEF,gBAAgB,CAACV,IAAI,CAAC;AAC7Bc,MAAAA,YAAY,EAAEC,cAAc,CAACjB,KAAK,CAACe,MAAM,CAACG,MAAM,CAACC,wBAAwB,CAACf,OAAO,CAAC,CAAC,CAAC;AACpFuB,MAAAA,SAAS,EAAE,OAAA;KACZ;AAED,IAAA,iBAAiB,EAAAC,aAAA,CACZC,EAAAA,EAAAA,kBAAkB,CAAC;AAAE7B,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAC,CAAC,CAAA;GAEnC,CAAA;AACH,CAAC;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { avatarSizeTokens } from './avatarTokens.js';
|
|
4
|
+
import '../Box/BaseBox/index.js';
|
|
5
|
+
import '../../utils/index.js';
|
|
6
|
+
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
7
|
+
import { makeSize } from '../../utils/makeSize/makeSize.js';
|
|
8
|
+
|
|
9
|
+
var StyledAvatarGroup = /*#__PURE__*/styled(BaseBox).withConfig({
|
|
10
|
+
displayName: "StyledAvatarGroup",
|
|
11
|
+
componentId: "sc-1fkrhuq-0"
|
|
12
|
+
})(function (_ref) {
|
|
13
|
+
var size = _ref.size;
|
|
14
|
+
return _defineProperty({
|
|
15
|
+
display: 'inline-flex',
|
|
16
|
+
flexDirection: 'row'
|
|
17
|
+
}, "> *:not(:first-child)", {
|
|
18
|
+
marginLeft: "-".concat(makeSize(avatarSizeTokens[size] / 2)),
|
|
19
|
+
zIndex: 2
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export { StyledAvatarGroup };
|
|
24
|
+
//# sourceMappingURL=StyledAvatarGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StyledAvatarGroup.js","sources":["../../../../../../src/components/Avatar/StyledAvatarGroup.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport type { AvatarGroupProps } from './types';\nimport { avatarSizeTokens } from './avatarTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeSize } from '~utils';\n\nconst StyledAvatarGroup = styled(BaseBox)<{ size: NonNullable<AvatarGroupProps['size']> }>(\n ({ size }) => {\n return {\n display: 'inline-flex',\n flexDirection: 'row',\n\n [`> *:not(:first-child)`]: {\n marginLeft: `-${makeSize(avatarSizeTokens[size] / 2)}`,\n zIndex: 2,\n },\n };\n },\n);\n\nexport { StyledAvatarGroup };\n"],"names":["StyledAvatarGroup","styled","BaseBox","withConfig","displayName","componentId","_ref","size","_defineProperty","display","flexDirection","marginLeft","concat","makeSize","avatarSizeTokens","zIndex"],"mappings":";;;;;;;;AAMA,IAAMA,iBAAiB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,mBAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CACvC,CAAA,CAAA,UAAAC,IAAA,EAAc;AAAA,EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI,CAAA;AACL,EAAA,OAAAC,eAAA,CAAA;AACEC,IAAAA,OAAO,EAAE,aAAa;AACtBC,IAAAA,aAAa,EAAE,KAAA;GAEY,EAAA,uBAAA,EAAA;AACzBC,IAAAA,UAAU,EAAAC,GAAAA,CAAAA,MAAA,CAAMC,QAAQ,CAACC,gBAAgB,CAACP,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE;AACtDQ,IAAAA,MAAM,EAAE,CAAA;GACT,CAAA,CAAA;AAEL,CAAC;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import '../../tokens/global/index.js';
|
|
2
|
+
import { size } from '../../tokens/global/size.js';
|
|
3
|
+
|
|
4
|
+
var avatarSizeTokens = {
|
|
5
|
+
xsmall: size[20],
|
|
6
|
+
small: size[28],
|
|
7
|
+
medium: size[36],
|
|
8
|
+
large: size[48],
|
|
9
|
+
xlarge: size[56]
|
|
10
|
+
};
|
|
11
|
+
var avatarIconSizeTokens = {
|
|
12
|
+
xsmall: 'small',
|
|
13
|
+
small: 'medium',
|
|
14
|
+
medium: 'medium',
|
|
15
|
+
large: 'large',
|
|
16
|
+
xlarge: 'xlarge'
|
|
17
|
+
};
|
|
18
|
+
var avatarTextSizeMapping = {
|
|
19
|
+
xsmall: 'xsmall',
|
|
20
|
+
small: 'xsmall',
|
|
21
|
+
medium: 'small',
|
|
22
|
+
large: 'medium',
|
|
23
|
+
xlarge: 'medium'
|
|
24
|
+
};
|
|
25
|
+
var avatarColorTokens = {
|
|
26
|
+
text: {
|
|
27
|
+
primary: 'interactive.text.primary.normal',
|
|
28
|
+
positive: 'interactive.text.positive.normal',
|
|
29
|
+
negative: 'interactive.text.negative.normal',
|
|
30
|
+
notice: 'interactive.text.notice.normal',
|
|
31
|
+
information: 'interactive.text.information.normal',
|
|
32
|
+
neutral: 'interactive.text.neutral.normal'
|
|
33
|
+
},
|
|
34
|
+
background: {
|
|
35
|
+
primary: 'interactive.background.primary.faded',
|
|
36
|
+
positive: 'interactive.background.positive.faded',
|
|
37
|
+
negative: 'interactive.background.negative.faded',
|
|
38
|
+
notice: 'interactive.background.notice.faded',
|
|
39
|
+
information: 'interactive.background.information.faded',
|
|
40
|
+
neutral: 'interactive.background.neutral.faded'
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var avatarBorderRadiusTokens = {
|
|
44
|
+
circle: 'max',
|
|
45
|
+
square: 'medium'
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export { avatarBorderRadiusTokens, avatarColorTokens, avatarIconSizeTokens, avatarSizeTokens, avatarTextSizeMapping };
|
|
49
|
+
//# sourceMappingURL=avatarTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatarTokens.js","sources":["../../../../../../src/components/Avatar/avatarTokens.ts"],"sourcesContent":["import { size } from '~tokens/global';\n\nconst avatarSizeTokens = {\n xsmall: size[20],\n small: size[28],\n medium: size[36],\n large: size[48],\n xlarge: size[56],\n} as const;\n\nconst avatarIconSizeTokens = {\n xsmall: 'small',\n small: 'medium',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n} as const;\n\nconst avatarTextSizeMapping = {\n xsmall: 'xsmall',\n small: 'xsmall',\n medium: 'small',\n large: 'medium',\n xlarge: 'medium',\n} as const;\n\nconst avatarColorTokens = {\n text: {\n primary: 'interactive.text.primary.normal',\n positive: 'interactive.text.positive.normal',\n negative: 'interactive.text.negative.normal',\n notice: 'interactive.text.notice.normal',\n information: 'interactive.text.information.normal',\n neutral: 'interactive.text.neutral.normal',\n },\n background: {\n primary: 'interactive.background.primary.faded',\n positive: 'interactive.background.positive.faded',\n negative: 'interactive.background.negative.faded',\n notice: 'interactive.background.notice.faded',\n information: 'interactive.background.information.faded',\n neutral: 'interactive.background.neutral.faded',\n },\n} as const;\n\nconst avatarBorderRadiusTokens = {\n circle: 'max',\n square: 'medium',\n} as const;\n\nexport {\n avatarSizeTokens,\n avatarIconSizeTokens,\n avatarTextSizeMapping,\n avatarColorTokens,\n avatarBorderRadiusTokens,\n};\n"],"names":["avatarSizeTokens","xsmall","size","small","medium","large","xlarge","avatarIconSizeTokens","avatarTextSizeMapping","avatarColorTokens","text","primary","positive","negative","notice","information","neutral","background","avatarBorderRadiusTokens","circle","square"],"mappings":";;;AAEA,IAAMA,gBAAgB,GAAG;AACvBC,EAAAA,MAAM,EAAEC,IAAI,CAAC,EAAE,CAAC;AAChBC,EAAAA,KAAK,EAAED,IAAI,CAAC,EAAE,CAAC;AACfE,EAAAA,MAAM,EAAEF,IAAI,CAAC,EAAE,CAAC;AAChBG,EAAAA,KAAK,EAAEH,IAAI,CAAC,EAAE,CAAC;EACfI,MAAM,EAAEJ,IAAI,CAAC,EAAE,CAAA;AACjB,EAAU;AAEV,IAAMK,oBAAoB,GAAG;AAC3BN,EAAAA,MAAM,EAAE,OAAO;AACfE,EAAAA,KAAK,EAAE,QAAQ;AACfC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAA;AACV,EAAU;AAEV,IAAME,qBAAqB,GAAG;AAC5BP,EAAAA,MAAM,EAAE,QAAQ;AAChBE,EAAAA,KAAK,EAAE,QAAQ;AACfC,EAAAA,MAAM,EAAE,OAAO;AACfC,EAAAA,KAAK,EAAE,QAAQ;AACfC,EAAAA,MAAM,EAAE,QAAA;AACV,EAAU;AAEV,IAAMG,iBAAiB,GAAG;AACxBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAE,iCAAiC;AAC1CC,IAAAA,QAAQ,EAAE,kCAAkC;AAC5CC,IAAAA,QAAQ,EAAE,kCAAkC;AAC5CC,IAAAA,MAAM,EAAE,gCAAgC;AACxCC,IAAAA,WAAW,EAAE,qCAAqC;AAClDC,IAAAA,OAAO,EAAE,iCAAA;GACV;AACDC,EAAAA,UAAU,EAAE;AACVN,IAAAA,OAAO,EAAE,sCAAsC;AAC/CC,IAAAA,QAAQ,EAAE,uCAAuC;AACjDC,IAAAA,QAAQ,EAAE,uCAAuC;AACjDC,IAAAA,MAAM,EAAE,qCAAqC;AAC7CC,IAAAA,WAAW,EAAE,0CAA0C;AACvDC,IAAAA,OAAO,EAAE,sCAAA;AACX,GAAA;AACF,EAAU;AAEV,IAAME,wBAAwB,GAAG;AAC/BC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,MAAM,EAAE,QAAA;AACV;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -471,5 +471,5 @@ var BaseButton = /*#__PURE__*/assignWithoutSideEffects( /*#__PURE__*/React__defa
|
|
|
471
471
|
displayName: 'BaseButton'
|
|
472
472
|
});
|
|
473
473
|
|
|
474
|
-
export { BaseButton as default, getBackgroundColorToken };
|
|
474
|
+
export { BaseButton as default, getBackgroundColorToken, getTextColorToken };
|
|
475
475
|
//# sourceMappingURL=BaseButton.js.map
|