@os-design/core 1.0.219 → 1.0.221
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 +1 -2
- package/dist/cjs/Alert/index.js.map +1 -1
- package/dist/cjs/Avatar/index.js +1 -2
- package/dist/cjs/Avatar/index.js.map +1 -1
- package/dist/cjs/Avatar/utils/nameToInitials.js +1 -2
- package/dist/cjs/Avatar/utils/nameToInitials.js.map +1 -1
- package/dist/cjs/Avatar/utils/strToHue.js +1 -2
- package/dist/cjs/Avatar/utils/strToHue.js.map +1 -1
- package/dist/cjs/AvatarSkeleton/index.js +1 -2
- package/dist/cjs/AvatarSkeleton/index.js.map +1 -1
- package/dist/cjs/Breadcrumb/index.js +1 -2
- package/dist/cjs/Breadcrumb/index.js.map +1 -1
- package/dist/cjs/BreadcrumbItem/index.js +1 -2
- package/dist/cjs/BreadcrumbItem/index.js.map +1 -1
- package/dist/cjs/Button/ButtonContent.js +1 -2
- package/dist/cjs/Button/ButtonContent.js.map +1 -1
- package/dist/cjs/Button/index.js +2 -4
- package/dist/cjs/Button/index.js.map +1 -1
- package/dist/cjs/Button/utils/useButtonColors.js +1 -2
- package/dist/cjs/Button/utils/useButtonColors.js.map +1 -1
- package/dist/cjs/Checkbox/index.js +1 -2
- package/dist/cjs/Checkbox/index.js.map +1 -1
- package/dist/cjs/CheckboxSkeleton/index.js +1 -2
- package/dist/cjs/CheckboxSkeleton/index.js.map +1 -1
- package/dist/cjs/DatePicker/DatePickerCalendar.js +1 -2
- package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
- package/dist/cjs/DatePicker/index.js +1 -2
- package/dist/cjs/DatePicker/index.js.map +1 -1
- package/dist/cjs/Drawer/index.js +2 -4
- package/dist/cjs/Drawer/index.js.map +1 -1
- package/dist/cjs/Form/FormConfigContext.js +1 -2
- package/dist/cjs/Form/FormConfigContext.js.map +1 -1
- package/dist/cjs/Form/index.js +1 -2
- package/dist/cjs/Form/index.js.map +1 -1
- package/dist/cjs/FormDivider/index.js +1 -2
- package/dist/cjs/FormDivider/index.js.map +1 -1
- package/dist/cjs/FormItem/index.js +1 -2
- package/dist/cjs/FormItem/index.js.map +1 -1
- package/dist/cjs/Gallery/Status.js +1 -2
- package/dist/cjs/Gallery/Status.js.map +1 -1
- package/dist/cjs/Gallery/index.js +1 -2
- package/dist/cjs/Gallery/index.js.map +1 -1
- package/dist/cjs/GlobalStyles/index.js +1 -2
- package/dist/cjs/GlobalStyles/index.js.map +1 -1
- package/dist/cjs/GlobalStyles/resetStyles.js +1 -2
- package/dist/cjs/GlobalStyles/resetStyles.js.map +1 -1
- package/dist/cjs/GlobalStyles/typographyStyles.js +1 -2
- package/dist/cjs/GlobalStyles/typographyStyles.js.map +1 -1
- package/dist/cjs/HeaderSkeleton/index.js +1 -2
- package/dist/cjs/HeaderSkeleton/index.js.map +1 -1
- package/dist/cjs/Image/index.js +1 -2
- package/dist/cjs/Image/index.js.map +1 -1
- package/dist/cjs/ImageSkeleton/index.js +1 -2
- package/dist/cjs/ImageSkeleton/index.js.map +1 -1
- package/dist/cjs/Input/index.js +11 -13
- package/dist/cjs/Input/index.js.map +1 -1
- package/dist/cjs/Input/utils/getFocusableElements.js +1 -2
- package/dist/cjs/Input/utils/getFocusableElements.js.map +1 -1
- package/dist/cjs/InputNumber/index.js +1 -2
- package/dist/cjs/InputNumber/index.js.map +1 -1
- package/dist/cjs/InputNumber/utils/defaultLocale.js +1 -2
- package/dist/cjs/InputNumber/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/InputPassword/index.js +1 -2
- package/dist/cjs/InputPassword/index.js.map +1 -1
- package/dist/cjs/InputPassword/utils/defaultLocale.js +1 -2
- package/dist/cjs/InputPassword/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/InputSearch/index.js +1 -2
- package/dist/cjs/InputSearch/index.js.map +1 -1
- package/dist/cjs/InputSearch/utils/defaultLocale.js +1 -2
- package/dist/cjs/InputSearch/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/InputSkeleton/index.js +1 -2
- package/dist/cjs/InputSkeleton/index.js.map +1 -1
- package/dist/cjs/Layout/LayoutContext.js +1 -2
- package/dist/cjs/Layout/LayoutContext.js.map +1 -1
- package/dist/cjs/Layout/index.js +1 -2
- package/dist/cjs/Layout/index.js.map +1 -1
- package/dist/cjs/Link/index.js +1 -2
- package/dist/cjs/Link/index.js.map +1 -1
- package/dist/cjs/LinkButton/index.js +1 -2
- package/dist/cjs/LinkButton/index.js.map +1 -1
- package/dist/cjs/List/WindowScroller.js +2 -4
- package/dist/cjs/List/WindowScroller.js.map +1 -1
- package/dist/cjs/List/index.js +6 -7
- package/dist/cjs/List/index.js.map +1 -1
- package/dist/cjs/List/utils/bodyPointerEvents.js +3 -6
- package/dist/cjs/List/utils/bodyPointerEvents.js.map +1 -1
- package/dist/cjs/List/utils/frameTimeout.js +2 -4
- package/dist/cjs/List/utils/frameTimeout.js.map +1 -1
- package/dist/cjs/List/utils/useRWLoadNext.js +1 -2
- package/dist/cjs/List/utils/useRWLoadNext.js.map +1 -1
- package/dist/cjs/ListItem/index.js +1 -2
- package/dist/cjs/ListItem/index.js.map +1 -1
- package/dist/cjs/ListItemActions/index.js +1 -2
- package/dist/cjs/ListItemActions/index.js.map +1 -1
- package/dist/cjs/ListItemLink/index.js +1 -2
- package/dist/cjs/ListItemLink/index.js.map +1 -1
- package/dist/cjs/ListSkeleton/index.js +1 -2
- package/dist/cjs/ListSkeleton/index.js.map +1 -1
- package/dist/cjs/LogoLink/index.js +1 -2
- package/dist/cjs/LogoLink/index.js.map +1 -1
- package/dist/cjs/Menu/index.js +1 -2
- package/dist/cjs/Menu/index.js.map +1 -1
- package/dist/cjs/Menu/utils/useFocusWithArrows.js +1 -2
- package/dist/cjs/Menu/utils/useFocusWithArrows.js.map +1 -1
- package/dist/cjs/MenuDivider/index.js +1 -2
- package/dist/cjs/MenuDivider/index.js.map +1 -1
- package/dist/cjs/MenuGroup/index.js +1 -2
- package/dist/cjs/MenuGroup/index.js.map +1 -1
- package/dist/cjs/MenuItem/index.js +1 -2
- package/dist/cjs/MenuItem/index.js.map +1 -1
- package/dist/cjs/Modal/index.js +3 -6
- package/dist/cjs/Modal/index.js.map +1 -1
- package/dist/cjs/Modal/utils/defaultLocale.js +1 -2
- package/dist/cjs/Modal/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/Navigation/index.js +1 -2
- package/dist/cjs/Navigation/index.js.map +1 -1
- package/dist/cjs/Navigation/utils/useScrollFlags.js +1 -2
- package/dist/cjs/Navigation/utils/useScrollFlags.js.map +1 -1
- package/dist/cjs/NavigationItem/index.js +1 -2
- package/dist/cjs/NavigationItem/index.js.map +1 -1
- package/dist/cjs/PageContent/index.js +1 -2
- package/dist/cjs/PageContent/index.js.map +1 -1
- package/dist/cjs/PageHeader/index.js +2 -4
- package/dist/cjs/PageHeader/index.js.map +1 -1
- package/dist/cjs/PageHeader/utils/defaultLocale.js +1 -2
- package/dist/cjs/PageHeader/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/PageHeaderInputSearch/index.js +1 -2
- package/dist/cjs/PageHeaderInputSearch/index.js.map +1 -1
- package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js +1 -2
- package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/PageHeaderSkeleton/index.js +1 -2
- package/dist/cjs/PageHeaderSkeleton/index.js.map +1 -1
- package/dist/cjs/ParagraphSkeleton/index.js +1 -2
- package/dist/cjs/ParagraphSkeleton/index.js.map +1 -1
- package/dist/cjs/Popover/index.js +1 -2
- package/dist/cjs/Popover/index.js.map +1 -1
- package/dist/cjs/Popover/utils/usePopoverPosition.js +1 -2
- package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
- package/dist/cjs/Progress/index.js +1 -2
- package/dist/cjs/Progress/index.js.map +1 -1
- package/dist/cjs/RadioGroup/index.js +1 -2
- package/dist/cjs/RadioGroup/index.js.map +1 -1
- package/dist/cjs/RadioGroupSkeleton/index.js +1 -2
- package/dist/cjs/RadioGroupSkeleton/index.js.map +1 -1
- package/dist/cjs/Result/index.js +1 -2
- package/dist/cjs/Result/index.js.map +1 -1
- package/dist/cjs/ScrollButton/index.js +1 -2
- package/dist/cjs/ScrollButton/index.js.map +1 -1
- package/dist/cjs/ScrollButton/utils/useContainerPosition.js +1 -2
- package/dist/cjs/ScrollButton/utils/useContainerPosition.js.map +1 -1
- package/dist/cjs/ScrollButton/utils/useVisibility.js +1 -2
- package/dist/cjs/ScrollButton/utils/useVisibility.js.map +1 -1
- package/dist/cjs/Select/index.js +10 -20
- package/dist/cjs/Select/index.js.map +1 -1
- package/dist/cjs/Select/utils/defaultLocale.js +1 -2
- package/dist/cjs/Select/utils/defaultLocale.js.map +1 -1
- package/dist/cjs/Skeleton/index.js +1 -2
- package/dist/cjs/Skeleton/index.js.map +1 -1
- package/dist/cjs/Switch/index.js +1 -2
- package/dist/cjs/Switch/index.js.map +1 -1
- package/dist/cjs/SwitchSkeleton/index.js +1 -2
- package/dist/cjs/SwitchSkeleton/index.js.map +1 -1
- package/dist/cjs/Tag/index.js +4 -8
- package/dist/cjs/Tag/index.js.map +1 -1
- package/dist/cjs/TagLink/index.js +1 -2
- package/dist/cjs/TagLink/index.js.map +1 -1
- package/dist/cjs/TagList/index.js +1 -2
- package/dist/cjs/TagList/index.js.map +1 -1
- package/dist/cjs/TagListSkeleton/index.js +1 -2
- package/dist/cjs/TagListSkeleton/index.js.map +1 -1
- package/dist/cjs/TagSkeleton/index.js +1 -2
- package/dist/cjs/TagSkeleton/index.js.map +1 -1
- package/dist/cjs/TextArea/index.js +1 -2
- package/dist/cjs/TextArea/index.js.map +1 -1
- package/dist/cjs/TextAreaSkeleton/index.js +1 -2
- package/dist/cjs/TextAreaSkeleton/index.js.map +1 -1
- package/dist/cjs/ThemeSwitcher/index.js +1 -2
- package/dist/cjs/ThemeSwitcher/index.js.map +1 -1
- package/dist/cjs/TimePicker/index.js +1 -2
- package/dist/cjs/TimePicker/index.js.map +1 -1
- package/dist/cjs/Video/index.js +1 -2
- package/dist/cjs/Video/index.js.map +1 -1
- package/dist/cjs/message/AlertIcon.js +1 -2
- package/dist/cjs/message/AlertIcon.js.map +1 -1
- package/dist/cjs/message/Message.js +2 -4
- package/dist/cjs/message/Message.js.map +1 -1
- package/dist/cjs/message/index.js +1 -2
- package/dist/cjs/message/index.js.map +1 -1
- package/dist/cjs/message/styles.js +3 -6
- package/dist/cjs/message/styles.js.map +1 -1
- package/dist/esm/Input/index.js +11 -1
- package/dist/esm/Input/index.js.map +1 -1
- package/dist/esm/List/index.js +5 -5
- package/dist/esm/List/index.js.map +1 -1
- package/dist/types/Input/index.d.ts.map +1 -1
- package/dist/types/LinkButton/index.d.ts +53 -53
- package/dist/types/ThemeSwitcher/index.d.ts +53 -53
- package/package.json +4 -4
- package/src/Input/index.tsx +12 -1
- package/src/List/index.tsx +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_react","_interopRequireWildcard","_ListItem","_excluded","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","value","Link","styled","a","resetFocusStyles","p","clr","theme","listItemColorBorder","listItemColorBgHover","concat","listItemActionsPaddingLeft","ListItemLink","forwardRef","_ref","ref","title","description","left","right","actions","rest","createElement","displayName","_default","exports"],"sources":["../../../src/ListItemLink/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { resetFocusStyles } from '@os-design/styles';\nimport { clr, Color } from '@os-design/theming';\nimport React, { forwardRef } from 'react';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\nimport ListItem, { ListItemProps } from '../ListItem';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport type ListItemLinkProps = JsxAProps &\n ReactRouterLinkProps &\n Pick<LinkProps, 'as'> &\n ListItemProps;\n\nconst Link = styled.a`\n ${resetFocusStyles};\n\n cursor: pointer;\n text-decoration: none;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n @media (hover: hover) {\n &:hover,\n &:focus-within {\n & > div {\n background-color: ${(p) => clr(p.theme.listItemColorBgHover)};\n\n & > nav {\n background: linear-gradient(\n to right,\n ${(p) =>\n clr([...p.theme.listItemColorBgHover.slice(0, 3), 0] as Color)},\n ${(p) => clr(p.theme.listItemColorBgHover)}\n ${(p) => p.theme.listItemActionsPaddingLeft}em\n );\n }\n }\n }\n }\n`;\n\n/**\n * The list item with a link.\n */\nconst ListItemLink = forwardRef<HTMLAnchorElement, ListItemLinkProps>(\n ({ title, description, left, right, actions, ...rest }, ref) => (\n <Link {...rest} ref={ref}>\n <ListItem\n title={title}\n description={description}\n left={left}\n right={right}\n actions={actions}\n />\n </Link>\n )\n);\n\nListItemLink.displayName = 'ListItemLink';\n\nexport default ListItemLink;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_react","_interopRequireWildcard","_ListItem","_excluded","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","value","Link","styled","a","resetFocusStyles","p","clr","theme","listItemColorBorder","listItemColorBgHover","concat","listItemActionsPaddingLeft","ListItemLink","forwardRef","_ref","ref","title","description","left","right","actions","rest","createElement","displayName","_default","exports"],"sources":["../../../src/ListItemLink/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { resetFocusStyles } from '@os-design/styles';\nimport { clr, Color } from '@os-design/theming';\nimport React, { forwardRef } from 'react';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\nimport ListItem, { ListItemProps } from '../ListItem';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport type ListItemLinkProps = JsxAProps &\n ReactRouterLinkProps &\n Pick<LinkProps, 'as'> &\n ListItemProps;\n\nconst Link = styled.a`\n ${resetFocusStyles};\n\n cursor: pointer;\n text-decoration: none;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n @media (hover: hover) {\n &:hover,\n &:focus-within {\n & > div {\n background-color: ${(p) => clr(p.theme.listItemColorBgHover)};\n\n & > nav {\n background: linear-gradient(\n to right,\n ${(p) =>\n clr([...p.theme.listItemColorBgHover.slice(0, 3), 0] as Color)},\n ${(p) => clr(p.theme.listItemColorBgHover)}\n ${(p) => p.theme.listItemActionsPaddingLeft}em\n );\n }\n }\n }\n }\n`;\n\n/**\n * The list item with a link.\n */\nconst ListItemLink = forwardRef<HTMLAnchorElement, ListItemLinkProps>(\n ({ title, description, left, right, actions, ...rest }, ref) => (\n <Link {...rest} ref={ref}>\n <ListItem\n title={title}\n description={description}\n left={left}\n right={right}\n actions={actions}\n />\n </Link>\n )\n);\n\nListItemLink.displayName = 'ListItemLink';\n\nexport default ListItemLink;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAsD,IAAAM,SAAA;AAAA,IAAAC,eAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAApB,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAiB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAAA,SAAAe,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAArC,MAAA,CAAAI,SAAA,CAAAkC,QAAA,CAAAhC,IAAA,CAAA4B,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAM,WAAA,EAAAH,CAAA,GAAAH,CAAA,CAAAM,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAK,KAAA,CAAAC,IAAA,CAAAT,CAAA,OAAAG,CAAA,+DAAAO,IAAA,CAAAP,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAL,iBAAAe,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAH,KAAA,CAAAC,IAAA,CAAAE,IAAA;AAAA,SAAAhB,mBAAAD,GAAA,QAAAc,KAAA,CAAAM,OAAA,CAAApB,GAAA,UAAAQ,iBAAA,CAAAR,GAAA;AAAA,SAAAQ,kBAAAR,GAAA,EAAAqB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAArB,GAAA,CAAAb,MAAA,EAAAkC,GAAA,GAAArB,GAAA,CAAAb,MAAA,WAAAF,CAAA,MAAAqC,IAAA,OAAAR,KAAA,CAAAO,GAAA,GAAApC,CAAA,GAAAoC,GAAA,EAAApC,CAAA,IAAAqC,IAAA,CAAArC,CAAA,IAAAe,GAAA,CAAAf,CAAA,UAAAqC,IAAA;AAAA,SAAAC,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAb,KAAA,cAAAvC,MAAA,CAAAsD,MAAA,CAAAtD,MAAA,CAAAuD,gBAAA,CAAAH,OAAA,IAAAC,GAAA,IAAAG,KAAA,EAAAxD,MAAA,CAAAsD,MAAA,CAAAD,GAAA;AAQtD,IAAMI,IAAI,GAAGC,kBAAM,CAACC,CAAC,CAAAzE,eAAA,KAAAA,eAAA,GAAAiE,sBAAA,ybACjBS,wBAAgB,EAMW,UAACC,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,mBAAmB,CAAC;AAAA,GAO1C,UAACH,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACE,oBAAoB,CAAC;AAAA,GAKtD,UAACJ,CAAC;EAAA,OACF,IAAAC,YAAG,KAAAI,MAAA,CAAAvC,kBAAA,CAAKkC,CAAC,CAACE,KAAK,CAACE,oBAAoB,CAAC1B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAE,CAAC,EAAU,CAAC;AAAA,GAC9D,UAACsB,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACE,oBAAoB,CAAC;AAAA,GACtC,UAACJ,CAAC;EAAA,OAAKA,CAAC,CAACE,KAAK,CAACI,0BAA0B;AAAA,EAMxD;;AAED;AACA;AACA;AACA,IAAMC,YAAY,gBAAG,IAAAC,iBAAU,EAC7B,UAAAC,IAAA,EAAwDC,GAAG;EAAA,IAAxDC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAKC,IAAI,GAAA3D,wBAAA,CAAAoD,IAAA,EAAArF,SAAA;EAAA,oBAClDH,MAAA,YAAAgG,aAAA,CAACrB,IAAI,EAAAhD,QAAA,KAAKoE,IAAI;IAAEN,GAAG,EAAEA;EAAI,iBACvBzF,MAAA,YAAAgG,aAAA,CAAC9F,SAAA,WAAQ;IACPwF,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbC,OAAO,EAAEA;EAAQ,CAClB,CACG,CAAC;AAAA,CAEX,CAAC;AAEDR,YAAY,CAACW,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAE3Bb,YAAY"}
|
|
@@ -71,6 +71,5 @@ var ListSkeleton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
71
71
|
}));
|
|
72
72
|
});
|
|
73
73
|
ListSkeleton.displayName = 'ListSkeleton';
|
|
74
|
-
var _default = ListSkeleton;
|
|
75
|
-
exports["default"] = _default;
|
|
74
|
+
var _default = exports["default"] = ListSkeleton;
|
|
76
75
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_react","_interopRequireWildcard","_List","_Skeleton","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","ListItem","styled","div","p","clr","theme","listItemColorBorder","horizontalPaddingStyles","Content","DescriptionSkeleton","Skeleton","sizes","small","LeftAddon","colorText","listItemAddonPaddingHorizontal","RightAddon","ListSkeleton","forwardRef","_ref","ref","_ref$hasDescription","hasDescription","_ref$titleWidth","titleWidth","_ref$descriptionWidth","descriptionWidth","_ref$itemCount","itemCount","left","right","rest","itemRenderer","useCallback","_ref2","style","createElement","width","displayName","_default","exports"],"sources":["../../../src/ListSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { horizontalPaddingStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport React, { forwardRef, useCallback } from 'react';\nimport { FixedSizeList } from 'react-window';\nimport List, { ListProps } from '../List';\nimport { ListItemProps } from '../ListItem';\nimport Skeleton from '../Skeleton';\n\nexport interface ListSkeletonProps\n extends Omit<ListProps, 'itemCount' | 'itemRenderer'>,\n Pick<ListItemProps, 'left' | 'right'> {\n /**\n * The description placeholder.\n * @default false\n */\n hasDescription?: boolean;\n /**\n * The width of the title.\n * @default 30%\n */\n titleWidth?: string;\n /**\n * The width of the description.\n * @default 40%\n */\n descriptionWidth?: string;\n /**\n * Total count of items.\n * @default 10\n */\n itemCount?: number;\n}\n\nconst ListItem = styled.div`\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n box-sizing: border-box;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n ${horizontalPaddingStyles()};\n`;\n\nconst Content = styled.div`\n width: 100%;\n`;\n\nconst DescriptionSkeleton = styled(Skeleton)`\n height: ${(p) => p.theme.sizes.small}em;\n margin-top: 0.3em;\n`;\n\nconst LeftAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n padding-right: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\nconst RightAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n margin-left: auto;\n padding-left: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\n/**\n * Provides a list placeholder while a user waits for the content to load.\n */\nconst ListSkeleton = forwardRef<FixedSizeList, ListSkeletonProps>(\n (\n {\n hasDescription = false,\n titleWidth = '30%',\n descriptionWidth = '40%',\n itemCount = 10,\n left,\n right,\n ...rest\n },\n ref\n ) => {\n const itemRenderer = useCallback(\n ({ style }) => (\n <ListItem style={style}>\n {left && <LeftAddon>{left}</LeftAddon>}\n\n <Content>\n <Skeleton width={titleWidth} />\n {hasDescription && <DescriptionSkeleton width={descriptionWidth} />}\n </Content>\n\n {right && <RightAddon>{right}</RightAddon>}\n </ListItem>\n ),\n [descriptionWidth, hasDescription, left, right, titleWidth]\n );\n\n return (\n <List\n itemCount={itemCount}\n itemRenderer={itemRenderer}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nListSkeleton.displayName = 'ListSkeleton';\n\nexport default ListSkeleton;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAmC,IAAAO,SAAA;AAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAc,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAzB,uBAAAmB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAiB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAAA,SAAAe,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAA9B,MAAA,CAAA+B,MAAA,CAAA/B,MAAA,CAAAgC,gBAAA,CAAAJ,OAAA,IAAAC,GAAA,IAAAI,KAAA,EAAAjC,MAAA,CAAA+B,MAAA,CAAAF,GAAA;AA2BnC,IAAMK,QAAQ,GAAGC,kBAAM,CAACC,GAAG,CAAAtD,eAAA,KAAAA,eAAA,GAAA6C,sBAAA,mMASI,UAACU,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,mBAAmB,CAAC;AAAA,GAGlE,IAAAC,+BAAuB,EAAC,CAAC,CAC5B;AAED,IAAMC,OAAO,GAAGP,kBAAM,CAACC,GAAG,CAAArD,gBAAA,KAAAA,gBAAA,GAAA4C,sBAAA,0BAEzB;AAED,IAAMgB,mBAAmB,GAAG,IAAAR,kBAAM,EAACS,oBAAQ,CAAC,CAAA5D,gBAAA,KAAAA,gBAAA,GAAA2C,sBAAA,oDAChC,UAACU,CAAC;EAAA,OAAKA,CAAC,CAACE,KAAK,CAACM,KAAK,CAACC,KAAK;AAAA,EAErC;AAED,IAAMC,SAAS,GAAGZ,kBAAM,CAACC,GAAG,CAAAnD,gBAAA,KAAAA,gBAAA,GAAA0C,sBAAA,qDACjB,UAACU,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACS,SAAS,CAAC;AAAA,GACrB,UAACX,CAAC;EAAA,OAAKA,CAAC,CAACE,KAAK,CAACU,8BAA8B;AAAA,EAC/D;AAED,IAAMC,UAAU,GAAGf,kBAAM,CAACC,GAAG,CAAAlD,gBAAA,KAAAA,gBAAA,GAAAyC,sBAAA,0EAClB,UAACU,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACS,SAAS,CAAC;AAAA,GAEtB,UAACX,CAAC;EAAA,OAAKA,CAAC,CAACE,KAAK,CAACU,8BAA8B;AAAA,EAC9D;;AAED;AACA;AACA;AACA,IAAME,YAAY,gBAAG,IAAAC,iBAAU,EAC7B,UAAAC,IAAA,EAUEC,GAAG,EACA;EAAA,IAAAC,mBAAA,GAAAF,IAAA,CATDG,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,KAAK,GAAAA,mBAAA;IAAAE,eAAA,GAAAJ,IAAA,CACtBK,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAAAE,qBAAA,GAAAN,IAAA,CAClBO,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,cAAA,GAAAR,IAAA,CACxBS,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IACdE,IAAI,GAAAV,IAAA,CAAJU,IAAI;IACJC,KAAK,GAAAX,IAAA,CAALW,KAAK;IACFC,IAAI,GAAA/C,wBAAA,CAAAmC,IAAA,EAAAxE,SAAA;EAIT,IAAMqF,YAAY,GAAG,IAAAC,kBAAW,EAC9B,UAAAC,KAAA;IAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAA,oBACN5F,MAAA,YAAA6F,aAAA,CAACpC,QAAQ;MAACmC,KAAK,EAAEA;IAAM,GACpBN,IAAI,iBAAItF,MAAA,YAAA6F,aAAA,CAACvB,SAAS,QAAEgB,IAAgB,CAAC,eAEtCtF,MAAA,YAAA6F,aAAA,CAAC5B,OAAO,qBACNjE,MAAA,YAAA6F,aAAA,CAAC1F,SAAA,WAAQ;MAAC2F,KAAK,EAAEb;IAAW,CAAE,CAAC,EAC9BF,cAAc,iBAAI/E,MAAA,YAAA6F,aAAA,CAAC3B,mBAAmB;MAAC4B,KAAK,EAAEX;IAAiB,CAAE,CAC3D,CAAC,EAETI,KAAK,iBAAIvF,MAAA,YAAA6F,aAAA,CAACpB,UAAU,QAAEc,KAAkB,CACjC,CAAC;EAAA,CACZ,EACD,CAACJ,gBAAgB,EAAEJ,cAAc,EAAEO,IAAI,EAAEC,KAAK,EAAEN,UAAU,CAC5D,CAAC;EAED,oBACEjF,MAAA,YAAA6F,aAAA,CAAC3F,KAAA,WAAI,EAAA8B,QAAA;IACHqD,SAAS,EAAEA,SAAU;IACrBI,YAAY,EAAEA;EAAa,GACvBD,IAAI;IACRX,GAAG,EAAEA;EAAI,EACV,CAAC;AAEN,CACF,CAAC;AAEDH,YAAY,CAACqB,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_react","_interopRequireWildcard","_List","_Skeleton","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","ListItem","styled","div","p","clr","theme","listItemColorBorder","horizontalPaddingStyles","Content","DescriptionSkeleton","Skeleton","sizes","small","LeftAddon","colorText","listItemAddonPaddingHorizontal","RightAddon","ListSkeleton","forwardRef","_ref","ref","_ref$hasDescription","hasDescription","_ref$titleWidth","titleWidth","_ref$descriptionWidth","descriptionWidth","_ref$itemCount","itemCount","left","right","rest","itemRenderer","useCallback","_ref2","style","createElement","width","displayName","_default","exports"],"sources":["../../../src/ListSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { horizontalPaddingStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport React, { forwardRef, useCallback } from 'react';\nimport { FixedSizeList } from 'react-window';\nimport List, { ListProps } from '../List';\nimport { ListItemProps } from '../ListItem';\nimport Skeleton from '../Skeleton';\n\nexport interface ListSkeletonProps\n extends Omit<ListProps, 'itemCount' | 'itemRenderer'>,\n Pick<ListItemProps, 'left' | 'right'> {\n /**\n * The description placeholder.\n * @default false\n */\n hasDescription?: boolean;\n /**\n * The width of the title.\n * @default 30%\n */\n titleWidth?: string;\n /**\n * The width of the description.\n * @default 40%\n */\n descriptionWidth?: string;\n /**\n * Total count of items.\n * @default 10\n */\n itemCount?: number;\n}\n\nconst ListItem = styled.div`\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n box-sizing: border-box;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n ${horizontalPaddingStyles()};\n`;\n\nconst Content = styled.div`\n width: 100%;\n`;\n\nconst DescriptionSkeleton = styled(Skeleton)`\n height: ${(p) => p.theme.sizes.small}em;\n margin-top: 0.3em;\n`;\n\nconst LeftAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n padding-right: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\nconst RightAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n margin-left: auto;\n padding-left: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\n/**\n * Provides a list placeholder while a user waits for the content to load.\n */\nconst ListSkeleton = forwardRef<FixedSizeList, ListSkeletonProps>(\n (\n {\n hasDescription = false,\n titleWidth = '30%',\n descriptionWidth = '40%',\n itemCount = 10,\n left,\n right,\n ...rest\n },\n ref\n ) => {\n const itemRenderer = useCallback(\n ({ style }) => (\n <ListItem style={style}>\n {left && <LeftAddon>{left}</LeftAddon>}\n\n <Content>\n <Skeleton width={titleWidth} />\n {hasDescription && <DescriptionSkeleton width={descriptionWidth} />}\n </Content>\n\n {right && <RightAddon>{right}</RightAddon>}\n </ListItem>\n ),\n [descriptionWidth, hasDescription, left, right, titleWidth]\n );\n\n return (\n <List\n itemCount={itemCount}\n itemRenderer={itemRenderer}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nListSkeleton.displayName = 'ListSkeleton';\n\nexport default ListSkeleton;\n"],"mappings":"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"}
|
|
@@ -53,6 +53,5 @@ var LogoLink = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
|
|
|
53
53
|
}));
|
|
54
54
|
});
|
|
55
55
|
LogoLink.displayName = 'LogoLink';
|
|
56
|
-
var _default = LogoLink;
|
|
57
|
-
exports["default"] = _default;
|
|
56
|
+
var _default = exports["default"] = LogoLink;
|
|
58
57
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_interopRequireWildcard","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","darkStyles","p","dark","css","StyledLogoLink","styled","omitEmotionProps","resetFocusStyles","sizeStyles","transitionStyles","LogoLink","forwardRef","_ref","ref","src","as","_ref$onMouseDown","onMouseDown","rest","_useTheme","useTheme","activeTheme","ariaLabel","createElement","e","preventDefault","alt","displayName","_default","exports"],"sources":["../../../src/LogoLink/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { useTheme } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport interface LogoLinkProps\n extends JsxAProps,\n ReactRouterLinkProps,\n Pick<LinkProps, 'as'>,\n WithSize {\n /**\n * The source of the logo image.\n */\n src?: string;\n}\n\nconst darkStyles = (p) =>\n p.dark &&\n css`\n img {\n filter: brightness(0) invert(1); // Make the logo white\n }\n `;\n\ninterface StyledLogoLinkProps extends WithSize {\n dark: boolean;\n}\nconst StyledLogoLink = styled(\n 'a',\n omitEmotionProps('dark', 'size', 'as')\n)<StyledLogoLinkProps>`\n ${resetFocusStyles};\n cursor: pointer;\n text-decoration: none;\n display: block;\n height: 1.5em;\n\n img {\n display: block;\n height: 100%;\n transform: rotate(0); // Fixes moves on hover\n }\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n opacity: 0.7;\n }\n }\n\n ${darkStyles};\n ${sizeStyles};\n ${transitionStyles('opacity')};\n`;\n\n/**\n * Logo with a link.\n */\nconst LogoLink = forwardRef<HTMLAnchorElement, LogoLinkProps>(\n ({ src, as, onMouseDown = () => {}, ...rest }, ref) => {\n const { activeTheme } = useTheme();\n const ariaLabel = rest['aria-label'] || 'Logo';\n\n return (\n <StyledLogoLink\n dark={activeTheme === 'dark'}\n aria-label={ariaLabel}\n as={as}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n {...rest}\n ref={ref}\n >\n <img src={src} alt={ariaLabel} />\n </StyledLogoLink>\n );\n }\n);\n\nLogoLink.displayName = 'LogoLink';\n\nexport default LogoLink;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_interopRequireWildcard","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","darkStyles","p","dark","css","StyledLogoLink","styled","omitEmotionProps","resetFocusStyles","sizeStyles","transitionStyles","LogoLink","forwardRef","_ref","ref","src","as","_ref$onMouseDown","onMouseDown","rest","_useTheme","useTheme","activeTheme","ariaLabel","createElement","e","preventDefault","alt","displayName","_default","exports"],"sources":["../../../src/LogoLink/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { useTheme } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport interface LogoLinkProps\n extends JsxAProps,\n ReactRouterLinkProps,\n Pick<LinkProps, 'as'>,\n WithSize {\n /**\n * The source of the logo image.\n */\n src?: string;\n}\n\nconst darkStyles = (p) =>\n p.dark &&\n css`\n img {\n filter: brightness(0) invert(1); // Make the logo white\n }\n `;\n\ninterface StyledLogoLinkProps extends WithSize {\n dark: boolean;\n}\nconst StyledLogoLink = styled(\n 'a',\n omitEmotionProps('dark', 'size', 'as')\n)<StyledLogoLinkProps>`\n ${resetFocusStyles};\n cursor: pointer;\n text-decoration: none;\n display: block;\n height: 1.5em;\n\n img {\n display: block;\n height: 100%;\n transform: rotate(0); // Fixes moves on hover\n }\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n opacity: 0.7;\n }\n }\n\n ${darkStyles};\n ${sizeStyles};\n ${transitionStyles('opacity')};\n`;\n\n/**\n * Logo with a link.\n */\nconst LogoLink = forwardRef<HTMLAnchorElement, LogoLinkProps>(\n ({ src, as, onMouseDown = () => {}, ...rest }, ref) => {\n const { activeTheme } = useTheme();\n const ariaLabel = rest['aria-label'] || 'Logo';\n\n return (\n <StyledLogoLink\n dark={activeTheme === 'dark'}\n aria-label={ariaLabel}\n as={as}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n {...rest}\n ref={ref}\n >\n <img src={src} alt={ariaLabel} />\n </StyledLogoLink>\n );\n }\n);\n\nLogoLink.displayName = 'LogoLink';\n\nexport default LogoLink;\n"],"mappings":"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"}
|
package/dist/cjs/Menu/index.js
CHANGED
|
@@ -108,6 +108,5 @@ var Menu = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
108
108
|
}, children));
|
|
109
109
|
});
|
|
110
110
|
Menu.displayName = 'Menu';
|
|
111
|
-
var _default = Menu;
|
|
112
|
-
exports["default"] = _default;
|
|
111
|
+
var _default = exports["default"] = Menu;
|
|
113
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_menuUtils","_styles","_utils","_react","_interopRequireWildcard","_Modal","_Popover","_useFocusWithArrows","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","StyledPopover","styled","Popover","p","theme","menuPaddingVertical","menuMinWidth","menuMaxHeight","enableScrollingStyles","StyledModal","Modal","Menu","forwardRef","_ref","ref","_ref$closeOnSelect","closeOnSelect","modalTitle","trigger","_ref$placement","placement","visible","_ref$onClose","onClose","size","className","id","children","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","containerRef","mergedContainerRef","useFocusWithArrows","useKeyPress","window","undefined","isMinXs","useIsMinWidth","menuId","useMemo","concat","Math","random","useBrowserLayoutEffect","_ref2","current","setAttribute","contextValue","createElement","MenuContext","Provider","role","title","footer","displayName","_default","exports"],"sources":["../../../src/Menu/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { useIsMinWidth } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { enableScrollingStyles } from '@os-design/styles';\nimport {\n useBrowserLayoutEffect,\n useForwardedRef,\n useKeyPress,\n} from '@os-design/utils';\nimport React, { forwardRef, RefObject, useMemo } from 'react';\nimport Modal from '../Modal';\nimport Popover, { PopoverProps } from '../Popover';\nimport useFocusWithArrows from './utils/useFocusWithArrows';\n\nexport interface MenuProps extends PopoverProps {\n /**\n * Whether the menu closes when the user selects a menu item.\n * @default true\n */\n closeOnSelect?: boolean;\n /**\n * The title of the modal.\n * @default undefined\n */\n modalTitle?: string;\n}\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.menuPaddingVertical}em 0;\n min-width: ${(p) => p.theme.menuMinWidth}em;\n max-height: ${(p) => p.theme.menuMaxHeight}em;\n overflow: hidden;\n ${enableScrollingStyles('y')};\n`;\n\nconst StyledModal = styled(Modal)`\n padding-left: 0;\n padding-right: 0;\n`;\n\n/**\n * The dropdown menu.\n */\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n (\n {\n closeOnSelect = true,\n modalTitle,\n trigger,\n placement = 'bottom-start',\n visible,\n onClose = () => {},\n size,\n className,\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n useFocusWithArrows(containerRef);\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n onClose\n );\n const isMinXs = useIsMinWidth('xs');\n\n const menuId = useMemo(\n () => id || `menu-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Replace the aria-haspopup attribute from true to menu\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-haspopup', 'menu');\n current.setAttribute('aria-controls', menuId);\n }, [menuId]);\n\n const contextValue = useMemo(\n () => ({ closeOnSelect, onClose }),\n [closeOnSelect, onClose]\n );\n\n return (\n <MenuContext.Provider value={contextValue}>\n {isMinXs ? (\n <StyledPopover\n trigger={trigger}\n placement={placement}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n {...rest}\n ref={mergedContainerRef}\n >\n {children}\n </StyledPopover>\n ) : (\n <StyledModal\n title={modalTitle}\n footer={null}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n ref={mergedContainerRef}\n >\n {children}\n </StyledModal>\n )}\n </MenuContext.Provider>\n );\n }\n);\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_menuUtils","_styles","_utils","_react","_interopRequireWildcard","_Modal","_Popover","_useFocusWithArrows","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","StyledPopover","styled","Popover","p","theme","menuPaddingVertical","menuMinWidth","menuMaxHeight","enableScrollingStyles","StyledModal","Modal","Menu","forwardRef","_ref","ref","_ref$closeOnSelect","closeOnSelect","modalTitle","trigger","_ref$placement","placement","visible","_ref$onClose","onClose","size","className","id","children","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","containerRef","mergedContainerRef","useFocusWithArrows","useKeyPress","window","undefined","isMinXs","useIsMinWidth","menuId","useMemo","concat","Math","random","useBrowserLayoutEffect","_ref2","current","setAttribute","contextValue","createElement","MenuContext","Provider","role","title","footer","displayName","_default","exports"],"sources":["../../../src/Menu/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { useIsMinWidth } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { enableScrollingStyles } from '@os-design/styles';\nimport {\n useBrowserLayoutEffect,\n useForwardedRef,\n useKeyPress,\n} from '@os-design/utils';\nimport React, { forwardRef, RefObject, useMemo } from 'react';\nimport Modal from '../Modal';\nimport Popover, { PopoverProps } from '../Popover';\nimport useFocusWithArrows from './utils/useFocusWithArrows';\n\nexport interface MenuProps extends PopoverProps {\n /**\n * Whether the menu closes when the user selects a menu item.\n * @default true\n */\n closeOnSelect?: boolean;\n /**\n * The title of the modal.\n * @default undefined\n */\n modalTitle?: string;\n}\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.menuPaddingVertical}em 0;\n min-width: ${(p) => p.theme.menuMinWidth}em;\n max-height: ${(p) => p.theme.menuMaxHeight}em;\n overflow: hidden;\n ${enableScrollingStyles('y')};\n`;\n\nconst StyledModal = styled(Modal)`\n padding-left: 0;\n padding-right: 0;\n`;\n\n/**\n * The dropdown menu.\n */\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n (\n {\n closeOnSelect = true,\n modalTitle,\n trigger,\n placement = 'bottom-start',\n visible,\n onClose = () => {},\n size,\n className,\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n useFocusWithArrows(containerRef);\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n onClose\n );\n const isMinXs = useIsMinWidth('xs');\n\n const menuId = useMemo(\n () => id || `menu-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Replace the aria-haspopup attribute from true to menu\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-haspopup', 'menu');\n current.setAttribute('aria-controls', menuId);\n }, [menuId]);\n\n const contextValue = useMemo(\n () => ({ closeOnSelect, onClose }),\n [closeOnSelect, onClose]\n );\n\n return (\n <MenuContext.Provider value={contextValue}>\n {isMinXs ? (\n <StyledPopover\n trigger={trigger}\n placement={placement}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n {...rest}\n ref={mergedContainerRef}\n >\n {children}\n </StyledPopover>\n ) : (\n <StyledModal\n title={modalTitle}\n footer={null}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n ref={mergedContainerRef}\n >\n {children}\n </StyledModal>\n )}\n </MenuContext.Provider>\n );\n }\n);\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n"],"mappings":"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"}
|
|
@@ -37,6 +37,5 @@ var useFocusWithArrows = function useFocusWithArrows(ref) {
|
|
|
37
37
|
}, [ref]);
|
|
38
38
|
(0, _utils.useKeyPress)(typeof window !== 'undefined' ? window : undefined, ['ArrowUp', 'ArrowDown'], arrowKeyPressListener);
|
|
39
39
|
};
|
|
40
|
-
var _default = useFocusWithArrows;
|
|
41
|
-
exports["default"] = _default;
|
|
40
|
+
var _default = exports["default"] = useFocusWithArrows;
|
|
42
41
|
//# sourceMappingURL=useFocusWithArrows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocusWithArrows.js","names":["_utils","require","_react","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","useFocusWithArrows","ref","arrowKeyPressListener","useCallback","e","current","focusableListItems","querySelectorAll","_document","document","activeElement","curFocusedIndex","indexOf","nextFocusedIndex","key","undefined","nextFocusedListItem","item","focus","preventDefault","useKeyPress","window","_default","exports"],"sources":["../../../../src/Menu/utils/useFocusWithArrows.ts"],"sourcesContent":["import { KeyPressListener, useKeyPress } from '@os-design/utils';\nimport { RefObject, useCallback } from 'react';\n\nconst useFocusWithArrows = (ref: RefObject<Element>): void => {\n const arrowKeyPressListener = useCallback<KeyPressListener>(\n (e) => {\n if (!ref.current) return;\n const focusableListItems = ref.current.querySelectorAll<HTMLElement>(\n 'button:not([disabled])'\n );\n const { activeElement } = document;\n const curFocusedIndex = activeElement\n ? ([...focusableListItems] as Element[]).indexOf(activeElement)\n : -1;\n\n let nextFocusedIndex;\n if (curFocusedIndex === -1 && e.key === 'ArrowUp') {\n nextFocusedIndex = focusableListItems.length - 1;\n } else if (curFocusedIndex === -1 && e.key === 'ArrowDown') {\n nextFocusedIndex = 0;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowUp') {\n nextFocusedIndex =\n curFocusedIndex > 0\n ? curFocusedIndex - 1\n : focusableListItems.length - 1;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowDown') {\n nextFocusedIndex =\n curFocusedIndex < focusableListItems.length - 1\n ? curFocusedIndex + 1\n : 0;\n }\n\n if (nextFocusedIndex === undefined) return;\n const nextFocusedListItem = focusableListItems.item(nextFocusedIndex);\n if (!nextFocusedListItem) return;\n\n nextFocusedListItem.focus();\n e.preventDefault();\n },\n [ref]\n );\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n ['ArrowUp', 'ArrowDown'],\n arrowKeyPressListener\n );\n};\n\nexport default useFocusWithArrows;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useFocusWithArrows.js","names":["_utils","require","_react","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","useFocusWithArrows","ref","arrowKeyPressListener","useCallback","e","current","focusableListItems","querySelectorAll","_document","document","activeElement","curFocusedIndex","indexOf","nextFocusedIndex","key","undefined","nextFocusedListItem","item","focus","preventDefault","useKeyPress","window","_default","exports"],"sources":["../../../../src/Menu/utils/useFocusWithArrows.ts"],"sourcesContent":["import { KeyPressListener, useKeyPress } from '@os-design/utils';\nimport { RefObject, useCallback } from 'react';\n\nconst useFocusWithArrows = (ref: RefObject<Element>): void => {\n const arrowKeyPressListener = useCallback<KeyPressListener>(\n (e) => {\n if (!ref.current) return;\n const focusableListItems = ref.current.querySelectorAll<HTMLElement>(\n 'button:not([disabled])'\n );\n const { activeElement } = document;\n const curFocusedIndex = activeElement\n ? ([...focusableListItems] as Element[]).indexOf(activeElement)\n : -1;\n\n let nextFocusedIndex;\n if (curFocusedIndex === -1 && e.key === 'ArrowUp') {\n nextFocusedIndex = focusableListItems.length - 1;\n } else if (curFocusedIndex === -1 && e.key === 'ArrowDown') {\n nextFocusedIndex = 0;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowUp') {\n nextFocusedIndex =\n curFocusedIndex > 0\n ? curFocusedIndex - 1\n : focusableListItems.length - 1;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowDown') {\n nextFocusedIndex =\n curFocusedIndex < focusableListItems.length - 1\n ? curFocusedIndex + 1\n : 0;\n }\n\n if (nextFocusedIndex === undefined) return;\n const nextFocusedListItem = focusableListItems.item(nextFocusedIndex);\n if (!nextFocusedListItem) return;\n\n nextFocusedListItem.focus();\n e.preventDefault();\n },\n [ref]\n );\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n ['ArrowUp', 'ArrowDown'],\n arrowKeyPressListener\n );\n};\n\nexport default useFocusWithArrows;\n"],"mappings":"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"}
|
|
@@ -29,6 +29,5 @@ var MenuDivider = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
29
29
|
}));
|
|
30
30
|
});
|
|
31
31
|
MenuDivider.displayName = 'MenuDivider';
|
|
32
|
-
var _default = MenuDivider;
|
|
33
|
-
exports["default"] = _default;
|
|
32
|
+
var _default = exports["default"] = MenuDivider;
|
|
34
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_theming","_react","_interopRequireWildcard","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","Container","styled","div","p","clr","theme","menuDividerColor","MenuDivider","forwardRef","props","ref","createElement","role","displayName","_default","exports"],"sources":["../../../src/MenuDivider/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\nimport React, { forwardRef } from 'react';\n\nexport type MenuDividerProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\n\nconst Container = styled.div`\n padding-top: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuDividerColor)};\n margin-bottom: 0.4em;\n`;\n\n/**\n * The divider of menu items.\n */\nconst MenuDivider = forwardRef<HTMLDivElement, MenuDividerProps>(\n (props, ref) => <Container role='separator' {...props} ref={ref} />\n);\n\nMenuDivider.displayName = 'MenuDivider';\n\nexport default MenuDivider;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_theming","_react","_interopRequireWildcard","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","Container","styled","div","p","clr","theme","menuDividerColor","MenuDivider","forwardRef","props","ref","createElement","role","displayName","_default","exports"],"sources":["../../../src/MenuDivider/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\nimport React, { forwardRef } from 'react';\n\nexport type MenuDividerProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\n\nconst Container = styled.div`\n padding-top: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuDividerColor)};\n margin-bottom: 0.4em;\n`;\n\n/**\n * The divider of menu items.\n */\nconst MenuDivider = forwardRef<HTMLDivElement, MenuDividerProps>(\n (props, ref) => <Container role='separator' {...props} ref={ref} />\n);\n\nMenuDivider.displayName = 'MenuDivider';\n\nexport default MenuDivider;\n"],"mappings":"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"}
|
|
@@ -124,6 +124,5 @@ var MenuGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
124
124
|
}), title && /*#__PURE__*/_react["default"].createElement(Title, null, title), menuItems);
|
|
125
125
|
});
|
|
126
126
|
MenuGroup.displayName = 'MenuGroup';
|
|
127
|
-
var _default = MenuGroup;
|
|
128
|
-
exports["default"] = _default;
|
|
127
|
+
var _default = exports["default"] = MenuGroup;
|
|
129
128
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_menuUtils","_styles","_theming","_utils","_react","_interopRequireWildcard","_MenuItem","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","n","toString","slice","constructor","name","test","len","arr2","l","u","a","f","next","done","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_taggedTemplateLiteral","strings","raw","freeze","Title","styled","div","p","theme","sizes","small","clr","menuGroupColorTitle","modalBodyPaddingHorizontal","m","min","xs","ellipsisStyles","Container","menuGroupColorDivider","modalBodyPaddingVertical","MenuGroup","forwardRef","_ref","ref","title","_ref$multiple","multiple","_ref$maxSelectedItems","maxSelectedItems","defaultValue","_ref$onChange","onChange","children","rest","_useContext","useContext","MenuContext","closeOnSelect","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","onSelect","useCallback","v","includes","item","concat","menuItems","useMemo","React","Children","map","child","isValidElement","type","MenuItem","_child$props","props","childValue","childOnClick","onClick","selected","cloneElement","role","createElement","displayName","_default","exports"],"sources":["../../../src/MenuGroup/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { useForwardedState } from '@os-design/utils';\nimport React, { forwardRef, useCallback, useContext, useMemo } from 'react';\nimport MenuItem from '../MenuItem';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'value' | 'onChange' | 'ref'\n>;\ninterface BaseMenuGroupProps<T> extends JsxDivProps {\n /**\n * The title of the menu group.\n * @default undefined\n */\n title?: string;\n /**\n * The max number of options that the user can select. Zero means unlimited.\n * Works only when multiple is true.\n * @default 0\n */\n maxSelectedItems?: number;\n /**\n * Selected menu items.\n * @default undefined\n */\n value?: T;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T) => void;\n}\ninterface MenuGroupNotMultipleProps extends BaseMenuGroupProps<string | null> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple?: false;\n}\ninterface MenuGroupMultipleProps extends BaseMenuGroupProps<string[]> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple: true;\n}\nexport type MenuGroupProps = MenuGroupNotMultipleProps | MenuGroupMultipleProps;\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.menuGroupColorTitle)};\n margin-bottom: 0.4em;\n\n padding: 0 ${(p) => p.theme.modalBodyPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 0.8em;\n }\n\n ${ellipsisStyles};\n`;\n\nconst Container = styled.div`\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuGroupColorDivider)};\n }\n &:not(:first-of-type) {\n margin-top: ${(p) => p.theme.modalBodyPaddingVertical[0]}em;\n ${m.min.xs} {\n margin-top: 0.4em;\n }\n }\n`;\n\n/**\n * The group of menu items.\n */\nconst MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(\n (\n {\n title,\n multiple = false,\n maxSelectedItems = 0,\n value,\n defaultValue,\n onChange = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(MenuContext);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n const onSelect = useCallback(\n (v: string) => {\n if (multiple) {\n // Delete the value because it was already selected\n if ((forwardedValue || []).includes(v)) {\n setForwardedValue(\n (forwardedValue || []).filter((item) => item !== v)\n );\n return;\n }\n\n // Add a new value if the number of selected items is less than max\n if (\n maxSelectedItems === 0 ||\n (forwardedValue || []).length < maxSelectedItems\n ) {\n setForwardedValue([...(forwardedValue || []), v]);\n return;\n }\n return;\n }\n setForwardedValue(v);\n },\n [forwardedValue, maxSelectedItems, multiple, setForwardedValue]\n );\n\n const menuItems = useMemo(\n () =>\n React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== MenuItem)\n return child;\n const { value: childValue, onClick: childOnClick } = child.props;\n const selected =\n (multiple && (forwardedValue || []).includes(childValue)) ||\n (!multiple && forwardedValue === childValue);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return React.cloneElement<any>(child, {\n key: childValue,\n selected,\n onClick: (e) => {\n if (!childValue) return;\n onSelect(childValue);\n if (childOnClick) childOnClick(e);\n },\n ...(!closeOnSelect\n ? {\n role:\n maxSelectedItems === 1\n ? 'menuitemradio'\n : 'menuitemcheckbox',\n 'aria-checked': selected,\n }\n : {}),\n });\n }),\n [\n children,\n closeOnSelect,\n forwardedValue,\n maxSelectedItems,\n multiple,\n onSelect,\n ]\n );\n\n return (\n <Container\n role={maxSelectedItems === 1 ? 'radiogroup' : 'group'}\n {...rest}\n ref={ref}\n >\n {title && <Title>{title}</Title>}\n {menuItems}\n </Container>\n );\n }\n);\n\nMenuGroup.displayName = 'MenuGroup';\n\nexport default MenuGroup;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_menuUtils","_styles","_theming","_utils","_react","_interopRequireWildcard","_MenuItem","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","minLen","n","toString","slice","constructor","name","test","len","arr2","l","u","a","f","next","done","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_taggedTemplateLiteral","strings","raw","freeze","Title","styled","div","p","theme","sizes","small","clr","menuGroupColorTitle","modalBodyPaddingHorizontal","m","min","xs","ellipsisStyles","Container","menuGroupColorDivider","modalBodyPaddingVertical","MenuGroup","forwardRef","_ref","ref","title","_ref$multiple","multiple","_ref$maxSelectedItems","maxSelectedItems","defaultValue","_ref$onChange","onChange","children","rest","_useContext","useContext","MenuContext","closeOnSelect","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","onSelect","useCallback","v","includes","item","concat","menuItems","useMemo","React","Children","map","child","isValidElement","type","MenuItem","_child$props","props","childValue","childOnClick","onClick","selected","cloneElement","role","createElement","displayName","_default","exports"],"sources":["../../../src/MenuGroup/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { useForwardedState } from '@os-design/utils';\nimport React, { forwardRef, useCallback, useContext, useMemo } from 'react';\nimport MenuItem from '../MenuItem';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'defaultValue' | 'value' | 'onChange' | 'ref'\n>;\ninterface BaseMenuGroupProps<T> extends JsxDivProps {\n /**\n * The title of the menu group.\n * @default undefined\n */\n title?: string;\n /**\n * The max number of options that the user can select. Zero means unlimited.\n * Works only when multiple is true.\n * @default 0\n */\n maxSelectedItems?: number;\n /**\n * Selected menu items.\n * @default undefined\n */\n value?: T;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: T;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: T) => void;\n}\ninterface MenuGroupNotMultipleProps extends BaseMenuGroupProps<string | null> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple?: false;\n}\ninterface MenuGroupMultipleProps extends BaseMenuGroupProps<string[]> {\n /**\n * Is it possible to select multiple values.\n * @default false\n */\n multiple: true;\n}\nexport type MenuGroupProps = MenuGroupNotMultipleProps | MenuGroupMultipleProps;\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.menuGroupColorTitle)};\n margin-bottom: 0.4em;\n\n padding: 0 ${(p) => p.theme.modalBodyPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 0.8em;\n }\n\n ${ellipsisStyles};\n`;\n\nconst Container = styled.div`\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuGroupColorDivider)};\n }\n &:not(:first-of-type) {\n margin-top: ${(p) => p.theme.modalBodyPaddingVertical[0]}em;\n ${m.min.xs} {\n margin-top: 0.4em;\n }\n }\n`;\n\n/**\n * The group of menu items.\n */\nconst MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(\n (\n {\n title,\n multiple = false,\n maxSelectedItems = 0,\n value,\n defaultValue,\n onChange = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(MenuContext);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [forwardedValue, setForwardedValue] = useForwardedState<any>({\n value,\n defaultValue,\n onChange,\n });\n\n const onSelect = useCallback(\n (v: string) => {\n if (multiple) {\n // Delete the value because it was already selected\n if ((forwardedValue || []).includes(v)) {\n setForwardedValue(\n (forwardedValue || []).filter((item) => item !== v)\n );\n return;\n }\n\n // Add a new value if the number of selected items is less than max\n if (\n maxSelectedItems === 0 ||\n (forwardedValue || []).length < maxSelectedItems\n ) {\n setForwardedValue([...(forwardedValue || []), v]);\n return;\n }\n return;\n }\n setForwardedValue(v);\n },\n [forwardedValue, maxSelectedItems, multiple, setForwardedValue]\n );\n\n const menuItems = useMemo(\n () =>\n React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== MenuItem)\n return child;\n const { value: childValue, onClick: childOnClick } = child.props;\n const selected =\n (multiple && (forwardedValue || []).includes(childValue)) ||\n (!multiple && forwardedValue === childValue);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return React.cloneElement<any>(child, {\n key: childValue,\n selected,\n onClick: (e) => {\n if (!childValue) return;\n onSelect(childValue);\n if (childOnClick) childOnClick(e);\n },\n ...(!closeOnSelect\n ? {\n role:\n maxSelectedItems === 1\n ? 'menuitemradio'\n : 'menuitemcheckbox',\n 'aria-checked': selected,\n }\n : {}),\n });\n }),\n [\n children,\n closeOnSelect,\n forwardedValue,\n maxSelectedItems,\n multiple,\n onSelect,\n ]\n );\n\n return (\n <Container\n role={maxSelectedItems === 1 ? 'radiogroup' : 'group'}\n {...rest}\n ref={ref}\n >\n {title && <Title>{title}</Title>}\n {menuItems}\n </Container>\n );\n }\n);\n\nMenuGroup.displayName = 'MenuGroup';\n\nexport default MenuGroup;\n"],"mappings":"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"}
|
|
@@ -77,6 +77,5 @@ var MenuItem = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
|
|
|
77
77
|
})));
|
|
78
78
|
});
|
|
79
79
|
MenuItem.displayName = 'MenuItem';
|
|
80
|
-
var _default = MenuItem;
|
|
81
|
-
exports["default"] = _default;
|
|
80
|
+
var _default = exports["default"] = MenuItem;
|
|
82
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_icons","_media","_menuUtils","_theming","_utils","_react2","_interopRequireWildcard","_Button","_excluded","_templateObject","_templateObject2","_templateObject3","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","selectedStyles","p","selected","css","clr","theme","menuItemSelectedColorBg","StyledButton","styled","Button","omitEmotionProps","menuItemHeight","menuItemPaddingHorizontal","m","min","xs","SelectedIcon","Check","menuItemSelectedColorIcon","MenuItem","forwardRef","_ref","ref","_ref$selected","right","_ref$onClick","onClick","rest","_useContext","useContext","MenuContext","closeOnSelect","onClose","onClickRef","useRef","useEffect","current","clickHandler","useCallback","e","createElement","ThemeOverrider","overrides","buttonGhostColorText","colorText","type","wide","role","displayName","_default","exports"],"sources":["../../../src/MenuItem/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Check } from '@os-design/icons';\nimport { m } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { ThemeOverrider, clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useRef,\n} from 'react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface MenuItemProps\n extends Omit<ButtonProps, 'type' | 'wide' | 'size'> {\n /**\n * Whether the menu item is selected.\n * @default false\n */\n selected?: boolean;\n /**\n * The value of the menu item.\n * @default undefined\n */\n value?: string;\n}\n\nconst selectedStyles = (p) =>\n p.selected &&\n css`\n background-color: ${clr(p.theme.menuItemSelectedColorBg)};\n `;\n\ntype StyledButtonProps = Pick<MenuItemProps, 'selected'>;\nconst StyledButton = styled(\n Button,\n omitEmotionProps('selected')\n)<StyledButtonProps>`\n display: flex;\n font-weight: normal;\n border-radius: 0;\n height: ${(p) => p.theme.menuItemHeight}em;\n\n & > span {\n flex: 1;\n text-align: left;\n overflow: hidden;\n line-height: 1.5;\n }\n\n padding: 0 ${(p) => p.theme.menuItemPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 ${(p) => p.theme.menuItemPaddingHorizontal[1]}em;\n }\n\n ${selectedStyles};\n`;\n\nconst SelectedIcon = styled(Check)`\n color: ${(p) => clr(p.theme.menuItemSelectedColorIcon)};\n`;\n\n/**\n * The base menu item.\n */\nconst MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n ({ selected = false, value, right, onClick = () => {}, ...rest }, ref) => {\n const { closeOnSelect, onClose } = useContext(MenuContext);\n const onClickRef = useRef<MenuItemProps['onClick']>();\n\n useEffect(() => {\n onClickRef.current = onClick;\n }, [onClick]);\n\n const clickHandler = useCallback(\n (e) => {\n if (onClickRef.current) onClickRef.current(e);\n if (closeOnSelect) onClose();\n },\n [closeOnSelect, onClose]\n );\n\n return (\n <ThemeOverrider\n overrides={(theme) => ({ buttonGhostColorText: theme.colorText })}\n >\n <StyledButton\n selected={selected}\n right={selected ? <SelectedIcon /> : right}\n type='ghost'\n wide='always'\n onClick={clickHandler}\n role='menuitem'\n {...rest}\n ref={ref}\n />\n </ThemeOverrider>\n );\n }\n);\n\nMenuItem.displayName = 'MenuItem';\n\nexport default MenuItem;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_icons","_media","_menuUtils","_theming","_utils","_react2","_interopRequireWildcard","_Button","_excluded","_templateObject","_templateObject2","_templateObject3","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","selectedStyles","p","selected","css","clr","theme","menuItemSelectedColorBg","StyledButton","styled","Button","omitEmotionProps","menuItemHeight","menuItemPaddingHorizontal","m","min","xs","SelectedIcon","Check","menuItemSelectedColorIcon","MenuItem","forwardRef","_ref","ref","_ref$selected","right","_ref$onClick","onClick","rest","_useContext","useContext","MenuContext","closeOnSelect","onClose","onClickRef","useRef","useEffect","current","clickHandler","useCallback","e","createElement","ThemeOverrider","overrides","buttonGhostColorText","colorText","type","wide","role","displayName","_default","exports"],"sources":["../../../src/MenuItem/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Check } from '@os-design/icons';\nimport { m } from '@os-design/media';\nimport { MenuContext } from '@os-design/menu-utils';\nimport { ThemeOverrider, clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useRef,\n} from 'react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface MenuItemProps\n extends Omit<ButtonProps, 'type' | 'wide' | 'size'> {\n /**\n * Whether the menu item is selected.\n * @default false\n */\n selected?: boolean;\n /**\n * The value of the menu item.\n * @default undefined\n */\n value?: string;\n}\n\nconst selectedStyles = (p) =>\n p.selected &&\n css`\n background-color: ${clr(p.theme.menuItemSelectedColorBg)};\n `;\n\ntype StyledButtonProps = Pick<MenuItemProps, 'selected'>;\nconst StyledButton = styled(\n Button,\n omitEmotionProps('selected')\n)<StyledButtonProps>`\n display: flex;\n font-weight: normal;\n border-radius: 0;\n height: ${(p) => p.theme.menuItemHeight}em;\n\n & > span {\n flex: 1;\n text-align: left;\n overflow: hidden;\n line-height: 1.5;\n }\n\n padding: 0 ${(p) => p.theme.menuItemPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 ${(p) => p.theme.menuItemPaddingHorizontal[1]}em;\n }\n\n ${selectedStyles};\n`;\n\nconst SelectedIcon = styled(Check)`\n color: ${(p) => clr(p.theme.menuItemSelectedColorIcon)};\n`;\n\n/**\n * The base menu item.\n */\nconst MenuItem = forwardRef<HTMLButtonElement, MenuItemProps>(\n ({ selected = false, value, right, onClick = () => {}, ...rest }, ref) => {\n const { closeOnSelect, onClose } = useContext(MenuContext);\n const onClickRef = useRef<MenuItemProps['onClick']>();\n\n useEffect(() => {\n onClickRef.current = onClick;\n }, [onClick]);\n\n const clickHandler = useCallback(\n (e) => {\n if (onClickRef.current) onClickRef.current(e);\n if (closeOnSelect) onClose();\n },\n [closeOnSelect, onClose]\n );\n\n return (\n <ThemeOverrider\n overrides={(theme) => ({ buttonGhostColorText: theme.colorText })}\n >\n <StyledButton\n selected={selected}\n right={selected ? <SelectedIcon /> : right}\n type='ghost'\n wide='always'\n onClick={clickHandler}\n role='menuitem'\n {...rest}\n ref={ref}\n />\n </ThemeOverrider>\n );\n }\n);\n\nMenuItem.displayName = 'MenuItem';\n\nexport default MenuItem;\n"],"mappings":"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"}
|
package/dist/cjs/Modal/index.js
CHANGED
|
@@ -36,10 +36,9 @@ var maskVisibleStyles = function maskVisibleStyles(p) {
|
|
|
36
36
|
var maskInvisibleStyles = function maskInvisibleStyles(p) {
|
|
37
37
|
return !p.visible && (0, _react.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n animation: ", " ", "ms forwards;\n "])), maskFadeOut, p.theme.transitionDelay);
|
|
38
38
|
};
|
|
39
|
-
var ModalMask = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('visible'))(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n background-color: ", ";\n z-index: ", ";\n ", ";\n ", ";\n"])), function (p) {
|
|
39
|
+
var ModalMask = exports.ModalMask = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('visible'))(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n background-color: ", ";\n z-index: ", ";\n ", ";\n ", ";\n"])), function (p) {
|
|
40
40
|
return (0, _theming.clr)(p.theme.modalMaskColorBg);
|
|
41
41
|
}, MODAL_CONTAINER_Z_INDEX, maskVisibleStyles, maskInvisibleStyles);
|
|
42
|
-
exports.ModalMask = ModalMask;
|
|
43
42
|
var Container = _styled["default"].div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n z-index: ", ";\n\n ", " {\n ", ";\n }\n"])), MODAL_CONTAINER_Z_INDEX, _media.m.min.xs, (0, _styles.enableScrollingStyles)('y'));
|
|
44
43
|
var contentFadeIn = (0, _react.keyframes)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n from { transform: translateY(calc(var(--vh, 1vh) * 100 + ", "em)); }\n to { transform: translateY(calc(var(--vh, 1vh) * 100 - 100%)); }\n"])), MODAL_BOX_SHADOW_SIZE_EM);
|
|
45
44
|
var contentFadeOut = (0, _react.keyframes)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n from { transform: translateY(calc(var(--vh, 1vh) * 100 - 100%)); }\n to { transform: translateY(calc(var(--vh, 1vh) * 100 + ", "em)); }\n"])), MODAL_BOX_SHADOW_SIZE_EM);
|
|
@@ -103,14 +102,13 @@ var Footer = _styled["default"].div(_templateObject17 || (_templateObject17 = _t
|
|
|
103
102
|
return p.theme.modalBodyPaddingVertical[1];
|
|
104
103
|
});
|
|
105
104
|
var CloseModalContext = /*#__PURE__*/_react2["default"].createContext(function () {});
|
|
106
|
-
var useCloseModal = function useCloseModal() {
|
|
105
|
+
var useCloseModal = exports.useCloseModal = function useCloseModal() {
|
|
107
106
|
return (0, _react2.useContext)(CloseModalContext);
|
|
108
107
|
};
|
|
109
108
|
|
|
110
109
|
/**
|
|
111
110
|
* The base pop-up window.
|
|
112
111
|
*/
|
|
113
|
-
exports.useCloseModal = useCloseModal;
|
|
114
112
|
var Modal = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
|
|
115
113
|
var title = _ref.title,
|
|
116
114
|
_ref$okText = _ref.okText,
|
|
@@ -209,6 +207,5 @@ var Modal = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
|
|
|
209
207
|
}, okText)) : footer)))));
|
|
210
208
|
});
|
|
211
209
|
Modal.displayName = 'Modal';
|
|
212
|
-
var _default = Modal;
|
|
213
|
-
exports["default"] = _default;
|
|
210
|
+
var _default = exports["default"] = Modal;
|
|
214
211
|
//# sourceMappingURL=index.js.map
|