@os-design/core 1.0.236 → 1.0.238
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Avatar/index.js +5 -4
- package/dist/cjs/Avatar/index.js.map +1 -1
- package/dist/cjs/Breadcrumb/index.js +2 -2
- package/dist/cjs/Breadcrumb/index.js.map +1 -1
- package/dist/cjs/List/index.js +2 -2
- package/dist/cjs/List/index.js.map +1 -1
- package/dist/cjs/MenuGroup/index.js +2 -2
- package/dist/cjs/MenuGroup/index.js.map +1 -1
- package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js +2 -2
- package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/Popover/utils/usePopoverPosition.js +2 -2
- package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
- package/dist/cjs/Select/index.js +2 -2
- package/dist/cjs/Select/index.js.map +1 -1
- package/dist/esm/Avatar/index.js +5 -3
- package/dist/esm/Avatar/index.js.map +1 -1
- package/dist/types/Avatar/index.d.ts.map +1 -1
- package/dist/types/Button/index.d.ts +1 -1
- package/dist/types/ButtonLink/index.d.ts +1 -2
- package/dist/types/ButtonLink/index.d.ts.map +1 -1
- package/dist/types/Input/index.d.ts +2 -2
- package/dist/types/Link/index.d.ts +1 -1
- package/dist/types/Modal/index.d.ts +1 -1
- package/dist/types/PageHeader/index.d.ts +1 -1
- package/dist/types/Select/index.d.ts +8 -8
- package/dist/types/Tag/index.d.ts +3 -3
- package/dist/types/ThemeSwitcher/index.d.ts +1 -2
- package/dist/types/ThemeSwitcher/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/Avatar/index.tsx +13 -3
package/dist/cjs/Avatar/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
14
14
|
var _Image = _interopRequireDefault(require("../Image"));
|
|
15
15
|
var _nameToInitials = _interopRequireDefault(require("./utils/nameToInitials"));
|
|
16
16
|
var _strToHue = _interopRequireDefault(require("./utils/strToHue"));
|
|
17
|
-
var _excluded = ["firstName", "lastName", "image", "imageProps", "online", "size"];
|
|
17
|
+
var _excluded = ["firstName", "lastName", "image", "imageProps", "online", "size", "children"];
|
|
18
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -29,7 +29,7 @@ var AvatarContainer = (0, _styled["default"])('div', (0, _utils.omitEmotionProps
|
|
|
29
29
|
}, function (p) {
|
|
30
30
|
return (0, _theming.clr)(p.bgColor);
|
|
31
31
|
}, _styles.sizeStyles);
|
|
32
|
-
var
|
|
32
|
+
var IconContainer = _styled["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n font-size: 0.6em;\n line-height: 0.6;\n"])));
|
|
33
33
|
var Initials = _styled["default"].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: 0.35em;\n"])));
|
|
34
34
|
var INNER_SIZE = 0.25;
|
|
35
35
|
var OUTER_SIZE = INNER_SIZE * 1.2;
|
|
@@ -52,6 +52,7 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
52
52
|
online = _ref$online === void 0 ? false : _ref$online,
|
|
53
53
|
_ref$size = _ref.size,
|
|
54
54
|
size = _ref$size === void 0 ? '2em' : _ref$size,
|
|
55
|
+
children = _ref.children,
|
|
55
56
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
56
57
|
var _useTheme = (0, _theming.useTheme)(),
|
|
57
58
|
theme = _useTheme.theme;
|
|
@@ -82,7 +83,7 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
82
83
|
if (initials) return /*#__PURE__*/_react["default"].createElement(Initials, null, initials);
|
|
83
84
|
|
|
84
85
|
// Otherwise render the user icon
|
|
85
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
86
|
+
return /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons.User, null));
|
|
86
87
|
}, [image, imageProps, firstName, lastName]);
|
|
87
88
|
return /*#__PURE__*/_react["default"].createElement(Container, {
|
|
88
89
|
size: size
|
|
@@ -92,7 +93,7 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
92
93
|
"aria-label": fullName || 'User'
|
|
93
94
|
}, rest, {
|
|
94
95
|
ref: ref
|
|
95
|
-
}), renderChildren()), online && /*#__PURE__*/_react["default"].createElement(Online, null));
|
|
96
|
+
}), children ? /*#__PURE__*/_react["default"].createElement(IconContainer, null, children) : renderChildren()), online && /*#__PURE__*/_react["default"].createElement(Online, null));
|
|
96
97
|
});
|
|
97
98
|
Avatar.displayName = 'Avatar';
|
|
98
99
|
var _default = exports["default"] = Avatar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_icons","_styles","_theming","_utils","_react","_interopRequireWildcard","_Image","_nameToInitials","_strToHue","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","Container","styled","omitEmotionProps","sizeStyles","AvatarContainer","p","theme","borderRadius","clr","bgColor","UserIcon","User","Initials","div","INNER_SIZE","OUTER_SIZE","Online","span","avatarOnlineColorScoop","avatarOnlineColorBg","Avatar","forwardRef","_ref","ref","firstName","lastName","image","_ref$imageProps","imageProps","_ref$online","online","_ref$size","size","rest","_useTheme","useTheme","useMemo","parts","push","strToHue","join","avatarDefaultColorBg","fullName","filter","undefined","renderChildren","useCallback","createElement","url","cropped","initials","nameToInitials","role","displayName","_default","exports"],"sources":["../../../src/Avatar/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { User } from '@os-design/icons';\nimport { WithSize, sizeStyles } from '@os-design/styles';\nimport { Color, clr, useTheme } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\nimport Image, { ImageProps } from '../Image';\nimport nameToInitials from './utils/nameToInitials';\nimport strToHue from './utils/strToHue';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface AvatarProps extends JsxDivProps, WithSize {\n /**\n * Used to render the first letter if the image URL is not specified.\n * @default undefined\n */\n firstName?: string;\n /**\n * Used to render the second letter if the image URL is not specified.\n * @default undefined\n */\n lastName?: string;\n /**\n * The URL of the image.\n * @default undefined\n */\n image?: string;\n /**\n * The props of the image.\n * @default undefined\n */\n imageProps?: Omit<ImageProps, 'url'>;\n /**\n * Whether the user is online.\n * @default false\n */\n online?: boolean;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n position: relative;\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n ${sizeStyles};\n`;\n\ninterface AvatarContainerProps {\n bgColor: Color;\n}\n\nconst AvatarContainer = styled(\n 'div',\n omitEmotionProps('bgColor')\n)<AvatarContainerProps>`\n width: 100%;\n height: 100%;\n border-radius: ${(p) => p.theme.borderRadius}em;\n\n font-weight: 500;\n line-height: 1;\n\n color: hsl(0, 0%, 100%);\n background-color: ${(p) => clr(p.bgColor)};\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n white-space: nowrap; // To disable multiline text\n overflow: hidden; // To trim the image corners\n\n ${sizeStyles};\n`;\n\nconst UserIcon = styled(User)`\n font-size: 0.6em;\n`;\n\nconst Initials = styled.div`\n font-size: 0.35em;\n`;\n\nconst INNER_SIZE = 0.25;\nconst OUTER_SIZE = INNER_SIZE * 1.2;\n\nconst Online = styled.span`\n position: absolute;\n right: -0.05em;\n bottom: -0.05em;\n width: ${OUTER_SIZE}em;\n height: ${OUTER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorScoop)};\n\n &::before {\n content: '';\n position: absolute;\n left: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n bottom: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n width: ${INNER_SIZE}em;\n height: ${INNER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorBg)};\n }\n`;\n\n/**\n * Avatar can be used to represent people.\n */\nconst Avatar = forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n firstName,\n lastName,\n image,\n imageProps = {},\n online = false,\n size = '2em',\n ...rest\n },\n ref\n ) => {\n const { theme } = useTheme();\n\n const bgColor = useMemo<Color>(() => {\n const parts: string[] = [];\n if (firstName) parts.push(firstName);\n if (lastName) parts.push(lastName);\n if (parts.length > 0) return [strToHue(parts.join(' ')), 30, 60];\n return theme.avatarDefaultColorBg;\n }, [firstName, lastName, theme.avatarDefaultColorBg]);\n\n const fullName = useMemo(\n () => [firstName, lastName].filter((i) => i).join(' ') || undefined,\n [firstName, lastName]\n );\n\n const renderChildren = useCallback(() => {\n // Render the image if the image property was specified\n if (image) return <Image url={image} cropped {...imageProps} />;\n\n // Render the initials of the name if either firstName or lastName was specified\n const initials = nameToInitials({ firstName, lastName });\n if (initials) return <Initials>{initials}</Initials>;\n\n // Otherwise render the user icon\n return <UserIcon />;\n }, [image, imageProps, firstName, lastName]);\n\n return (\n <Container size={size}>\n <AvatarContainer\n bgColor={bgColor}\n role='img'\n aria-label={fullName || 'User'}\n {...rest}\n ref={ref}\n >\n {renderChildren()}\n </AvatarContainer>\n {online && <Online />}\n </Container>\n );\n }\n);\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_icons","_styles","_theming","_utils","_react","_interopRequireWildcard","_Image","_nameToInitials","_strToHue","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","Container","styled","omitEmotionProps","sizeStyles","AvatarContainer","p","theme","borderRadius","clr","bgColor","IconContainer","div","Initials","INNER_SIZE","OUTER_SIZE","Online","span","avatarOnlineColorScoop","avatarOnlineColorBg","Avatar","forwardRef","_ref","ref","firstName","lastName","image","_ref$imageProps","imageProps","_ref$online","online","_ref$size","size","children","rest","_useTheme","useTheme","useMemo","parts","push","strToHue","join","avatarDefaultColorBg","fullName","filter","undefined","renderChildren","useCallback","createElement","url","cropped","initials","nameToInitials","User","role","displayName","_default","exports"],"sources":["../../../src/Avatar/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { User } from '@os-design/icons';\nimport { WithSize, sizeStyles } from '@os-design/styles';\nimport { Color, clr, useTheme } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, useCallback, useMemo } from 'react';\nimport Image, { ImageProps } from '../Image';\nimport nameToInitials from './utils/nameToInitials';\nimport strToHue from './utils/strToHue';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface AvatarProps extends JsxDivProps, WithSize {\n /**\n * Used to render the first letter if the image URL is not specified.\n * @default undefined\n */\n firstName?: string;\n /**\n * Used to render the second letter if the image URL is not specified.\n * @default undefined\n */\n lastName?: string;\n /**\n * The URL of the image.\n * @default undefined\n */\n image?: string;\n /**\n * The props of the image.\n * @default undefined\n */\n imageProps?: Omit<ImageProps, 'url'>;\n /**\n * Whether the user is online.\n * @default false\n */\n online?: boolean;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n position: relative;\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n ${sizeStyles};\n`;\n\ninterface AvatarContainerProps {\n bgColor: Color;\n}\n\nconst AvatarContainer = styled(\n 'div',\n omitEmotionProps('bgColor')\n)<AvatarContainerProps>`\n width: 100%;\n height: 100%;\n border-radius: ${(p) => p.theme.borderRadius}em;\n\n font-weight: 500;\n line-height: 1;\n\n color: hsl(0, 0%, 100%);\n background-color: ${(p) => clr(p.bgColor)};\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n white-space: nowrap; // To disable multiline text\n overflow: hidden; // To trim the image corners\n\n ${sizeStyles};\n`;\n\nconst IconContainer = styled.div`\n font-size: 0.6em;\n line-height: 0.6;\n`;\n\nconst Initials = styled.div`\n font-size: 0.35em;\n`;\n\nconst INNER_SIZE = 0.25;\nconst OUTER_SIZE = INNER_SIZE * 1.2;\n\nconst Online = styled.span`\n position: absolute;\n right: -0.05em;\n bottom: -0.05em;\n width: ${OUTER_SIZE}em;\n height: ${OUTER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorScoop)};\n\n &::before {\n content: '';\n position: absolute;\n left: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n bottom: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n width: ${INNER_SIZE}em;\n height: ${INNER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorBg)};\n }\n`;\n\n/**\n * Avatar can be used to represent people.\n */\nconst Avatar = forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n firstName,\n lastName,\n image,\n imageProps = {},\n online = false,\n size = '2em',\n children,\n ...rest\n },\n ref\n ) => {\n const { theme } = useTheme();\n\n const bgColor = useMemo<Color>(() => {\n const parts: string[] = [];\n if (firstName) parts.push(firstName);\n if (lastName) parts.push(lastName);\n if (parts.length > 0) return [strToHue(parts.join(' ')), 30, 60];\n return theme.avatarDefaultColorBg;\n }, [firstName, lastName, theme.avatarDefaultColorBg]);\n\n const fullName = useMemo(\n () => [firstName, lastName].filter((i) => i).join(' ') || undefined,\n [firstName, lastName]\n );\n\n const renderChildren = useCallback(() => {\n // Render the image if the image property was specified\n if (image) return <Image url={image} cropped {...imageProps} />;\n\n // Render the initials of the name if either firstName or lastName was specified\n const initials = nameToInitials({ firstName, lastName });\n if (initials) return <Initials>{initials}</Initials>;\n\n // Otherwise render the user icon\n return (\n <IconContainer>\n <User />\n </IconContainer>\n );\n }, [image, imageProps, firstName, lastName]);\n\n return (\n <Container size={size}>\n <AvatarContainer\n bgColor={bgColor}\n role='img'\n aria-label={fullName || 'User'}\n {...rest}\n ref={ref}\n >\n {children ? (\n <IconContainer>{children}</IconContainer>\n ) : (\n renderChildren()\n )}\n </AvatarContainer>\n {online && <Online />}\n </Container>\n );\n }\n);\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n"],"mappings":"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"}
|
|
@@ -20,8 +20,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
20
20
|
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; }
|
|
21
21
|
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; }
|
|
22
22
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
-
function _toPropertyKey(
|
|
24
|
-
function _toPrimitive(
|
|
23
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
24
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
25
|
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; }
|
|
26
26
|
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; }
|
|
27
27
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_utils","_react","_interopRequireWildcard","_BreadcrumbItem","_excluded","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_taggedTemplateLiteral","strings","raw","slice","freeze","Container","styled","omitEmotionProps","p","clr","theme","colorText","enableScrollingStyles","sizeStyles","childIndex","Breadcrumb","forwardRef","_ref","ref","_ref$ariaLabel","ariaLabel","children","rest","breadcrumbItems","useMemo","items","childrenArray","React","Children","toArray","child","index","isValidElement","element","breadcrumbItemProps","position","hasRightArrow","type","BreadcrumbItem","cloneElement","props","breadcrumbItem","createElement","itemScope","itemType","displayName","_default","exports"],"sources":["../../../src/Breadcrumb/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { enableScrollingStyles, sizeStyles, WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, ReactElement, useMemo } from 'react';\nimport BreadcrumbItem from '../BreadcrumbItem';\n\ntype JsxOlProps = Omit<JSX.IntrinsicElements['ol'], 'ref'>;\nexport interface BreadcrumbProps extends JsxOlProps, WithSize {\n 'aria-label'?: string;\n}\n\nconst Container = styled('ol', omitEmotionProps('size'))<WithSize>`\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n align-items: center;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${enableScrollingStyles('x', false)};\n ${sizeStyles};\n`;\n\nlet childIndex = 0;\n\n/**\n * Displays the current location within the hierarchical structure.\n * Implements the Schema.org markup for breadcrumbs.\n * See https://schema.org/BreadcrumbList\n */\nconst Breadcrumb = forwardRef<HTMLOListElement, BreadcrumbProps>(\n ({ 'aria-label': ariaLabel = 'Breadcrumb', children, ...rest }, ref) => {\n const breadcrumbItems = useMemo(() => {\n const items: ReactElement[] = [];\n const childrenArray = React.Children.toArray(children);\n childrenArray.forEach((child, index) => {\n if (!React.isValidElement(child)) return;\n\n let element;\n const breadcrumbItemProps = {\n key: childIndex,\n position: index + 1,\n hasRightArrow: index < childrenArray.length - 1,\n };\n\n if (child.type === BreadcrumbItem) {\n element = React.cloneElement(child, breadcrumbItemProps);\n } else if (\n React.isValidElement(child.props.children) &&\n child.props.children.type === BreadcrumbItem\n ) {\n const breadcrumbItem = React.cloneElement(\n child.props.children,\n breadcrumbItemProps\n );\n element = React.cloneElement(\n child,\n {\n ...(child.props || {}),\n key: childIndex,\n },\n breadcrumbItem\n );\n }\n if (!element) return;\n\n items.push(element);\n childIndex += 1;\n });\n return items;\n }, [children]);\n\n if (breadcrumbItems.length === 0) return null;\n\n return (\n <nav aria-label={ariaLabel}>\n <Container\n itemScope\n itemType='https://schema.org/BreadcrumbList'\n {...rest}\n ref={ref}\n >\n {breadcrumbItems}\n </Container>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_utils","_react","_interopRequireWildcard","_BreadcrumbItem","_excluded","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_taggedTemplateLiteral","strings","raw","slice","freeze","Container","styled","omitEmotionProps","p","clr","theme","colorText","enableScrollingStyles","sizeStyles","childIndex","Breadcrumb","forwardRef","_ref","ref","_ref$ariaLabel","ariaLabel","children","rest","breadcrumbItems","useMemo","items","childrenArray","React","Children","toArray","child","index","isValidElement","element","breadcrumbItemProps","position","hasRightArrow","type","BreadcrumbItem","cloneElement","props","breadcrumbItem","createElement","itemScope","itemType","displayName","_default","exports"],"sources":["../../../src/Breadcrumb/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { enableScrollingStyles, sizeStyles, WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, ReactElement, useMemo } from 'react';\nimport BreadcrumbItem from '../BreadcrumbItem';\n\ntype JsxOlProps = Omit<JSX.IntrinsicElements['ol'], 'ref'>;\nexport interface BreadcrumbProps extends JsxOlProps, WithSize {\n 'aria-label'?: string;\n}\n\nconst Container = styled('ol', omitEmotionProps('size'))<WithSize>`\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n align-items: center;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${enableScrollingStyles('x', false)};\n ${sizeStyles};\n`;\n\nlet childIndex = 0;\n\n/**\n * Displays the current location within the hierarchical structure.\n * Implements the Schema.org markup for breadcrumbs.\n * See https://schema.org/BreadcrumbList\n */\nconst Breadcrumb = forwardRef<HTMLOListElement, BreadcrumbProps>(\n ({ 'aria-label': ariaLabel = 'Breadcrumb', children, ...rest }, ref) => {\n const breadcrumbItems = useMemo(() => {\n const items: ReactElement[] = [];\n const childrenArray = React.Children.toArray(children);\n childrenArray.forEach((child, index) => {\n if (!React.isValidElement(child)) return;\n\n let element;\n const breadcrumbItemProps = {\n key: childIndex,\n position: index + 1,\n hasRightArrow: index < childrenArray.length - 1,\n };\n\n if (child.type === BreadcrumbItem) {\n element = React.cloneElement(child, breadcrumbItemProps);\n } else if (\n React.isValidElement(child.props.children) &&\n child.props.children.type === BreadcrumbItem\n ) {\n const breadcrumbItem = React.cloneElement(\n child.props.children,\n breadcrumbItemProps\n );\n element = React.cloneElement(\n child,\n {\n ...(child.props || {}),\n key: childIndex,\n },\n breadcrumbItem\n );\n }\n if (!element) return;\n\n items.push(element);\n childIndex += 1;\n });\n return items;\n }, [children]);\n\n if (breadcrumbItems.length === 0) return null;\n\n return (\n <nav aria-label={ariaLabel}>\n <Container\n itemScope\n itemType='https://schema.org/BreadcrumbList'\n {...rest}\n ref={ref}\n >\n {breadcrumbItems}\n </Container>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":"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"}
|
package/dist/cjs/List/index.js
CHANGED
|
@@ -35,8 +35,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
35
35
|
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; }
|
|
36
36
|
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; }
|
|
37
37
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
38
|
-
function _toPropertyKey(
|
|
39
|
-
function _toPrimitive(
|
|
38
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
39
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
40
40
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
41
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
42
42
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_media","require","_theming","_utils","_react","_interopRequireWildcard","_reactWindow","_LayoutContext","_interopRequireDefault","_WindowScroller","_useRWLoadNext","_excluded","_excluded2","_excluded3","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","iterator","f","next","done","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","List","forwardRef","_ref","ref","itemCount","_ref$itemHeight","itemHeight","_ref$threshold","threshold","_ref$overscanCount","overscanCount","heightProp","height","_ref$paddingTop","paddingTop","_ref$paddingBottom","paddingBottom","_ref$style","style","empty","_ref$onLoadNext","onLoadNext","_ref$itemRenderer","itemRenderer","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","listRef","mergedListRef","size","useSize","fontSize","useFontSize","document","body","_useContext","useContext","LayoutContext","hasNavigation","hasPageHeader","_useTheme","useTheme","theme","isMinMd","useIsMinWidth","safeAreaInset","useSafeAreaInset","itemSize","useMemo","paddingTopSize","pageHeaderHeight","paddingBottomSize","navigationTabHeight","bottom","loadNext","useRWLoadNext","windowScrollHandler","useCallback","_ref2","top","current","scrollTo","InnerElement","_ref3","innerStyle","innerRest","createElement","concat","parseFloat","listChildren","_ref4","childrenStyle","childrenRest","EmptyComponent","Fragment","renderList","FixedSizeList","width","onScroll","_ref5","scrollOffset","innerElementType","displayName","_default","exports"],"sources":["../../../src/List/index.tsx"],"sourcesContent":["import { useIsMinWidth } from '@os-design/media';\nimport { useTheme } from '@os-design/theming';\nimport {\n useFontSize,\n useForwardedRef,\n useSafeAreaInset,\n useSize,\n} from '@os-design/utils';\nimport React, {\n CSSProperties,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n FixedSizeList,\n ListChildComponentProps,\n ListProps as RWListProps,\n} from 'react-window';\nimport LayoutContext from '../Layout/LayoutContext';\nimport WindowScroller, { ScrollPosition } from './WindowScroller';\nimport useRWLoadNext from './utils/useRWLoadNext';\n\nexport interface ListProps extends Partial<RWListProps> {\n /**\n * Total number of items in the list.\n */\n itemCount: number;\n /**\n * The item height in em.\n * @default 4\n */\n itemHeight?: number;\n /**\n * A threshold N means that the onLoadNext function calls when a user scrolls all items except N.\n * @default 10\n */\n threshold?: number;\n /**\n * Defines how many items outside of the visible \"window\" to render at all times.\n * @default 10\n */\n overscanCount?: number;\n /**\n * The height of the list in px.\n * @default undefined\n */\n height?: number;\n /**\n * The top padding in em.\n * @default 0\n */\n paddingTop?: number;\n /**\n * The bottom padding in em.\n * @default 0\n */\n paddingBottom?: number;\n /**\n * The inline css style.\n * @default undefined\n */\n style?: CSSProperties;\n /**\n * The component that renders if the list is empty.\n * @default undefined\n */\n empty?: React.ReactNode;\n /**\n * The callback to load more items.\n * @default undefined\n */\n onLoadNext?: () => void;\n /**\n * The callback to render items.\n * @default () => null\n */\n itemRenderer?: React.FC<ListChildComponentProps>;\n}\n\n/**\n * Virtualized list.\n * Used the react-window library.\n */\nconst List = forwardRef<FixedSizeList, ListProps>(\n (\n {\n itemCount,\n itemHeight = 4,\n threshold = 10,\n overscanCount = 10,\n height: heightProp,\n paddingTop = 0,\n paddingBottom = 0,\n style = {},\n empty,\n onLoadNext = () => {},\n itemRenderer = () => null,\n ...rest\n },\n ref\n ) => {\n const [listRef, mergedListRef] = useForwardedRef(ref);\n const size = useSize();\n const fontSize = useFontSize(document.body);\n const { hasNavigation, hasPageHeader } = useContext(LayoutContext);\n const { theme } = useTheme();\n const isMinMd = useIsMinWidth('md');\n const safeAreaInset = useSafeAreaInset();\n\n const itemSize = useMemo(\n () => itemHeight * fontSize,\n [itemHeight, fontSize]\n );\n\n const paddingTopSize = useMemo(\n () =>\n ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) +\n paddingTop) *\n fontSize,\n [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]\n );\n\n const paddingBottomSize = useMemo(\n () =>\n ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) +\n paddingBottom) *\n fontSize +\n safeAreaInset.bottom,\n [\n hasNavigation,\n theme.navigationTabHeight,\n isMinMd,\n paddingBottom,\n fontSize,\n safeAreaInset.bottom,\n ]\n );\n\n const height = useMemo(\n () => heightProp || size.height,\n [heightProp, size.height]\n );\n\n const loadNext = useRWLoadNext({\n itemCount,\n threshold,\n itemSize,\n paddingTop: paddingTopSize,\n height,\n onLoadNext,\n });\n\n const windowScrollHandler = useCallback(\n ({ top }: ScrollPosition) => {\n // Set the scroll position to the list\n if (listRef.current) listRef.current.scrollTo(top);\n loadNext(top);\n },\n [listRef, loadNext]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InnerElement = useCallback(\n ({ style: innerStyle, ...innerRest }) => (\n <div\n style={{\n ...innerStyle,\n height: `${\n parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize\n }px`,\n }}\n {...innerRest}\n />\n ),\n [paddingBottomSize, paddingTopSize]\n );\n\n const listChildren = useCallback<RWListProps['children']>(\n ({ style: childrenStyle, ...childrenRest }) =>\n itemRenderer({\n style: {\n ...childrenStyle,\n top: `${\n parseFloat(\n childrenStyle.top ? childrenStyle.top.toString() : '0'\n ) + paddingTopSize\n }px`,\n },\n ...childrenRest,\n }),\n [itemRenderer, paddingTopSize]\n );\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n const EmptyComponent = useCallback(() => <>{empty}</>, [empty]);\n\n const renderList = useCallback(\n () => (\n <FixedSizeList\n ref={mergedListRef}\n itemCount={itemCount}\n width='100%'\n height={height}\n itemSize={itemSize}\n style={heightProp ? style : { ...style, height: '100% important!' }}\n overscanCount={overscanCount}\n onScroll={\n heightProp\n ? ({ scrollOffset }) => loadNext(scrollOffset)\n : undefined\n }\n innerElementType={itemCount > 0 ? InnerElement : EmptyComponent}\n {...rest}\n >\n {listChildren}\n </FixedSizeList>\n ),\n [\n EmptyComponent,\n InnerElement,\n height,\n heightProp,\n itemCount,\n itemSize,\n listChildren,\n loadNext,\n mergedListRef,\n overscanCount,\n rest,\n style,\n ]\n );\n\n if (heightProp) {\n return renderList();\n }\n\n return (\n <WindowScroller onScroll={windowScrollHandler}>\n {renderList()}\n </WindowScroller>\n );\n }\n);\n\nList.displayName = 'List';\n\nexport { default as WindowScroller } from './WindowScroller';\nexport { default as useRWLoadNext } from './utils/useRWLoadNext';\n\nexport default List;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_media","require","_theming","_utils","_react","_interopRequireWildcard","_reactWindow","_LayoutContext","_interopRequireDefault","_WindowScroller","_useRWLoadNext","_excluded","_excluded2","_excluded3","obj","__esModule","_getRequireWildcardCache","e","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","iterator","f","next","done","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","List","forwardRef","_ref","ref","itemCount","_ref$itemHeight","itemHeight","_ref$threshold","threshold","_ref$overscanCount","overscanCount","heightProp","height","_ref$paddingTop","paddingTop","_ref$paddingBottom","paddingBottom","_ref$style","style","empty","_ref$onLoadNext","onLoadNext","_ref$itemRenderer","itemRenderer","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","listRef","mergedListRef","size","useSize","fontSize","useFontSize","document","body","_useContext","useContext","LayoutContext","hasNavigation","hasPageHeader","_useTheme","useTheme","theme","isMinMd","useIsMinWidth","safeAreaInset","useSafeAreaInset","itemSize","useMemo","paddingTopSize","pageHeaderHeight","paddingBottomSize","navigationTabHeight","bottom","loadNext","useRWLoadNext","windowScrollHandler","useCallback","_ref2","top","current","scrollTo","InnerElement","_ref3","innerStyle","innerRest","createElement","concat","parseFloat","listChildren","_ref4","childrenStyle","childrenRest","EmptyComponent","Fragment","renderList","FixedSizeList","width","onScroll","_ref5","scrollOffset","undefined","innerElementType","displayName","_default","exports"],"sources":["../../../src/List/index.tsx"],"sourcesContent":["import { useIsMinWidth } from '@os-design/media';\nimport { useTheme } from '@os-design/theming';\nimport {\n useFontSize,\n useForwardedRef,\n useSafeAreaInset,\n useSize,\n} from '@os-design/utils';\nimport React, {\n CSSProperties,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n FixedSizeList,\n ListChildComponentProps,\n ListProps as RWListProps,\n} from 'react-window';\nimport LayoutContext from '../Layout/LayoutContext';\nimport WindowScroller, { ScrollPosition } from './WindowScroller';\nimport useRWLoadNext from './utils/useRWLoadNext';\n\nexport interface ListProps extends Partial<RWListProps> {\n /**\n * Total number of items in the list.\n */\n itemCount: number;\n /**\n * The item height in em.\n * @default 4\n */\n itemHeight?: number;\n /**\n * A threshold N means that the onLoadNext function calls when a user scrolls all items except N.\n * @default 10\n */\n threshold?: number;\n /**\n * Defines how many items outside of the visible \"window\" to render at all times.\n * @default 10\n */\n overscanCount?: number;\n /**\n * The height of the list in px.\n * @default undefined\n */\n height?: number;\n /**\n * The top padding in em.\n * @default 0\n */\n paddingTop?: number;\n /**\n * The bottom padding in em.\n * @default 0\n */\n paddingBottom?: number;\n /**\n * The inline css style.\n * @default undefined\n */\n style?: CSSProperties;\n /**\n * The component that renders if the list is empty.\n * @default undefined\n */\n empty?: React.ReactNode;\n /**\n * The callback to load more items.\n * @default undefined\n */\n onLoadNext?: () => void;\n /**\n * The callback to render items.\n * @default () => null\n */\n itemRenderer?: React.FC<ListChildComponentProps>;\n}\n\n/**\n * Virtualized list.\n * Used the react-window library.\n */\nconst List = forwardRef<FixedSizeList, ListProps>(\n (\n {\n itemCount,\n itemHeight = 4,\n threshold = 10,\n overscanCount = 10,\n height: heightProp,\n paddingTop = 0,\n paddingBottom = 0,\n style = {},\n empty,\n onLoadNext = () => {},\n itemRenderer = () => null,\n ...rest\n },\n ref\n ) => {\n const [listRef, mergedListRef] = useForwardedRef(ref);\n const size = useSize();\n const fontSize = useFontSize(document.body);\n const { hasNavigation, hasPageHeader } = useContext(LayoutContext);\n const { theme } = useTheme();\n const isMinMd = useIsMinWidth('md');\n const safeAreaInset = useSafeAreaInset();\n\n const itemSize = useMemo(\n () => itemHeight * fontSize,\n [itemHeight, fontSize]\n );\n\n const paddingTopSize = useMemo(\n () =>\n ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) +\n paddingTop) *\n fontSize,\n [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]\n );\n\n const paddingBottomSize = useMemo(\n () =>\n ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) +\n paddingBottom) *\n fontSize +\n safeAreaInset.bottom,\n [\n hasNavigation,\n theme.navigationTabHeight,\n isMinMd,\n paddingBottom,\n fontSize,\n safeAreaInset.bottom,\n ]\n );\n\n const height = useMemo(\n () => heightProp || size.height,\n [heightProp, size.height]\n );\n\n const loadNext = useRWLoadNext({\n itemCount,\n threshold,\n itemSize,\n paddingTop: paddingTopSize,\n height,\n onLoadNext,\n });\n\n const windowScrollHandler = useCallback(\n ({ top }: ScrollPosition) => {\n // Set the scroll position to the list\n if (listRef.current) listRef.current.scrollTo(top);\n loadNext(top);\n },\n [listRef, loadNext]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InnerElement = useCallback(\n ({ style: innerStyle, ...innerRest }) => (\n <div\n style={{\n ...innerStyle,\n height: `${\n parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize\n }px`,\n }}\n {...innerRest}\n />\n ),\n [paddingBottomSize, paddingTopSize]\n );\n\n const listChildren = useCallback<RWListProps['children']>(\n ({ style: childrenStyle, ...childrenRest }) =>\n itemRenderer({\n style: {\n ...childrenStyle,\n top: `${\n parseFloat(\n childrenStyle.top ? childrenStyle.top.toString() : '0'\n ) + paddingTopSize\n }px`,\n },\n ...childrenRest,\n }),\n [itemRenderer, paddingTopSize]\n );\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n const EmptyComponent = useCallback(() => <>{empty}</>, [empty]);\n\n const renderList = useCallback(\n () => (\n <FixedSizeList\n ref={mergedListRef}\n itemCount={itemCount}\n width='100%'\n height={height}\n itemSize={itemSize}\n style={heightProp ? style : { ...style, height: '100% important!' }}\n overscanCount={overscanCount}\n onScroll={\n heightProp\n ? ({ scrollOffset }) => loadNext(scrollOffset)\n : undefined\n }\n innerElementType={itemCount > 0 ? InnerElement : EmptyComponent}\n {...rest}\n >\n {listChildren}\n </FixedSizeList>\n ),\n [\n EmptyComponent,\n InnerElement,\n height,\n heightProp,\n itemCount,\n itemSize,\n listChildren,\n loadNext,\n mergedListRef,\n overscanCount,\n rest,\n style,\n ]\n );\n\n if (heightProp) {\n return renderList();\n }\n\n return (\n <WindowScroller onScroll={windowScrollHandler}>\n {renderList()}\n </WindowScroller>\n );\n }\n);\n\nList.displayName = 'List';\n\nexport { default as WindowScroller } from './WindowScroller';\nexport { default as useRWLoadNext } from './utils/useRWLoadNext';\n\nexport default List;\n"],"mappings":"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"}
|
|
@@ -22,8 +22,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
22
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
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
24
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
-
function _toPropertyKey(
|
|
26
|
-
function _toPrimitive(
|
|
25
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
26
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
27
27
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
28
28
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
29
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_menuUtils","_styles","_theming","_utils","_react","_interopRequireWildcard","_MenuItem","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","slice","constructor","name","test","len","arr2","l","f","next","done","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_taggedTemplateLiteral","strings","raw","freeze","Title","styled","div","p","theme","sizes","small","clr","menuGroupColorTitle","modalBodyPaddingHorizontal","m","min","xs","ellipsisStyles","Container","menuGroupColorDivider","modalBodyPaddingVertical","MenuGroup","forwardRef","_ref","ref","title","_ref$multiple","multiple","_ref$maxSelectedItems","maxSelectedItems","defaultValue","_ref$onChange","onChange","children","rest","_useContext","useContext","MenuContext","closeOnSelect","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","onSelect","useCallback","v","includes","item","concat","menuItems","useMemo","React","Children","map","child","isValidElement","type","MenuItem","_child$props","props","childValue","childOnClick","onClick","selected","cloneElement","role","createElement","displayName","_default","exports"],"sources":["../../../src/MenuGroup/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { useForwardedState } from '@os-design/utils';\nimport React, { forwardRef, useCallback, useContext, useMemo } from 'react';\nimport MenuItem from '../MenuItem';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'value' | 'onChange' | 'ref'\n>;\ninterface BaseMenuGroupProps<T> extends JsxDivProps {\n /**\n * The title of the menu group.\n * @default undefined\n */\n title?: string;\n /**\n * The max number of options that the user can select. Zero means unlimited.\n * Works only when multiple is true.\n * @default 0\n */\n maxSelectedItems?: number;\n /**\n * Selected menu items.\n * @default undefined\n */\n value?: T;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T) => void;\n}\ninterface MenuGroupNotMultipleProps extends BaseMenuGroupProps<string | null> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple?: false;\n}\ninterface MenuGroupMultipleProps extends BaseMenuGroupProps<string[]> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple: true;\n}\nexport type MenuGroupProps = MenuGroupNotMultipleProps | MenuGroupMultipleProps;\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.menuGroupColorTitle)};\n margin-bottom: 0.4em;\n\n padding: 0 ${(p) => p.theme.modalBodyPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 0.8em;\n }\n\n ${ellipsisStyles};\n`;\n\nconst Container = styled.div`\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuGroupColorDivider)};\n }\n &:not(:first-of-type) {\n margin-top: ${(p) => p.theme.modalBodyPaddingVertical[0]}em;\n ${m.min.xs} {\n margin-top: 0.4em;\n }\n }\n`;\n\n/**\n * The group of menu items.\n */\nconst MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(\n (\n {\n title,\n multiple = false,\n maxSelectedItems = 0,\n value,\n defaultValue,\n onChange = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(MenuContext);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n const onSelect = useCallback(\n (v: string) => {\n if (multiple) {\n // Delete the value because it was already selected\n if ((forwardedValue || []).includes(v)) {\n setForwardedValue(\n (forwardedValue || []).filter((item) => item !== v)\n );\n return;\n }\n\n // Add a new value if the number of selected items is less than max\n if (\n maxSelectedItems === 0 ||\n (forwardedValue || []).length < maxSelectedItems\n ) {\n setForwardedValue([...(forwardedValue || []), v]);\n return;\n }\n return;\n }\n setForwardedValue(v);\n },\n [forwardedValue, maxSelectedItems, multiple, setForwardedValue]\n );\n\n const menuItems = useMemo(\n () =>\n React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== MenuItem)\n return child;\n const { value: childValue, onClick: childOnClick } = child.props;\n const selected =\n (multiple && (forwardedValue || []).includes(childValue)) ||\n (!multiple && forwardedValue === childValue);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return React.cloneElement<any>(child, {\n key: childValue,\n selected,\n onClick: (e) => {\n if (!childValue) return;\n onSelect(childValue);\n if (childOnClick) childOnClick(e);\n },\n ...(!closeOnSelect\n ? {\n role:\n maxSelectedItems === 1\n ? 'menuitemradio'\n : 'menuitemcheckbox',\n 'aria-checked': selected,\n }\n : {}),\n });\n }),\n [\n children,\n closeOnSelect,\n forwardedValue,\n maxSelectedItems,\n multiple,\n onSelect,\n ]\n );\n\n return (\n <Container\n role={maxSelectedItems === 1 ? 'radiogroup' : 'group'}\n {...rest}\n ref={ref}\n >\n {title && <Title>{title}</Title>}\n {menuItems}\n </Container>\n );\n }\n);\n\nMenuGroup.displayName = 'MenuGroup';\n\nexport default MenuGroup;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_menuUtils","_styles","_theming","_utils","_react","_interopRequireWildcard","_MenuItem","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","toString","slice","constructor","name","test","len","arr2","l","f","next","done","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_taggedTemplateLiteral","strings","raw","freeze","Title","styled","div","p","theme","sizes","small","clr","menuGroupColorTitle","modalBodyPaddingHorizontal","m","min","xs","ellipsisStyles","Container","menuGroupColorDivider","modalBodyPaddingVertical","MenuGroup","forwardRef","_ref","ref","title","_ref$multiple","multiple","_ref$maxSelectedItems","maxSelectedItems","defaultValue","_ref$onChange","onChange","children","rest","_useContext","useContext","MenuContext","closeOnSelect","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","onSelect","useCallback","v","includes","item","concat","menuItems","useMemo","React","Children","map","child","isValidElement","type","MenuItem","_child$props","props","childValue","childOnClick","onClick","selected","cloneElement","role","createElement","displayName","_default","exports"],"sources":["../../../src/MenuGroup/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { useForwardedState } from '@os-design/utils';\nimport React, { forwardRef, useCallback, useContext, useMemo } from 'react';\nimport MenuItem from '../MenuItem';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'value' | 'onChange' | 'ref'\n>;\ninterface BaseMenuGroupProps<T> extends JsxDivProps {\n /**\n * The title of the menu group.\n * @default undefined\n */\n title?: string;\n /**\n * The max number of options that the user can select. Zero means unlimited.\n * Works only when multiple is true.\n * @default 0\n */\n maxSelectedItems?: number;\n /**\n * Selected menu items.\n * @default undefined\n */\n value?: T;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T) => void;\n}\ninterface MenuGroupNotMultipleProps extends BaseMenuGroupProps<string | null> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple?: false;\n}\ninterface MenuGroupMultipleProps extends BaseMenuGroupProps<string[]> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple: true;\n}\nexport type MenuGroupProps = MenuGroupNotMultipleProps | MenuGroupMultipleProps;\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.menuGroupColorTitle)};\n margin-bottom: 0.4em;\n\n padding: 0 ${(p) => p.theme.modalBodyPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 0.8em;\n }\n\n ${ellipsisStyles};\n`;\n\nconst Container = styled.div`\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuGroupColorDivider)};\n }\n &:not(:first-of-type) {\n margin-top: ${(p) => p.theme.modalBodyPaddingVertical[0]}em;\n ${m.min.xs} {\n margin-top: 0.4em;\n }\n }\n`;\n\n/**\n * The group of menu items.\n */\nconst MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(\n (\n {\n title,\n multiple = false,\n maxSelectedItems = 0,\n value,\n defaultValue,\n onChange = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(MenuContext);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n const onSelect = useCallback(\n (v: string) => {\n if (multiple) {\n // Delete the value because it was already selected\n if ((forwardedValue || []).includes(v)) {\n setForwardedValue(\n (forwardedValue || []).filter((item) => item !== v)\n );\n return;\n }\n\n // Add a new value if the number of selected items is less than max\n if (\n maxSelectedItems === 0 ||\n (forwardedValue || []).length < maxSelectedItems\n ) {\n setForwardedValue([...(forwardedValue || []), v]);\n return;\n }\n return;\n }\n setForwardedValue(v);\n },\n [forwardedValue, maxSelectedItems, multiple, setForwardedValue]\n );\n\n const menuItems = useMemo(\n () =>\n React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== MenuItem)\n return child;\n const { value: childValue, onClick: childOnClick } = child.props;\n const selected =\n (multiple && (forwardedValue || []).includes(childValue)) ||\n (!multiple && forwardedValue === childValue);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return React.cloneElement<any>(child, {\n key: childValue,\n selected,\n onClick: (e) => {\n if (!childValue) return;\n onSelect(childValue);\n if (childOnClick) childOnClick(e);\n },\n ...(!closeOnSelect\n ? {\n role:\n maxSelectedItems === 1\n ? 'menuitemradio'\n : 'menuitemcheckbox',\n 'aria-checked': selected,\n }\n : {}),\n });\n }),\n [\n children,\n closeOnSelect,\n forwardedValue,\n maxSelectedItems,\n multiple,\n onSelect,\n ]\n );\n\n return (\n <Container\n role={maxSelectedItems === 1 ? 'radiogroup' : 'group'}\n {...rest}\n ref={ref}\n >\n {title && <Title>{title}</Title>}\n {menuItems}\n </Container>\n );\n }\n);\n\nMenuGroup.displayName = 'MenuGroup';\n\nexport default MenuGroup;\n"],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
10
10
|
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; }
|
|
11
11
|
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; }
|
|
12
12
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
-
function _toPropertyKey(
|
|
14
|
-
function _toPrimitive(
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
15
|
var defaultLocale = _objectSpread(_objectSpread({}, _defaultLocale["default"]), {}, {
|
|
16
16
|
searchLabel: 'Search',
|
|
17
17
|
closeLabel: 'Close search'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultLocale.js","names":["_defaultLocale","_interopRequireDefault","require","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","
|
|
1
|
+
{"version":3,"file":"defaultLocale.js","names":["_defaultLocale","_interopRequireDefault","require","obj","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","toPrimitive","call","TypeError","Number","defaultLocale","inputSearchDefaultLocale","searchLabel","closeLabel","_default","exports"],"sources":["../../../../src/PageHeaderInputSearch/utils/defaultLocale.ts"],"sourcesContent":["import inputSearchDefaultLocale, {\n InputSearchLocale,\n} from '../../InputSearch/utils/defaultLocale';\n\nexport interface PageHeaderInputSearchLocale extends InputSearchLocale {\n searchLabel: string;\n closeLabel: string;\n}\n\nconst defaultLocale: PageHeaderInputSearchLocale = {\n ...inputSearchDefaultLocale,\n searchLabel: 'Search',\n closeLabel: 'Close search',\n};\n\nexport default defaultLocale;\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAE+C,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAX,CAAA,GAAAS,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAP,CAAA,GAAAA,CAAA,CAAAY,MAAA,WAAAL,CAAA,WAAAE,MAAA,CAAAI,wBAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAR,CAAA,YAAAQ,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAY,OAAA,WAAAb,CAAA,IAAAc,eAAA,CAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAa,yBAAA,GAAAb,MAAA,CAAAc,gBAAA,CAAAjB,CAAA,EAAAG,MAAA,CAAAa,yBAAA,CAAAd,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAY,OAAA,WAAAb,CAAA,IAAAE,MAAA,CAAAe,cAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAI,wBAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAe,gBAAAxB,GAAA,EAAA4B,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAA5B,GAAA,IAAAY,MAAA,CAAAe,cAAA,CAAA3B,GAAA,EAAA4B,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAAhC,GAAA,CAAA4B,GAAA,IAAAC,KAAA,WAAA7B,GAAA;AAAA,SAAA8B,eAAAnB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,gCAAAT,OAAA,CAAA+B,CAAA,IAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,oBAAAR,OAAA,CAAAS,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAP,MAAA,CAAAgC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,gCAAAR,OAAA,CAAA+B,CAAA,UAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAAyB,MAAA,GAAAI,MAAA,EAAA5B,CAAA;AAO/C,IAAM6B,aAA0C,GAAApB,aAAA,CAAAA,aAAA,KAC3CqB,yBAAwB;EAC3BC,WAAW,EAAE,QAAQ;EACrBC,UAAU,EAAE;AAAc,EAC3B;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEaL,aAAa"}
|
|
@@ -16,8 +16,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
16
16
|
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; }
|
|
17
17
|
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; }
|
|
18
18
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
-
function _toPropertyKey(
|
|
20
|
-
function _toPrimitive(
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
20
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
21
|
var popoverPositionGetters = function popoverPositionGetters(rectKey) {
|
|
22
22
|
var sizeKey = rectKey === 'top' ? 'height' : 'width';
|
|
23
23
|
var windowSizeKey = rectKey === 'top' ? 'innerHeight' : 'innerWidth';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePopoverPosition.js","names":["_utils","require","_react","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","popoverPositionGetters","rectKey","sizeKey","windowSizeKey","windowOffsetKey","fitToWindow","start","_ref","elementRect","popoverRect","popoverStart","windowStart","window","windowEnd","elementStart","elementEnd","popoverEnd","before","options","gap","flip","afterPopoverStart","after","afterPopoverEnd","diffStart","diffEnd","beforePopoverStart","_ref2","end","_ref3","center","_ref4","getPopoverPosition","top","left","placementPositionKeysMap","bottom","right","usePopoverPosition","_ref5","_ref5$placement","placement","_ref5$gap","_ref5$flip","bodyFontSize","useFontSize","document","body","gapPx","useMemo","positionKeys","concat","_default","exports"],"sources":["../../../../src/Popover/utils/usePopoverPosition.ts"],"sourcesContent":["import { useFontSize } from '@os-design/utils';\nimport { useMemo } from 'react';\n\ntype Side = 'top' | 'left' | 'right' | 'bottom';\ntype Alignment = 'start' | 'end';\ntype AlignedPlacement = `${Side}-${Alignment}`;\n\nexport type Placement = Side | AlignedPlacement;\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UsePopoverPositionProps {\n /**\n * The rect of the element.\n */\n elementRect: Rect;\n /**\n * The rect of the popover.\n */\n popoverRect: Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.5\n */\n gap?: number;\n /**\n * Whether to flip the popover if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n}\n\ninterface PopoverPositionGetterOptions {\n elementRect: Rect;\n popoverRect: Rect;\n gap: number;\n flip: boolean;\n}\ntype PositionKeys = 'before' | 'after' | 'start' | 'end' | 'center';\ntype PopoverPositionGetterFn = (\n options: PopoverPositionGetterOptions\n) => number;\ntype PopoverPositionGetters = Record<PositionKeys, PopoverPositionGetterFn>;\ntype FitToWindow = Pick<\n PopoverPositionGetterOptions,\n 'elementRect' | 'popoverRect'\n>;\n\nconst popoverPositionGetters = (\n rectKey: 'top' | 'left'\n): PopoverPositionGetters => {\n const sizeKey = rectKey === 'top' ? 'height' : 'width';\n const windowSizeKey = rectKey === 'top' ? 'innerHeight' : 'innerWidth';\n const windowOffsetKey = rectKey === 'top' ? 'pageYOffset' : 'pageXOffset';\n\n const fitToWindow = (\n start: number,\n { elementRect, popoverRect }: FitToWindow\n ): number => {\n let popoverStart = start;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n\n // Fit the popover to the end of the window\n if (popoverEnd > windowEnd) {\n if (elementEnd < windowEnd)\n popoverStart = windowEnd - popoverRect[sizeKey];\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementEnd - popoverRect[sizeKey];\n else if (windowEnd - elementStart > popoverRect[sizeKey])\n popoverStart = windowEnd - popoverRect[sizeKey];\n else popoverStart = elementStart;\n }\n\n // Fit the popover to the beginning of the window\n if (popoverStart < windowStart) {\n if (elementStart > windowStart) popoverStart = windowStart;\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementStart;\n else if (elementEnd - windowStart > popoverRect[sizeKey])\n popoverStart = windowStart;\n else popoverStart = elementEnd - popoverRect[sizeKey];\n }\n\n return popoverStart;\n };\n\n return {\n before(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart = elementStart - popoverRect[sizeKey] - gap;\n if (flip && popoverStart < windowStart) {\n const afterPopoverStart = this.after({ ...options, flip: false });\n const afterPopoverEnd = afterPopoverStart + popoverRect[sizeKey];\n const diffStart = windowStart - popoverStart;\n const diffEnd = afterPopoverEnd - windowEnd;\n if (afterPopoverEnd <= windowEnd || diffStart > diffEnd)\n return afterPopoverStart;\n }\n return popoverStart;\n },\n after(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd + gap;\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n if (flip && popoverEnd > windowEnd) {\n const beforePopoverStart = this.before({ ...options, flip: false });\n const diffStart = windowStart - beforePopoverStart;\n const diffEnd = popoverEnd - windowEnd;\n if (beforePopoverStart >= windowStart || diffEnd > diffStart)\n return beforePopoverStart;\n }\n return popoverStart;\n },\n start: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n return fitToWindow(elementStart, { elementRect, popoverRect });\n },\n end: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd - popoverRect[sizeKey];\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n center: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart =\n elementStart + (elementRect[sizeKey] - popoverRect[sizeKey]) / 2;\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n };\n};\n\nconst getPopoverPosition = (\n top: PositionKeys,\n left: PositionKeys,\n options: PopoverPositionGetterOptions\n) => ({\n top: popoverPositionGetters('top')[top](options),\n left: popoverPositionGetters('left')[left](options),\n});\n\ntype PlacementPositionKeysMap = Record<Placement, [PositionKeys, PositionKeys]>;\nconst placementPositionKeysMap: PlacementPositionKeysMap = {\n top: ['before', 'center'],\n bottom: ['after', 'center'],\n left: ['center', 'before'],\n right: ['center', 'after'],\n 'top-start': ['before', 'start'],\n 'top-end': ['before', 'end'],\n 'bottom-start': ['after', 'start'],\n 'bottom-end': ['after', 'end'],\n 'left-start': ['start', 'before'],\n 'left-end': ['end', 'before'],\n 'right-start': ['start', 'after'],\n 'right-end': ['end', 'after'],\n};\n\ninterface PopoverPosition {\n top: number;\n left: number;\n}\n\n/**\n * Computes the position of the popover.\n * Note that you must change the elementRect when the scroll and resize events of the parent scrollable container occur.\n * In most cases, it will be the window.\n */\nconst usePopoverPosition = ({\n elementRect,\n popoverRect,\n placement = 'top',\n gap = 0.5,\n flip = true,\n}: UsePopoverPositionProps): PopoverPosition => {\n const bodyFontSize = useFontSize(document.body);\n const gapPx = useMemo(() => gap * bodyFontSize, [gap, bodyFontSize]);\n\n const positionKeys = useMemo(() => {\n if (typeof placement === 'string' && !!placementPositionKeysMap[placement])\n return placementPositionKeysMap[placement];\n return placementPositionKeysMap.top;\n }, [placement]);\n\n return getPopoverPosition(...positionKeys, {\n elementRect,\n popoverRect,\n gap: gapPx,\n flip,\n });\n};\n\nexport default usePopoverPosition;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePopoverPosition.js","names":["_utils","require","_react","_typeof","o","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","e","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","toPrimitive","Number","popoverPositionGetters","rectKey","sizeKey","windowSizeKey","windowOffsetKey","fitToWindow","start","_ref","elementRect","popoverRect","popoverStart","windowStart","window","windowEnd","elementStart","elementEnd","popoverEnd","before","options","gap","flip","afterPopoverStart","after","afterPopoverEnd","diffStart","diffEnd","beforePopoverStart","_ref2","end","_ref3","center","_ref4","getPopoverPosition","top","left","placementPositionKeysMap","bottom","right","usePopoverPosition","_ref5","_ref5$placement","placement","_ref5$gap","_ref5$flip","bodyFontSize","useFontSize","document","body","gapPx","useMemo","positionKeys","concat","_default","exports"],"sources":["../../../../src/Popover/utils/usePopoverPosition.ts"],"sourcesContent":["import { useFontSize } from '@os-design/utils';\nimport { useMemo } from 'react';\n\ntype Side = 'top' | 'left' | 'right' | 'bottom';\ntype Alignment = 'start' | 'end';\ntype AlignedPlacement = `${Side}-${Alignment}`;\n\nexport type Placement = Side | AlignedPlacement;\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UsePopoverPositionProps {\n /**\n * The rect of the element.\n */\n elementRect: Rect;\n /**\n * The rect of the popover.\n */\n popoverRect: Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.5\n */\n gap?: number;\n /**\n * Whether to flip the popover if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n}\n\ninterface PopoverPositionGetterOptions {\n elementRect: Rect;\n popoverRect: Rect;\n gap: number;\n flip: boolean;\n}\ntype PositionKeys = 'before' | 'after' | 'start' | 'end' | 'center';\ntype PopoverPositionGetterFn = (\n options: PopoverPositionGetterOptions\n) => number;\ntype PopoverPositionGetters = Record<PositionKeys, PopoverPositionGetterFn>;\ntype FitToWindow = Pick<\n PopoverPositionGetterOptions,\n 'elementRect' | 'popoverRect'\n>;\n\nconst popoverPositionGetters = (\n rectKey: 'top' | 'left'\n): PopoverPositionGetters => {\n const sizeKey = rectKey === 'top' ? 'height' : 'width';\n const windowSizeKey = rectKey === 'top' ? 'innerHeight' : 'innerWidth';\n const windowOffsetKey = rectKey === 'top' ? 'pageYOffset' : 'pageXOffset';\n\n const fitToWindow = (\n start: number,\n { elementRect, popoverRect }: FitToWindow\n ): number => {\n let popoverStart = start;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n\n // Fit the popover to the end of the window\n if (popoverEnd > windowEnd) {\n if (elementEnd < windowEnd)\n popoverStart = windowEnd - popoverRect[sizeKey];\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementEnd - popoverRect[sizeKey];\n else if (windowEnd - elementStart > popoverRect[sizeKey])\n popoverStart = windowEnd - popoverRect[sizeKey];\n else popoverStart = elementStart;\n }\n\n // Fit the popover to the beginning of the window\n if (popoverStart < windowStart) {\n if (elementStart > windowStart) popoverStart = windowStart;\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementStart;\n else if (elementEnd - windowStart > popoverRect[sizeKey])\n popoverStart = windowStart;\n else popoverStart = elementEnd - popoverRect[sizeKey];\n }\n\n return popoverStart;\n };\n\n return {\n before(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart = elementStart - popoverRect[sizeKey] - gap;\n if (flip && popoverStart < windowStart) {\n const afterPopoverStart = this.after({ ...options, flip: false });\n const afterPopoverEnd = afterPopoverStart + popoverRect[sizeKey];\n const diffStart = windowStart - popoverStart;\n const diffEnd = afterPopoverEnd - windowEnd;\n if (afterPopoverEnd <= windowEnd || diffStart > diffEnd)\n return afterPopoverStart;\n }\n return popoverStart;\n },\n after(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd + gap;\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n if (flip && popoverEnd > windowEnd) {\n const beforePopoverStart = this.before({ ...options, flip: false });\n const diffStart = windowStart - beforePopoverStart;\n const diffEnd = popoverEnd - windowEnd;\n if (beforePopoverStart >= windowStart || diffEnd > diffStart)\n return beforePopoverStart;\n }\n return popoverStart;\n },\n start: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n return fitToWindow(elementStart, { elementRect, popoverRect });\n },\n end: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd - popoverRect[sizeKey];\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n center: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart =\n elementStart + (elementRect[sizeKey] - popoverRect[sizeKey]) / 2;\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n };\n};\n\nconst getPopoverPosition = (\n top: PositionKeys,\n left: PositionKeys,\n options: PopoverPositionGetterOptions\n) => ({\n top: popoverPositionGetters('top')[top](options),\n left: popoverPositionGetters('left')[left](options),\n});\n\ntype PlacementPositionKeysMap = Record<Placement, [PositionKeys, PositionKeys]>;\nconst placementPositionKeysMap: PlacementPositionKeysMap = {\n top: ['before', 'center'],\n bottom: ['after', 'center'],\n left: ['center', 'before'],\n right: ['center', 'after'],\n 'top-start': ['before', 'start'],\n 'top-end': ['before', 'end'],\n 'bottom-start': ['after', 'start'],\n 'bottom-end': ['after', 'end'],\n 'left-start': ['start', 'before'],\n 'left-end': ['end', 'before'],\n 'right-start': ['start', 'after'],\n 'right-end': ['end', 'after'],\n};\n\ninterface PopoverPosition {\n top: number;\n left: number;\n}\n\n/**\n * Computes the position of the popover.\n * Note that you must change the elementRect when the scroll and resize events of the parent scrollable container occur.\n * In most cases, it will be the window.\n */\nconst usePopoverPosition = ({\n elementRect,\n popoverRect,\n placement = 'top',\n gap = 0.5,\n flip = true,\n}: UsePopoverPositionProps): PopoverPosition => {\n const bodyFontSize = useFontSize(document.body);\n const gapPx = useMemo(() => gap * bodyFontSize, [gap, bodyFontSize]);\n\n const positionKeys = useMemo(() => {\n if (typeof placement === 'string' && !!placementPositionKeysMap[placement])\n return placementPositionKeysMap[placement];\n return placementPositionKeysMap.top;\n }, [placement]);\n\n return getPopoverPosition(...positionKeys, {\n elementRect,\n popoverRect,\n gap: gapPx,\n flip,\n });\n};\n\nexport default usePopoverPosition;\n"],"mappings":"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"}
|
package/dist/cjs/Select/index.js
CHANGED
|
@@ -33,8 +33,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
33
33
|
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; }
|
|
34
34
|
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; }
|
|
35
35
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
36
|
-
function _toPropertyKey(
|
|
37
|
-
function _toPrimitive(
|
|
36
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
37
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
38
38
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
39
39
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
40
40
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|