@os-design/core 1.0.254 → 1.0.255
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Alert/index.js +5 -5
- package/dist/cjs/Alert/index.js.map +1 -1
- package/dist/cjs/Avatar/index.js +5 -5
- package/dist/cjs/Avatar/index.js.map +1 -1
- package/dist/cjs/AvatarSkeleton/index.js +5 -5
- package/dist/cjs/AvatarSkeleton/index.js.map +1 -1
- package/dist/cjs/Badge/index.js +9 -9
- package/dist/cjs/Badge/index.js.map +1 -1
- package/dist/cjs/Breadcrumb/index.js +7 -7
- package/dist/cjs/Breadcrumb/index.js.map +1 -1
- package/dist/cjs/BreadcrumbItem/index.js +5 -5
- package/dist/cjs/BreadcrumbItem/index.js.map +1 -1
- package/dist/cjs/Button/ButtonContent.js +2 -2
- package/dist/cjs/Button/ButtonContent.js.map +1 -1
- package/dist/cjs/Button/index.js +5 -5
- package/dist/cjs/Button/index.js.map +1 -1
- package/dist/cjs/ButtonLink/index.js +5 -5
- package/dist/cjs/ButtonLink/index.js.map +1 -1
- package/dist/cjs/Checkbox/index.js +9 -9
- package/dist/cjs/Checkbox/index.js.map +1 -1
- package/dist/cjs/CheckboxSkeleton/index.js +5 -5
- package/dist/cjs/CheckboxSkeleton/index.js.map +1 -1
- package/dist/cjs/DatePicker/DatePickerCalendar.js +8 -8
- package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/cjs/DatePicker/index.js +9 -9
- package/dist/cjs/DatePicker/index.js.map +1 -1
- package/dist/cjs/Drawer/index.js +5 -5
- package/dist/cjs/Drawer/index.js.map +1 -1
- package/dist/cjs/Form/FormConfigContext.js +1 -1
- package/dist/cjs/Form/FormConfigContext.js.map +1 -1
- package/dist/cjs/Form/index.js +5 -5
- package/dist/cjs/Form/index.js.map +1 -1
- package/dist/cjs/FormDivider/index.js +5 -5
- package/dist/cjs/FormDivider/index.js.map +1 -1
- package/dist/cjs/FormItem/index.js +5 -5
- package/dist/cjs/FormItem/index.js.map +1 -1
- package/dist/cjs/Gallery/Status.js +2 -2
- package/dist/cjs/Gallery/Status.js.map +1 -1
- package/dist/cjs/Gallery/index.js +9 -9
- package/dist/cjs/Gallery/index.js.map +1 -1
- package/dist/cjs/GlobalStyles/index.js +1 -1
- package/dist/cjs/GlobalStyles/index.js.map +1 -1
- package/dist/cjs/GlobalStyles/resetStyles.js +1 -1
- package/dist/cjs/GlobalStyles/resetStyles.js.map +1 -1
- package/dist/cjs/GlobalStyles/typographyStyles.js +2 -2
- package/dist/cjs/GlobalStyles/typographyStyles.js.map +1 -1
- package/dist/cjs/HeaderSkeleton/index.js +5 -5
- package/dist/cjs/HeaderSkeleton/index.js.map +1 -1
- package/dist/cjs/Image/index.js +5 -5
- package/dist/cjs/Image/index.js.map +1 -1
- package/dist/cjs/ImageSkeleton/index.js +3 -3
- package/dist/cjs/ImageSkeleton/index.js.map +1 -1
- package/dist/cjs/Input/index.js +9 -9
- package/dist/cjs/Input/index.js.map +1 -1
- package/dist/cjs/Input/utils/getFocusableElements.js +5 -5
- package/dist/cjs/InputNumber/index.js +8 -8
- package/dist/cjs/InputNumber/index.js.map +1 -1
- package/dist/cjs/InputPassword/index.js +9 -9
- package/dist/cjs/InputPassword/index.js.map +1 -1
- package/dist/cjs/InputSearch/index.js +9 -9
- package/dist/cjs/InputSearch/index.js.map +1 -1
- package/dist/cjs/InputSkeleton/index.js +3 -3
- package/dist/cjs/InputSkeleton/index.js.map +1 -1
- package/dist/cjs/Layout/LayoutContext.js +1 -1
- package/dist/cjs/Layout/LayoutContext.js.map +1 -1
- package/dist/cjs/Layout/index.js +1 -1
- package/dist/cjs/Layout/index.js.map +1 -1
- package/dist/cjs/Link/index.js +5 -5
- package/dist/cjs/Link/index.js.map +1 -1
- package/dist/cjs/LinkButton/index.js +5 -5
- package/dist/cjs/LinkButton/index.js.map +1 -1
- package/dist/cjs/List/index.js +9 -9
- package/dist/cjs/List/index.js.map +1 -1
- package/dist/cjs/List/utils/frameTimeout.js +3 -3
- package/dist/cjs/List/utils/frameTimeout.js.map +1 -1
- package/dist/cjs/ListItem/index.js +5 -5
- package/dist/cjs/ListItem/index.js.map +1 -1
- package/dist/cjs/ListItemActions/index.js +12 -12
- package/dist/cjs/ListItemActions/index.js.map +1 -1
- package/dist/cjs/ListItemLink/index.js +10 -10
- package/dist/cjs/ListItemLink/index.js.map +1 -1
- package/dist/cjs/ListItemSkeleton/index.js +5 -5
- package/dist/cjs/ListItemSkeleton/index.js.map +1 -1
- package/dist/cjs/ListSkeleton/index.js +4 -4
- package/dist/cjs/ListSkeleton/index.js.map +1 -1
- package/dist/cjs/LogoLink/index.js +5 -5
- package/dist/cjs/LogoLink/index.js.map +1 -1
- package/dist/cjs/Menu/index.js +9 -9
- package/dist/cjs/Menu/index.js.map +1 -1
- package/dist/cjs/Menu/utils/useFocusWithArrows.js +5 -5
- package/dist/cjs/Menu/utils/useFocusWithArrows.js.map +1 -1
- package/dist/cjs/MenuDivider/index.js +3 -3
- package/dist/cjs/MenuDivider/index.js.map +1 -1
- package/dist/cjs/MenuGroup/index.js +13 -13
- package/dist/cjs/MenuGroup/index.js.map +1 -1
- package/dist/cjs/MenuItem/index.js +5 -5
- package/dist/cjs/MenuItem/index.js.map +1 -1
- package/dist/cjs/Modal/index.js +5 -5
- package/dist/cjs/Modal/index.js.map +1 -1
- package/dist/cjs/Navigation/index.js +5 -5
- package/dist/cjs/Navigation/index.js.map +1 -1
- package/dist/cjs/Navigation/utils/useScrollFlags.js +4 -4
- package/dist/cjs/Navigation/utils/useScrollFlags.js.map +1 -1
- package/dist/cjs/NavigationItem/index.js +5 -5
- package/dist/cjs/NavigationItem/index.js.map +1 -1
- package/dist/cjs/PageContent/index.js +5 -5
- package/dist/cjs/PageContent/index.js.map +1 -1
- package/dist/cjs/PageHeader/index.js +5 -5
- package/dist/cjs/PageHeader/index.js.map +1 -1
- package/dist/cjs/PageHeaderInputSearch/index.js +9 -9
- package/dist/cjs/PageHeaderInputSearch/index.js.map +1 -1
- package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js +2 -2
- package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/PageHeaderSkeleton/index.js +4 -4
- package/dist/cjs/PageHeaderSkeleton/index.js.map +1 -1
- package/dist/cjs/ParagraphSkeleton/index.js +5 -5
- package/dist/cjs/ParagraphSkeleton/index.js.map +1 -1
- package/dist/cjs/Popover/index.js +9 -9
- package/dist/cjs/Popover/index.js.map +1 -1
- package/dist/cjs/Popover/utils/usePopoverPosition.js +6 -6
- package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
- package/dist/cjs/Progress/index.js +5 -5
- package/dist/cjs/Progress/index.js.map +1 -1
- package/dist/cjs/RadioGroup/index.js +9 -9
- package/dist/cjs/RadioGroup/index.js.map +1 -1
- package/dist/cjs/RadioGroupSkeleton/index.js +5 -5
- package/dist/cjs/RadioGroupSkeleton/index.js.map +1 -1
- package/dist/cjs/Result/index.js +5 -5
- package/dist/cjs/Result/index.js.map +1 -1
- package/dist/cjs/ScrollButton/index.js +5 -5
- package/dist/cjs/ScrollButton/index.js.map +1 -1
- package/dist/cjs/ScrollButton/utils/useContainerPosition.js +4 -4
- package/dist/cjs/ScrollButton/utils/useContainerPosition.js.map +1 -1
- package/dist/cjs/ScrollButton/utils/useVisibility.js +4 -4
- package/dist/cjs/ScrollButton/utils/useVisibility.js.map +1 -1
- package/dist/cjs/Select/index.js +13 -13
- package/dist/cjs/Select/index.js.map +1 -1
- package/dist/cjs/Skeleton/index.js +5 -5
- package/dist/cjs/Skeleton/index.js.map +1 -1
- package/dist/cjs/Switch/index.js +9 -9
- package/dist/cjs/Switch/index.js.map +1 -1
- package/dist/cjs/SwitchSkeleton/index.js +3 -3
- package/dist/cjs/SwitchSkeleton/index.js.map +1 -1
- package/dist/cjs/Tag/index.js +5 -5
- package/dist/cjs/Tag/index.js.map +1 -1
- package/dist/cjs/TagLink/index.js +5 -5
- package/dist/cjs/TagLink/index.js.map +1 -1
- package/dist/cjs/TagList/index.js +9 -9
- package/dist/cjs/TagList/index.js.map +1 -1
- package/dist/cjs/TagListSkeleton/index.js +4 -4
- package/dist/cjs/TagListSkeleton/index.js.map +1 -1
- package/dist/cjs/TagSkeleton/index.js +5 -5
- package/dist/cjs/TagSkeleton/index.js.map +1 -1
- package/dist/cjs/TextArea/index.js +9 -9
- package/dist/cjs/TextArea/index.js.map +1 -1
- package/dist/cjs/TextAreaSkeleton/index.js +3 -3
- package/dist/cjs/TextAreaSkeleton/index.js.map +1 -1
- package/dist/cjs/ThemeSwitcher/index.js +4 -4
- package/dist/cjs/ThemeSwitcher/index.js.map +1 -1
- package/dist/cjs/TimePicker/index.js +8 -8
- package/dist/cjs/TimePicker/index.js.map +1 -1
- package/dist/cjs/Video/index.js +5 -5
- package/dist/cjs/Video/index.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/message/AlertIcon.js +2 -2
- package/dist/cjs/message/AlertIcon.js.map +1 -1
- package/dist/cjs/message/Message.js +2 -2
- package/dist/cjs/message/Message.js.map +1 -1
- package/dist/cjs/message/index.js +1 -1
- package/dist/cjs/message/index.js.map +1 -1
- package/dist/cjs/message/styles.js +4 -4
- package/dist/esm/Alert/index.js +1 -1
- package/dist/esm/Alert/index.js.map +1 -1
- package/dist/esm/Avatar/index.js +1 -1
- package/dist/esm/Avatar/index.js.map +1 -1
- package/dist/esm/Avatar/utils/nameToInitials.js.map +1 -1
- package/dist/esm/AvatarSkeleton/index.js +1 -1
- package/dist/esm/AvatarSkeleton/index.js.map +1 -1
- package/dist/esm/Badge/index.js +1 -1
- package/dist/esm/Badge/index.js.map +1 -1
- package/dist/esm/Breadcrumb/index.js +2 -2
- package/dist/esm/Breadcrumb/index.js.map +1 -1
- package/dist/esm/BreadcrumbItem/index.js +1 -1
- package/dist/esm/BreadcrumbItem/index.js.map +1 -1
- package/dist/esm/Button/ButtonContent.js.map +1 -1
- package/dist/esm/Button/index.js +1 -1
- package/dist/esm/Button/index.js.map +1 -1
- package/dist/esm/Button/utils/useButtonColors.js.map +1 -1
- package/dist/esm/ButtonLink/index.js +1 -1
- package/dist/esm/ButtonLink/index.js.map +1 -1
- package/dist/esm/Checkbox/index.js +1 -1
- package/dist/esm/Checkbox/index.js.map +1 -1
- package/dist/esm/CheckboxSkeleton/index.js +1 -1
- package/dist/esm/CheckboxSkeleton/index.js.map +1 -1
- package/dist/esm/DatePicker/DatePickerCalendar.js +1 -1
- package/dist/esm/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/esm/DatePicker/index.js +1 -1
- package/dist/esm/DatePicker/index.js.map +1 -1
- package/dist/esm/Drawer/index.js +1 -1
- package/dist/esm/Drawer/index.js.map +1 -1
- package/dist/esm/Form/index.js +1 -1
- package/dist/esm/Form/index.js.map +1 -1
- package/dist/esm/FormDivider/index.js +1 -1
- package/dist/esm/FormDivider/index.js.map +1 -1
- package/dist/esm/FormItem/index.js +1 -1
- package/dist/esm/FormItem/index.js.map +1 -1
- package/dist/esm/Gallery/Status.js.map +1 -1
- package/dist/esm/Gallery/index.js +1 -1
- package/dist/esm/Gallery/index.js.map +1 -1
- package/dist/esm/GlobalStyles/resetStyles.js.map +1 -1
- package/dist/esm/GlobalStyles/typographyStyles.js.map +1 -1
- package/dist/esm/HeaderSkeleton/index.js +1 -1
- package/dist/esm/HeaderSkeleton/index.js.map +1 -1
- package/dist/esm/Image/index.js +1 -1
- package/dist/esm/Image/index.js.map +1 -1
- package/dist/esm/ImageSkeleton/index.js +1 -1
- package/dist/esm/ImageSkeleton/index.js.map +1 -1
- package/dist/esm/Input/index.js +1 -1
- package/dist/esm/Input/index.js.map +1 -1
- package/dist/esm/InputNumber/index.js +1 -1
- package/dist/esm/InputPassword/index.js +1 -1
- package/dist/esm/InputPassword/index.js.map +1 -1
- package/dist/esm/InputSearch/index.js +1 -1
- package/dist/esm/InputSearch/index.js.map +1 -1
- package/dist/esm/InputSkeleton/index.js +1 -1
- package/dist/esm/InputSkeleton/index.js.map +1 -1
- package/dist/esm/Link/index.js +1 -1
- package/dist/esm/Link/index.js.map +1 -1
- package/dist/esm/LinkButton/index.js +1 -1
- package/dist/esm/LinkButton/index.js.map +1 -1
- package/dist/esm/List/index.js +1 -1
- package/dist/esm/List/index.js.map +1 -1
- package/dist/esm/ListItem/index.js +1 -1
- package/dist/esm/ListItem/index.js.map +1 -1
- package/dist/esm/ListItemActions/index.js +1 -1
- package/dist/esm/ListItemActions/index.js.map +1 -1
- package/dist/esm/ListItemLink/index.js +1 -1
- package/dist/esm/ListItemLink/index.js.map +1 -1
- package/dist/esm/ListItemSkeleton/index.js +1 -1
- package/dist/esm/ListItemSkeleton/index.js.map +1 -1
- package/dist/esm/ListSkeleton/index.js +1 -1
- package/dist/esm/LogoLink/index.js +1 -1
- package/dist/esm/LogoLink/index.js.map +1 -1
- package/dist/esm/Menu/index.js +1 -1
- package/dist/esm/Menu/index.js.map +1 -1
- package/dist/esm/MenuDivider/index.js +1 -1
- package/dist/esm/MenuDivider/index.js.map +1 -1
- package/dist/esm/MenuGroup/index.js +1 -1
- package/dist/esm/MenuGroup/index.js.map +1 -1
- package/dist/esm/MenuItem/index.js +1 -1
- package/dist/esm/MenuItem/index.js.map +1 -1
- package/dist/esm/Modal/index.js +1 -1
- package/dist/esm/Modal/index.js.map +1 -1
- package/dist/esm/Navigation/index.js +1 -1
- package/dist/esm/Navigation/index.js.map +1 -1
- package/dist/esm/NavigationItem/index.js +1 -1
- package/dist/esm/NavigationItem/index.js.map +1 -1
- package/dist/esm/PageContent/index.js +1 -1
- package/dist/esm/PageContent/index.js.map +1 -1
- package/dist/esm/PageHeader/index.js +1 -1
- package/dist/esm/PageHeader/index.js.map +1 -1
- package/dist/esm/PageHeaderInputSearch/index.js +1 -1
- package/dist/esm/PageHeaderInputSearch/index.js.map +1 -1
- package/dist/esm/PageHeaderSkeleton/index.js +1 -1
- package/dist/esm/ParagraphSkeleton/index.js +1 -1
- package/dist/esm/ParagraphSkeleton/index.js.map +1 -1
- package/dist/esm/Popover/index.js +1 -1
- package/dist/esm/Popover/index.js.map +1 -1
- package/dist/esm/Progress/index.js +1 -1
- package/dist/esm/Progress/index.js.map +1 -1
- package/dist/esm/RadioGroup/index.js +1 -1
- package/dist/esm/RadioGroup/index.js.map +1 -1
- package/dist/esm/RadioGroupSkeleton/index.js +1 -1
- package/dist/esm/RadioGroupSkeleton/index.js.map +1 -1
- package/dist/esm/Result/index.js +1 -1
- package/dist/esm/Result/index.js.map +1 -1
- package/dist/esm/ScrollButton/index.js +1 -1
- package/dist/esm/ScrollButton/index.js.map +1 -1
- package/dist/esm/Select/index.js +1 -1
- package/dist/esm/Select/index.js.map +1 -1
- package/dist/esm/Skeleton/index.js +1 -1
- package/dist/esm/Skeleton/index.js.map +1 -1
- package/dist/esm/Switch/index.js +1 -1
- package/dist/esm/Switch/index.js.map +1 -1
- package/dist/esm/SwitchSkeleton/index.js +1 -1
- package/dist/esm/SwitchSkeleton/index.js.map +1 -1
- package/dist/esm/Tag/index.js +1 -1
- package/dist/esm/Tag/index.js.map +1 -1
- package/dist/esm/TagLink/index.js +1 -1
- package/dist/esm/TagLink/index.js.map +1 -1
- package/dist/esm/TagList/index.js +1 -1
- package/dist/esm/TagList/index.js.map +1 -1
- package/dist/esm/TagListSkeleton/index.js +1 -1
- package/dist/esm/TagSkeleton/index.js +1 -1
- package/dist/esm/TagSkeleton/index.js.map +1 -1
- package/dist/esm/TextArea/index.js +1 -1
- package/dist/esm/TextArea/index.js.map +1 -1
- package/dist/esm/TextAreaSkeleton/index.js +1 -1
- package/dist/esm/TextAreaSkeleton/index.js.map +1 -1
- package/dist/esm/ThemeSwitcher/index.js +1 -1
- package/dist/esm/TimePicker/index.js +1 -1
- package/dist/esm/Video/index.js +1 -1
- package/dist/esm/Video/index.js.map +1 -1
- package/dist/esm/message/AlertIcon.js.map +1 -1
- package/dist/esm/message/Message.js.map +1 -1
- package/dist/types/Button/index.d.ts +2 -2
- package/dist/types/Button/index.d.ts.map +1 -1
- package/dist/types/ButtonLink/index.d.ts +14 -13
- package/dist/types/ButtonLink/index.d.ts.map +1 -1
- package/dist/types/Input/index.d.ts +4 -4
- package/dist/types/Input/index.d.ts.map +1 -1
- package/dist/types/Link/index.d.ts +4 -4
- package/dist/types/Link/index.d.ts.map +1 -1
- package/dist/types/Menu/utils/useFocusWithArrows.d.ts.map +1 -1
- package/dist/types/Modal/index.d.ts +2 -2
- package/dist/types/Modal/index.d.ts.map +1 -1
- package/dist/types/Navigation/utils/useScrollFlags.d.ts.map +1 -1
- package/dist/types/PageHeader/index.d.ts +2 -2
- package/dist/types/PageHeader/index.d.ts.map +1 -1
- package/dist/types/ScrollButton/utils/useContainerPosition.d.ts.map +1 -1
- package/dist/types/Select/index.d.ts +21 -21
- package/dist/types/Select/index.d.ts.map +1 -1
- package/dist/types/Tag/index.d.ts +6 -6
- package/dist/types/Tag/index.d.ts.map +1 -1
- package/dist/types/ThemeSwitcher/index.d.ts +14 -13
- package/dist/types/ThemeSwitcher/index.d.ts.map +1 -1
- package/dist/types/message/styles.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","keyframes","styled","Close","Search","ThemeOverrider","useTheme","omitEmotionProps","useClosable","React","forwardRef","useContext","useState","Button","InputSearch","LayoutContext","PageHeaderContainer","defaultLocale","fadeIn","fadeOut","visibleStyles","p","visible","theme","transitionDelay","invisibleStyles","Container","CloseButton","pageHeaderAddonPaddingHorizontal","PageHeaderInputSearch","locale","autoOpen","onClose","loading","rest","ref","setVisible","mounted","hasNavigation","createElement","Fragment","type","wide","onClick","searchLabel","overrides","t","buttonPaddingHorizontal","pageHeaderButtonPaddingHorizontal","rightIsGhostButton","hasNavigationIndent","_extends","autoFocus","closeLabel","displayName"],"sources":["../../../src/PageHeaderInputSearch/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Close, Search } from '@os-design/icons';\nimport { ThemeOverrider, useTheme } from '@os-design/theming';\nimport { omitEmotionProps, useClosable } from '@os-design/utils';\nimport React, { forwardRef, useContext, useState } from 'react';\nimport Button from '../Button';\nimport InputSearch, { InputSearchProps } from '../InputSearch';\nimport LayoutContext from '../Layout/LayoutContext';\nimport { PageHeaderContainer } from '../PageHeader';\nimport defaultLocale, {\n PageHeaderInputSearchLocale,\n} from './utils/defaultLocale';\n\nexport interface PageHeaderInputSearchProps\n extends Omit<InputSearchProps, 'size' | 'locale'> {\n /**\n * The locale.\n * @default undefined\n */\n locale?: PageHeaderInputSearchLocale;\n /**\n * Whether the search input opens on mount.\n * @default false\n */\n autoOpen?: boolean;\n /**\n * The close event handler.\n * @default undefined\n */\n onClose?: () => void;\n}\n\nconst fadeIn = keyframes`\n from { transform: translateY(-100%); }\n to { transform: translateY(0); }\n`;\n\nconst fadeOut = keyframes`\n from { transform: translateY(0); }\n to { transform: translateY(-100%); }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface ContainerProps {\n visible: boolean;\n}\nconst Container = styled(\n PageHeaderContainer,\n omitEmotionProps('visible')\n)<ContainerProps>`\n z-index: 102; // After PageHeaderContainer\n ${visibleStyles};\n ${invisibleStyles};\n`;\n\nconst CloseButton = styled(Button)`\n margin-left: ${(p) => p.theme.pageHeaderAddonPaddingHorizontal}em;\n`;\n\n/**\n * The search input for the page header.\n */\nconst PageHeaderInputSearch = forwardRef<\n HTMLInputElement,\n PageHeaderInputSearchProps\n>(\n (\n {\n locale = defaultLocale,\n autoOpen = false,\n onClose = () => {},\n loading = false,\n ...rest\n },\n ref\n ) => {\n const [visible, setVisible] = useState(autoOpen);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n const { hasNavigation } = useContext(LayoutContext);\n\n return (\n <>\n <Button\n type='ghost'\n wide='never'\n loading={loading}\n onClick={() => setVisible(true)}\n aria-label={locale.searchLabel}\n >\n <Search />\n </Button>\n\n {mounted && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: t.pageHeaderButtonPaddingHorizontal,\n })}\n >\n <Container\n visible={visible}\n rightIsGhostButton\n hasNavigationIndent={hasNavigation}\n >\n <InputSearch\n autoFocus\n locale={locale}\n loading={loading}\n {...rest}\n ref={ref}\n />\n <CloseButton\n type='ghost'\n wide='never'\n onClick={() => {\n setVisible(false);\n onClose();\n }}\n aria-label={locale.closeLabel}\n >\n <Close />\n </CloseButton>\n </Container>\n </ThemeOverrider>\n )}\n </>\n );\n }\n);\n\nPageHeaderInputSearch.displayName = 'PageHeaderInputSearch';\n\nexport default PageHeaderInputSearch;\n"],"mappings":";AAAA,SAASA,GAAG,EAAEC,SAAS,QAAQ,gBAAgB;AAC/C,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,KAAK,EAAEC,MAAM,QAAQ,kBAAkB;AAChD,SAASC,cAAc,EAAEC,QAAQ,QAAQ,oBAAoB;AAC7D,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,kBAAkB;AAChE,OAAOC,KAAK,IAAIC,UAAU,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAC/D,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAA4B,gBAAgB;AAC9D,OAAOC,aAAa,MAAM,yBAAyB;AACnD,SAASC,mBAAmB,QAAQ,eAAe;AACnD,OAAOC,aAAa,MAEb,uBAAuB;AAqB9B,MAAMC,MAAM,GAAGjB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","keyframes","styled","Close","Search","ThemeOverrider","useTheme","omitEmotionProps","useClosable","React","forwardRef","useContext","useState","Button","InputSearch","LayoutContext","PageHeaderContainer","defaultLocale","fadeIn","fadeOut","visibleStyles","p","visible","theme","transitionDelay","invisibleStyles","Container","CloseButton","pageHeaderAddonPaddingHorizontal","PageHeaderInputSearch","locale","autoOpen","onClose","loading","rest","ref","setVisible","mounted","hasNavigation","createElement","Fragment","type","wide","onClick","searchLabel","overrides","t","buttonPaddingHorizontal","pageHeaderButtonPaddingHorizontal","rightIsGhostButton","hasNavigationIndent","_extends","autoFocus","closeLabel","displayName"],"sources":["../../../src/PageHeaderInputSearch/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Close, Search } from '@os-design/icons';\nimport { ThemeOverrider, useTheme } from '@os-design/theming';\nimport { omitEmotionProps, useClosable } from '@os-design/utils';\nimport React, { forwardRef, useContext, useState } from 'react';\nimport Button from '../Button';\nimport InputSearch, { InputSearchProps } from '../InputSearch';\nimport LayoutContext from '../Layout/LayoutContext';\nimport { PageHeaderContainer } from '../PageHeader';\nimport defaultLocale, {\n PageHeaderInputSearchLocale,\n} from './utils/defaultLocale';\n\nexport interface PageHeaderInputSearchProps\n extends Omit<InputSearchProps, 'size' | 'locale'> {\n /**\n * The locale.\n * @default undefined\n */\n locale?: PageHeaderInputSearchLocale;\n /**\n * Whether the search input opens on mount.\n * @default false\n */\n autoOpen?: boolean;\n /**\n * The close event handler.\n * @default undefined\n */\n onClose?: () => void;\n}\n\nconst fadeIn = keyframes`\n from { transform: translateY(-100%); }\n to { transform: translateY(0); }\n`;\n\nconst fadeOut = keyframes`\n from { transform: translateY(0); }\n to { transform: translateY(-100%); }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface ContainerProps {\n visible: boolean;\n}\nconst Container = styled(\n PageHeaderContainer,\n omitEmotionProps('visible')\n)<ContainerProps>`\n z-index: 102; // After PageHeaderContainer\n ${visibleStyles};\n ${invisibleStyles};\n`;\n\nconst CloseButton = styled(Button)`\n margin-left: ${(p) => p.theme.pageHeaderAddonPaddingHorizontal}em;\n`;\n\n/**\n * The search input for the page header.\n */\nconst PageHeaderInputSearch = forwardRef<\n HTMLInputElement,\n PageHeaderInputSearchProps\n>(\n (\n {\n locale = defaultLocale,\n autoOpen = false,\n onClose = () => {},\n loading = false,\n ...rest\n },\n ref\n ) => {\n const [visible, setVisible] = useState(autoOpen);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n const { hasNavigation } = useContext(LayoutContext);\n\n return (\n <>\n <Button\n type='ghost'\n wide='never'\n loading={loading}\n onClick={() => setVisible(true)}\n aria-label={locale.searchLabel}\n >\n <Search />\n </Button>\n\n {mounted && (\n <ThemeOverrider\n overrides={(t) => ({\n buttonPaddingHorizontal: t.pageHeaderButtonPaddingHorizontal,\n })}\n >\n <Container\n visible={visible}\n rightIsGhostButton\n hasNavigationIndent={hasNavigation}\n >\n <InputSearch\n autoFocus\n locale={locale}\n loading={loading}\n {...rest}\n ref={ref}\n />\n <CloseButton\n type='ghost'\n wide='never'\n onClick={() => {\n setVisible(false);\n onClose();\n }}\n aria-label={locale.closeLabel}\n >\n <Close />\n </CloseButton>\n </Container>\n </ThemeOverrider>\n )}\n </>\n );\n }\n);\n\nPageHeaderInputSearch.displayName = 'PageHeaderInputSearch';\n\nexport default PageHeaderInputSearch;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React, { forwardRef, useContext } from 'react';
|
|
3
3
|
import LayoutContext from '../Layout/LayoutContext';
|
|
4
4
|
import { PageHeaderContainer } from '../PageHeader';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { css } from '@emotion/react';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import { omitEmotionProps } from '@os-design/utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","styled","omitEmotionProps","React","forwardRef","Skeleton","hasMarginStyles","p","hasMargin","theme","paragraphMarginBottom","lineHeight","Container","key","ParagraphSkeleton","rows","width","rest","ref","createElement","_extends","Array","fill","map","_","index","displayName"],"sources":["../../../src/ParagraphSkeleton/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Skeleton, { SkeletonProps } from '../Skeleton';\n\nexport interface ParagraphSkeletonProps extends SkeletonProps {\n /**\n * The number of rows.\n * @default 4\n */\n rows?: number;\n /**\n * The width of the last row.\n * @default 70%\n */\n width?: string;\n /**\n * Whether the paragraph has a bottom margin.\n * @default false\n */\n hasMargin?: boolean;\n}\n\nconst hasMarginStyles = (p) =>\n p.hasMargin &&\n css`\n margin-bottom: ${p.theme.paragraphMarginBottom +\n (p.theme.lineHeight - 1)}em;\n `;\n\ntype ContainerProps = Pick<ParagraphSkeletonProps, 'hasMargin'>;\nconst Container = styled('div', omitEmotionProps('hasMargin'))<ContainerProps>`\n & > *:not(:last-of-type) {\n margin-bottom: ${(p) => p.theme.lineHeight - 1}em;\n }\n ${hasMarginStyles};\n`;\n\nlet key = 0;\n\n/**\n * Provides a paragraph placeholder while a user waits for the content to load.\n */\nconst ParagraphSkeleton = forwardRef<HTMLDivElement, ParagraphSkeletonProps>(\n ({ rows = 4, width = '70%', hasMargin = false, ...rest }, ref) => (\n <Container hasMargin={hasMargin} {...rest} ref={ref}>\n {Array(rows)\n .fill(0)\n .map((_, index) => {\n key += 1;\n return (\n <Skeleton key={key} width={index < rows - 1 ? '100%' : width} />\n );\n })}\n </Container>\n )\n);\n\nParagraphSkeleton.displayName = 'ParagraphSkeleton';\n\nexport default ParagraphSkeleton;\n"],"mappings":";AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,QAAQ,MAAyB,aAAa;AAoBrD,MAAMC,eAAe,GAAIC,CAAC,IACxBA,CAAC,CAACC,SAAS,IACXR,
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","styled","omitEmotionProps","React","forwardRef","Skeleton","hasMarginStyles","p","hasMargin","theme","paragraphMarginBottom","lineHeight","Container","key","ParagraphSkeleton","rows","width","rest","ref","createElement","_extends","Array","fill","map","_","index","displayName"],"sources":["../../../src/ParagraphSkeleton/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Skeleton, { SkeletonProps } from '../Skeleton';\n\nexport interface ParagraphSkeletonProps extends SkeletonProps {\n /**\n * The number of rows.\n * @default 4\n */\n rows?: number;\n /**\n * The width of the last row.\n * @default 70%\n */\n width?: string;\n /**\n * Whether the paragraph has a bottom margin.\n * @default false\n */\n hasMargin?: boolean;\n}\n\nconst hasMarginStyles = (p) =>\n p.hasMargin &&\n css`\n margin-bottom: ${p.theme.paragraphMarginBottom +\n (p.theme.lineHeight - 1)}em;\n `;\n\ntype ContainerProps = Pick<ParagraphSkeletonProps, 'hasMargin'>;\nconst Container = styled('div', omitEmotionProps('hasMargin'))<ContainerProps>`\n & > *:not(:last-of-type) {\n margin-bottom: ${(p) => p.theme.lineHeight - 1}em;\n }\n ${hasMarginStyles};\n`;\n\nlet key = 0;\n\n/**\n * Provides a paragraph placeholder while a user waits for the content to load.\n */\nconst ParagraphSkeleton = forwardRef<HTMLDivElement, ParagraphSkeletonProps>(\n ({ rows = 4, width = '70%', hasMargin = false, ...rest }, ref) => (\n <Container hasMargin={hasMargin} {...rest} ref={ref}>\n {Array(rows)\n .fill(0)\n .map((_, index) => {\n key += 1;\n return (\n <Skeleton key={key} width={index < rows - 1 ? '100%' : width} />\n );\n })}\n </Container>\n )\n);\n\nParagraphSkeleton.displayName = 'ParagraphSkeleton';\n\nexport default ParagraphSkeleton;\n"],"mappings":";AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,QAAQ,MAAyB,aAAa;AAoBrD,MAAMC,eAAe,GAAIC,CAAC,IACxBA,CAAC,CAACC,SAAS,IACXR,GAAG;AACL,qBAAqBO,CAAC,CAACE,KAAK,CAACC,qBAAqB,IAC7CH,CAAC,CAACE,KAAK,CAACE,UAAU,GAAG,CAAC,CAAC;AAC5B,GAAG;AAGH,MAAMC,SAAS,GAAGX,MAAM,CAAC,KAAK,EAAEC,gBAAgB,CAAC,WAAW,CAAC,CAAiB;AAC9E;AACA,qBAAsBK,CAAC,IAAKA,CAAC,CAACE,KAAK,CAACE,UAAU,GAAG,CAAC;AAClD;AACA,IAAIL,eAAe;AACnB,CAAC;AAED,IAAIO,GAAG,GAAG,CAAC;;AAEX;AACA;AACA;AACA,MAAMC,iBAAiB,gBAAGV,UAAU,CAClC,CAAC;EAAEW,IAAI,GAAG,CAAC;EAAEC,KAAK,GAAG,KAAK;EAAER,SAAS,GAAG,KAAK;EAAE,GAAGS;AAAK,CAAC,EAAEC,GAAG,kBAC3Df,KAAA,CAAAgB,aAAA,CAACP,SAAS,EAAAQ,QAAA;EAACZ,SAAS,EAAEA;AAAU,GAAKS,IAAI;EAAEC,GAAG,EAAEA;AAAI,IACjDG,KAAK,CAACN,IAAI,CAAC,CACTO,IAAI,CAAC,CAAC,CAAC,CACPC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;EACjBZ,GAAG,IAAI,CAAC;EACR,oBACEV,KAAA,CAAAgB,aAAA,CAACd,QAAQ;IAACQ,GAAG,EAAEA,GAAI;IAACG,KAAK,EAAES,KAAK,GAAGV,IAAI,GAAG,CAAC,GAAG,MAAM,GAAGC;EAAM,CAAE,CAAC;AAEpE,CAAC,CACM,CAEf,CAAC;AAEDF,iBAAiB,CAACY,WAAW,GAAG,mBAAmB;AAEnD,eAAeZ,iBAAiB","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { css, keyframes } from '@emotion/react';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import Portal from '@os-design/portal';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","keyframes","styled","Portal","sizeStyles","clr","useTheme","omitEmotionProps","useBrowserLayoutEffect","useClickOutside","useClosable","useEvent","useForwardedRef","useResizeObserver","React","forwardRef","useCallback","useEffect","useMemo","useState","usePopoverPosition","fadeIn","fadeOut","visibleStyles","p","visible","theme","transitionDelay","invisibleStyles","Container","top","left","borderRadius","popoverColorBg","popoverColorText","popoverColorBorder","popoverColorBoxShadow","emptyRect","width","height","Popover","trigger","placement","gap","flip","onClose","id","children","rest","ref","popoverRef","mergedPopoverRef","popoverRect","setPopoverRect","triggerRect","setTriggerRect","mounted","popoverResizeListener","current","getBoundingClientRect","measuredPopoverRef","node","triggerResizeListener","window","requestAnimationFrame","document","undefined","popoverId","Math","random","toString","slice","getAttribute","setAttribute","elementRect","createElement","_extends","role","displayName"],"sources":["../../../src/Popover/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport Portal from '@os-design/portal';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { clr, useTheme } from '@os-design/theming';\nimport {\n omitEmotionProps,\n useBrowserLayoutEffect,\n useClickOutside,\n useClosable,\n useEvent,\n useForwardedRef,\n useResizeObserver,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n RefCallback,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport usePopoverPosition, {\n Placement,\n Rect,\n} from './utils/usePopoverPosition';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface PopoverProps extends JsxDivProps, WithSize {\n /**\n * The element next to which the popover appears.\n * @default undefined\n */\n trigger?: RefObject<Element> | Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.2\n */\n gap?: number;\n /**\n * Whether the popover to flip if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n /**\n * Whether the popover is visible.\n * @default false\n */\n visible?: boolean;\n /**\n * The close event handler.\n * @default undefined\n */\n onClose?: () => void;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nconst fadeOut = keyframes`\n from { opacity: 1; }\n to { opacity: 0; }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface ContainerProps extends Pick<PopoverProps, 'visible' | 'size'> {\n top: number;\n left: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('top', 'left', 'visible', 'size')\n)<ContainerProps>`\n position: absolute;\n top: ${(p) => p.top}px;\n left: ${(p) => p.left}px;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n background-color: ${(p) => clr(p.theme.popoverColorBg)};\n color: ${(p) => clr(p.theme.popoverColorText)};\n border: 1px solid ${(p) => clr(p.theme.popoverColorBorder)};\n box-shadow: 0 0.15em 0.8em ${(p) => clr(p.theme.popoverColorBoxShadow)};\n z-index: 1000; // Greater than the z-index of the Drawer\n\n ${visibleStyles};\n ${invisibleStyles};\n ${sizeStyles};\n`;\n\nconst emptyRect: Rect = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n};\n\n/**\n * The pop-up window located next to the element.\n */\nconst Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n trigger,\n placement = 'top',\n gap = 0.2,\n flip = true,\n visible = false,\n onClose = () => {},\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [popoverRef, mergedPopoverRef] = useForwardedRef(ref);\n const [popoverRect, setPopoverRect] = useState(emptyRect);\n const [triggerRect, setTriggerRect] = useState(emptyRect);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n\n // Init the rect of the popover and update it when the popover size changes\n const popoverResizeListener = useCallback(() => {\n if (!popoverRef.current) return;\n setPopoverRect(popoverRef.current.getBoundingClientRect());\n }, [popoverRef]);\n useResizeObserver(\n popoverRef.current as HTMLDivElement,\n popoverResizeListener\n );\n\n const measuredPopoverRef = useCallback<RefCallback<HTMLDivElement>>(\n (node) => {\n if (node === null) return;\n setPopoverRect(node.getBoundingClientRect());\n mergedPopoverRef(node);\n },\n [mergedPopoverRef]\n );\n\n // Init the rect of the trigger and update it when the window was resized\n // or scrolled\n const triggerResizeListener = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n setTriggerRect(current.getBoundingClientRect());\n });\n }, [trigger]);\n useBrowserLayoutEffect(() => {\n if (!visible) return;\n triggerResizeListener();\n }, [triggerResizeListener, visible]);\n useResizeObserver(trigger as never, triggerResizeListener);\n useEvent(\n (typeof window === 'undefined' ? null : window) as never,\n 'resize',\n triggerResizeListener\n );\n useEvent(document, 'scroll', triggerResizeListener);\n\n useEffect(() => {\n if (!trigger || (trigger as RefObject<Element>).current !== undefined)\n return;\n setTriggerRect(trigger as Rect);\n }, [trigger]);\n\n const popoverId = useMemo(\n () => id || `popover-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Set the aria tags to support accessibility features\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n if (current.getAttribute('aria-haspopup') === null) {\n current.setAttribute('aria-haspopup', 'dialog');\n }\n current.setAttribute('aria-controls', popoverId);\n }, []);\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-expanded', visible.toString());\n }, [visible]);\n\n // Get the popover coordinates\n const { top, left } = usePopoverPosition({\n elementRect: triggerRect,\n popoverRect,\n placement,\n gap,\n flip,\n });\n\n // Close the popover when the user clicks outside of it\n useClickOutside(popoverRef, onClose);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <Container\n top={top}\n left={left}\n visible={visible}\n id={popoverId}\n role='dialog'\n {...rest}\n ref={measuredPopoverRef}\n >\n {children}\n </Container>\n </Portal>\n );\n }\n);\n\nPopover.displayName = 'Popover';\n\nexport default Popover;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","keyframes","styled","Portal","sizeStyles","clr","useTheme","omitEmotionProps","useBrowserLayoutEffect","useClickOutside","useClosable","useEvent","useForwardedRef","useResizeObserver","React","forwardRef","useCallback","useEffect","useMemo","useState","usePopoverPosition","fadeIn","fadeOut","visibleStyles","p","visible","theme","transitionDelay","invisibleStyles","Container","top","left","borderRadius","popoverColorBg","popoverColorText","popoverColorBorder","popoverColorBoxShadow","emptyRect","width","height","Popover","trigger","placement","gap","flip","onClose","id","children","rest","ref","popoverRef","mergedPopoverRef","popoverRect","setPopoverRect","triggerRect","setTriggerRect","mounted","popoverResizeListener","current","getBoundingClientRect","measuredPopoverRef","node","triggerResizeListener","window","requestAnimationFrame","document","undefined","popoverId","Math","random","toString","slice","getAttribute","setAttribute","elementRect","createElement","_extends","role","displayName"],"sources":["../../../src/Popover/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport Portal from '@os-design/portal';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { clr, useTheme } from '@os-design/theming';\nimport {\n omitEmotionProps,\n useBrowserLayoutEffect,\n useClickOutside,\n useClosable,\n useEvent,\n useForwardedRef,\n useResizeObserver,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n RefCallback,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport usePopoverPosition, {\n Placement,\n Rect,\n} from './utils/usePopoverPosition';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface PopoverProps extends JsxDivProps, WithSize {\n /**\n * The element next to which the popover appears.\n * @default undefined\n */\n trigger?: RefObject<Element> | Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.2\n */\n gap?: number;\n /**\n * Whether the popover to flip if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n /**\n * Whether the popover is visible.\n * @default false\n */\n visible?: boolean;\n /**\n * The close event handler.\n * @default undefined\n */\n onClose?: () => void;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nconst fadeOut = keyframes`\n from { opacity: 1; }\n to { opacity: 0; }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface ContainerProps extends Pick<PopoverProps, 'visible' | 'size'> {\n top: number;\n left: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('top', 'left', 'visible', 'size')\n)<ContainerProps>`\n position: absolute;\n top: ${(p) => p.top}px;\n left: ${(p) => p.left}px;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n background-color: ${(p) => clr(p.theme.popoverColorBg)};\n color: ${(p) => clr(p.theme.popoverColorText)};\n border: 1px solid ${(p) => clr(p.theme.popoverColorBorder)};\n box-shadow: 0 0.15em 0.8em ${(p) => clr(p.theme.popoverColorBoxShadow)};\n z-index: 1000; // Greater than the z-index of the Drawer\n\n ${visibleStyles};\n ${invisibleStyles};\n ${sizeStyles};\n`;\n\nconst emptyRect: Rect = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n};\n\n/**\n * The pop-up window located next to the element.\n */\nconst Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n trigger,\n placement = 'top',\n gap = 0.2,\n flip = true,\n visible = false,\n onClose = () => {},\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [popoverRef, mergedPopoverRef] = useForwardedRef(ref);\n const [popoverRect, setPopoverRect] = useState(emptyRect);\n const [triggerRect, setTriggerRect] = useState(emptyRect);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n\n // Init the rect of the popover and update it when the popover size changes\n const popoverResizeListener = useCallback(() => {\n if (!popoverRef.current) return;\n setPopoverRect(popoverRef.current.getBoundingClientRect());\n }, [popoverRef]);\n useResizeObserver(\n popoverRef.current as HTMLDivElement,\n popoverResizeListener\n );\n\n const measuredPopoverRef = useCallback<RefCallback<HTMLDivElement>>(\n (node) => {\n if (node === null) return;\n setPopoverRect(node.getBoundingClientRect());\n mergedPopoverRef(node);\n },\n [mergedPopoverRef]\n );\n\n // Init the rect of the trigger and update it when the window was resized\n // or scrolled\n const triggerResizeListener = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n setTriggerRect(current.getBoundingClientRect());\n });\n }, [trigger]);\n useBrowserLayoutEffect(() => {\n if (!visible) return;\n triggerResizeListener();\n }, [triggerResizeListener, visible]);\n useResizeObserver(trigger as never, triggerResizeListener);\n useEvent(\n (typeof window === 'undefined' ? null : window) as never,\n 'resize',\n triggerResizeListener\n );\n useEvent(document, 'scroll', triggerResizeListener);\n\n useEffect(() => {\n if (!trigger || (trigger as RefObject<Element>).current !== undefined)\n return;\n setTriggerRect(trigger as Rect);\n }, [trigger]);\n\n const popoverId = useMemo(\n () => id || `popover-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Set the aria tags to support accessibility features\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n if (current.getAttribute('aria-haspopup') === null) {\n current.setAttribute('aria-haspopup', 'dialog');\n }\n current.setAttribute('aria-controls', popoverId);\n }, []);\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-expanded', visible.toString());\n }, [visible]);\n\n // Get the popover coordinates\n const { top, left } = usePopoverPosition({\n elementRect: triggerRect,\n popoverRect,\n placement,\n gap,\n flip,\n });\n\n // Close the popover when the user clicks outside of it\n useClickOutside(popoverRef, onClose);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <Container\n top={top}\n left={left}\n visible={visible}\n id={popoverId}\n role='dialog'\n {...rest}\n ref={measuredPopoverRef}\n >\n {children}\n </Container>\n </Portal>\n );\n }\n);\n\nPopover.displayName = 'Popover';\n\nexport default Popover;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import styled from '@emotion/styled';
|
|
3
3
|
import { sizeStyles, transitionStyles } from '@os-design/styles';
|
|
4
4
|
import { clr } from '@os-design/theming';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["styled","sizeStyles","transitionStyles","clr","omitEmotionProps","React","forwardRef","useMemo","Container","Trail","p","theme","progressColorTrail","height","Stroke","percent","progressColorStroke","progressColorStrokeSuccess","Text","div","progressColorPercentage","Progress","text","rest","ref","validPercent","textId","Math","random","toString","slice","createElement","_extends","role","id","displayName"],"sources":["../../../src/Progress/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { WithSize, sizeStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, useMemo } from 'react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ProgressProps extends JsxDivProps, WithSize {\n /**\n * The percentage of completion.\n * @default 0\n */\n percent?: number;\n /**\n * The text that is displayed to the right of the progress bar.\n * @default undefined\n */\n text?: string;\n /**\n * The height of the progress bar.\n * @default 0.5em\n */\n height?: string;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n align-items: center;\n ${sizeStyles};\n`;\n\ntype TrailProps = Required<Pick<ProgressProps, 'height'>>;\nconst Trail = styled('div', omitEmotionProps('height'))<TrailProps>`\n width: 100%;\n background-color: ${(p) => clr(p.theme.progressColorTrail)};\n border-radius: ${(p) => `calc(${p.height} / 2)`};\n overflow: hidden; // To hide the border of the progress bar\n`;\n\ntype StrokeProps = Required<Pick<ProgressProps, 'percent' | 'height'>>;\nconst Stroke = styled(\n 'div',\n omitEmotionProps('percent', 'height')\n)<StrokeProps>`\n width: ${(p) => p.percent}%;\n height: ${(p) => p.height};\n border-radius: 0 ${(p) => `calc(${p.height} / 2)`}\n ${(p) => `calc(${p.height} / 2)`} 0;\n background-color: ${(p) =>\n p.percent < 100\n ? clr(p.theme.progressColorStroke)\n : clr(p.theme.progressColorStrokeSuccess)};\n ${transitionStyles('width', 'background-color')};\n`;\n\nconst Text = styled.div`\n margin-left: 0.5em;\n color: ${(p) => clr(p.theme.progressColorPercentage)};\n line-height: 1;\n`;\n\n/**\n * The progress bar.\n */\nconst Progress = forwardRef<HTMLDivElement, ProgressProps>(\n ({ percent = 0, text, height = '0.5em', ...rest }, ref) => {\n const validPercent = useMemo(() => {\n if (percent < 0) return 0;\n if (percent > 100) return 100;\n return percent;\n }, [percent]);\n\n const textId = useMemo(\n () => `progress-bar-text-${Math.random().toString(36).slice(2, 11)}`,\n []\n );\n\n return (\n <Container\n role='progressbar'\n aria-valuenow={validPercent}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-describedby={textId}\n {...rest}\n ref={ref}\n >\n <Trail height={height}>\n <Stroke percent={validPercent} height={height} />\n </Trail>\n {text && <Text id={textId}>{text}</Text>}\n </Container>\n );\n }\n);\n\nProgress.displayName = 'Progress';\n\nexport default Progress;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAAmBC,UAAU,EAAEC,gBAAgB,QAAQ,mBAAmB;AAC1E,SAASC,GAAG,QAAQ,oBAAoB;AACxC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAqBlD,MAAMC,SAAS,GAAGR,MAAM,CAAC,KAAK,EAAEI,gBAAgB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","names":["styled","sizeStyles","transitionStyles","clr","omitEmotionProps","React","forwardRef","useMemo","Container","Trail","p","theme","progressColorTrail","height","Stroke","percent","progressColorStroke","progressColorStrokeSuccess","Text","div","progressColorPercentage","Progress","text","rest","ref","validPercent","textId","Math","random","toString","slice","createElement","_extends","role","id","displayName"],"sources":["../../../src/Progress/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { WithSize, sizeStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, useMemo } from 'react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ProgressProps extends JsxDivProps, WithSize {\n /**\n * The percentage of completion.\n * @default 0\n */\n percent?: number;\n /**\n * The text that is displayed to the right of the progress bar.\n * @default undefined\n */\n text?: string;\n /**\n * The height of the progress bar.\n * @default 0.5em\n */\n height?: string;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n align-items: center;\n ${sizeStyles};\n`;\n\ntype TrailProps = Required<Pick<ProgressProps, 'height'>>;\nconst Trail = styled('div', omitEmotionProps('height'))<TrailProps>`\n width: 100%;\n background-color: ${(p) => clr(p.theme.progressColorTrail)};\n border-radius: ${(p) => `calc(${p.height} / 2)`};\n overflow: hidden; // To hide the border of the progress bar\n`;\n\ntype StrokeProps = Required<Pick<ProgressProps, 'percent' | 'height'>>;\nconst Stroke = styled(\n 'div',\n omitEmotionProps('percent', 'height')\n)<StrokeProps>`\n width: ${(p) => p.percent}%;\n height: ${(p) => p.height};\n border-radius: 0 ${(p) => `calc(${p.height} / 2)`}\n ${(p) => `calc(${p.height} / 2)`} 0;\n background-color: ${(p) =>\n p.percent < 100\n ? clr(p.theme.progressColorStroke)\n : clr(p.theme.progressColorStrokeSuccess)};\n ${transitionStyles('width', 'background-color')};\n`;\n\nconst Text = styled.div`\n margin-left: 0.5em;\n color: ${(p) => clr(p.theme.progressColorPercentage)};\n line-height: 1;\n`;\n\n/**\n * The progress bar.\n */\nconst Progress = forwardRef<HTMLDivElement, ProgressProps>(\n ({ percent = 0, text, height = '0.5em', ...rest }, ref) => {\n const validPercent = useMemo(() => {\n if (percent < 0) return 0;\n if (percent > 100) return 100;\n return percent;\n }, [percent]);\n\n const textId = useMemo(\n () => `progress-bar-text-${Math.random().toString(36).slice(2, 11)}`,\n []\n );\n\n return (\n <Container\n role='progressbar'\n aria-valuenow={validPercent}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-describedby={textId}\n {...rest}\n ref={ref}\n >\n <Trail height={height}>\n <Stroke percent={validPercent} height={height} />\n </Trail>\n {text && <Text id={textId}>{text}</Text>}\n </Container>\n );\n }\n);\n\nProgress.displayName = 'Progress';\n\nexport default Progress;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { css } from '@emotion/react';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import { m } from '@os-design/media';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","styled","m","clr","omitEmotionProps","useForwardedState","React","forwardRef","Button","wideDefaultStyles","p","wide","max","xxs","wideAlwaysStyles","Container","theme","borderRadius","disabled","buttonDisabledGhostColorText","colorPrimary","StyledButton","RadioGroup","options","value","defaultValue","onChange","size","rest","ref","forwardedValue","setForwardedValue","createElement","_extends","map","title","valueOption","disabledOption","onClick","buttonRest","key","type","e","displayName"],"sources":["../../../src/RadioGroup/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface RadioGroupOption\n extends Omit<ButtonProps, 'type' | 'wide' | 'size'> {\n /**\n * The title of the option.\n */\n title: string;\n /**\n * The value of the option.\n */\n value: string;\n}\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface RadioGroupProps extends JsxDivProps, WithSize {\n /**\n * Options of the radio group.\n * @default undefined\n */\n options?: RadioGroupOption[];\n /**\n * Whether the radio group has full width.\n * Possible values:\n * `default` – the radio group has full width if the screen width is less than xs;\n * `always` – the radio group always has full width;\n * `never` – the radio group never has full width.\n * @default default\n */\n wide?: 'default' | 'always' | 'never';\n /**\n * Whether the radio group is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Selected option.\n * @default false\n */\n value?: string;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: string;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: string) => void;\n}\n\nconst wideDefaultStyles = (p) =>\n p.wide === 'default' &&\n css`\n ${m.max.xxs} {\n width: 100%;\n & > button {\n flex: 1;\n }\n }\n `;\n\nconst wideAlwaysStyles = (p) =>\n p.wide === 'always' &&\n css`\n width: 100%;\n & > button {\n flex: 1;\n }\n `;\n\ntype ContainerProps = Required<Pick<RadioGroupProps, 'wide' | 'disabled'>>;\nconst Container = styled(\n 'div',\n omitEmotionProps('wide', 'disabled')\n)<ContainerProps>`\n display: inline-flex;\n flex-wrap: wrap;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n overflow: hidden;\n border: 1px solid\n ${(p) =>\n p.disabled\n ? clr(p.theme.buttonDisabledGhostColorText)\n : clr(p.theme.colorPrimary)};\n\n ${wideDefaultStyles};\n ${wideAlwaysStyles};\n`;\n\nconst StyledButton = styled(Button)`\n border-radius: 0;\n`;\n\n/**\n * The radio buttons that allow a user to select only one of a limited number of options.\n */\nconst RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n (\n {\n options = [],\n wide = 'default',\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <div>\n <Container wide={wide} disabled={disabled} {...rest} ref={ref}>\n {options?.map(\n ({\n title,\n value: valueOption,\n disabled: disabledOption,\n onClick = () => {},\n ...buttonRest\n }) => (\n <StyledButton\n key={valueOption}\n type={forwardedValue === valueOption ? 'primary' : 'ghost'}\n wide='never'\n disabled={disabled || disabledOption}\n size={size}\n onClick={(e) => {\n setForwardedValue(valueOption);\n onClick(e);\n }}\n {...buttonRest}\n >\n {title}\n </StyledButton>\n )\n )}\n </Container>\n </div>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n"],"mappings":";AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,CAAC,QAAQ,kBAAkB;AAEpC,SAASC,GAAG,QAAQ,oBAAoB;AACxC,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,kBAAkB;AACtE,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,MAAM,MAAuB,WAAW;AAuD/C,MAAMC,iBAAiB,GAAIC,CAAC,IAC1BA,CAAC,CAACC,IAAI,KAAK,SAAS,IACpBX,
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","styled","m","clr","omitEmotionProps","useForwardedState","React","forwardRef","Button","wideDefaultStyles","p","wide","max","xxs","wideAlwaysStyles","Container","theme","borderRadius","disabled","buttonDisabledGhostColorText","colorPrimary","StyledButton","RadioGroup","options","value","defaultValue","onChange","size","rest","ref","forwardedValue","setForwardedValue","createElement","_extends","map","title","valueOption","disabledOption","onClick","buttonRest","key","type","e","displayName"],"sources":["../../../src/RadioGroup/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface RadioGroupOption\n extends Omit<ButtonProps, 'type' | 'wide' | 'size'> {\n /**\n * The title of the option.\n */\n title: string;\n /**\n * The value of the option.\n */\n value: string;\n}\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface RadioGroupProps extends JsxDivProps, WithSize {\n /**\n * Options of the radio group.\n * @default undefined\n */\n options?: RadioGroupOption[];\n /**\n * Whether the radio group has full width.\n * Possible values:\n * `default` – the radio group has full width if the screen width is less than xs;\n * `always` – the radio group always has full width;\n * `never` – the radio group never has full width.\n * @default default\n */\n wide?: 'default' | 'always' | 'never';\n /**\n * Whether the radio group is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Selected option.\n * @default false\n */\n value?: string;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: string;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: string) => void;\n}\n\nconst wideDefaultStyles = (p) =>\n p.wide === 'default' &&\n css`\n ${m.max.xxs} {\n width: 100%;\n & > button {\n flex: 1;\n }\n }\n `;\n\nconst wideAlwaysStyles = (p) =>\n p.wide === 'always' &&\n css`\n width: 100%;\n & > button {\n flex: 1;\n }\n `;\n\ntype ContainerProps = Required<Pick<RadioGroupProps, 'wide' | 'disabled'>>;\nconst Container = styled(\n 'div',\n omitEmotionProps('wide', 'disabled')\n)<ContainerProps>`\n display: inline-flex;\n flex-wrap: wrap;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n overflow: hidden;\n border: 1px solid\n ${(p) =>\n p.disabled\n ? clr(p.theme.buttonDisabledGhostColorText)\n : clr(p.theme.colorPrimary)};\n\n ${wideDefaultStyles};\n ${wideAlwaysStyles};\n`;\n\nconst StyledButton = styled(Button)`\n border-radius: 0;\n`;\n\n/**\n * The radio buttons that allow a user to select only one of a limited number of options.\n */\nconst RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n (\n {\n options = [],\n wide = 'default',\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <div>\n <Container wide={wide} disabled={disabled} {...rest} ref={ref}>\n {options?.map(\n ({\n title,\n value: valueOption,\n disabled: disabledOption,\n onClick = () => {},\n ...buttonRest\n }) => (\n <StyledButton\n key={valueOption}\n type={forwardedValue === valueOption ? 'primary' : 'ghost'}\n wide='never'\n disabled={disabled || disabledOption}\n size={size}\n onClick={(e) => {\n setForwardedValue(valueOption);\n onClick(e);\n }}\n {...buttonRest}\n >\n {title}\n </StyledButton>\n )\n )}\n </Container>\n </div>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n"],"mappings":";AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,CAAC,QAAQ,kBAAkB;AAEpC,SAASC,GAAG,QAAQ,oBAAoB;AACxC,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,kBAAkB;AACtE,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,MAAM,MAAuB,WAAW;AAuD/C,MAAMC,iBAAiB,GAAIC,CAAC,IAC1BA,CAAC,CAACC,IAAI,KAAK,SAAS,IACpBX,GAAG;AACL,MAAME,CAAC,CAACU,GAAG,CAACC,GAAG;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;AAEH,MAAMC,gBAAgB,GAAIJ,CAAC,IACzBA,CAAC,CAACC,IAAI,KAAK,QAAQ,IACnBX,GAAG;AACL;AACA;AACA;AACA;AACA,GAAG;AAGH,MAAMe,SAAS,GAAGd,MAAM,CACtB,KAAK,EACLG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CACrC,CAAiB;AACjB;AACA;AACA;AACA,mBAAoBM,CAAC,IAAKA,CAAC,CAACM,KAAK,CAACC,YAAY;AAC9C;AACA;AACA,MAAOP,CAAC,IACFA,CAAC,CAACQ,QAAQ,GACNf,GAAG,CAACO,CAAC,CAACM,KAAK,CAACG,4BAA4B,CAAC,GACzChB,GAAG,CAACO,CAAC,CAACM,KAAK,CAACI,YAAY,CAAC;AACnC;AACA,IAAIX,iBAAiB;AACrB,IAAIK,gBAAgB;AACpB,CAAC;AAED,MAAMO,YAAY,GAAGpB,MAAM,CAACO,MAAM,CAAC;AACnC;AACA,CAAC;;AAED;AACA;AACA;AACA,MAAMc,UAAU,gBAAGf,UAAU,CAC3B,CACE;EACEgB,OAAO,GAAG,EAAE;EACZZ,IAAI,GAAG,SAAS;EAChBO,QAAQ,GAAG,KAAK;EAChBM,KAAK;EACLC,YAAY;EACZC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC,IAAI;EACJ,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG1B,iBAAiB,CAAC;IAC5DmB,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,CAAC;EAEF,oBACEpB,KAAA,CAAA0B,aAAA,2BACE1B,KAAA,CAAA0B,aAAA,CAACjB,SAAS,EAAAkB,QAAA;IAACtB,IAAI,EAAEA,IAAK;IAACO,QAAQ,EAAEA;EAAS,GAAKU,IAAI;IAAEC,GAAG,EAAEA;EAAI,IAC3DN,OAAO,EAAEW,GAAG,CACX,CAAC;IACCC,KAAK;IACLX,KAAK,EAAEY,WAAW;IAClBlB,QAAQ,EAAEmB,cAAc;IACxBC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClB,GAAGC;EACL,CAAC,kBACCjC,KAAA,CAAA0B,aAAA,CAACX,YAAY,EAAAY,QAAA;IACXO,GAAG,EAAEJ,WAAY;IACjBK,IAAI,EAAEX,cAAc,KAAKM,WAAW,GAAG,SAAS,GAAG,OAAQ;IAC3DzB,IAAI,EAAC,OAAO;IACZO,QAAQ,EAAEA,QAAQ,IAAImB,cAAe;IACrCV,IAAI,EAAEA,IAAK;IACXW,OAAO,EAAGI,CAAC,IAAK;MACdX,iBAAiB,CAACK,WAAW,CAAC;MAC9BE,OAAO,CAACI,CAAC,CAAC;IACZ;EAAE,GACEH,UAAU,GAEbJ,KACW,CAElB,CACS,CACR,CAAC;AAEV,CACF,CAAC;AAEDb,UAAU,CAACqB,WAAW,GAAG,YAAY;AAErC,eAAerB,UAAU","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import styled from '@emotion/styled';
|
|
3
3
|
import { sizeStyles } from '@os-design/styles';
|
|
4
4
|
import { omitEmotionProps } from '@os-design/utils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["styled","sizeStyles","omitEmotionProps","React","forwardRef","Skeleton","StyledRadioGroupSkeleton","p","theme","baseHeight","RadioGroupSkeleton","width","rest","ref","createElement","_extends","displayName"],"sources":["../../../src/RadioGroupSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Skeleton, { SkeletonProps } from '../Skeleton';\n\nexport interface RadioGroupSkeletonProps extends SkeletonProps, WithSize {\n /**\n * The width of the skeleton.\n * @default 10em\n */\n width?: string;\n}\n\nconst StyledRadioGroupSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n height: calc(${(p) => p.theme.baseHeight}em + 2px);\n ${sizeStyles};\n`;\n\n/**\n * Provides a radio group placeholder while a user waits for the content to load.\n */\nconst RadioGroupSkeleton = forwardRef<HTMLDivElement, RadioGroupSkeletonProps>(\n ({ width = '10em', ...rest }, ref) => (\n <StyledRadioGroupSkeleton width={width} {...rest} ref={ref} />\n )\n);\n\nRadioGroupSkeleton.displayName = 'RadioGroupSkeleton';\n\nexport default RadioGroupSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,QAAQ,MAAyB,aAAa;AAUrD,MAAMC,wBAAwB,GAAGN,MAAM,CACrCK,QAAQ,EACRH,gBAAgB,CAAC,MAAM,CACzB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["styled","sizeStyles","omitEmotionProps","React","forwardRef","Skeleton","StyledRadioGroupSkeleton","p","theme","baseHeight","RadioGroupSkeleton","width","rest","ref","createElement","_extends","displayName"],"sources":["../../../src/RadioGroupSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Skeleton, { SkeletonProps } from '../Skeleton';\n\nexport interface RadioGroupSkeletonProps extends SkeletonProps, WithSize {\n /**\n * The width of the skeleton.\n * @default 10em\n */\n width?: string;\n}\n\nconst StyledRadioGroupSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n height: calc(${(p) => p.theme.baseHeight}em + 2px);\n ${sizeStyles};\n`;\n\n/**\n * Provides a radio group placeholder while a user waits for the content to load.\n */\nconst RadioGroupSkeleton = forwardRef<HTMLDivElement, RadioGroupSkeletonProps>(\n ({ width = '10em', ...rest }, ref) => (\n <StyledRadioGroupSkeleton width={width} {...rest} ref={ref} />\n )\n);\n\nRadioGroupSkeleton.displayName = 'RadioGroupSkeleton';\n\nexport default RadioGroupSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,QAAQ,MAAyB,aAAa;AAUrD,MAAMC,wBAAwB,GAAGN,MAAM,CACrCK,QAAQ,EACRH,gBAAgB,CAAC,MAAM,CACzB,CAAW;AACX,iBAAkBK,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,UAAU;AAC1C,IAAIR,UAAU;AACd,CAAC;;AAED;AACA;AACA;AACA,MAAMS,kBAAkB,gBAAGN,UAAU,CACnC,CAAC;EAAEO,KAAK,GAAG,MAAM;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,kBAC/BV,KAAA,CAAAW,aAAA,CAACR,wBAAwB,EAAAS,QAAA;EAACJ,KAAK,EAAEA;AAAM,GAAKC,IAAI;EAAEC,GAAG,EAAEA;AAAI,EAAE,CAEjE,CAAC;AAEDH,kBAAkB,CAACM,WAAW,GAAG,oBAAoB;AAErD,eAAeN,kBAAkB","ignoreList":[]}
|
package/dist/esm/Result/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import styled from '@emotion/styled';
|
|
3
3
|
import { m } from '@os-design/media';
|
|
4
4
|
import { sizeStyles } from '@os-design/styles';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["styled","m","sizeStyles","clr","omitEmotionProps","React","forwardRef","Container","p","theme","colorText","IconContainer","div","resultColorIcon","Text","Title","sizes","large","Description","small","resultColorDescription","ActiveElements","min","sm","ChildrenContainer","Result","title","description","icon","actions","children","rest","ref","createElement","_extends","displayName"],"sources":["../../../src/Result/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ResultProps extends JsxDivProps, WithSize {\n /**\n * The title of the result.\n */\n title: string;\n /**\n * The description that is under the title.\n * @default undefined\n */\n description?: string;\n /**\n * The icon that is located above the title.\n * @default undefined\n */\n icon?: React.ReactElement;\n /**\n * Active elements.\n * @default undefined\n */\n actions?: React.ReactNode;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n flex-direction: column;\n align-items: center;\n\n color: ${(p) => clr(p.theme.colorText)};\n padding: 2.6em 0;\n\n ${sizeStyles};\n`;\n\nconst IconContainer = styled.div`\n font-size: 6em;\n line-height: 1;\n color: ${(p) => clr(p.theme.resultColorIcon)};\n margin-bottom: 0.1em;\n`;\n\nconst Text = styled.div`\n text-align: center;\n max-width: 28em;\n`;\n\nconst Title = styled(Text)`\n font-size: ${(p) => p.theme.sizes.large}em;\n font-weight: 500;\n`;\n\nconst Description = styled(Text)`\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.resultColorDescription)};\n margin-top: 0.5em;\n`;\n\nconst ActiveElements = styled.div`\n margin-top: 2em;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n & > *:not(:first-of-type) {\n margin-top: 0.5em;\n }\n\n ${m.min.sm} {\n flex-direction: row;\n\n & > *:not(:first-of-type) {\n margin-top: 0;\n margin-left: 0.5em;\n }\n }\n`;\n\nconst ChildrenContainer = styled.div`\n margin-top: 2em;\n`;\n\n/**\n * Used to give the user feedback instead of results.\n * For example, error happened, results not found, no results yet.\n */\nconst Result = forwardRef<HTMLDivElement, ResultProps>(\n ({ title, description, icon, actions, children, ...rest }, ref) => (\n <Container {...rest} ref={ref}>\n {icon && <IconContainer>{icon}</IconContainer>}\n <Title>{title}</Title>\n {description && <Description>{description}</Description>}\n {actions && <ActiveElements>{actions}</ActiveElements>}\n {children && <ChildrenContainer>{children}</ChildrenContainer>}\n </Container>\n )\n);\n\nResult.displayName = 'Result';\n\nexport default Result;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,CAAC,QAAQ,kBAAkB;AACpC,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,GAAG,QAAQ,oBAAoB;AACxC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAyBzC,MAAMC,SAAS,GAAGP,MAAM,CAAC,KAAK,EAAEI,gBAAgB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","names":["styled","m","sizeStyles","clr","omitEmotionProps","React","forwardRef","Container","p","theme","colorText","IconContainer","div","resultColorIcon","Text","Title","sizes","large","Description","small","resultColorDescription","ActiveElements","min","sm","ChildrenContainer","Result","title","description","icon","actions","children","rest","ref","createElement","_extends","displayName"],"sources":["../../../src/Result/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ResultProps extends JsxDivProps, WithSize {\n /**\n * The title of the result.\n */\n title: string;\n /**\n * The description that is under the title.\n * @default undefined\n */\n description?: string;\n /**\n * The icon that is located above the title.\n * @default undefined\n */\n icon?: React.ReactElement;\n /**\n * Active elements.\n * @default undefined\n */\n actions?: React.ReactNode;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n flex-direction: column;\n align-items: center;\n\n color: ${(p) => clr(p.theme.colorText)};\n padding: 2.6em 0;\n\n ${sizeStyles};\n`;\n\nconst IconContainer = styled.div`\n font-size: 6em;\n line-height: 1;\n color: ${(p) => clr(p.theme.resultColorIcon)};\n margin-bottom: 0.1em;\n`;\n\nconst Text = styled.div`\n text-align: center;\n max-width: 28em;\n`;\n\nconst Title = styled(Text)`\n font-size: ${(p) => p.theme.sizes.large}em;\n font-weight: 500;\n`;\n\nconst Description = styled(Text)`\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.resultColorDescription)};\n margin-top: 0.5em;\n`;\n\nconst ActiveElements = styled.div`\n margin-top: 2em;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n & > *:not(:first-of-type) {\n margin-top: 0.5em;\n }\n\n ${m.min.sm} {\n flex-direction: row;\n\n & > *:not(:first-of-type) {\n margin-top: 0;\n margin-left: 0.5em;\n }\n }\n`;\n\nconst ChildrenContainer = styled.div`\n margin-top: 2em;\n`;\n\n/**\n * Used to give the user feedback instead of results.\n * For example, error happened, results not found, no results yet.\n */\nconst Result = forwardRef<HTMLDivElement, ResultProps>(\n ({ title, description, icon, actions, children, ...rest }, ref) => (\n <Container {...rest} ref={ref}>\n {icon && <IconContainer>{icon}</IconContainer>}\n <Title>{title}</Title>\n {description && <Description>{description}</Description>}\n {actions && <ActiveElements>{actions}</ActiveElements>}\n {children && <ChildrenContainer>{children}</ChildrenContainer>}\n </Container>\n )\n);\n\nResult.displayName = 'Result';\n\nexport default Result;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAASC,CAAC,QAAQ,kBAAkB;AACpC,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,GAAG,QAAQ,oBAAoB;AACxC,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAyBzC,MAAMC,SAAS,GAAGP,MAAM,CAAC,KAAK,EAAEI,gBAAgB,CAAC,MAAM,CAAC,CAAW;AACnE;AACA;AACA;AACA;AACA,WAAYI,CAAC,IAAKL,GAAG,CAACK,CAAC,CAACC,KAAK,CAACC,SAAS,CAAC;AACxC;AACA;AACA,IAAIR,UAAU;AACd,CAAC;AAED,MAAMS,aAAa,GAAGX,MAAM,CAACY,GAAG;AAChC;AACA;AACA,WAAYJ,CAAC,IAAKL,GAAG,CAACK,CAAC,CAACC,KAAK,CAACI,eAAe,CAAC;AAC9C;AACA,CAAC;AAED,MAAMC,IAAI,GAAGd,MAAM,CAACY,GAAG;AACvB;AACA;AACA,CAAC;AAED,MAAMG,KAAK,GAAGf,MAAM,CAACc,IAAI,CAAC;AAC1B,eAAgBN,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACO,KAAK,CAACC,KAAK;AACzC;AACA,CAAC;AAED,MAAMC,WAAW,GAAGlB,MAAM,CAACc,IAAI,CAAC;AAChC,eAAgBN,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACO,KAAK,CAACG,KAAK;AACzC,WAAYX,CAAC,IAAKL,GAAG,CAACK,CAAC,CAACC,KAAK,CAACW,sBAAsB,CAAC;AACrD;AACA,CAAC;AAED,MAAMC,cAAc,GAAGrB,MAAM,CAACY,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIX,CAAC,CAACqB,GAAG,CAACC,EAAE;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,iBAAiB,GAAGxB,MAAM,CAACY,GAAG;AACpC;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMa,MAAM,gBAAGnB,UAAU,CACvB,CAAC;EAAEoB,KAAK;EAAEC,WAAW;EAAEC,IAAI;EAAEC,OAAO;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,kBAC5D3B,KAAA,CAAA4B,aAAA,CAAC1B,SAAS,EAAA2B,QAAA,KAAKH,IAAI;EAAEC,GAAG,EAAEA;AAAI,IAC3BJ,IAAI,iBAAIvB,KAAA,CAAA4B,aAAA,CAACtB,aAAa,QAAEiB,IAAoB,CAAC,eAC9CvB,KAAA,CAAA4B,aAAA,CAAClB,KAAK,QAAEW,KAAa,CAAC,EACrBC,WAAW,iBAAItB,KAAA,CAAA4B,aAAA,CAACf,WAAW,QAAES,WAAyB,CAAC,EACvDE,OAAO,iBAAIxB,KAAA,CAAA4B,aAAA,CAACZ,cAAc,QAAEQ,OAAwB,CAAC,EACrDC,QAAQ,iBAAIzB,KAAA,CAAA4B,aAAA,CAACT,iBAAiB,QAAEM,QAA4B,CACpD,CAEf,CAAC;AAEDL,MAAM,CAACU,WAAW,GAAG,QAAQ;AAE7B,eAAeV,MAAM","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { css, keyframes } from '@emotion/react';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import { Down, Up } from '@os-design/icons';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","keyframes","styled","Down","Up","Portal","clr","ThemeOverrider","useTheme","omitEmotionProps","useClosable","React","forwardRef","useCallback","Button","useContainerPosition","useVisibility","fadeIn","fadeOut","visibleStyles","p","visible","theme","transitionDelay","invisibleStyles","StyledButton","containerPosition","right","scrollButtonMargin","bottom","scrollButtonColorBoxShadow","ScrollButton","container","scrollTo","minOffset","onClick","rest","ref","mounted","clickHandler","e","window","top","document","body","scrollHeight","containerElement","Element","current","createElement","overrides","t","buttonPrimaryColorBg","scrollButtonColorBg","buttonPrimaryColorText","scrollButtonColorText","buttonPrimaryColorBgHover","scrollButtonColorBgHover","_extends","wide","size","displayName"],"sources":["../../../src/ScrollButton/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Down, Up } from '@os-design/icons';\nimport Portal from '@os-design/portal';\nimport { clr, ThemeOverrider, useTheme } from '@os-design/theming';\nimport { omitEmotionProps, useClosable } from '@os-design/utils';\nimport React, {\n forwardRef,\n MouseEventHandler,\n RefObject,\n useCallback,\n} from 'react';\nimport Button, { ButtonProps } from '../Button';\nimport useContainerPosition, {\n ContainerPosition,\n} from './utils/useContainerPosition';\nimport useVisibility from './utils/useVisibility';\n\nexport interface ScrollButtonProps extends Omit<ButtonProps, 'type' | 'wide'> {\n /**\n * The container that needs to be scrolled.\n * @default undefined\n */\n container?: Element | RefObject<Element>;\n /**\n * Where the container should be scrolled.\n * @default top\n */\n scrollTo?: 'top' | 'bottom';\n /**\n * The min scroll offset when the button is visible.\n * @default 500\n */\n minOffset?: number;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nconst fadeOut = keyframes`\n from { opacity: 1; }\n to { opacity: 0; }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface StyledButtonProps {\n visible: boolean;\n containerPosition: ContainerPosition;\n}\nconst StyledButton = styled(\n Button,\n omitEmotionProps('visible', 'containerPosition')\n)<StyledButtonProps>`\n position: fixed;\n right: ${(p) =>\n p.containerPosition.right > 0\n ? `calc(${p.containerPosition.right}px + ${p.theme.scrollButtonMargin}em)`\n : `${p.theme.scrollButtonMargin}em`};\n bottom: ${(p) =>\n `calc(${\n p.containerPosition.bottom > 0 ? `${p.containerPosition.bottom}px + ` : ''\n }${p.theme.scrollButtonMargin}em + env(safe-area-inset-bottom))`};\n box-shadow: 0 0.15em 0.8em ${(p) => clr(p.theme.scrollButtonColorBoxShadow)};\n\n ${visibleStyles};\n ${invisibleStyles};\n`;\n\n/**\n * The button to scroll to either the top or bottom of the container.\n */\nconst ScrollButton = forwardRef<HTMLButtonElement, ScrollButtonProps>(\n (\n {\n container,\n scrollTo = 'top',\n minOffset = 500,\n onClick = () => {},\n ...rest\n },\n ref\n ) => {\n const visible = useVisibility({ container, scrollTo, minOffset });\n const containerPosition = useContainerPosition(container);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n\n // Scroll through the container when the user clicks the button\n const clickHandler = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (e) => {\n // Scroll the window if the container is not defined\n if (!container) {\n window.scrollTo({\n top: scrollTo === 'top' ? 0 : document.body.scrollHeight,\n });\n return;\n }\n\n // Otherwise scroll the container\n const containerElement =\n container instanceof Element ? container : container.current;\n if (!containerElement) return;\n\n containerElement.scrollTo({\n top: scrollTo === 'top' ? 0 : containerElement.scrollHeight,\n });\n\n // Call the passed onClick handler\n onClick(e);\n },\n [container, scrollTo, onClick]\n );\n\n if (!mounted) return null;\n\n return (\n <Portal container={container}>\n <ThemeOverrider\n overrides={(t) => ({\n buttonPrimaryColorBg: t.scrollButtonColorBg,\n buttonPrimaryColorText: t.scrollButtonColorText,\n buttonPrimaryColorBgHover: t.scrollButtonColorBgHover,\n })}\n >\n <StyledButton\n visible={visible}\n containerPosition={containerPosition}\n wide='never'\n size='small'\n onClick={clickHandler}\n aria-label={`Scroll to ${scrollTo}`}\n {...rest}\n ref={ref}\n >\n {scrollTo === 'top' ? <Up /> : <Down />}\n </StyledButton>\n </ThemeOverrider>\n </Portal>\n );\n }\n);\n\nScrollButton.displayName = 'ScrollButton';\n\nexport default ScrollButton;\n"],"mappings":";AAAA,SAASA,GAAG,EAAEC,SAAS,QAAQ,gBAAgB;AAC/C,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,IAAI,EAAEC,EAAE,QAAQ,kBAAkB;AAC3C,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,GAAG,EAAEC,cAAc,EAAEC,QAAQ,QAAQ,oBAAoB;AAClE,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,kBAAkB;AAChE,OAAOC,KAAK,IACVC,UAAU,EAGVC,WAAW,QACN,OAAO;AACd,OAAOC,MAAM,MAAuB,WAAW;AAC/C,OAAOC,oBAAoB,MAEpB,8BAA8B;AACrC,OAAOC,aAAa,MAAM,uBAAuB;AAoBjD,MAAMC,MAAM,GAAGhB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","keyframes","styled","Down","Up","Portal","clr","ThemeOverrider","useTheme","omitEmotionProps","useClosable","React","forwardRef","useCallback","Button","useContainerPosition","useVisibility","fadeIn","fadeOut","visibleStyles","p","visible","theme","transitionDelay","invisibleStyles","StyledButton","containerPosition","right","scrollButtonMargin","bottom","scrollButtonColorBoxShadow","ScrollButton","container","scrollTo","minOffset","onClick","rest","ref","mounted","clickHandler","e","window","top","document","body","scrollHeight","containerElement","Element","current","createElement","overrides","t","buttonPrimaryColorBg","scrollButtonColorBg","buttonPrimaryColorText","scrollButtonColorText","buttonPrimaryColorBgHover","scrollButtonColorBgHover","_extends","wide","size","displayName"],"sources":["../../../src/ScrollButton/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Down, Up } from '@os-design/icons';\nimport Portal from '@os-design/portal';\nimport { clr, ThemeOverrider, useTheme } from '@os-design/theming';\nimport { omitEmotionProps, useClosable } from '@os-design/utils';\nimport React, {\n forwardRef,\n MouseEventHandler,\n RefObject,\n useCallback,\n} from 'react';\nimport Button, { ButtonProps } from '../Button';\nimport useContainerPosition, {\n ContainerPosition,\n} from './utils/useContainerPosition';\nimport useVisibility from './utils/useVisibility';\n\nexport interface ScrollButtonProps extends Omit<ButtonProps, 'type' | 'wide'> {\n /**\n * The container that needs to be scrolled.\n * @default undefined\n */\n container?: Element | RefObject<Element>;\n /**\n * Where the container should be scrolled.\n * @default top\n */\n scrollTo?: 'top' | 'bottom';\n /**\n * The min scroll offset when the button is visible.\n * @default 500\n */\n minOffset?: number;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nconst fadeOut = keyframes`\n from { opacity: 1; }\n to { opacity: 0; }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface StyledButtonProps {\n visible: boolean;\n containerPosition: ContainerPosition;\n}\nconst StyledButton = styled(\n Button,\n omitEmotionProps('visible', 'containerPosition')\n)<StyledButtonProps>`\n position: fixed;\n right: ${(p) =>\n p.containerPosition.right > 0\n ? `calc(${p.containerPosition.right}px + ${p.theme.scrollButtonMargin}em)`\n : `${p.theme.scrollButtonMargin}em`};\n bottom: ${(p) =>\n `calc(${\n p.containerPosition.bottom > 0 ? `${p.containerPosition.bottom}px + ` : ''\n }${p.theme.scrollButtonMargin}em + env(safe-area-inset-bottom))`};\n box-shadow: 0 0.15em 0.8em ${(p) => clr(p.theme.scrollButtonColorBoxShadow)};\n\n ${visibleStyles};\n ${invisibleStyles};\n`;\n\n/**\n * The button to scroll to either the top or bottom of the container.\n */\nconst ScrollButton = forwardRef<HTMLButtonElement, ScrollButtonProps>(\n (\n {\n container,\n scrollTo = 'top',\n minOffset = 500,\n onClick = () => {},\n ...rest\n },\n ref\n ) => {\n const visible = useVisibility({ container, scrollTo, minOffset });\n const containerPosition = useContainerPosition(container);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n\n // Scroll through the container when the user clicks the button\n const clickHandler = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (e) => {\n // Scroll the window if the container is not defined\n if (!container) {\n window.scrollTo({\n top: scrollTo === 'top' ? 0 : document.body.scrollHeight,\n });\n return;\n }\n\n // Otherwise scroll the container\n const containerElement =\n container instanceof Element ? container : container.current;\n if (!containerElement) return;\n\n containerElement.scrollTo({\n top: scrollTo === 'top' ? 0 : containerElement.scrollHeight,\n });\n\n // Call the passed onClick handler\n onClick(e);\n },\n [container, scrollTo, onClick]\n );\n\n if (!mounted) return null;\n\n return (\n <Portal container={container}>\n <ThemeOverrider\n overrides={(t) => ({\n buttonPrimaryColorBg: t.scrollButtonColorBg,\n buttonPrimaryColorText: t.scrollButtonColorText,\n buttonPrimaryColorBgHover: t.scrollButtonColorBgHover,\n })}\n >\n <StyledButton\n visible={visible}\n containerPosition={containerPosition}\n wide='never'\n size='small'\n onClick={clickHandler}\n aria-label={`Scroll to ${scrollTo}`}\n {...rest}\n ref={ref}\n >\n {scrollTo === 'top' ? <Up /> : <Down />}\n </StyledButton>\n </ThemeOverrider>\n </Portal>\n );\n }\n);\n\nScrollButton.displayName = 'ScrollButton';\n\nexport default ScrollButton;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Select/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { css } from '@emotion/react';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import { Close, CloseCircle, Down, Loading, Up } from '@os-design/icons';
|