@wireapp/react-ui-kit 8.17.3 → 8.17.4
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/package.json +2 -7
- package/src/Form/Button.js +8 -8
- package/src/Form/Button.js.map +1 -1
- package/src/Form/ButtonLink.js +7 -7
- package/src/Form/ButtonLink.js.map +1 -1
- package/src/Form/Checkbox.js +19 -19
- package/src/Form/Checkbox.js.map +1 -1
- package/src/Form/CodeInput.js +13 -9
- package/src/Form/CodeInput.js.map +1 -1
- package/src/Form/DropFileInput.js +15 -10
- package/src/Form/DropFileInput.js.map +1 -1
- package/src/Form/ErrorMessage.js +8 -8
- package/src/Form/ErrorMessage.js.map +1 -1
- package/src/Form/Form.js +3 -3
- package/src/Form/Form.js.map +1 -1
- package/src/Form/Input.js +16 -10
- package/src/Form/Input.js.map +1 -1
- package/src/Form/InputBlock.js +6 -27
- package/src/Form/InputBlock.js.map +1 -1
- package/src/Form/InputLabel.js +6 -5
- package/src/Form/InputLabel.js.map +1 -1
- package/src/Form/InputSubmitCombo.js +10 -10
- package/src/Form/InputSubmitCombo.js.map +1 -1
- package/src/Form/RangeInput.js +7 -6
- package/src/Form/RangeInput.js.map +1 -1
- package/src/Form/RangeInput.styles.js +3 -4
- package/src/Form/RangeInput.styles.js.map +1 -1
- package/src/Form/RoundIconButton.js +8 -7
- package/src/Form/RoundIconButton.js.map +1 -1
- package/src/Form/Select.js +8 -7
- package/src/Form/Select.js.map +1 -1
- package/src/Form/SelectComponents.js +9 -8
- package/src/Form/SelectComponents.js.map +1 -1
- package/src/Form/SelectStyles.js +2 -3
- package/src/Form/SelectStyles.js.map +1 -1
- package/src/Form/ShakeBox.js +8 -25
- package/src/Form/ShakeBox.js.map +1 -1
- package/src/Form/Switch.js +6 -6
- package/src/Form/Switch.js.map +1 -1
- package/src/Form/TextArea.js +5 -5
- package/src/Form/TextArea.js.map +1 -1
- package/src/Form/Tooltip.js +6 -5
- package/src/Form/Tooltip.js.map +1 -1
- package/src/GlobalStyle.js +3 -3
- package/src/GlobalStyle.js.map +1 -1
- package/src/Icon/AddPeopleIcon.js +4 -26
- package/src/Icon/AddPeopleIcon.js.map +1 -1
- package/src/Icon/ArchiveIcon.js +2 -24
- package/src/Icon/ArchiveIcon.js.map +1 -1
- package/src/Icon/ArrowDown.js +5 -24
- package/src/Icon/ArrowDown.js.map +1 -1
- package/src/Icon/ArrowIcon.js +5 -5
- package/src/Icon/ArrowIcon.js.map +1 -1
- package/src/Icon/AttachmentIcon.js +2 -24
- package/src/Icon/AttachmentIcon.js.map +1 -1
- package/src/Icon/AudioVideoIcon.js +2 -24
- package/src/Icon/AudioVideoIcon.js.map +1 -1
- package/src/Icon/BlockIcon.js +2 -24
- package/src/Icon/BlockIcon.js.map +1 -1
- package/src/Icon/Brand/AndroidIcon.js +2 -24
- package/src/Icon/Brand/AndroidIcon.js.map +1 -1
- package/src/Icon/Brand/AppleIcon.js +2 -24
- package/src/Icon/Brand/AppleIcon.js.map +1 -1
- package/src/Icon/Brand/ChromeIcon.js +2 -24
- package/src/Icon/Brand/ChromeIcon.js.map +1 -1
- package/src/Icon/Brand/FacebookIcon.js +2 -24
- package/src/Icon/Brand/FacebookIcon.js.map +1 -1
- package/src/Icon/Brand/GitHubIcon.js +2 -24
- package/src/Icon/Brand/GitHubIcon.js.map +1 -1
- package/src/Icon/Brand/LinkedInIcon.js +2 -24
- package/src/Icon/Brand/LinkedInIcon.js.map +1 -1
- package/src/Icon/Brand/LinuxIcon.js +2 -24
- package/src/Icon/Brand/LinuxIcon.js.map +1 -1
- package/src/Icon/Brand/MicrosoftIcon.js +2 -24
- package/src/Icon/Brand/MicrosoftIcon.js.map +1 -1
- package/src/Icon/Brand/TwitterIcon.js +2 -24
- package/src/Icon/Brand/TwitterIcon.js.map +1 -1
- package/src/Icon/CallIcon.js +2 -24
- package/src/Icon/CallIcon.js.map +1 -1
- package/src/Icon/CamIcon.js +2 -24
- package/src/Icon/CamIcon.js.map +1 -1
- package/src/Icon/CameraIcon.js +4 -26
- package/src/Icon/CameraIcon.js.map +1 -1
- package/src/Icon/CheckIcon.js +2 -24
- package/src/Icon/CheckIcon.js.map +1 -1
- package/src/Icon/CheckRoundIcon.js +2 -24
- package/src/Icon/CheckRoundIcon.js.map +1 -1
- package/src/Icon/ChevronIcon.js +5 -5
- package/src/Icon/ChevronIcon.js.map +1 -1
- package/src/Icon/CloseIcon.js +2 -24
- package/src/Icon/CloseIcon.js.map +1 -1
- package/src/Icon/CopyIcon.js +2 -24
- package/src/Icon/CopyIcon.js.map +1 -1
- package/src/Icon/DeviceIcon.js +2 -24
- package/src/Icon/DeviceIcon.js.map +1 -1
- package/src/Icon/DownloadIcon.js +2 -24
- package/src/Icon/DownloadIcon.js.map +1 -1
- package/src/Icon/EditDocumentIcon.js +4 -26
- package/src/Icon/EditDocumentIcon.js.map +1 -1
- package/src/Icon/EditIcon.js +2 -24
- package/src/Icon/EditIcon.js.map +1 -1
- package/src/Icon/EnterIcon.js +2 -24
- package/src/Icon/EnterIcon.js.map +1 -1
- package/src/Icon/ErrorIcon.js +2 -24
- package/src/Icon/ErrorIcon.js.map +1 -1
- package/src/Icon/FileIcon.js +2 -24
- package/src/Icon/FileIcon.js.map +1 -1
- package/src/Icon/GifIcon.js +2 -24
- package/src/Icon/GifIcon.js.map +1 -1
- package/src/Icon/GridIcon.js +4 -26
- package/src/Icon/GridIcon.js.map +1 -1
- package/src/Icon/GroupIcon.js +2 -24
- package/src/Icon/GroupIcon.js.map +1 -1
- package/src/Icon/HangupIcon.js +2 -24
- package/src/Icon/HangupIcon.js.map +1 -1
- package/src/Icon/HideIcon.js +2 -24
- package/src/Icon/HideIcon.js.map +1 -1
- package/src/Icon/ImageIcon.js +2 -24
- package/src/Icon/ImageIcon.js.map +1 -1
- package/src/Icon/InfoIcon.js +2 -24
- package/src/Icon/InfoIcon.js.map +1 -1
- package/src/Icon/InviteIcon.js +2 -24
- package/src/Icon/InviteIcon.js.map +1 -1
- package/src/Icon/LeaveIcon.js +2 -24
- package/src/Icon/LeaveIcon.js.map +1 -1
- package/src/Icon/LinkIcon.js +4 -26
- package/src/Icon/LinkIcon.js.map +1 -1
- package/src/Icon/ListIcon.js +2 -24
- package/src/Icon/ListIcon.js.map +1 -1
- package/src/Icon/LockIcon.js +2 -24
- package/src/Icon/LockIcon.js.map +1 -1
- package/src/Icon/MessageIcon.js +2 -24
- package/src/Icon/MessageIcon.js.map +1 -1
- package/src/Icon/MinusIcon.js +2 -24
- package/src/Icon/MinusIcon.js.map +1 -1
- package/src/Icon/MoreIcon.js +2 -24
- package/src/Icon/MoreIcon.js.map +1 -1
- package/src/Icon/MuteIcon.js +2 -24
- package/src/Icon/MuteIcon.js.map +1 -1
- package/src/Icon/NotificationIcon.js +2 -24
- package/src/Icon/NotificationIcon.js.map +1 -1
- package/src/Icon/NotificationOffIcon.js +2 -24
- package/src/Icon/NotificationOffIcon.js.map +1 -1
- package/src/Icon/OptionsIcon.js +2 -24
- package/src/Icon/OptionsIcon.js.map +1 -1
- package/src/Icon/PeopleIcon.js +4 -26
- package/src/Icon/PeopleIcon.js.map +1 -1
- package/src/Icon/PingIcon.js +2 -24
- package/src/Icon/PingIcon.js.map +1 -1
- package/src/Icon/PlaneIcon.js +2 -24
- package/src/Icon/PlaneIcon.js.map +1 -1
- package/src/Icon/PlusIcon.js +2 -24
- package/src/Icon/PlusIcon.js.map +1 -1
- package/src/Icon/ProfileIcon.js +2 -24
- package/src/Icon/ProfileIcon.js.map +1 -1
- package/src/Icon/RecordBoldIcon.js +5 -5
- package/src/Icon/RecordBoldIcon.js.map +1 -1
- package/src/Icon/RecordIcon.js +2 -24
- package/src/Icon/RecordIcon.js.map +1 -1
- package/src/Icon/RecordPendingIcon.js +2 -24
- package/src/Icon/RecordPendingIcon.js.map +1 -1
- package/src/Icon/ReloadIcon.js +2 -24
- package/src/Icon/ReloadIcon.js.map +1 -1
- package/src/Icon/SVGIcon.js +6 -5
- package/src/Icon/SVGIcon.js.map +1 -1
- package/src/Icon/ScreenshareIcon.js +2 -24
- package/src/Icon/ScreenshareIcon.js.map +1 -1
- package/src/Icon/SearchIcon.js +2 -24
- package/src/Icon/SearchIcon.js.map +1 -1
- package/src/Icon/ServicesIcon.js +2 -24
- package/src/Icon/ServicesIcon.js.map +1 -1
- package/src/Icon/SettingsIcon.js +2 -24
- package/src/Icon/SettingsIcon.js.map +1 -1
- package/src/Icon/ShowIcon.js +2 -24
- package/src/Icon/ShowIcon.js.map +1 -1
- package/src/Icon/SignIcon.js +2 -24
- package/src/Icon/SignIcon.js.map +1 -1
- package/src/Icon/SpeakerIcon.js +2 -24
- package/src/Icon/SpeakerIcon.js.map +1 -1
- package/src/Icon/SupportIcon.js +2 -24
- package/src/Icon/SupportIcon.js.map +1 -1
- package/src/Icon/TeamIcon.js +2 -24
- package/src/Icon/TeamIcon.js.map +1 -1
- package/src/Icon/TimedIcon.js +2 -24
- package/src/Icon/TimedIcon.js.map +1 -1
- package/src/Icon/TrashCrossIcon.js +2 -24
- package/src/Icon/TrashCrossIcon.js.map +1 -1
- package/src/Icon/TrashIcon.js +2 -24
- package/src/Icon/TrashIcon.js.map +1 -1
- package/src/Icon/TriangleIcon.js +5 -5
- package/src/Icon/TriangleIcon.js.map +1 -1
- package/src/Icon/UploadIcon.js +2 -24
- package/src/Icon/UploadIcon.js.map +1 -1
- package/src/Icon/WireIcon.js +2 -24
- package/src/Icon/WireIcon.js.map +1 -1
- package/src/Identity/Animation.js +18 -17
- package/src/Identity/Animation.js.map +1 -1
- package/src/Identity/Avatar.js +10 -27
- package/src/Identity/Avatar.js.map +1 -1
- package/src/Identity/AvatarGrid.js +8 -7
- package/src/Identity/AvatarGrid.js.map +1 -1
- package/src/Identity/Logo.js +7 -7
- package/src/Identity/Logo.js.map +1 -1
- package/src/Identity/colors-v2.js +2 -3
- package/src/Identity/colors-v2.js.map +1 -1
- package/src/Identity/colors.js +11 -6
- package/src/Identity/colors.js.map +1 -1
- package/src/Identity/motions.js +6 -7
- package/src/Identity/motions.js.map +1 -1
- package/src/Layout/Box.js +3 -24
- package/src/Layout/Box.js.map +1 -1
- package/src/Layout/Column.js +6 -27
- package/src/Layout/Column.js.map +1 -1
- package/src/Layout/Container.js +10 -31
- package/src/Layout/Container.js.map +1 -1
- package/src/Layout/Content.js +3 -24
- package/src/Layout/Content.js.map +1 -1
- package/src/Layout/FlexBox.js +3 -24
- package/src/Layout/FlexBox.js.map +1 -1
- package/src/Layout/Footer.js +1 -1
- package/src/Layout/Footer.js.map +1 -1
- package/src/Layout/Header.js +3 -24
- package/src/Layout/Header.js.map +1 -1
- package/src/Layout/MatchMedia.js +17 -35
- package/src/Layout/MatchMedia.js.map +1 -1
- package/src/Layout/Spacer.js +1 -1
- package/src/Layout/Spacer.js.map +1 -1
- package/src/Layout/StyledApp.js +6 -5
- package/src/Layout/StyledApp.js.map +1 -1
- package/src/Layout/Theme.js +7 -7
- package/src/Layout/Theme.js.map +1 -1
- package/src/Layout/headerMenu/HeaderMenu.js +13 -8
- package/src/Layout/headerMenu/HeaderMenu.js.map +1 -1
- package/src/Layout/headerMenu/HeaderSubMenu.js +10 -9
- package/src/Layout/headerMenu/HeaderSubMenu.js.map +1 -1
- package/src/Layout/headerMenu/MenuContent.js +4 -5
- package/src/Layout/headerMenu/MenuContent.js.map +1 -1
- package/src/Layout/headerMenu/MenuItems.js +5 -26
- package/src/Layout/headerMenu/MenuItems.js.map +1 -1
- package/src/Layout/headerMenu/MenuLink.js +10 -10
- package/src/Layout/headerMenu/MenuLink.js.map +1 -1
- package/src/Layout/headerMenu/MenuOpenButton.js +6 -27
- package/src/Layout/headerMenu/MenuOpenButton.js.map +1 -1
- package/src/Layout/headerMenu/MenuScrollableItems.js +5 -26
- package/src/Layout/headerMenu/MenuScrollableItems.js.map +1 -1
- package/src/Layout/headerMenu/MenuSubLink.js +6 -7
- package/src/Layout/headerMenu/MenuSubLink.js.map +1 -1
- package/src/Menu/MenuModal.js +14 -13
- package/src/Menu/MenuModal.js.map +1 -1
- package/src/Menu/TabBar.js +13 -12
- package/src/Menu/TabBar.js.map +1 -1
- package/src/Misc/ButtonGroup.js +7 -7
- package/src/Misc/ButtonGroup.js.map +1 -1
- package/src/Misc/IconButton.js +7 -7
- package/src/Misc/IconButton.js.map +1 -1
- package/src/Misc/IsInViewport.js +13 -8
- package/src/Misc/IsInViewport.js.map +1 -1
- package/src/Misc/Loading.js +8 -7
- package/src/Misc/Loading.js.map +1 -1
- package/src/Misc/Pagination.js +6 -5
- package/src/Misc/Pagination.js.map +1 -1
- package/src/Misc/Pill.js +7 -7
- package/src/Misc/Pill.js.map +1 -1
- package/src/Misc/childrenWithDefaultProps.js +3 -3
- package/src/Misc/childrenWithDefaultProps.js.map +1 -1
- package/src/Misc/useTimeout.js +7 -22
- package/src/Misc/useTimeout.js.map +1 -1
- package/src/Modal/Modal.js +13 -12
- package/src/Modal/Modal.js.map +1 -1
- package/src/Modal/Overlay.js +11 -10
- package/src/Modal/Overlay.js.map +1 -1
- package/src/Text/Heading.js +16 -16
- package/src/Text/Heading.js.map +1 -1
- package/src/Text/Label.js +9 -9
- package/src/Text/Label.js.map +1 -1
- package/src/Text/Line.js +3 -24
- package/src/Text/Line.js.map +1 -1
- package/src/Text/Link.js +8 -8
- package/src/Text/Link.js.map +1 -1
- package/src/Text/Paragraph.js +10 -10
- package/src/Text/Paragraph.js.map +1 -1
- package/src/Text/Text.js +8 -29
- package/src/Text/Text.js.map +1 -1
- package/src/Text/TextLink.js +7 -7
- package/src/Text/TextLink.js.map +1 -1
- package/src/Text/Title.js +7 -7
- package/src/Text/Title.js.map +1 -1
- package/src/mediaQueries.js +11 -7
- package/src/mediaQueries.js.map +1 -1
- package/src/util.js +10 -6
- package/src/util.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","names":["IconButtonVariant","iconButtonStyle","theme","variant","PRIMARY","backgroundColor","disabled","border","borderRadius","cursor","display","alignItems","justifyContent","marginBottom","padding","outline","textDecoration","touchAction","transition","defaultTransition","width","height","IconButton","primaryDisabledBgColor","primaryBgColor","primaryDisabledBorderColor","primaryBorderColor","svg","fill","Input","placeholderColor","general","color","hoverPrimaryBgColor","borderColor","primaryHoverBorderColor","focusBorderColor","activePrimaryBgColor","primaryColor","SECONDARY","secondaryActiveBorderColor","children","props","filterButtonProps","filterProps","filterTextProps"],"sources":["IconButton.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2022 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {CSSObject, jsx} from '@emotion/react';\n\nimport {defaultTransition} from '../Identity/motions';\nimport {Theme} from '../Layout';\nimport {TextProps, filterTextProps} from '../Text';\nimport {filterProps} from '../util';\n\nexport enum IconButtonVariant {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n}\n\nexport interface IconButtonProps<T = HTMLButtonElement> extends TextProps<T> {\n variant?: IconButtonVariant;\n backgroundColor?: string;\n}\n\nexport const iconButtonStyle: <T>(theme: Theme, props: IconButtonProps<T>) => CSSObject = (\n theme,\n {variant = IconButtonVariant.PRIMARY, backgroundColor, disabled = false},\n) => ({\n border: 0,\n borderRadius: '12px',\n cursor: disabled ? 'default' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginBottom: '16px',\n padding: 0,\n outline: 'none',\n textDecoration: 'none',\n touchAction: 'manipulation',\n transition: defaultTransition,\n width: '40px',\n height: '32px',\n '&:hover, &:focus': {\n textDecoration: 'none',\n },\n ...(variant === IconButtonVariant.PRIMARY && {\n backgroundColor: disabled\n ? theme.IconButton.primaryDisabledBgColor\n : backgroundColor || theme.IconButton.primaryBgColor,\n border: disabled\n ? `1px solid ${theme.IconButton.primaryDisabledBorderColor}`\n : `1px solid ${theme.IconButton.primaryBorderColor}`,\n svg: {\n fill: disabled ? theme.Input.placeholderColor : theme.general.color,\n },\n ...(!disabled && {\n '&:hover, &:focus': {\n backgroundColor: theme.IconButton.hoverPrimaryBgColor,\n },\n '&:hover': {\n borderColor: theme.IconButton.primaryHoverBorderColor,\n },\n '&:focus': {\n borderColor: theme.IconButton.focusBorderColor,\n },\n '&:active': {\n backgroundColor: theme.IconButton.activePrimaryBgColor,\n borderColor: theme.IconButton.focusBorderColor,\n svg: {\n fill: theme.general.primaryColor,\n },\n },\n }),\n }),\n ...(variant === IconButtonVariant.SECONDARY && {\n backgroundColor: 'inherit',\n svg: {\n fill: disabled ? theme.Input.placeholderColor : theme.general.color,\n },\n ...(!disabled && {\n '&:hover, &:focus, &:active': {\n svg: {\n fill: theme.general.primaryColor,\n },\n },\n '&:focus': {\n border: `1px solid ${theme.IconButton.focusBorderColor}`,\n },\n '&:active': {\n border: `1px solid ${theme.IconButton.secondaryActiveBorderColor}`,\n backgroundColor: theme.Input.backgroundColor,\n },\n }),\n }),\n});\n\nexport const IconButton = ({children, ...props}: IconButtonProps) => (\n <button css={(theme: Theme) => iconButtonStyle(theme, props)} {...filterButtonProps(props)}>\n {children}\n </button>\n);\n\nconst filterButtonProps = (props: IconButtonProps) => {\n return filterProps(filterTextProps(props) as IconButtonProps, ['backgroundColor']);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconButton.js","names":["IconButtonVariant","iconButtonStyle","theme","variant","PRIMARY","backgroundColor","disabled","border","borderRadius","cursor","display","alignItems","justifyContent","marginBottom","padding","outline","textDecoration","touchAction","transition","defaultTransition","width","height","IconButton","primaryDisabledBgColor","primaryBgColor","primaryDisabledBorderColor","primaryBorderColor","svg","fill","Input","placeholderColor","general","color","hoverPrimaryBgColor","borderColor","primaryHoverBorderColor","focusBorderColor","activePrimaryBgColor","primaryColor","SECONDARY","secondaryActiveBorderColor","children","props","filterButtonProps","filterProps","filterTextProps"],"sources":["IconButton.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2022 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {CSSObject, jsx} from '@emotion/react';\n\nimport {defaultTransition} from '../Identity/motions';\nimport {Theme} from '../Layout';\nimport {TextProps, filterTextProps} from '../Text';\nimport {filterProps} from '../util';\n\nexport enum IconButtonVariant {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n}\n\nexport interface IconButtonProps<T = HTMLButtonElement> extends TextProps<T> {\n variant?: IconButtonVariant;\n backgroundColor?: string;\n}\n\nexport const iconButtonStyle: <T>(theme: Theme, props: IconButtonProps<T>) => CSSObject = (\n theme,\n {variant = IconButtonVariant.PRIMARY, backgroundColor, disabled = false},\n) => ({\n border: 0,\n borderRadius: '12px',\n cursor: disabled ? 'default' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginBottom: '16px',\n padding: 0,\n outline: 'none',\n textDecoration: 'none',\n touchAction: 'manipulation',\n transition: defaultTransition,\n width: '40px',\n height: '32px',\n '&:hover, &:focus': {\n textDecoration: 'none',\n },\n ...(variant === IconButtonVariant.PRIMARY && {\n backgroundColor: disabled\n ? theme.IconButton.primaryDisabledBgColor\n : backgroundColor || theme.IconButton.primaryBgColor,\n border: disabled\n ? `1px solid ${theme.IconButton.primaryDisabledBorderColor}`\n : `1px solid ${theme.IconButton.primaryBorderColor}`,\n svg: {\n fill: disabled ? theme.Input.placeholderColor : theme.general.color,\n },\n ...(!disabled && {\n '&:hover, &:focus': {\n backgroundColor: theme.IconButton.hoverPrimaryBgColor,\n },\n '&:hover': {\n borderColor: theme.IconButton.primaryHoverBorderColor,\n },\n '&:focus': {\n borderColor: theme.IconButton.focusBorderColor,\n },\n '&:active': {\n backgroundColor: theme.IconButton.activePrimaryBgColor,\n borderColor: theme.IconButton.focusBorderColor,\n svg: {\n fill: theme.general.primaryColor,\n },\n },\n }),\n }),\n ...(variant === IconButtonVariant.SECONDARY && {\n backgroundColor: 'inherit',\n svg: {\n fill: disabled ? theme.Input.placeholderColor : theme.general.color,\n },\n ...(!disabled && {\n '&:hover, &:focus, &:active': {\n svg: {\n fill: theme.general.primaryColor,\n },\n },\n '&:focus': {\n border: `1px solid ${theme.IconButton.focusBorderColor}`,\n },\n '&:active': {\n border: `1px solid ${theme.IconButton.secondaryActiveBorderColor}`,\n backgroundColor: theme.Input.backgroundColor,\n },\n }),\n }),\n});\n\nexport const IconButton = ({children, ...props}: IconButtonProps) => (\n <button css={(theme: Theme) => iconButtonStyle(theme, props)} {...filterButtonProps(props)}>\n {children}\n </button>\n);\n\nconst filterButtonProps = (props: IconButtonProps) => {\n return filterProps(filterTextProps(props) as IconButtonProps, ['backgroundColor']);\n};\n"],"mappings":"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"}
|
package/src/Misc/IsInViewport.js
CHANGED
|
@@ -1,32 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.IsInViewport = void 0;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
8
|
var _react = require("@emotion/react");
|
|
13
9
|
var _react2 = _interopRequireWildcard(require("react"));
|
|
14
10
|
var _excluded = ["onEnterViewport", "disabled", "checkViewportOnce"];
|
|
15
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
14
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
15
|
+
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."); }
|
|
16
|
+
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); }
|
|
17
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
18
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
19
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
+
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; }
|
|
21
|
+
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; }
|
|
17
22
|
var IsInViewport = function IsInViewport(_ref) {
|
|
18
23
|
var onEnterViewport = _ref.onEnterViewport,
|
|
19
24
|
_ref$disabled = _ref.disabled,
|
|
20
25
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
21
26
|
_ref$checkViewportOnc = _ref.checkViewportOnce,
|
|
22
27
|
checkViewportOnce = _ref$checkViewportOnc === void 0 ? false : _ref$checkViewportOnc,
|
|
23
|
-
props = (
|
|
28
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
24
29
|
var element = (0, _react2.useRef)();
|
|
25
30
|
(0, _react2.useEffect)(function () {
|
|
26
31
|
var observer = undefined;
|
|
27
32
|
if (onEnterViewport && !disabled) {
|
|
28
33
|
observer = new IntersectionObserver(function (_ref2) {
|
|
29
|
-
var _ref3 = (
|
|
34
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
30
35
|
isIntersecting = _ref3[0].isIntersecting;
|
|
31
36
|
if (isIntersecting) {
|
|
32
37
|
if (checkViewportOnce) {
|
|
@@ -45,7 +50,7 @@ var IsInViewport = function IsInViewport(_ref) {
|
|
|
45
50
|
}
|
|
46
51
|
};
|
|
47
52
|
}, [onEnterViewport]);
|
|
48
|
-
return (0, _react.jsx)("div", (
|
|
53
|
+
return (0, _react.jsx)("div", _extends({
|
|
49
54
|
ref: element
|
|
50
55
|
}, props));
|
|
51
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsInViewport.js","names":["IsInViewport","onEnterViewport","disabled","checkViewportOnce","props","element","useRef","useEffect","observer","undefined","IntersectionObserver","isIntersecting","disconnect","observe","current"],"sources":["IsInViewport.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2019 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx} from '@emotion/react';\nimport React, {useEffect, useRef} from 'react';\n\nexport interface IsInViewportProps<T = HTMLDivElement> extends React.HTMLProps<T> {\n checkViewportOnce?: boolean;\n disabled?: boolean;\n onEnterViewport?: () => void;\n}\n\nexport const IsInViewport = ({\n onEnterViewport,\n disabled = false,\n checkViewportOnce = false,\n ...props\n}: IsInViewportProps) => {\n const element = useRef<HTMLDivElement>();\n useEffect(() => {\n let observer = undefined;\n if (onEnterViewport && !disabled) {\n observer = new IntersectionObserver(([{isIntersecting}]) => {\n if (isIntersecting) {\n if (checkViewportOnce) {\n observer.disconnect();\n }\n if (onEnterViewport && !disabled) {\n onEnterViewport();\n }\n }\n });\n observer.observe(element.current);\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n }\n };\n }, [onEnterViewport]);\n return <div ref={element} {...props} />;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IsInViewport.js","names":["IsInViewport","onEnterViewport","disabled","checkViewportOnce","props","element","useRef","useEffect","observer","undefined","IntersectionObserver","isIntersecting","disconnect","observe","current"],"sources":["IsInViewport.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2019 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx} from '@emotion/react';\nimport React, {useEffect, useRef} from 'react';\n\nexport interface IsInViewportProps<T = HTMLDivElement> extends React.HTMLProps<T> {\n checkViewportOnce?: boolean;\n disabled?: boolean;\n onEnterViewport?: () => void;\n}\n\nexport const IsInViewport = ({\n onEnterViewport,\n disabled = false,\n checkViewportOnce = false,\n ...props\n}: IsInViewportProps) => {\n const element = useRef<HTMLDivElement>();\n useEffect(() => {\n let observer = undefined;\n if (onEnterViewport && !disabled) {\n observer = new IntersectionObserver(([{isIntersecting}]) => {\n if (isIntersecting) {\n if (checkViewportOnce) {\n observer.disconnect();\n }\n if (onEnterViewport && !disabled) {\n onEnterViewport();\n }\n }\n });\n observer.observe(element.current);\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n }\n };\n }, [onEnterViewport]);\n return <div ref={element} {...props} />;\n};\n"],"mappings":";;;;;;;AAoBA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQxC,IAAMA,YAAY,GAAG,SAAfA,YAAY,OAKA;EAAA,IAJvBC,eAAe,QAAfA,eAAe;IAAA,qBACfC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAAA,6BAChBC,iBAAiB;IAAjBA,iBAAiB,sCAAG,KAAK;IACtBC,KAAK;EAER,IAAMC,OAAO,GAAG,IAAAC,cAAM,GAAkB;EACxC,IAAAC,iBAAS,EAAC,YAAM;IACd,IAAIC,QAAQ,GAAGC,SAAS;IACxB,IAAIR,eAAe,IAAI,CAACC,QAAQ,EAAE;MAChCM,QAAQ,GAAG,IAAIE,oBAAoB,CAAC,iBAAwB;QAAA;UAArBC,cAAc,YAAdA,cAAc;QACnD,IAAIA,cAAc,EAAE;UAClB,IAAIR,iBAAiB,EAAE;YACrBK,QAAQ,CAACI,UAAU,EAAE;UACvB;UACA,IAAIX,eAAe,IAAI,CAACC,QAAQ,EAAE;YAChCD,eAAe,EAAE;UACnB;QACF;MACF,CAAC,CAAC;MACFO,QAAQ,CAACK,OAAO,CAACR,OAAO,CAACS,OAAO,CAAC;IACnC;IAEA,OAAO,YAAM;MACX,IAAIN,QAAQ,EAAE;QACZA,QAAQ,CAACI,UAAU,EAAE;MACvB;IACF,CAAC;EACH,CAAC,EAAE,CAACX,eAAe,CAAC,CAAC;EACrB,OAAO;IAAK,GAAG,EAAEI;EAAQ,GAAKD,KAAK,EAAI;AACzC,CAAC;AAAC"}
|
package/src/Misc/Loading.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.Loading = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
7
|
var _react = require("@emotion/react");
|
|
12
8
|
var _react2 = _interopRequireDefault(require("react"));
|
|
13
9
|
var _Identity = require("../Identity");
|
|
14
10
|
var _motions = require("../Identity/motions");
|
|
15
11
|
var _templateObject;
|
|
16
12
|
var _excluded = ["progress", "size", "color"];
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
17
18
|
var Loading = function Loading(_ref) {
|
|
18
19
|
var _ref$progress = _ref.progress,
|
|
19
20
|
progress = _ref$progress === void 0 ? undefined : _ref$progress,
|
|
@@ -21,12 +22,12 @@ var Loading = function Loading(_ref) {
|
|
|
21
22
|
size = _ref$size === void 0 ? 43 : _ref$size,
|
|
22
23
|
_ref$color = _ref.color,
|
|
23
24
|
color = _ref$color === void 0 ? '#218fd1' : _ref$color,
|
|
24
|
-
props = (
|
|
25
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
25
26
|
var pathLength = 125.68;
|
|
26
27
|
var rotationOffset = -0.75;
|
|
27
28
|
var rotationDelay = _motions.DURATION.EXTRA_LONG * rotationOffset;
|
|
28
|
-
var fillAnimation = (0, _react.keyframes)(_templateObject || (_templateObject = (
|
|
29
|
-
return (0, _react.jsx)("svg", (
|
|
29
|
+
var fillAnimation = (0, _react.keyframes)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n stroke-dashoffset: ", ";\n }\n 100% {\n stroke-dashoffset: 0;\n }\n "])), pathLength + pathLength);
|
|
30
|
+
return (0, _react.jsx)("svg", _extends({
|
|
30
31
|
width: size,
|
|
31
32
|
height: size,
|
|
32
33
|
viewBox: "0 0 43 43",
|
package/src/Misc/Loading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","names":["Loading","progress","undefined","size","color","props","pathLength","rotationOffset","rotationDelay","DURATION","EXTRA_LONG","fillAnimation","keyframes","COLOR","opaque","animation","ANIMATION","rotate","strokeDasharray","transformOrigin","defaultProps"],"sources":["Loading.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx, keyframes} from '@emotion/react';\nimport React from 'react';\n\nimport {COLOR} from '../Identity';\nimport {ANIMATION, DURATION} from '../Identity/motions';\n\nexport interface LoadingProps<T = SVGSVGElement> extends React.SVGProps<T> {\n color?: string;\n progress?: number;\n size?: number;\n}\n\nexport const Loading = ({progress = undefined, size = 43, color = '#218fd1', ...props}: LoadingProps) => {\n const pathLength = 125.68;\n const rotationOffset = -0.75;\n const rotationDelay = DURATION.EXTRA_LONG * rotationOffset;\n const fillAnimation = keyframes`\n 0% {\n stroke-dashoffset: ${pathLength + pathLength};\n }\n 100% {\n stroke-dashoffset: 0;\n }\n `;\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 43 43\" strokeWidth=\"3\" fill=\"none\" {...props}>\n <circle cx=\"21.5\" cy=\"21.5\" r=\"20\" stroke={COLOR.opaque(color, 0.08)} />\n <circle\n css={\n !progress && {\n animation: `${fillAnimation} ${DURATION.EXTRA_LONG}ms ease-in-out infinite,\n ${ANIMATION.rotate} ${DURATION.EXTRA_LONG}ms linear ${rotationDelay}ms infinite`,\n strokeDasharray: pathLength,\n transformOrigin: '50% 50%',\n }\n }\n cx=\"21.5\"\n cy=\"21.5\"\n r=\"20\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeDasharray={pathLength}\n strokeDashoffset={progress && `${pathLength - pathLength * progress}`}\n />\n </svg>\n );\n};\n\nLoading.defaultProps = {\n progress: undefined,\n size: 43,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Loading.js","names":["Loading","progress","undefined","size","color","props","pathLength","rotationOffset","rotationDelay","DURATION","EXTRA_LONG","fillAnimation","keyframes","COLOR","opaque","animation","ANIMATION","rotate","strokeDasharray","transformOrigin","defaultProps"],"sources":["Loading.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx, keyframes} from '@emotion/react';\nimport React from 'react';\n\nimport {COLOR} from '../Identity';\nimport {ANIMATION, DURATION} from '../Identity/motions';\n\nexport interface LoadingProps<T = SVGSVGElement> extends React.SVGProps<T> {\n color?: string;\n progress?: number;\n size?: number;\n}\n\nexport const Loading = ({progress = undefined, size = 43, color = '#218fd1', ...props}: LoadingProps) => {\n const pathLength = 125.68;\n const rotationOffset = -0.75;\n const rotationDelay = DURATION.EXTRA_LONG * rotationOffset;\n const fillAnimation = keyframes`\n 0% {\n stroke-dashoffset: ${pathLength + pathLength};\n }\n 100% {\n stroke-dashoffset: 0;\n }\n `;\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 43 43\" strokeWidth=\"3\" fill=\"none\" {...props}>\n <circle cx=\"21.5\" cy=\"21.5\" r=\"20\" stroke={COLOR.opaque(color, 0.08)} />\n <circle\n css={\n !progress && {\n animation: `${fillAnimation} ${DURATION.EXTRA_LONG}ms ease-in-out infinite,\n ${ANIMATION.rotate} ${DURATION.EXTRA_LONG}ms linear ${rotationDelay}ms infinite`,\n strokeDasharray: pathLength,\n transformOrigin: '50% 50%',\n }\n }\n cx=\"21.5\"\n cy=\"21.5\"\n r=\"20\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeDasharray={pathLength}\n strokeDashoffset={progress && `${pathLength - pathLength * progress}`}\n />\n </svg>\n );\n};\n\nLoading.defaultProps = {\n progress: undefined,\n size: 43,\n};\n"],"mappings":";;;;;;AAoBA;AACA;AAEA;AACA;AAAwD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjD,IAAMA,OAAO,GAAG,SAAVA,OAAO,OAAqF;EAAA,yBAAhFC,QAAQ;IAARA,QAAQ,8BAAGC,SAAS;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,EAAE;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,SAAS;IAAKC,KAAK;EACnF,IAAMC,UAAU,GAAG,MAAM;EACzB,IAAMC,cAAc,GAAG,CAAC,IAAI;EAC5B,IAAMC,aAAa,GAAGC,iBAAQ,CAACC,UAAU,GAAGH,cAAc;EAC1D,IAAMI,aAAa,OAAGC,gBAAS,4KAENN,UAAU,GAAGA,UAAU,CAK/C;EAED,OACE;IAAK,KAAK,EAAEH,IAAK;IAAC,MAAM,EAAEA,IAAK;IAAC,OAAO,EAAC,WAAW;IAAC,WAAW,EAAC,GAAG;IAAC,IAAI,EAAC;EAAM,GAAKE,KAAK,GACvF;IAAQ,EAAE,EAAC,MAAM;IAAC,EAAE,EAAC,MAAM;IAAC,CAAC,EAAC,IAAI;IAAC,MAAM,EAAEQ,eAAK,CAACC,MAAM,CAACV,KAAK,EAAE,IAAI;EAAE,EAAG,EACxE;IACE,GAAG,EACD,CAACH,QAAQ,IAAI;MACXc,SAAS,YAAKJ,aAAa,cAAIF,iBAAQ,CAACC,UAAU,qDAC9CM,kBAAS,CAACC,MAAM,cAAIR,iBAAQ,CAACC,UAAU,uBAAaF,aAAa,gBAAa;MAClFU,eAAe,EAAEZ,UAAU;MAC3Ba,eAAe,EAAE;IACnB,CACD;IACD,EAAE,EAAC,MAAM;IACT,EAAE,EAAC,MAAM;IACT,CAAC,EAAC,IAAI;IACN,MAAM,EAAEf,KAAM;IACd,aAAa,EAAC,OAAO;IACrB,eAAe,EAAEE,UAAW;IAC5B,gBAAgB,EAAEL,QAAQ,cAAOK,UAAU,GAAGA,UAAU,GAAGL,QAAQ;EAAG,EACtE,CACE;AAEV,CAAC;AAAC;AAEFD,OAAO,CAACoB,YAAY,GAAG;EACrBnB,QAAQ,EAAEC,SAAS;EACnBC,IAAI,EAAE;AACR,CAAC"}
|
package/src/Misc/Pagination.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.Pagination = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
7
|
var _react = require("@emotion/react");
|
|
11
8
|
var _react2 = _interopRequireDefault(require("react"));
|
|
12
9
|
var _Identity = require("../Identity");
|
|
13
10
|
var _Layout = require("../Layout");
|
|
14
11
|
var _Text = require("../Text");
|
|
15
12
|
var _excluded = ["currentPage", "numberOfPages", "goPage", "previousPageComponent", "nextPageComponent"];
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
15
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
17
18
|
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
18
19
|
name: "1uohtp9",
|
|
19
20
|
styles: "flex-basis:100px"
|
|
@@ -55,7 +56,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
55
56
|
NextPageComponent = _ref$nextPageComponen === void 0 ? function () {
|
|
56
57
|
return '>';
|
|
57
58
|
} : _ref$nextPageComponen,
|
|
58
|
-
props = (
|
|
59
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
59
60
|
var isLastPage = currentPage === numberOfPages - 1;
|
|
60
61
|
var isFirstPage = currentPage === 0;
|
|
61
62
|
var renderPageList = function renderPageList() {
|
|
@@ -104,7 +105,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
104
105
|
}
|
|
105
106
|
return pages;
|
|
106
107
|
};
|
|
107
|
-
return (0, _react.jsx)(_Layout.FlexBox, (
|
|
108
|
+
return (0, _react.jsx)(_Layout.FlexBox, _extends({
|
|
108
109
|
align: "flex-end",
|
|
109
110
|
"data-uie-name": "element-pagination"
|
|
110
111
|
}, props), (0, _react.jsx)("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["Pagination","currentPage","numberOfPages","goPage","previousPageComponent","PreviousPageComponent","nextPageComponent","NextPageComponent","props","isLastPage","isFirstPage","renderPageList","lastPageIndex","spanLength","endLength","skipLength","normalizeCount","dots","key","renderPageNumber","pageIndex","color","COLOR","BLUE","margin","normalizedCurrent","Math","min","max","beforeCount","afterCount","pages","Array","from","nothing","index","splice"],"sources":["Pagination.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx} from '@emotion/react';\nimport React from 'react';\n\nimport {COLOR} from '../Identity';\nimport {FlexBox} from '../Layout';\nimport {Bold, Link} from '../Text';\n\ninterface PaginationProps<T = HTMLDivElement> extends React.PropsWithRef<React.HTMLProps<T>> {\n currentPage?: number;\n goPage?: (page: number) => void;\n nextPageComponent?: any;\n numberOfPages?: number;\n previousPageComponent?: any;\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage = 0,\n numberOfPages = 1,\n goPage,\n previousPageComponent: PreviousPageComponent = () => '<',\n nextPageComponent: NextPageComponent = () => '>',\n ...props\n}) => {\n const isLastPage = currentPage === numberOfPages - 1;\n const isFirstPage = currentPage === 0;\n\n const renderPageList = () => {\n const lastPageIndex = numberOfPages - 1;\n const spanLength = 1;\n const endLength = 1;\n const skipLength = 1;\n const normalizeCount = endLength + skipLength + spanLength;\n const dots = (key: string) => (\n <Bold key={key} fontSize={'11px'}>\n {'…'}\n </Bold>\n );\n const renderPageNumber = pageIndex =>\n currentPage === pageIndex ? (\n <Bold\n fontSize={'11px'}\n key={pageIndex}\n style={{color: COLOR.BLUE, margin: '0 8px'}}\n data-uie-name=\"status-active-page\"\n >\n {pageIndex + 1}\n </Bold>\n ) : (\n <Link key={pageIndex} style={{margin: '0 8px'}} onClick={() => goPage(pageIndex)} data-uie-name=\"go-page\">\n {pageIndex + 1}\n </Link>\n );\n\n const normalizedCurrent = Math.min(Math.max(currentPage, normalizeCount), lastPageIndex - normalizeCount);\n const beforeCount = normalizedCurrent - spanLength - endLength;\n const afterCount = lastPageIndex - endLength - normalizedCurrent - spanLength;\n\n const pages = Array.from(Array(numberOfPages), (nothing, index) => renderPageNumber(index));\n if (afterCount > skipLength) {\n pages.splice(normalizedCurrent + spanLength + 1, afterCount, dots('dots-end'));\n }\n if (beforeCount > skipLength) {\n pages.splice(endLength, beforeCount, dots('dots-start'));\n }\n\n return pages;\n };\n\n return (\n <FlexBox align=\"flex-end\" data-uie-name=\"element-pagination\" {...props}>\n <div css={{flexBasis: 100}}>\n {!isFirstPage && (\n <Link block onClick={() => goPage(currentPage - 1)} data-uie-name=\"go-previous-page\">\n <PreviousPageComponent />\n </Link>\n )}\n </div>\n <div\n css={{alignItems: 'flex-end', display: 'flex', flexDirection: 'row', margin: '0 auto'}}\n data-uie-name=\"list-pages\"\n >\n {renderPageList()}\n </div>\n <div css={{display: 'flex', flexBasis: 100, justifyContent: 'flex-end'}}>\n {!isLastPage && (\n <Link block onClick={() => goPage(currentPage + 1)} data-uie-name=\"go-next-page\">\n <NextPageComponent />\n </Link>\n )}\n </div>\n </FlexBox>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["Pagination","currentPage","numberOfPages","goPage","previousPageComponent","PreviousPageComponent","nextPageComponent","NextPageComponent","props","isLastPage","isFirstPage","renderPageList","lastPageIndex","spanLength","endLength","skipLength","normalizeCount","dots","key","renderPageNumber","pageIndex","color","COLOR","BLUE","margin","normalizedCurrent","Math","min","max","beforeCount","afterCount","pages","Array","from","nothing","index","splice"],"sources":["Pagination.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {jsx} from '@emotion/react';\nimport React from 'react';\n\nimport {COLOR} from '../Identity';\nimport {FlexBox} from '../Layout';\nimport {Bold, Link} from '../Text';\n\ninterface PaginationProps<T = HTMLDivElement> extends React.PropsWithRef<React.HTMLProps<T>> {\n currentPage?: number;\n goPage?: (page: number) => void;\n nextPageComponent?: any;\n numberOfPages?: number;\n previousPageComponent?: any;\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({\n currentPage = 0,\n numberOfPages = 1,\n goPage,\n previousPageComponent: PreviousPageComponent = () => '<',\n nextPageComponent: NextPageComponent = () => '>',\n ...props\n}) => {\n const isLastPage = currentPage === numberOfPages - 1;\n const isFirstPage = currentPage === 0;\n\n const renderPageList = () => {\n const lastPageIndex = numberOfPages - 1;\n const spanLength = 1;\n const endLength = 1;\n const skipLength = 1;\n const normalizeCount = endLength + skipLength + spanLength;\n const dots = (key: string) => (\n <Bold key={key} fontSize={'11px'}>\n {'…'}\n </Bold>\n );\n const renderPageNumber = pageIndex =>\n currentPage === pageIndex ? (\n <Bold\n fontSize={'11px'}\n key={pageIndex}\n style={{color: COLOR.BLUE, margin: '0 8px'}}\n data-uie-name=\"status-active-page\"\n >\n {pageIndex + 1}\n </Bold>\n ) : (\n <Link key={pageIndex} style={{margin: '0 8px'}} onClick={() => goPage(pageIndex)} data-uie-name=\"go-page\">\n {pageIndex + 1}\n </Link>\n );\n\n const normalizedCurrent = Math.min(Math.max(currentPage, normalizeCount), lastPageIndex - normalizeCount);\n const beforeCount = normalizedCurrent - spanLength - endLength;\n const afterCount = lastPageIndex - endLength - normalizedCurrent - spanLength;\n\n const pages = Array.from(Array(numberOfPages), (nothing, index) => renderPageNumber(index));\n if (afterCount > skipLength) {\n pages.splice(normalizedCurrent + spanLength + 1, afterCount, dots('dots-end'));\n }\n if (beforeCount > skipLength) {\n pages.splice(endLength, beforeCount, dots('dots-start'));\n }\n\n return pages;\n };\n\n return (\n <FlexBox align=\"flex-end\" data-uie-name=\"element-pagination\" {...props}>\n <div css={{flexBasis: 100}}>\n {!isFirstPage && (\n <Link block onClick={() => goPage(currentPage - 1)} data-uie-name=\"go-previous-page\">\n <PreviousPageComponent />\n </Link>\n )}\n </div>\n <div\n css={{alignItems: 'flex-end', display: 'flex', flexDirection: 'row', margin: '0 auto'}}\n data-uie-name=\"list-pages\"\n >\n {renderPageList()}\n </div>\n <div css={{display: 'flex', flexBasis: 100, justifyContent: 'flex-end'}}>\n {!isLastPage && (\n <Link block onClick={() => goPage(currentPage + 1)} data-uie-name=\"go-next-page\">\n <NextPageComponent />\n </Link>\n )}\n </div>\n </FlexBox>\n );\n};\n"],"mappings":"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"}
|
package/src/Misc/Pill.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.pillStyle = exports.filterPillProps = exports.Pill = exports.PILL_TYPE = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
7
|
var _react = require("@emotion/react");
|
|
12
8
|
var _react2 = _interopRequireDefault(require("react"));
|
|
13
9
|
var _Identity = require("../Identity");
|
|
14
10
|
var _motions = require("../Identity/motions");
|
|
15
11
|
var _util = require("../util");
|
|
16
12
|
var _templateObject;
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
16
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
17
|
var PILL_TYPE;
|
|
18
18
|
exports.PILL_TYPE = PILL_TYPE;
|
|
19
19
|
(function (PILL_TYPE) {
|
|
@@ -27,9 +27,9 @@ var pillStyle = function pillStyle(theme, _ref) {
|
|
|
27
27
|
active = _ref$active === void 0 ? false : _ref$active,
|
|
28
28
|
_ref$type = _ref.type,
|
|
29
29
|
type = _ref$type === void 0 ? null : _ref$type;
|
|
30
|
-
var backgroundColors = (_backgroundColors = {}, (
|
|
30
|
+
var backgroundColors = (_backgroundColors = {}, _defineProperty(_backgroundColors, PILL_TYPE.error, _Identity.COLOR.RED_OPAQUE_32), _defineProperty(_backgroundColors, PILL_TYPE.success, _Identity.COLOR.GREEN_OPAQUE_32), _defineProperty(_backgroundColors, PILL_TYPE.warning, _Identity.COLOR.YELLOW_OPAQUE_32), _backgroundColors);
|
|
31
31
|
var backgroundColor = active ? '#eee' : type ? backgroundColors[type] : 'transparent';
|
|
32
|
-
var pillAnimation = (0, _react.keyframes)(_templateObject || (_templateObject = (
|
|
32
|
+
var pillAnimation = (0, _react.keyframes)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n background-color: transparent;\n }\n 100% {\n background-color: ", ";\n }\n"])), backgroundColor);
|
|
33
33
|
return {
|
|
34
34
|
'&:first-of-type': {
|
|
35
35
|
marginLeft: 0
|
|
@@ -58,7 +58,7 @@ var filterPillProps = function filterPillProps(props) {
|
|
|
58
58
|
};
|
|
59
59
|
exports.filterPillProps = filterPillProps;
|
|
60
60
|
var Pill = function Pill(props) {
|
|
61
|
-
return (0, _react.jsx)("span", (
|
|
61
|
+
return (0, _react.jsx)("span", _extends({
|
|
62
62
|
css: function css(theme) {
|
|
63
63
|
return pillStyle(theme, props);
|
|
64
64
|
},
|
package/src/Misc/Pill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pill.js","names":["PILL_TYPE","pillStyle","theme","active","type","backgroundColors","error","COLOR","RED_OPAQUE_32","success","GREEN_OPAQUE_32","warning","YELLOW_OPAQUE_32","backgroundColor","pillAnimation","keyframes","marginLeft","marginRight","animation","DURATION","DEFAULT","EASE","QUART","borderRadius","color","TEXT","general","cursor","undefined","display","fontSize","lineHeight","margin","minHeight","padding","textAlign","textDecoration","filterPillProps","props","filterProps","Pill"],"sources":["Pill.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {CSSObject, jsx, keyframes} from '@emotion/react';\nimport React from 'react';\n\nimport {COLOR} from '../Identity';\nimport {DURATION, EASE} from '../Identity/motions';\nimport {Theme} from '../Layout';\nimport {filterProps} from '../util';\n\nexport interface PillProps<T = HTMLSpanElement> extends React.HTMLProps<T> {\n active?: boolean;\n type?: PILL_TYPE;\n}\n\nexport enum PILL_TYPE {\n error = 'ERROR',\n success = 'SUCCESS',\n warning = 'WARNING',\n}\n\nexport const pillStyle: <T>(theme: Theme, props: PillProps<T>) => CSSObject = (\n theme,\n {active = false, type = null},\n) => {\n const backgroundColors = {\n [PILL_TYPE.error]: COLOR.RED_OPAQUE_32,\n [PILL_TYPE.success]: COLOR.GREEN_OPAQUE_32,\n [PILL_TYPE.warning]: COLOR.YELLOW_OPAQUE_32,\n };\n const backgroundColor = active ? '#eee' : type ? backgroundColors[type] : 'transparent';\n const pillAnimation = keyframes`\n 0% {\n background-color: transparent;\n }\n 100% {\n background-color: ${backgroundColor};\n }\n`;\n return {\n '&:first-of-type': {\n marginLeft: 0,\n },\n '&:last-of-type': {\n marginRight: 0,\n },\n animation: `${pillAnimation} ${DURATION.DEFAULT}ms ${EASE.QUART}`,\n backgroundColor,\n borderRadius: '160px',\n color: active ? COLOR.TEXT : theme.general.color,\n cursor: active ? 'default' : undefined,\n display: 'inline-block',\n fontSize: '12px',\n lineHeight: '16px',\n margin: type ? '12px 0 0 0' : '0 8px',\n minHeight: '32px',\n padding: '8px 24px',\n textAlign: 'center',\n textDecoration: 'none',\n };\n};\n\nexport const filterPillProps = (props: PillProps) => filterProps(props, ['active']);\n\nexport const Pill = (props: PillProps) => (\n <span\n css={(theme: Theme) => pillStyle(theme, props)}\n data-uie-name=\"element-pill\"\n data-uie-status={props.type}\n {...filterPillProps(props)}\n />\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pill.js","names":["PILL_TYPE","pillStyle","theme","active","type","backgroundColors","error","COLOR","RED_OPAQUE_32","success","GREEN_OPAQUE_32","warning","YELLOW_OPAQUE_32","backgroundColor","pillAnimation","keyframes","marginLeft","marginRight","animation","DURATION","DEFAULT","EASE","QUART","borderRadius","color","TEXT","general","cursor","undefined","display","fontSize","lineHeight","margin","minHeight","padding","textAlign","textDecoration","filterPillProps","props","filterProps","Pill"],"sources":["Pill.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {CSSObject, jsx, keyframes} from '@emotion/react';\nimport React from 'react';\n\nimport {COLOR} from '../Identity';\nimport {DURATION, EASE} from '../Identity/motions';\nimport {Theme} from '../Layout';\nimport {filterProps} from '../util';\n\nexport interface PillProps<T = HTMLSpanElement> extends React.HTMLProps<T> {\n active?: boolean;\n type?: PILL_TYPE;\n}\n\nexport enum PILL_TYPE {\n error = 'ERROR',\n success = 'SUCCESS',\n warning = 'WARNING',\n}\n\nexport const pillStyle: <T>(theme: Theme, props: PillProps<T>) => CSSObject = (\n theme,\n {active = false, type = null},\n) => {\n const backgroundColors = {\n [PILL_TYPE.error]: COLOR.RED_OPAQUE_32,\n [PILL_TYPE.success]: COLOR.GREEN_OPAQUE_32,\n [PILL_TYPE.warning]: COLOR.YELLOW_OPAQUE_32,\n };\n const backgroundColor = active ? '#eee' : type ? backgroundColors[type] : 'transparent';\n const pillAnimation = keyframes`\n 0% {\n background-color: transparent;\n }\n 100% {\n background-color: ${backgroundColor};\n }\n`;\n return {\n '&:first-of-type': {\n marginLeft: 0,\n },\n '&:last-of-type': {\n marginRight: 0,\n },\n animation: `${pillAnimation} ${DURATION.DEFAULT}ms ${EASE.QUART}`,\n backgroundColor,\n borderRadius: '160px',\n color: active ? COLOR.TEXT : theme.general.color,\n cursor: active ? 'default' : undefined,\n display: 'inline-block',\n fontSize: '12px',\n lineHeight: '16px',\n margin: type ? '12px 0 0 0' : '0 8px',\n minHeight: '32px',\n padding: '8px 24px',\n textAlign: 'center',\n textDecoration: 'none',\n };\n};\n\nexport const filterPillProps = (props: PillProps) => filterProps(props, ['active']);\n\nexport const Pill = (props: PillProps) => (\n <span\n css={(theme: Theme) => pillStyle(theme, props)}\n data-uie-name=\"element-pill\"\n data-uie-status={props.type}\n {...filterPillProps(props)}\n />\n);\n"],"mappings":";;;;;;AAoBA;AACA;AAEA;AACA;AAEA;AAAoC;AAAA;AAAA;AAAA;AAAA;AAAA,IAOxBA,SAAS;AAAA;AAAA,WAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;AAAA,GAATA,SAAS,yBAATA,SAAS;AAMd,IAAMC,SAA8D,GAAG,SAAjEA,SAA8D,CACzEC,KAAK,QAEF;EAAA;EAAA,uBADFC,MAAM;IAANA,MAAM,4BAAG,KAAK;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,IAAI;EAE5B,IAAMC,gBAAgB,+DACnBL,SAAS,CAACM,KAAK,EAAGC,eAAK,CAACC,aAAa,sCACrCR,SAAS,CAACS,OAAO,EAAGF,eAAK,CAACG,eAAe,sCACzCV,SAAS,CAACW,OAAO,EAAGJ,eAAK,CAACK,gBAAgB,qBAC5C;EACD,IAAMC,eAAe,GAAGV,MAAM,GAAG,MAAM,GAAGC,IAAI,GAAGC,gBAAgB,CAACD,IAAI,CAAC,GAAG,aAAa;EACvF,IAAMU,aAAa,OAAGC,gBAAS,kLAKPF,eAAe,CAExC;EACC,OAAO;IACL,iBAAiB,EAAE;MACjBG,UAAU,EAAE;IACd,CAAC;IACD,gBAAgB,EAAE;MAChBC,WAAW,EAAE;IACf,CAAC;IACDC,SAAS,YAAKJ,aAAa,cAAIK,iBAAQ,CAACC,OAAO,gBAAMC,aAAI,CAACC,KAAK,CAAE;IACjET,eAAe,EAAfA,eAAe;IACfU,YAAY,EAAE,OAAO;IACrBC,KAAK,EAAErB,MAAM,GAAGI,eAAK,CAACkB,IAAI,GAAGvB,KAAK,CAACwB,OAAO,CAACF,KAAK;IAChDG,MAAM,EAAExB,MAAM,GAAG,SAAS,GAAGyB,SAAS;IACtCC,OAAO,EAAE,cAAc;IACvBC,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,MAAM;IAClBC,MAAM,EAAE5B,IAAI,GAAG,YAAY,GAAG,OAAO;IACrC6B,SAAS,EAAE,MAAM;IACjBC,OAAO,EAAE,UAAU;IACnBC,SAAS,EAAE,QAAQ;IACnBC,cAAc,EAAE;EAClB,CAAC;AACH,CAAC;AAAC;AAEK,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAIC,KAAgB;EAAA,OAAK,IAAAC,iBAAW,EAACD,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;AAAA;AAAC;AAE7E,IAAME,IAAI,GAAG,SAAPA,IAAI,CAAIF,KAAgB;EAAA,OACnC;IACE,GAAG,EAAE,aAACpC,KAAY;MAAA,OAAKD,SAAS,CAACC,KAAK,EAAEoC,KAAK,CAAC;IAAA,CAAC;IAC/C,iBAAc,cAAc;IAC5B,mBAAiBA,KAAK,CAAClC;EAAK,GACxBiC,eAAe,CAACC,KAAK,CAAC,EAC1B;AAAA,CACH;AAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.childrenWithDefaultProps = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
12
|
var childrenWithDefaultProps = function childrenWithDefaultProps(props) {
|
|
13
13
|
return _react["default"].Children.map(props.children, function (node) {
|
|
14
14
|
if (typeof node === 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childrenWithDefaultProps.js","names":["childrenWithDefaultProps","props","React","Children","map","children","node","isValidElement","console","error","elementChild","cloneElement","defaultProps"],"sources":["childrenWithDefaultProps.ts"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2019 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport React from 'react';\n\nexport interface ChildrenProps<T extends Element, P extends React.HTMLProps<T>> {\n children: React.ReactNode;\n defaultProps: P;\n}\n\nexport const childrenWithDefaultProps = <E extends Element, P extends any>(props: ChildrenProps<E, P>) =>\n React.Children.map<React.ReactNode, React.ReactNode>(props.children, node => {\n if (typeof node === 'string') {\n return node;\n }\n if (!React.isValidElement<P>(node)) {\n console.error('Invalid children', node);\n return node;\n }\n\n const elementChild: React.ReactElement<P> = node;\n return React.cloneElement<P>(elementChild, {...(props.defaultProps as any), ...(elementChild.props as any)});\n });\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"childrenWithDefaultProps.js","names":["childrenWithDefaultProps","props","React","Children","map","children","node","isValidElement","console","error","elementChild","cloneElement","defaultProps"],"sources":["childrenWithDefaultProps.ts"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2019 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport React from 'react';\n\nexport interface ChildrenProps<T extends Element, P extends React.HTMLProps<T>> {\n children: React.ReactNode;\n defaultProps: P;\n}\n\nexport const childrenWithDefaultProps = <E extends Element, P extends any>(props: ChildrenProps<E, P>) =>\n React.Children.map<React.ReactNode, React.ReactNode>(props.children, node => {\n if (typeof node === 'string') {\n return node;\n }\n if (!React.isValidElement<P>(node)) {\n console.error('Invalid children', node);\n return node;\n }\n\n const elementChild: React.ReactElement<P> = node;\n return React.cloneElement<P>(elementChild, {...(props.defaultProps as any), ...(elementChild.props as any)});\n });\n"],"mappings":";;;;;;AAmBA;AAA0B;AAAA;AAAA;AAAA;AAOnB,IAAMA,wBAAwB,GAAG,SAA3BA,wBAAwB,CAAsCC,KAA0B;EAAA,OACnGC,iBAAK,CAACC,QAAQ,CAACC,GAAG,CAAmCH,KAAK,CAACI,QAAQ,EAAE,UAAAC,IAAI,EAAI;IAC3E,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAOA,IAAI;IACb;IACA,IAAI,eAACJ,iBAAK,CAACK,cAAc,CAAID,IAAI,CAAC,EAAE;MAClCE,OAAO,CAACC,KAAK,CAAC,kBAAkB,EAAEH,IAAI,CAAC;MACvC,OAAOA,IAAI;IACb;IAEA,IAAMI,YAAmC,GAAGJ,IAAI;IAChD,oBAAOJ,iBAAK,CAACS,YAAY,CAAID,YAAY,kCAAOT,KAAK,CAACW,YAAY,GAAcF,YAAY,CAACT,KAAK,EAAU;EAC9G,CAAC,CAAC;AAAA;AAAC"}
|
package/src/Misc/useTimeout.js
CHANGED
|
@@ -1,34 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.useTimeout = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
7
|
var _react = require("react");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
17
|
-
* (at your option) any later version.
|
|
18
|
-
*
|
|
19
|
-
* This program is distributed in the hope that it will be useful,
|
|
20
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
-
* GNU General Public License for more details.
|
|
23
|
-
*
|
|
24
|
-
* You should have received a copy of the GNU General Public License
|
|
25
|
-
* along with this program. If not, see http://www.gnu.org/licenses/.
|
|
26
|
-
*
|
|
27
|
-
*/
|
|
28
|
-
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
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."); }
|
|
10
|
+
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); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
29
14
|
var useTimeout = function useTimeout(onTimeoutStop, duration) {
|
|
30
15
|
var _useState = (0, _react.useState)(null),
|
|
31
|
-
_useState2 = (
|
|
16
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
17
|
timerId = _useState2[0],
|
|
33
18
|
setTimerId = _useState2[1];
|
|
34
19
|
var removeTimeout = function removeTimeout() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTimeout.js","names":["useTimeout","onTimeoutStop","duration","useState","timerId","setTimerId","removeTimeout","window","clearTimeout","start","setTimeout","onStop","useEffect","startTimeout"],"sources":["useTimeout.ts"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2019 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {useEffect, useState} from 'react';\n\nconst useTimeout = (onTimeoutStop: () => void, duration: number) => {\n const [timerId, setTimerId] = useState(null);\n\n const removeTimeout = () => {\n if (timerId) {\n window.clearTimeout(timerId);\n setTimerId(null);\n }\n };\n\n const start = () => {\n removeTimeout();\n setTimerId(window.setTimeout(onStop, duration));\n };\n\n const onStop = () => {\n removeTimeout();\n onTimeoutStop();\n };\n\n useEffect(() => {\n return () => {\n removeTimeout();\n };\n }, [duration, onTimeoutStop]);\n\n return {removeTimeout, startTimeout: start};\n};\n\nexport {useTimeout};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTimeout.js","names":["useTimeout","onTimeoutStop","duration","useState","timerId","setTimerId","removeTimeout","window","clearTimeout","start","setTimeout","onStop","useEffect","startTimeout"],"sources":["useTimeout.ts"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2019 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {useEffect, useState} from 'react';\n\nconst useTimeout = (onTimeoutStop: () => void, duration: number) => {\n const [timerId, setTimerId] = useState(null);\n\n const removeTimeout = () => {\n if (timerId) {\n window.clearTimeout(timerId);\n setTimerId(null);\n }\n };\n\n const start = () => {\n removeTimeout();\n setTimerId(window.setTimeout(onStop, duration));\n };\n\n const onStop = () => {\n removeTimeout();\n onTimeoutStop();\n };\n\n useEffect(() => {\n return () => {\n removeTimeout();\n };\n }, [duration, onTimeoutStop]);\n\n return {removeTimeout, startTimeout: start};\n};\n\nexport {useTimeout};\n"],"mappings":";;;;;;AAmBA;AAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAE1C,IAAMA,UAAU,GAAG,SAAbA,UAAU,CAAIC,aAAyB,EAAEC,QAAgB,EAAK;EAClE,gBAA8B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAA;IAArCC,OAAO;IAAEC,UAAU;EAE1B,IAAMC,aAAa,GAAG,SAAhBA,aAAa,GAAS;IAC1B,IAAIF,OAAO,EAAE;MACXG,MAAM,CAACC,YAAY,CAACJ,OAAO,CAAC;MAC5BC,UAAU,CAAC,IAAI,CAAC;IAClB;EACF,CAAC;EAED,IAAMI,KAAK,GAAG,SAARA,KAAK,GAAS;IAClBH,aAAa,EAAE;IACfD,UAAU,CAACE,MAAM,CAACG,UAAU,CAACC,MAAM,EAAET,QAAQ,CAAC,CAAC;EACjD,CAAC;EAED,IAAMS,MAAM,GAAG,SAATA,MAAM,GAAS;IACnBL,aAAa,EAAE;IACfL,aAAa,EAAE;EACjB,CAAC;EAED,IAAAW,gBAAS,EAAC,YAAM;IACd,OAAO,YAAM;MACXN,aAAa,EAAE;IACjB,CAAC;EACH,CAAC,EAAE,CAACJ,QAAQ,EAAED,aAAa,CAAC,CAAC;EAE7B,OAAO;IAACK,aAAa,EAAbA,aAAa;IAAEO,YAAY,EAAEJ;EAAK,CAAC;AAC7C,CAAC;AAAC"}
|
package/src/Modal/Modal.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.Modal = void 0;
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
7
|
var _react = require("@emotion/react");
|
|
12
8
|
var _react2 = _interopRequireDefault(require("react"));
|
|
13
9
|
var _color = _interopRequireDefault(require("color"));
|
|
@@ -17,13 +13,18 @@ var _mediaQueries = require("../mediaQueries");
|
|
|
17
13
|
var _util = require("../util");
|
|
18
14
|
var _Overlay = require("./Overlay");
|
|
19
15
|
var _excluded = ["actions", "children", "bodyStyle", "fullscreen", "onClose", "onBackgroundClick"];
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
20
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
21
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
22
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
24
|
var modalBodyStyle = function modalBodyStyle(theme, _ref) {
|
|
24
25
|
var _ref$fullscreen = _ref.fullscreen,
|
|
25
26
|
fullscreen = _ref$fullscreen === void 0 ? false : _ref$fullscreen;
|
|
26
|
-
return (
|
|
27
|
+
return _defineProperty({
|
|
27
28
|
alignItems: 'center',
|
|
28
29
|
backgroundColor: theme.general.backgroundColor,
|
|
29
30
|
borderRadius: fullscreen ? 0 : '8px',
|
|
@@ -47,7 +48,7 @@ var filterModalBodyProps = function filterModalBodyProps(props) {
|
|
|
47
48
|
return (0, _util.filterProps)(props, ['fullscreen']);
|
|
48
49
|
};
|
|
49
50
|
var ModalBody = function ModalBody(props) {
|
|
50
|
-
return (0, _react.jsx)("div", (
|
|
51
|
+
return (0, _react.jsx)("div", _extends({
|
|
51
52
|
css: function css(theme) {
|
|
52
53
|
return modalBodyStyle(theme, props);
|
|
53
54
|
}
|
|
@@ -63,7 +64,7 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
63
64
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
64
65
|
};
|
|
65
66
|
var ModalClose = function ModalClose(props) {
|
|
66
|
-
return (0, _react.jsx)(_Icon.CloseIcon, (
|
|
67
|
+
return (0, _react.jsx)(_Icon.CloseIcon, _extends({
|
|
67
68
|
width: 16,
|
|
68
69
|
height: 16,
|
|
69
70
|
css: _ref3
|
|
@@ -79,7 +80,7 @@ var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
|
79
80
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
80
81
|
};
|
|
81
82
|
var ModalContent = function ModalContent(props) {
|
|
82
|
-
return (0, _react.jsx)("div", (
|
|
83
|
+
return (0, _react.jsx)("div", _extends({
|
|
83
84
|
css: _ref4
|
|
84
85
|
}, props));
|
|
85
86
|
};
|
|
@@ -89,7 +90,7 @@ var modalBackgroundStyle = function modalBackgroundStyle(props) {
|
|
|
89
90
|
});
|
|
90
91
|
};
|
|
91
92
|
var ModalBackground = function ModalBackground(props) {
|
|
92
|
-
return (0, _react.jsx)("div", (
|
|
93
|
+
return (0, _react.jsx)("div", _extends({
|
|
93
94
|
css: modalBackgroundStyle(props)
|
|
94
95
|
}, props));
|
|
95
96
|
};
|
|
@@ -156,8 +157,8 @@ var Modal = function Modal(_ref7) {
|
|
|
156
157
|
fullscreen = _ref7.fullscreen,
|
|
157
158
|
onClose = _ref7.onClose,
|
|
158
159
|
onBackgroundClick = _ref7.onBackgroundClick,
|
|
159
|
-
props = (
|
|
160
|
-
return (0, _react.jsx)(_Overlay.OverlayWrapper, (
|
|
160
|
+
props = _objectWithoutProperties(_ref7, _excluded);
|
|
161
|
+
return (0, _react.jsx)(_Overlay.OverlayWrapper, _extends({}, props, {
|
|
161
162
|
"data-uie-name": "modal"
|
|
162
163
|
}), (0, _react.jsx)(ModalBody, {
|
|
163
164
|
fullscreen: fullscreen,
|
package/src/Modal/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["modalBodyStyle","theme","fullscreen","alignItems","backgroundColor","general","borderRadius","bottom","undefined","boxShadow","display","flexDirection","justifyContent","left","margin","position","right","top","transform","zIndex","media","QueryKeys","TABLET_DOWN","width","filterModalBodyProps","props","filterProps","ModalBody","ModalClose","ModalContent","modalBackgroundStyle","overlayBackgroundStyle","ModalBackground","modalActionsWrapperStyles","borderTop","COLOR","GRAY_LIGHTEN_72","div","opaque","GRAY_DARKEN_72","borderRight","borderBottomLeftRadius","borderBottomRightRadius","modalActionStyles","bold","color","Color","BLUE","mix","BLACK","toString","cursor","flex","fontWeight","padding","ModalActions","actions","map","action","title","onClick","dataUieName","Modal","children","bodyStyle","onClose","onBackgroundClick","noop","length","defaultProps"],"sources":["Modal.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {CSSObject, jsx} from '@emotion/react';\nimport React, {CSSProperties} from 'react';\nimport Color from 'color';\n\nimport {CloseIcon} from '../Icon';\nimport {SVGIconProps} from '../Icon/SVGIcon';\nimport {COLOR} from '../Identity';\nimport {Theme} from '../Layout';\nimport {QueryKeys, media} from '../mediaQueries';\nimport {filterProps, noop} from '../util';\nimport {OverlayBackgroundProps, OverlayWrapper, overlayBackgroundStyle} from './Overlay';\n\nexport interface ModalBodyProps<T = HTMLDivElement> extends React.HTMLProps<T> {\n fullscreen?: boolean;\n}\n\nconst modalBodyStyle: <T>(theme: Theme, props: ModalBodyProps<T>) => CSSObject = (theme, {fullscreen = false}) => ({\n alignItems: 'center',\n backgroundColor: theme.general.backgroundColor,\n borderRadius: fullscreen ? 0 : '8px',\n bottom: fullscreen ? 0 : undefined,\n boxShadow: fullscreen ? 'none' : '0 16px 64px 0 rgba(0, 0, 0, 0.16)',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: fullscreen ? 'center' : 'space-between',\n left: fullscreen ? 0 : undefined,\n margin: 'auto',\n position: fullscreen ? 'fixed' : 'relative',\n right: fullscreen ? 0 : undefined,\n top: fullscreen ? 0 : undefined,\n transform: 'translate3d(0, 0, 0)',\n zIndex: 9999,\n [media[QueryKeys.TABLET_DOWN]]: {\n width: fullscreen ? 'initial' : '100%',\n },\n});\n\nconst filterModalBodyProps = (props: ModalBodyProps) => filterProps(props, ['fullscreen']);\n\nconst ModalBody = (props: ModalBodyProps) => (\n <div css={(theme: Theme) => modalBodyStyle(theme, props)} {...filterModalBodyProps(props)} />\n);\n\nconst ModalClose = (props: SVGIconProps<SVGSVGElement>) => (\n <CloseIcon\n width={16}\n height={16}\n css={{\n alignItems: 'center',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n position: 'absolute',\n right: 16,\n top: 16,\n }}\n {...props}\n />\n);\n\nconst ModalContent: React.FC<React.HTMLProps<HTMLDivElement>> = props => (\n <div\n css={{\n maxWidth: '100%',\n overflowY: 'auto',\n padding: '40px',\n }}\n {...props}\n />\n);\n\nconst modalBackgroundStyle: <T>(props: OverlayBackgroundProps<T>) => CSSObject = props => ({\n ...overlayBackgroundStyle(props),\n backgroundColor: 'rgba(50, 54, 57, 0.4)',\n});\n\nconst ModalBackground = (props: OverlayBackgroundProps) => <div css={modalBackgroundStyle(props)} {...props} />;\n\nexport interface ModalActionItem {\n bold?: boolean;\n dataUieName?: string;\n onClick: (event: React.MouseEvent<HTMLElement>) => void;\n title: string;\n}\n\ninterface ModalActions {\n actions?: ModalActionItem[];\n}\n\nconst modalActionsWrapperStyles: () => CSSObject = () => ({\n borderTop: `1px solid ${COLOR.GRAY_LIGHTEN_72}`,\n bottom: 0,\n display: 'flex',\n div: {\n '&:hover': {\n backgroundColor: COLOR.opaque(COLOR.GRAY_DARKEN_72, 0.04),\n },\n '&:active': {\n backgroundColor: COLOR.opaque(COLOR.GRAY_DARKEN_72, 0.08),\n },\n borderRight: `1px solid ${COLOR.GRAY_LIGHTEN_72}`,\n },\n 'div:first-child': {\n borderBottomLeftRadius: 8,\n },\n 'div:last-child': {\n borderBottomRightRadius: 8,\n borderRight: 0,\n },\n position: 'absolute',\n width: '100%',\n});\n\nconst modalActionStyles: ({bold}: {bold: boolean}) => CSSObject = ({bold}) => ({\n '&:hover': {\n color: Color(COLOR.BLUE).mix(Color(COLOR.BLACK), 0.16).toString(),\n },\n color: COLOR.BLUE,\n cursor: 'pointer',\n display: 'flex',\n flex: 1,\n fontWeight: bold ? 'bold' : 'normal',\n justifyContent: 'center',\n padding: '8px 0',\n});\n\nconst ModalActions: React.FC<ModalActions> = ({actions}) => (\n <div css={modalActionsWrapperStyles()}>\n {actions.map(action => (\n <div\n key={action.title}\n onClick={action.onClick}\n css={modalActionStyles({bold: action.bold})}\n data-uie-name={action.dataUieName}\n >\n {action.title}\n </div>\n ))}\n </div>\n);\n\ninterface ModalProps {\n actions?: ModalActionItem[];\n bodyStyle?: CSSProperties;\n fullscreen?: boolean;\n onBackgroundClick?: () => void;\n onClose?: () => void;\n}\n\nexport const Modal: React.FC<ModalProps & React.HTMLProps<HTMLDivElement>> = ({\n actions = [],\n children,\n bodyStyle,\n fullscreen,\n onClose,\n onBackgroundClick,\n ...props\n}) => (\n <OverlayWrapper {...props} data-uie-name=\"modal\">\n <ModalBody fullscreen={fullscreen} style={bodyStyle}>\n <ModalContent>{children}</ModalContent>\n {onClose !== noop && <ModalClose onClick={onClose} data-uie-name=\"do-close\" />}\n {actions.length > 0 && <ModalActions actions={actions} data-uie-name=\"modal-actions\" />}\n </ModalBody>\n {!fullscreen && (\n <ModalBackground\n onClick={onBackgroundClick === noop ? onClose : onBackgroundClick}\n data-uie-name=\"modal-background\"\n />\n )}\n </OverlayWrapper>\n);\n\nModal.defaultProps = {\n actions: [],\n fullscreen: false,\n onBackgroundClick: noop,\n onClose: noop,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["modalBodyStyle","theme","fullscreen","alignItems","backgroundColor","general","borderRadius","bottom","undefined","boxShadow","display","flexDirection","justifyContent","left","margin","position","right","top","transform","zIndex","media","QueryKeys","TABLET_DOWN","width","filterModalBodyProps","props","filterProps","ModalBody","ModalClose","ModalContent","modalBackgroundStyle","overlayBackgroundStyle","ModalBackground","modalActionsWrapperStyles","borderTop","COLOR","GRAY_LIGHTEN_72","div","opaque","GRAY_DARKEN_72","borderRight","borderBottomLeftRadius","borderBottomRightRadius","modalActionStyles","bold","color","Color","BLUE","mix","BLACK","toString","cursor","flex","fontWeight","padding","ModalActions","actions","map","action","title","onClick","dataUieName","Modal","children","bodyStyle","onClose","onBackgroundClick","noop","length","defaultProps"],"sources":["Modal.tsx"],"sourcesContent":["/*\n * Wire\n * Copyright (C) 2018 Wire Swiss GmbH\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see http://www.gnu.org/licenses/.\n *\n */\n\n/** @jsx jsx */\nimport {CSSObject, jsx} from '@emotion/react';\nimport React, {CSSProperties} from 'react';\nimport Color from 'color';\n\nimport {CloseIcon} from '../Icon';\nimport {SVGIconProps} from '../Icon/SVGIcon';\nimport {COLOR} from '../Identity';\nimport {Theme} from '../Layout';\nimport {QueryKeys, media} from '../mediaQueries';\nimport {filterProps, noop} from '../util';\nimport {OverlayBackgroundProps, OverlayWrapper, overlayBackgroundStyle} from './Overlay';\n\nexport interface ModalBodyProps<T = HTMLDivElement> extends React.HTMLProps<T> {\n fullscreen?: boolean;\n}\n\nconst modalBodyStyle: <T>(theme: Theme, props: ModalBodyProps<T>) => CSSObject = (theme, {fullscreen = false}) => ({\n alignItems: 'center',\n backgroundColor: theme.general.backgroundColor,\n borderRadius: fullscreen ? 0 : '8px',\n bottom: fullscreen ? 0 : undefined,\n boxShadow: fullscreen ? 'none' : '0 16px 64px 0 rgba(0, 0, 0, 0.16)',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: fullscreen ? 'center' : 'space-between',\n left: fullscreen ? 0 : undefined,\n margin: 'auto',\n position: fullscreen ? 'fixed' : 'relative',\n right: fullscreen ? 0 : undefined,\n top: fullscreen ? 0 : undefined,\n transform: 'translate3d(0, 0, 0)',\n zIndex: 9999,\n [media[QueryKeys.TABLET_DOWN]]: {\n width: fullscreen ? 'initial' : '100%',\n },\n});\n\nconst filterModalBodyProps = (props: ModalBodyProps) => filterProps(props, ['fullscreen']);\n\nconst ModalBody = (props: ModalBodyProps) => (\n <div css={(theme: Theme) => modalBodyStyle(theme, props)} {...filterModalBodyProps(props)} />\n);\n\nconst ModalClose = (props: SVGIconProps<SVGSVGElement>) => (\n <CloseIcon\n width={16}\n height={16}\n css={{\n alignItems: 'center',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n position: 'absolute',\n right: 16,\n top: 16,\n }}\n {...props}\n />\n);\n\nconst ModalContent: React.FC<React.HTMLProps<HTMLDivElement>> = props => (\n <div\n css={{\n maxWidth: '100%',\n overflowY: 'auto',\n padding: '40px',\n }}\n {...props}\n />\n);\n\nconst modalBackgroundStyle: <T>(props: OverlayBackgroundProps<T>) => CSSObject = props => ({\n ...overlayBackgroundStyle(props),\n backgroundColor: 'rgba(50, 54, 57, 0.4)',\n});\n\nconst ModalBackground = (props: OverlayBackgroundProps) => <div css={modalBackgroundStyle(props)} {...props} />;\n\nexport interface ModalActionItem {\n bold?: boolean;\n dataUieName?: string;\n onClick: (event: React.MouseEvent<HTMLElement>) => void;\n title: string;\n}\n\ninterface ModalActions {\n actions?: ModalActionItem[];\n}\n\nconst modalActionsWrapperStyles: () => CSSObject = () => ({\n borderTop: `1px solid ${COLOR.GRAY_LIGHTEN_72}`,\n bottom: 0,\n display: 'flex',\n div: {\n '&:hover': {\n backgroundColor: COLOR.opaque(COLOR.GRAY_DARKEN_72, 0.04),\n },\n '&:active': {\n backgroundColor: COLOR.opaque(COLOR.GRAY_DARKEN_72, 0.08),\n },\n borderRight: `1px solid ${COLOR.GRAY_LIGHTEN_72}`,\n },\n 'div:first-child': {\n borderBottomLeftRadius: 8,\n },\n 'div:last-child': {\n borderBottomRightRadius: 8,\n borderRight: 0,\n },\n position: 'absolute',\n width: '100%',\n});\n\nconst modalActionStyles: ({bold}: {bold: boolean}) => CSSObject = ({bold}) => ({\n '&:hover': {\n color: Color(COLOR.BLUE).mix(Color(COLOR.BLACK), 0.16).toString(),\n },\n color: COLOR.BLUE,\n cursor: 'pointer',\n display: 'flex',\n flex: 1,\n fontWeight: bold ? 'bold' : 'normal',\n justifyContent: 'center',\n padding: '8px 0',\n});\n\nconst ModalActions: React.FC<ModalActions> = ({actions}) => (\n <div css={modalActionsWrapperStyles()}>\n {actions.map(action => (\n <div\n key={action.title}\n onClick={action.onClick}\n css={modalActionStyles({bold: action.bold})}\n data-uie-name={action.dataUieName}\n >\n {action.title}\n </div>\n ))}\n </div>\n);\n\ninterface ModalProps {\n actions?: ModalActionItem[];\n bodyStyle?: CSSProperties;\n fullscreen?: boolean;\n onBackgroundClick?: () => void;\n onClose?: () => void;\n}\n\nexport const Modal: React.FC<ModalProps & React.HTMLProps<HTMLDivElement>> = ({\n actions = [],\n children,\n bodyStyle,\n fullscreen,\n onClose,\n onBackgroundClick,\n ...props\n}) => (\n <OverlayWrapper {...props} data-uie-name=\"modal\">\n <ModalBody fullscreen={fullscreen} style={bodyStyle}>\n <ModalContent>{children}</ModalContent>\n {onClose !== noop && <ModalClose onClick={onClose} data-uie-name=\"do-close\" />}\n {actions.length > 0 && <ModalActions actions={actions} data-uie-name=\"modal-actions\" />}\n </ModalBody>\n {!fullscreen && (\n <ModalBackground\n onClick={onBackgroundClick === noop ? onClose : onBackgroundClick}\n data-uie-name=\"modal-background\"\n />\n )}\n </OverlayWrapper>\n);\n\nModal.defaultProps = {\n actions: [],\n fullscreen: false,\n onBackgroundClick: noop,\n onClose: noop,\n};\n"],"mappings":";;;;;;AAoBA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AAAyF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMzF,IAAMA,cAAwE,GAAG,SAA3EA,cAAwE,CAAIC,KAAK;EAAA,2BAAGC,UAAU;IAAVA,UAAU,gCAAG,KAAK;EAAA;IAC1GC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEH,KAAK,CAACI,OAAO,CAACD,eAAe;IAC9CE,YAAY,EAAEJ,UAAU,GAAG,CAAC,GAAG,KAAK;IACpCK,MAAM,EAAEL,UAAU,GAAG,CAAC,GAAGM,SAAS;IAClCC,SAAS,EAAEP,UAAU,GAAG,MAAM,GAAG,mCAAmC;IACpEQ,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAEV,UAAU,GAAG,QAAQ,GAAG,eAAe;IACvDW,IAAI,EAAEX,UAAU,GAAG,CAAC,GAAGM,SAAS;IAChCM,MAAM,EAAE,MAAM;IACdC,QAAQ,EAAEb,UAAU,GAAG,OAAO,GAAG,UAAU;IAC3Cc,KAAK,EAAEd,UAAU,GAAG,CAAC,GAAGM,SAAS;IACjCS,GAAG,EAAEf,UAAU,GAAG,CAAC,GAAGM,SAAS;IAC/BU,SAAS,EAAE,sBAAsB;IACjCC,MAAM,EAAE;EAAI,GACXC,mBAAK,CAACC,uBAAS,CAACC,WAAW,CAAC,EAAG;IAC9BC,KAAK,EAAErB,UAAU,GAAG,SAAS,GAAG;EAClC,CAAC;AAAA,CACD;AAEF,IAAMsB,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIC,KAAqB;EAAA,OAAK,IAAAC,iBAAW,EAACD,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC;AAAA;AAE1F,IAAME,SAAS,GAAG,SAAZA,SAAS,CAAIF,KAAqB;EAAA,OACtC;IAAK,GAAG,EAAE,aAACxB,KAAY;MAAA,OAAKD,cAAc,CAACC,KAAK,EAAEwB,KAAK,CAAC;IAAA;EAAC,GAAKD,oBAAoB,CAACC,KAAK,CAAC,EAAI;AAAA,CAC9F;AAAC;EAAA;EAAA;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAEF,IAAMG,UAAU,GAAG,SAAbA,UAAU,CAAIH,KAAkC;EAAA,OACpD,gBAAC,eAAS;IACR,KAAK,EAAE,EAAG;IACV,MAAM,EAAE,EAAG;IACX,GAAG;EAQD,GACEA,KAAK,EACT;AAAA,CACH;AAAC;EAAA;EAAA;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAEF,IAAMI,YAAuD,GAAG,SAA1DA,YAAuD,CAAGJ,KAAK;EAAA,OACnE;IACE,GAAG;EAID,GACEA,KAAK,EACT;AAAA,CACH;AAED,IAAMK,oBAAwE,GAAG,SAA3EA,oBAAwE,CAAGL,KAAK;EAAA,uCACjF,IAAAM,+BAAsB,EAACN,KAAK,CAAC;IAChCrB,eAAe,EAAE;EAAuB;AAAA,CACxC;AAEF,IAAM4B,eAAe,GAAG,SAAlBA,eAAe,CAAIP,KAA6B;EAAA,OAAK;IAAK,GAAG,EAAEK,oBAAoB,CAACL,KAAK;EAAE,GAAKA,KAAK,EAAI;AAAA;AAa/G,IAAMQ,yBAA0C,GAAG,SAA7CA,yBAA0C;EAAA,OAAU;IACxDC,SAAS,sBAAeC,eAAK,CAACC,eAAe,CAAE;IAC/C7B,MAAM,EAAE,CAAC;IACTG,OAAO,EAAE,MAAM;IACf2B,GAAG,EAAE;MACH,SAAS,EAAE;QACTjC,eAAe,EAAE+B,eAAK,CAACG,MAAM,CAACH,eAAK,CAACI,cAAc,EAAE,IAAI;MAC1D,CAAC;MACD,UAAU,EAAE;QACVnC,eAAe,EAAE+B,eAAK,CAACG,MAAM,CAACH,eAAK,CAACI,cAAc,EAAE,IAAI;MAC1D,CAAC;MACDC,WAAW,sBAAeL,eAAK,CAACC,eAAe;IACjD,CAAC;IACD,iBAAiB,EAAE;MACjBK,sBAAsB,EAAE;IAC1B,CAAC;IACD,gBAAgB,EAAE;MAChBC,uBAAuB,EAAE,CAAC;MAC1BF,WAAW,EAAE;IACf,CAAC;IACDzB,QAAQ,EAAE,UAAU;IACpBQ,KAAK,EAAE;EACT,CAAC;AAAA,CAAC;AAEF,IAAMoB,iBAAyD,GAAG,SAA5DA,iBAAyD;EAAA,IAAKC,IAAI,SAAJA,IAAI;EAAA,OAAO;IAC7E,SAAS,EAAE;MACTC,KAAK,EAAE,IAAAC,iBAAK,EAACX,eAAK,CAACY,IAAI,CAAC,CAACC,GAAG,CAAC,IAAAF,iBAAK,EAACX,eAAK,CAACc,KAAK,CAAC,EAAE,IAAI,CAAC,CAACC,QAAQ;IACjE,CAAC;IACDL,KAAK,EAAEV,eAAK,CAACY,IAAI;IACjBI,MAAM,EAAE,SAAS;IACjBzC,OAAO,EAAE,MAAM;IACf0C,IAAI,EAAE,CAAC;IACPC,UAAU,EAAET,IAAI,GAAG,MAAM,GAAG,QAAQ;IACpChC,cAAc,EAAE,QAAQ;IACxB0C,OAAO,EAAE;EACX,CAAC;AAAA,CAAC;AAEF,IAAMC,YAAoC,GAAG,SAAvCA,YAAoC;EAAA,IAAKC,OAAO,SAAPA,OAAO;EAAA,OACpD;IAAK,GAAG,EAAEvB,yBAAyB;EAAG,GACnCuB,OAAO,CAACC,GAAG,CAAC,UAAAC,MAAM;IAAA,OACjB;MACE,GAAG,EAAEA,MAAM,CAACC,KAAM;MAClB,OAAO,EAAED,MAAM,CAACE,OAAQ;MACxB,GAAG,EAAEjB,iBAAiB,CAAC;QAACC,IAAI,EAAEc,MAAM,CAACd;MAAI,CAAC,CAAE;MAC5C,iBAAec,MAAM,CAACG;IAAY,GAEjCH,MAAM,CAACC,KAAK,CACT;EAAA,CACP,CAAC,CACE;AAAA,CACP;AAUM,IAAMG,KAA6D,GAAG,SAAhEA,KAA6D;EAAA,0BACxEN,OAAO;IAAPA,OAAO,8BAAG,EAAE;IACZO,QAAQ,SAARA,QAAQ;IACRC,SAAS,SAATA,SAAS;IACT9D,UAAU,SAAVA,UAAU;IACV+D,OAAO,SAAPA,OAAO;IACPC,iBAAiB,SAAjBA,iBAAiB;IACdzC,KAAK;EAAA,OAER,gBAAC,uBAAc,eAAKA,KAAK;IAAE,iBAAc;EAAO,IAC9C,gBAAC,SAAS;IAAC,UAAU,EAAEvB,UAAW;IAAC,KAAK,EAAE8D;EAAU,GAClD,gBAAC,YAAY,QAAED,QAAQ,CAAgB,EACtCE,OAAO,KAAKE,UAAI,IAAI,gBAAC,UAAU;IAAC,OAAO,EAAEF,OAAQ;IAAC,iBAAc;EAAU,EAAG,EAC7ET,OAAO,CAACY,MAAM,GAAG,CAAC,IAAI,gBAAC,YAAY;IAAC,OAAO,EAAEZ,OAAQ;IAAC,iBAAc;EAAe,EAAG,CAC7E,EACX,CAACtD,UAAU,IACV,gBAAC,eAAe;IACd,OAAO,EAAEgE,iBAAiB,KAAKC,UAAI,GAAGF,OAAO,GAAGC,iBAAkB;IAClE,iBAAc;EAAkB,EAEnC,CACc;AAAA,CAClB;AAAC;AAEFJ,KAAK,CAACO,YAAY,GAAG;EACnBb,OAAO,EAAE,EAAE;EACXtD,UAAU,EAAE,KAAK;EACjBgE,iBAAiB,EAAEC,UAAI;EACvBF,OAAO,EAAEE;AACX,CAAC"}
|