@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":"Message.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_interopRequireWildcard","_AlertIcon","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","fadeIn","keyframes","MESSAGE_HEIGHT_EM","MESSAGE_MARGIN_TOP_EM","MESSAGE_DURATION_MS","exports","fadeOut","Container","styled","omitEmotionProps","p","clr","backgroundColor","textColor","transitionDelay","Text","span","ellipsisStyles","Message","forwardRef","_ref","ref","type","text","info","light","messageInfoColorBg","success","messageSuccessColorBg","error","messageErrorColorBg","createElement","colorText","role","displayName","_default"],"sources":["../../../src/message/Message.tsx"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr, Color, light } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport AlertIcon from './AlertIcon';\n\nexport interface MessageProps {\n type: 'info' | 'success' | 'error';\n text: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst MESSAGE_HEIGHT_EM = 2.5;\nconst MESSAGE_MARGIN_TOP_EM = 0.7;\nexport const MESSAGE_DURATION_MS = 3000;\n\nconst fadeOut = keyframes`\n from {\n opacity: 1;\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n`;\n\ninterface ContainerProps extends Pick<MessageProps, 'type'> {\n textColor: Color;\n backgroundColor: Color;\n transitionDelay: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'textColor', 'backgroundColor', 'transitionDelay')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ${(p) => clr(p.backgroundColor)};\n color: ${(p) => clr(p.textColor)};\n\n pointer-events: auto;\n overflow: hidden;\n\n animation:\n ${fadeIn} ${(p) => p.transitionDelay}ms,\n ${fadeOut} ${(p) => p.transitionDelay}ms\n ${(p) => MESSAGE_DURATION_MS - p.transitionDelay}ms;\n animation-fill-mode: forwards;\n`;\n\nconst Text = styled.span`\n ${ellipsisStyles};\n`;\n\nconst Message = forwardRef<HTMLDivElement, MessageProps>(\n ({ type, text }, ref) => {\n const backgroundColor = {\n info: light.messageInfoColorBg,\n success: light.messageSuccessColorBg,\n error: light.messageErrorColorBg,\n }[type];\n\n return (\n <Container\n ref={ref}\n type={type}\n textColor={light.colorText}\n backgroundColor={backgroundColor}\n transitionDelay={light.transitionDelay}\n role='alert'\n >\n <AlertIcon type={type} />\n <Text>{text}</Text>\n </Container>\n );\n }\n);\n\nMessage.displayName = 'Message';\n\nexport default Message;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAC,uBAAA,CAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAN,sBAAA,CAAAF,OAAA;AAAoC,IAAAS,eAAA,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,SAAAP,wBAAAW,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,SAAAtB,uBAAAgB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAiB,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAAZ,MAAA,CAAAa,MAAA,CAAAb,MAAA,CAAAc,gBAAA,CAAAJ,OAAA,IAAAC,GAAA,IAAAI,KAAA,EAAAf,MAAA,CAAAa,MAAA,CAAAF,GAAA;AAOpC,IAAMK,MAAM,OAAGC,gBAAS,EAAAlC,eAAA,KAAAA,eAAA,GAAA0B,sBAAA,0IASvB;AAED,IAAMS,iBAAiB,GAAG,GAAG;AAC7B,IAAMC,qBAAqB,GAAG,GAAG;AAC1B,IAAMC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"Message.js","names":["_react","require","_styled","_interopRequireDefault","_styles","_theming","_utils","_react2","_interopRequireWildcard","_AlertIcon","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","fadeIn","keyframes","MESSAGE_HEIGHT_EM","MESSAGE_MARGIN_TOP_EM","MESSAGE_DURATION_MS","exports","fadeOut","Container","styled","omitEmotionProps","p","clr","backgroundColor","textColor","transitionDelay","Text","span","ellipsisStyles","Message","forwardRef","_ref","ref","type","text","info","light","messageInfoColorBg","success","messageSuccessColorBg","error","messageErrorColorBg","createElement","colorText","role","displayName","_default"],"sources":["../../../src/message/Message.tsx"],"sourcesContent":["import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { clr, Color, light } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport AlertIcon from './AlertIcon';\n\nexport interface MessageProps {\n type: 'info' | 'success' | 'error';\n text: string;\n}\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst MESSAGE_HEIGHT_EM = 2.5;\nconst MESSAGE_MARGIN_TOP_EM = 0.7;\nexport const MESSAGE_DURATION_MS = 3000;\n\nconst fadeOut = keyframes`\n from {\n opacity: 1;\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n height: 0;\n margin-top: 0;\n transform: translateY(-100%);\n }\n`;\n\ninterface ContainerProps extends Pick<MessageProps, 'type'> {\n textColor: Color;\n backgroundColor: Color;\n transitionDelay: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'textColor', 'backgroundColor', 'transitionDelay')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n height: ${MESSAGE_HEIGHT_EM}em;\n margin-top: ${MESSAGE_MARGIN_TOP_EM}em;\n\n box-sizing: border-box;\n padding: 0 1em;\n max-width: 90%;\n\n border-radius: 0.25em;\n box-shadow: 0 0.15em 0.45em hsla(0, 0%, 0%, 0.1);\n background-color: ${(p) => clr(p.backgroundColor)};\n color: ${(p) => clr(p.textColor)};\n\n pointer-events: auto;\n overflow: hidden;\n\n animation:\n ${fadeIn} ${(p) => p.transitionDelay}ms,\n ${fadeOut} ${(p) => p.transitionDelay}ms\n ${(p) => MESSAGE_DURATION_MS - p.transitionDelay}ms;\n animation-fill-mode: forwards;\n`;\n\nconst Text = styled.span`\n ${ellipsisStyles};\n`;\n\nconst Message = forwardRef<HTMLDivElement, MessageProps>(\n ({ type, text }, ref) => {\n const backgroundColor = {\n info: light.messageInfoColorBg,\n success: light.messageSuccessColorBg,\n error: light.messageErrorColorBg,\n }[type];\n\n return (\n <Container\n ref={ref}\n type={type}\n textColor={light.colorText}\n backgroundColor={backgroundColor}\n transitionDelay={light.transitionDelay}\n role='alert'\n >\n <AlertIcon type={type} />\n <Text>{text}</Text>\n </Container>\n );\n }\n);\n\nMessage.displayName = 'Message';\n\nexport default Message;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_Message","_interopRequireWildcard","_styles","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","containerElement","getContainer","document","createElement","setStylesToHtmlElement","containerStyles","body","appendChild","deleteContainerIfNoChildNodes","hasChildNodes","removeChild","send","type","text","container","messageContainer","messageContainerStyles","messageElement","root","ReactDOM","createRoot","render","setTimeout","unmount","MESSAGE_DURATION_MS","message","info","success","error","_default","exports"],"sources":["../../../src/message/index.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { AlertProps } from '../Alert';\nimport Message, { MESSAGE_DURATION_MS } from './Message';\nimport {\n containerStyles,\n messageContainerStyles,\n setStylesToHtmlElement,\n} from './styles';\n\nlet containerElement: HTMLElement | null;\n\n/**\n * Creates the container for storing messages.\n */\nconst getContainer = () => {\n if (!containerElement) {\n containerElement = document.createElement('div');\n setStylesToHtmlElement(containerElement, containerStyles);\n document.body.appendChild(containerElement);\n }\n return containerElement;\n};\n\n/**\n * Delete the container if there are no more messages in it.\n */\nconst deleteContainerIfNoChildNodes = () => {\n if (!containerElement || containerElement.hasChildNodes()) return;\n document.body.removeChild(containerElement);\n containerElement = null;\n};\n\n/**\n * Renders a new message.\n */\nconst send = (type: AlertProps['type'], text: string) => {\n // Create a new container for the message\n const container = getContainer();\n const messageContainer = document.createElement('div');\n setStylesToHtmlElement(messageContainer, messageContainerStyles);\n container.appendChild(messageContainer);\n\n // Render the message element\n const messageElement = <Message type={type} text={text} />;\n const root = ReactDOM.createRoot(messageContainer);\n root.render(messageElement);\n\n // Delete the message container after N ms\n setTimeout(() => {\n root.unmount();\n container.removeChild(messageContainer);\n deleteContainerIfNoChildNodes();\n }, MESSAGE_DURATION_MS);\n};\n\nconst message: Record<AlertProps['type'], (text: string) => void> = {\n info: (text) => send('info', text),\n success: (text) => send('success', text),\n error: (text) => send('error', text),\n};\n\nexport default message;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_Message","_interopRequireWildcard","_styles","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","containerElement","getContainer","document","createElement","setStylesToHtmlElement","containerStyles","body","appendChild","deleteContainerIfNoChildNodes","hasChildNodes","removeChild","send","type","text","container","messageContainer","messageContainerStyles","messageElement","root","ReactDOM","createRoot","render","setTimeout","unmount","MESSAGE_DURATION_MS","message","info","success","error","_default","exports"],"sources":["../../../src/message/index.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { AlertProps } from '../Alert';\nimport Message, { MESSAGE_DURATION_MS } from './Message';\nimport {\n containerStyles,\n messageContainerStyles,\n setStylesToHtmlElement,\n} from './styles';\n\nlet containerElement: HTMLElement | null;\n\n/**\n * Creates the container for storing messages.\n */\nconst getContainer = () => {\n if (!containerElement) {\n containerElement = document.createElement('div');\n setStylesToHtmlElement(containerElement, containerStyles);\n document.body.appendChild(containerElement);\n }\n return containerElement;\n};\n\n/**\n * Delete the container if there are no more messages in it.\n */\nconst deleteContainerIfNoChildNodes = () => {\n if (!containerElement || containerElement.hasChildNodes()) return;\n document.body.removeChild(containerElement);\n containerElement = null;\n};\n\n/**\n * Renders a new message.\n */\nconst send = (type: AlertProps['type'], text: string) => {\n // Create a new container for the message\n const container = getContainer();\n const messageContainer = document.createElement('div');\n setStylesToHtmlElement(messageContainer, messageContainerStyles);\n container.appendChild(messageContainer);\n\n // Render the message element\n const messageElement = <Message type={type} text={text} />;\n const root = ReactDOM.createRoot(messageContainer);\n root.render(messageElement);\n\n // Delete the message container after N ms\n setTimeout(() => {\n root.unmount();\n container.removeChild(messageContainer);\n deleteContainerIfNoChildNodes();\n }, MESSAGE_DURATION_MS);\n};\n\nconst message: Record<AlertProps['type'], (text: string) => void> = {\n info: (text) => send('info', text),\n success: (text) => send('success', text),\n error: (text) => send('error', text),\n};\n\nexport default message;\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
11
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
var containerStyles = {
|
|
13
|
+
var containerStyles = exports.containerStyles = {
|
|
14
14
|
position: 'fixed',
|
|
15
15
|
top: '0',
|
|
16
16
|
left: '0',
|
|
@@ -20,13 +20,11 @@ var containerStyles = {
|
|
|
20
20
|
display: 'flex',
|
|
21
21
|
flexDirection: 'column'
|
|
22
22
|
};
|
|
23
|
-
exports.
|
|
24
|
-
var messageContainerStyles = {
|
|
23
|
+
var messageContainerStyles = exports.messageContainerStyles = {
|
|
25
24
|
display: 'flex',
|
|
26
25
|
justifyContent: 'center'
|
|
27
26
|
};
|
|
28
|
-
exports.
|
|
29
|
-
var setStylesToHtmlElement = function setStylesToHtmlElement(element, styles) {
|
|
27
|
+
var setStylesToHtmlElement = exports.setStylesToHtmlElement = function setStylesToHtmlElement(element, styles) {
|
|
30
28
|
Object.entries(styles).forEach(function (_ref) {
|
|
31
29
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
32
30
|
key = _ref2[0],
|
|
@@ -35,5 +33,4 @@ var setStylesToHtmlElement = function setStylesToHtmlElement(element, styles) {
|
|
|
35
33
|
element.style[key] = value;
|
|
36
34
|
});
|
|
37
35
|
};
|
|
38
|
-
exports.setStylesToHtmlElement = setStylesToHtmlElement;
|
|
39
36
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["containerStyles","position","top","left","right","zIndex","pointerEvents","display","flexDirection","
|
|
1
|
+
{"version":3,"file":"styles.js","names":["containerStyles","exports","position","top","left","right","zIndex","pointerEvents","display","flexDirection","messageContainerStyles","justifyContent","setStylesToHtmlElement","element","styles","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","style"],"sources":["../../../src/message/styles.ts"],"sourcesContent":["export const containerStyles: Partial<CSSStyleDeclaration> = {\n position: 'fixed',\n top: '0',\n left: '0',\n right: '0',\n zIndex: '1001',\n pointerEvents: 'none',\n display: 'flex',\n flexDirection: 'column',\n};\n\nexport const messageContainerStyles: Partial<CSSStyleDeclaration> = {\n display: 'flex',\n justifyContent: 'center',\n};\n\nexport const setStylesToHtmlElement = (\n element: HTMLElement,\n styles: Partial<CSSStyleDeclaration>\n): void => {\n Object.entries(styles).forEach(([key, value]) => {\n // eslint-disable-next-line no-param-reassign\n element.style[key] = value;\n });\n};\n"],"mappings":";;;;;;;;;;;;AAAO,IAAMA,eAA6C,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC3DE,QAAQ,EAAE,OAAO;EACjBC,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE,GAAG;EACVC,MAAM,EAAE,MAAM;EACdC,aAAa,EAAE,MAAM;EACrBC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE;AACjB,CAAC;AAEM,IAAMC,sBAAoD,GAAAT,OAAA,CAAAS,sBAAA,GAAG;EAClEF,OAAO,EAAE,MAAM;EACfG,cAAc,EAAE;AAClB,CAAC;AAEM,IAAMC,sBAAsB,GAAAX,OAAA,CAAAW,sBAAA,GAAG,SAAzBA,sBAAsBA,CACjCC,OAAoB,EACpBC,MAAoC,EAC3B;EACTC,MAAM,CAACC,OAAO,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC,UAAAC,IAAA,EAAkB;IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA;MAAhBG,GAAG,GAAAF,KAAA;MAAEG,KAAK,GAAAH,KAAA;IACzC;IACAN,OAAO,CAACU,KAAK,CAACF,GAAG,CAAC,GAAGC,KAAK;EAC5B,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/esm/Input/index.js
CHANGED
|
@@ -59,9 +59,18 @@ const notHasLeftStyles = p => !p.hasLeft && css`
|
|
|
59
59
|
const notHasRightStyles = p => !p.hasRight && css`
|
|
60
60
|
padding-right: ${p.theme.inputPaddingHorizontal}em;
|
|
61
61
|
`;
|
|
62
|
+
const hideSpinButton = css`
|
|
63
|
+
/* Chrome, Safari, Edge, Opera */
|
|
64
|
+
&::-webkit-outer-spin-button,
|
|
65
|
+
&::-webkit-inner-spin-button {
|
|
66
|
+
-webkit-appearance: none;
|
|
67
|
+
margin: 0;
|
|
68
|
+
}
|
|
69
|
+
/* Firefox */
|
|
70
|
+
appearance: textfield;
|
|
71
|
+
`;
|
|
62
72
|
export const StyledInput = styled('input', omitEmotionProps('hasLeft', 'hasRight'))`
|
|
63
73
|
${resetFocusStyles};
|
|
64
|
-
appearance: none;
|
|
65
74
|
border: none;
|
|
66
75
|
font-size: 1em;
|
|
67
76
|
flex: 1;
|
|
@@ -74,6 +83,7 @@ export const StyledInput = styled('input', omitEmotionProps('hasLeft', 'hasRight
|
|
|
74
83
|
color: ${p => clr(p.theme.inputColorPlaceholder)};
|
|
75
84
|
}
|
|
76
85
|
|
|
86
|
+
${hideSpinButton};
|
|
77
87
|
${notHasLeftStyles};
|
|
78
88
|
${notHasRightStyles};
|
|
79
89
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","styled","Loading","resetFocusStyles","sizeStyles","transitionStyles","clr","ThemeOverrider","omitEmotionProps","useForwardedRef","React","forwardRef","useCallback","useMemo","getFocusableElements","hoverStyles","p","disabled","theme","inputHoverColorBorder","focusStyles","inputFocusColorBorder","inputFocusColorShadow","disabledStyles","inputDisabledColorText","inputDisabledColorBg","inputDisabledColorBorder","inputDisabledColorPlaceholder","InputContainer","baseHeight","inputColorBg","inputBorderWidth","inputColorBorder","borderRadius","notHasLeftStyles","hasLeft","inputPaddingHorizontal","notHasRightStyles","hasRight","StyledInput","inputColorText","inputColorPlaceholder","Addon","LeftAddon","inputAddonPaddingHorizontal","hasPadding","RightAddon","Input","type","left","leftHasPadding","right","rightHasPadding","loading","containerRef","containerProps","size","value","onChange","rest","ref","innerContainerRef","mergedContainerRef","rightValue","createElement","rightHasPaddingValue","onFocus","e","target","current","focusableElements","focus","onKeyDown","document","inputFocusableElements","firstInputElementIsFocused","activeElement","key","shiftKey","inputContainerIndex","findIndex","el","elementBeforeInputContainer","_extends","tabIndex","overrides","buttonPaddingHorizontal","displayName"],"sources":["../../../src/Input/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Loading } from '@os-design/icons';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { clr, ThemeOverrider } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedRef } from '@os-design/utils';\nimport React, {\n ChangeEvent,\n FocusEventHandler,\n ForwardedRef,\n forwardRef,\n KeyboardEventHandler,\n useCallback,\n useMemo,\n} from 'react';\nimport getFocusableElements from './utils/getFocusableElements';\n\ntype JsxInputProps = Omit<\n JSX.IntrinsicElements['input'],\n 'value' | 'onChange' | 'size' | 'ref'\n>;\nexport interface InputProps extends JsxInputProps, WithSize {\n /**\n * Type of the input.\n * @default text\n */\n type?: JsxInputProps['type'];\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * Adds padding to the left component.\n * It can be useful when passing an icon or text in the left component.\n * @default false\n */\n leftHasPadding?: boolean;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Adds padding to the right component.\n * It can be useful when passing an icon or text in the right component.\n * @default false\n */\n rightHasPadding?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Shows the loading status.\n * @default false\n */\n loading?: boolean;\n /**\n * The ref of the input container.\n * @default undefined\n */\n containerRef?: ForwardedRef<HTMLDivElement>;\n /**\n * The props of the input container.\n * @default undefined\n */\n containerProps?: JSX.IntrinsicElements['div'];\n /**\n * The input value.\n * @default undefined\n */\n value?: string;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: string, e: ChangeEvent<HTMLInputElement>) => void;\n}\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover {\n border-color: ${clr(p.theme.inputHoverColorBorder)};\n }\n }\n `;\n\nconst focusStyles = (p) =>\n !p.disabled &&\n css`\n &:focus-within {\n border-color: ${clr(p.theme.inputFocusColorBorder)};\n box-shadow: 0 0 0 0.15em ${clr(p.theme.inputFocusColorShadow)};\n }\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n color: ${clr(p.theme.inputDisabledColorText)};\n background-color: ${clr(p.theme.inputDisabledColorBg)};\n border-color: ${clr(p.theme.inputDisabledColorBorder)};\n\n input,\n textarea {\n cursor: not-allowed;\n &::placeholder {\n color: ${clr(p.theme.inputDisabledColorPlaceholder)};\n }\n }\n `;\n\ntype InputContainerProps = Pick<InputProps, 'disabled' | 'size'>;\nexport const InputContainer = styled(\n 'div',\n omitEmotionProps('disabled', 'size')\n)<InputContainerProps>`\n ${resetFocusStyles};\n\n display: inline-flex;\n width: 100%;\n height: ${(p) => p.theme.baseHeight}em;\n box-sizing: border-box;\n background-color: ${(p) => clr(p.theme.inputColorBg)};\n\n border: ${(p) => p.theme.inputBorderWidth}px solid\n ${(p) => clr(p.theme.inputColorBorder)};\n border-radius: ${(p) => p.theme.borderRadius}em;\n\n ${hoverStyles};\n ${focusStyles};\n ${disabledStyles};\n ${sizeStyles};\n ${transitionStyles('border-color', 'box-shadow')};\n`;\n\nconst notHasLeftStyles = (p) =>\n !p.hasLeft &&\n css`\n padding-left: ${p.theme.inputPaddingHorizontal}em;\n `;\n\nconst notHasRightStyles = (p) =>\n !p.hasRight &&\n css`\n padding-right: ${p.theme.inputPaddingHorizontal}em;\n `;\n\ninterface StyledInputProps {\n hasLeft?: boolean;\n hasRight?: boolean;\n}\nexport const StyledInput = styled(\n 'input',\n omitEmotionProps('hasLeft', 'hasRight')\n)<StyledInputProps>`\n ${resetFocusStyles};\n appearance: none;\n border: none;\n font-size: 1em;\n flex: 1;\n overflow: hidden;\n\n color: ${(p) => clr(p.theme.inputColorText)};\n background-color: transparent;\n\n &::placeholder {\n color: ${(p) => clr(p.theme.inputColorPlaceholder)};\n }\n\n ${notHasLeftStyles};\n ${notHasRightStyles};\n`;\n\ninterface AddonProps {\n hasPadding: boolean;\n}\nconst Addon = styled('span', omitEmotionProps('hasPadding'))<AddonProps>`\n display: flex;\n align-items: center;\n user-select: none;\n color: ${(p) => clr(p.theme.inputColorPlaceholder)};\n\n svg {\n transform: scale(1.2);\n }\n`;\n\nconst LeftAddon = styled(Addon)`\n padding-right: ${(p) => p.theme.inputAddonPaddingHorizontal}em;\n ${(p) =>\n p.hasPadding &&\n css`\n padding-left: ${p.theme.inputPaddingHorizontal}em;\n `}\n`;\n\nconst RightAddon = styled(Addon)`\n padding-left: ${(p) => p.theme.inputAddonPaddingHorizontal}em;\n ${(p) =>\n p.hasPadding &&\n css`\n padding-right: ${p.theme.inputPaddingHorizontal}em;\n `}\n`;\n\n/**\n * The basic input component.\n */\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n type = 'text',\n left,\n leftHasPadding = false,\n right,\n rightHasPadding = false,\n disabled = false,\n loading = false,\n containerRef,\n containerProps = {},\n size,\n value,\n onChange = () => {},\n ...rest\n },\n ref\n ) => {\n const [innerContainerRef, mergedContainerRef] =\n useForwardedRef(containerRef);\n\n const rightValue = useMemo(\n () => (loading ? <Loading /> : right),\n [loading, right]\n );\n\n const rightHasPaddingValue = useMemo(\n () => (loading ? true : rightHasPadding),\n [loading, rightHasPadding]\n );\n\n const onFocus = useCallback<FocusEventHandler>(\n (e) => {\n // Focus the next element if the container element was focused.\n // The next element will be the input or button in the addon.\n if (disabled || e.target !== innerContainerRef.current) return;\n const focusableElements = getFocusableElements(\n innerContainerRef.current\n );\n focusableElements[0].focus();\n },\n [disabled, innerContainerRef]\n );\n\n const onKeyDown = useCallback<KeyboardEventHandler>(\n (e) => {\n // Focus the previous element if the first element in the input\n // container is focused and the Shift + Tab combination is pressed.\n const focusableElements = getFocusableElements(document);\n const inputFocusableElements = innerContainerRef.current\n ? getFocusableElements(innerContainerRef.current)\n : [];\n const firstInputElementIsFocused =\n inputFocusableElements[0] === document.activeElement;\n if (firstInputElementIsFocused && e.key === 'Tab' && e.shiftKey) {\n const inputContainerIndex = focusableElements.findIndex(\n (el) => el === innerContainerRef.current\n );\n if (inputContainerIndex === 0) return;\n const elementBeforeInputContainer =\n focusableElements[inputContainerIndex - 1];\n elementBeforeInputContainer.focus();\n }\n },\n [innerContainerRef]\n );\n\n return (\n <InputContainer\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n ref={mergedContainerRef}\n {...containerProps}\n >\n {left && (\n <ThemeOverrider overrides={{ buttonPaddingHorizontal: 0.8 }}>\n <LeftAddon hasPadding={leftHasPadding}>{left}</LeftAddon>\n </ThemeOverrider>\n )}\n\n <StyledInput\n type={type}\n disabled={disabled}\n hasLeft={!!left}\n hasRight={!!right}\n value={value || ''}\n onChange={(e) => onChange(e.target.value, e)}\n {...rest}\n ref={ref}\n />\n\n {rightValue && (\n <ThemeOverrider overrides={{ buttonPaddingHorizontal: 0.8 }}>\n <RightAddon hasPadding={rightHasPaddingValue}>\n {rightValue}\n </RightAddon>\n </ThemeOverrider>\n )}\n </InputContainer>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport default Input;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["css","styled","Loading","resetFocusStyles","sizeStyles","transitionStyles","clr","ThemeOverrider","omitEmotionProps","useForwardedRef","React","forwardRef","useCallback","useMemo","getFocusableElements","hoverStyles","p","disabled","theme","inputHoverColorBorder","focusStyles","inputFocusColorBorder","inputFocusColorShadow","disabledStyles","inputDisabledColorText","inputDisabledColorBg","inputDisabledColorBorder","inputDisabledColorPlaceholder","InputContainer","baseHeight","inputColorBg","inputBorderWidth","inputColorBorder","borderRadius","notHasLeftStyles","hasLeft","inputPaddingHorizontal","notHasRightStyles","hasRight","hideSpinButton","StyledInput","inputColorText","inputColorPlaceholder","Addon","LeftAddon","inputAddonPaddingHorizontal","hasPadding","RightAddon","Input","type","left","leftHasPadding","right","rightHasPadding","loading","containerRef","containerProps","size","value","onChange","rest","ref","innerContainerRef","mergedContainerRef","rightValue","createElement","rightHasPaddingValue","onFocus","e","target","current","focusableElements","focus","onKeyDown","document","inputFocusableElements","firstInputElementIsFocused","activeElement","key","shiftKey","inputContainerIndex","findIndex","el","elementBeforeInputContainer","_extends","tabIndex","overrides","buttonPaddingHorizontal","displayName"],"sources":["../../../src/Input/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Loading } from '@os-design/icons';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { clr, ThemeOverrider } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedRef } from '@os-design/utils';\nimport React, {\n ChangeEvent,\n FocusEventHandler,\n ForwardedRef,\n forwardRef,\n KeyboardEventHandler,\n useCallback,\n useMemo,\n} from 'react';\nimport getFocusableElements from './utils/getFocusableElements';\n\ntype JsxInputProps = Omit<\n JSX.IntrinsicElements['input'],\n 'value' | 'onChange' | 'size' | 'ref'\n>;\nexport interface InputProps extends JsxInputProps, WithSize {\n /**\n * Type of the input.\n * @default text\n */\n type?: JsxInputProps['type'];\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * Adds padding to the left component.\n * It can be useful when passing an icon or text in the left component.\n * @default false\n */\n leftHasPadding?: boolean;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Adds padding to the right component.\n * It can be useful when passing an icon or text in the right component.\n * @default false\n */\n rightHasPadding?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Shows the loading status.\n * @default false\n */\n loading?: boolean;\n /**\n * The ref of the input container.\n * @default undefined\n */\n containerRef?: ForwardedRef<HTMLDivElement>;\n /**\n * The props of the input container.\n * @default undefined\n */\n containerProps?: JSX.IntrinsicElements['div'];\n /**\n * The input value.\n * @default undefined\n */\n value?: string;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: string, e: ChangeEvent<HTMLInputElement>) => void;\n}\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover {\n border-color: ${clr(p.theme.inputHoverColorBorder)};\n }\n }\n `;\n\nconst focusStyles = (p) =>\n !p.disabled &&\n css`\n &:focus-within {\n border-color: ${clr(p.theme.inputFocusColorBorder)};\n box-shadow: 0 0 0 0.15em ${clr(p.theme.inputFocusColorShadow)};\n }\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n color: ${clr(p.theme.inputDisabledColorText)};\n background-color: ${clr(p.theme.inputDisabledColorBg)};\n border-color: ${clr(p.theme.inputDisabledColorBorder)};\n\n input,\n textarea {\n cursor: not-allowed;\n &::placeholder {\n color: ${clr(p.theme.inputDisabledColorPlaceholder)};\n }\n }\n `;\n\ntype InputContainerProps = Pick<InputProps, 'disabled' | 'size'>;\nexport const InputContainer = styled(\n 'div',\n omitEmotionProps('disabled', 'size')\n)<InputContainerProps>`\n ${resetFocusStyles};\n\n display: inline-flex;\n width: 100%;\n height: ${(p) => p.theme.baseHeight}em;\n box-sizing: border-box;\n background-color: ${(p) => clr(p.theme.inputColorBg)};\n\n border: ${(p) => p.theme.inputBorderWidth}px solid\n ${(p) => clr(p.theme.inputColorBorder)};\n border-radius: ${(p) => p.theme.borderRadius}em;\n\n ${hoverStyles};\n ${focusStyles};\n ${disabledStyles};\n ${sizeStyles};\n ${transitionStyles('border-color', 'box-shadow')};\n`;\n\nconst notHasLeftStyles = (p) =>\n !p.hasLeft &&\n css`\n padding-left: ${p.theme.inputPaddingHorizontal}em;\n `;\n\nconst notHasRightStyles = (p) =>\n !p.hasRight &&\n css`\n padding-right: ${p.theme.inputPaddingHorizontal}em;\n `;\n\nconst hideSpinButton = css`\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n /* Firefox */\n appearance: textfield;\n`;\n\ninterface StyledInputProps {\n hasLeft?: boolean;\n hasRight?: boolean;\n}\nexport const StyledInput = styled(\n 'input',\n omitEmotionProps('hasLeft', 'hasRight')\n)<StyledInputProps>`\n ${resetFocusStyles};\n border: none;\n font-size: 1em;\n flex: 1;\n overflow: hidden;\n\n color: ${(p) => clr(p.theme.inputColorText)};\n background-color: transparent;\n\n &::placeholder {\n color: ${(p) => clr(p.theme.inputColorPlaceholder)};\n }\n\n ${hideSpinButton};\n ${notHasLeftStyles};\n ${notHasRightStyles};\n`;\n\ninterface AddonProps {\n hasPadding: boolean;\n}\nconst Addon = styled('span', omitEmotionProps('hasPadding'))<AddonProps>`\n display: flex;\n align-items: center;\n user-select: none;\n color: ${(p) => clr(p.theme.inputColorPlaceholder)};\n\n svg {\n transform: scale(1.2);\n }\n`;\n\nconst LeftAddon = styled(Addon)`\n padding-right: ${(p) => p.theme.inputAddonPaddingHorizontal}em;\n ${(p) =>\n p.hasPadding &&\n css`\n padding-left: ${p.theme.inputPaddingHorizontal}em;\n `}\n`;\n\nconst RightAddon = styled(Addon)`\n padding-left: ${(p) => p.theme.inputAddonPaddingHorizontal}em;\n ${(p) =>\n p.hasPadding &&\n css`\n padding-right: ${p.theme.inputPaddingHorizontal}em;\n `}\n`;\n\n/**\n * The basic input component.\n */\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n type = 'text',\n left,\n leftHasPadding = false,\n right,\n rightHasPadding = false,\n disabled = false,\n loading = false,\n containerRef,\n containerProps = {},\n size,\n value,\n onChange = () => {},\n ...rest\n },\n ref\n ) => {\n const [innerContainerRef, mergedContainerRef] =\n useForwardedRef(containerRef);\n\n const rightValue = useMemo(\n () => (loading ? <Loading /> : right),\n [loading, right]\n );\n\n const rightHasPaddingValue = useMemo(\n () => (loading ? true : rightHasPadding),\n [loading, rightHasPadding]\n );\n\n const onFocus = useCallback<FocusEventHandler>(\n (e) => {\n // Focus the next element if the container element was focused.\n // The next element will be the input or button in the addon.\n if (disabled || e.target !== innerContainerRef.current) return;\n const focusableElements = getFocusableElements(\n innerContainerRef.current\n );\n focusableElements[0].focus();\n },\n [disabled, innerContainerRef]\n );\n\n const onKeyDown = useCallback<KeyboardEventHandler>(\n (e) => {\n // Focus the previous element if the first element in the input\n // container is focused and the Shift + Tab combination is pressed.\n const focusableElements = getFocusableElements(document);\n const inputFocusableElements = innerContainerRef.current\n ? getFocusableElements(innerContainerRef.current)\n : [];\n const firstInputElementIsFocused =\n inputFocusableElements[0] === document.activeElement;\n if (firstInputElementIsFocused && e.key === 'Tab' && e.shiftKey) {\n const inputContainerIndex = focusableElements.findIndex(\n (el) => el === innerContainerRef.current\n );\n if (inputContainerIndex === 0) return;\n const elementBeforeInputContainer =\n focusableElements[inputContainerIndex - 1];\n elementBeforeInputContainer.focus();\n }\n },\n [innerContainerRef]\n );\n\n return (\n <InputContainer\n disabled={disabled}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n ref={mergedContainerRef}\n {...containerProps}\n >\n {left && (\n <ThemeOverrider overrides={{ buttonPaddingHorizontal: 0.8 }}>\n <LeftAddon hasPadding={leftHasPadding}>{left}</LeftAddon>\n </ThemeOverrider>\n )}\n\n <StyledInput\n type={type}\n disabled={disabled}\n hasLeft={!!left}\n hasRight={!!right}\n value={value || ''}\n onChange={(e) => onChange(e.target.value, e)}\n {...rest}\n ref={ref}\n />\n\n {rightValue && (\n <ThemeOverrider overrides={{ buttonPaddingHorizontal: 0.8 }}>\n <RightAddon hasPadding={rightHasPaddingValue}>\n {rightValue}\n </RightAddon>\n </ThemeOverrider>\n )}\n </InputContainer>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport default Input;\n"],"mappings":"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"}
|
package/dist/esm/List/index.js
CHANGED
|
@@ -41,7 +41,7 @@ const List = /*#__PURE__*/forwardRef(({
|
|
|
41
41
|
const paddingTopSize = useMemo(() => ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) + paddingTop) * fontSize, [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]);
|
|
42
42
|
const paddingBottomSize = useMemo(() => ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) + paddingBottom) * fontSize + safeAreaInset.bottom, [hasNavigation, theme.navigationTabHeight, isMinMd, paddingBottom, fontSize, safeAreaInset.bottom]);
|
|
43
43
|
const height = useMemo(() => heightProp || size.height, [heightProp, size.height]);
|
|
44
|
-
const
|
|
44
|
+
const loadNext = useRWLoadNext({
|
|
45
45
|
itemCount,
|
|
46
46
|
threshold,
|
|
47
47
|
itemSize,
|
|
@@ -54,8 +54,8 @@ const List = /*#__PURE__*/forwardRef(({
|
|
|
54
54
|
}) => {
|
|
55
55
|
// Set the scroll position to the list
|
|
56
56
|
if (listRef.current) listRef.current.scrollTo(top);
|
|
57
|
-
|
|
58
|
-
}, [listRef,
|
|
57
|
+
loadNext(top);
|
|
58
|
+
}, [listRef, loadNext]);
|
|
59
59
|
|
|
60
60
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
61
|
const InnerElement = useCallback(({
|
|
@@ -93,9 +93,9 @@ const List = /*#__PURE__*/forwardRef(({
|
|
|
93
93
|
overscanCount: overscanCount,
|
|
94
94
|
onScroll: heightProp ? ({
|
|
95
95
|
scrollOffset
|
|
96
|
-
}) =>
|
|
96
|
+
}) => loadNext(scrollOffset) : undefined,
|
|
97
97
|
innerElementType: itemCount > 0 ? InnerElement : EmptyComponent
|
|
98
|
-
}, rest), listChildren), [EmptyComponent, InnerElement, height, heightProp, itemCount, itemSize, listChildren,
|
|
98
|
+
}, rest), listChildren), [EmptyComponent, InnerElement, height, heightProp, itemCount, itemSize, listChildren, loadNext, mergedListRef, overscanCount, rest, style]);
|
|
99
99
|
if (heightProp) {
|
|
100
100
|
return renderList();
|
|
101
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useIsMinWidth","useTheme","useFontSize","useForwardedRef","useSafeAreaInset","useSize","React","forwardRef","useCallback","useContext","useMemo","FixedSizeList","LayoutContext","WindowScroller","useRWLoadNext","List","itemCount","itemHeight","threshold","overscanCount","height","heightProp","paddingTop","paddingBottom","style","empty","onLoadNext","itemRenderer","rest","ref","listRef","mergedListRef","size","fontSize","document","body","hasNavigation","hasPageHeader","theme","isMinMd","safeAreaInset","itemSize","paddingTopSize","pageHeaderHeight","paddingBottomSize","navigationTabHeight","bottom","loadNextHandler","windowScrollHandler","top","current","scrollTo","InnerElement","innerStyle","innerRest","createElement","_extends","parseFloat","listChildren","childrenStyle","childrenRest","toString","EmptyComponent","Fragment","renderList","width","onScroll","scrollOffset","undefined","innerElementType","displayName","default"],"sources":["../../../src/List/index.tsx"],"sourcesContent":["import { useIsMinWidth } from '@os-design/media';\nimport { useTheme } from '@os-design/theming';\nimport {\n useFontSize,\n useForwardedRef,\n useSafeAreaInset,\n useSize,\n} from '@os-design/utils';\nimport React, {\n CSSProperties,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n FixedSizeList,\n ListChildComponentProps,\n ListProps as RWListProps,\n} from 'react-window';\nimport LayoutContext from '../Layout/LayoutContext';\nimport WindowScroller, { ScrollPosition } from './WindowScroller';\nimport useRWLoadNext from './utils/useRWLoadNext';\n\nexport interface ListProps extends Partial<RWListProps> {\n /**\n * Total number of items in the list.\n */\n itemCount: number;\n /**\n * The item height in em.\n * @default 4\n */\n itemHeight?: number;\n /**\n * A threshold N means that the onLoadNext function calls when a user scrolls all items except N.\n * @default 10\n */\n threshold?: number;\n /**\n * Defines how many items outside of the visible \"window\" to render at all times.\n * @default 10\n */\n overscanCount?: number;\n /**\n * The height of the list in px.\n * @default undefined\n */\n height?: number;\n /**\n * The top padding in em.\n * @default 0\n */\n paddingTop?: number;\n /**\n * The bottom padding in em.\n * @default 0\n */\n paddingBottom?: number;\n /**\n * The inline css style.\n * @default undefined\n */\n style?: CSSProperties;\n /**\n * The component that renders if the list is empty.\n * @default undefined\n */\n empty?: React.ReactNode;\n /**\n * The callback to load more items.\n * @default undefined\n */\n onLoadNext?: () => void;\n /**\n * The callback to render items.\n * @default () => null\n */\n itemRenderer?: React.FC<ListChildComponentProps>;\n}\n\n/**\n * Virtualized list.\n * Used the react-window library.\n */\nconst List = forwardRef<FixedSizeList, ListProps>(\n (\n {\n itemCount,\n itemHeight = 4,\n threshold = 10,\n overscanCount = 10,\n height: heightProp,\n paddingTop = 0,\n paddingBottom = 0,\n style = {},\n empty,\n onLoadNext = () => {},\n itemRenderer = () => null,\n ...rest\n },\n ref\n ) => {\n const [listRef, mergedListRef] = useForwardedRef(ref);\n const size = useSize();\n const fontSize = useFontSize(document.body);\n const { hasNavigation, hasPageHeader } = useContext(LayoutContext);\n const { theme } = useTheme();\n const isMinMd = useIsMinWidth('md');\n const safeAreaInset = useSafeAreaInset();\n\n const itemSize = useMemo(\n () => itemHeight * fontSize,\n [itemHeight, fontSize]\n );\n\n const paddingTopSize = useMemo(\n () =>\n ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) +\n paddingTop) *\n fontSize,\n [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]\n );\n\n const paddingBottomSize = useMemo(\n () =>\n ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) +\n paddingBottom) *\n fontSize +\n safeAreaInset.bottom,\n [\n hasNavigation,\n theme.navigationTabHeight,\n isMinMd,\n paddingBottom,\n fontSize,\n safeAreaInset.bottom,\n ]\n );\n\n const height = useMemo(\n () => heightProp || size.height,\n [heightProp, size.height]\n );\n\n const loadNextHandler = useRWLoadNext({\n itemCount,\n threshold,\n itemSize,\n paddingTop: paddingTopSize,\n height,\n onLoadNext,\n });\n\n const windowScrollHandler = useCallback(\n ({ top }: ScrollPosition) => {\n // Set the scroll position to the list\n if (listRef.current) listRef.current.scrollTo(top);\n loadNextHandler(top);\n },\n [listRef, loadNextHandler]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InnerElement = useCallback(\n ({ style: innerStyle, ...innerRest }) => (\n <div\n style={{\n ...innerStyle,\n height: `${\n parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize\n }px`,\n }}\n {...innerRest}\n />\n ),\n [paddingBottomSize, paddingTopSize]\n );\n\n const listChildren = useCallback<RWListProps['children']>(\n ({ style: childrenStyle, ...childrenRest }) =>\n itemRenderer({\n style: {\n ...childrenStyle,\n top: `${\n parseFloat(\n childrenStyle.top ? childrenStyle.top.toString() : '0'\n ) + paddingTopSize\n }px`,\n },\n ...childrenRest,\n }),\n [itemRenderer, paddingTopSize]\n );\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n const EmptyComponent = useCallback(() => <>{empty}</>, [empty]);\n\n const renderList = useCallback(\n () => (\n <FixedSizeList\n ref={mergedListRef}\n itemCount={itemCount}\n width='100%'\n height={height}\n itemSize={itemSize}\n style={heightProp ? style : { ...style, height: '100% important!' }}\n overscanCount={overscanCount}\n onScroll={\n heightProp\n ? ({ scrollOffset }) => loadNextHandler(scrollOffset)\n : undefined\n }\n innerElementType={itemCount > 0 ? InnerElement : EmptyComponent}\n {...rest}\n >\n {listChildren}\n </FixedSizeList>\n ),\n [\n EmptyComponent,\n InnerElement,\n height,\n heightProp,\n itemCount,\n itemSize,\n listChildren,\n loadNextHandler,\n mergedListRef,\n overscanCount,\n rest,\n style,\n ]\n );\n\n if (heightProp) {\n return renderList();\n }\n\n return (\n <WindowScroller onScroll={windowScrollHandler}>\n {renderList()}\n </WindowScroller>\n );\n }\n);\n\nList.displayName = 'List';\n\nexport { default as WindowScroller } from './WindowScroller';\nexport { default as useRWLoadNext } from './utils/useRWLoadNext';\n\nexport default List;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useIsMinWidth","useTheme","useFontSize","useForwardedRef","useSafeAreaInset","useSize","React","forwardRef","useCallback","useContext","useMemo","FixedSizeList","LayoutContext","WindowScroller","useRWLoadNext","List","itemCount","itemHeight","threshold","overscanCount","height","heightProp","paddingTop","paddingBottom","style","empty","onLoadNext","itemRenderer","rest","ref","listRef","mergedListRef","size","fontSize","document","body","hasNavigation","hasPageHeader","theme","isMinMd","safeAreaInset","itemSize","paddingTopSize","pageHeaderHeight","paddingBottomSize","navigationTabHeight","bottom","loadNext","windowScrollHandler","top","current","scrollTo","InnerElement","innerStyle","innerRest","createElement","_extends","parseFloat","listChildren","childrenStyle","childrenRest","toString","EmptyComponent","Fragment","renderList","width","onScroll","scrollOffset","undefined","innerElementType","displayName","default"],"sources":["../../../src/List/index.tsx"],"sourcesContent":["import { useIsMinWidth } from '@os-design/media';\nimport { useTheme } from '@os-design/theming';\nimport {\n useFontSize,\n useForwardedRef,\n useSafeAreaInset,\n useSize,\n} from '@os-design/utils';\nimport React, {\n CSSProperties,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n FixedSizeList,\n ListChildComponentProps,\n ListProps as RWListProps,\n} from 'react-window';\nimport LayoutContext from '../Layout/LayoutContext';\nimport WindowScroller, { ScrollPosition } from './WindowScroller';\nimport useRWLoadNext from './utils/useRWLoadNext';\n\nexport interface ListProps extends Partial<RWListProps> {\n /**\n * Total number of items in the list.\n */\n itemCount: number;\n /**\n * The item height in em.\n * @default 4\n */\n itemHeight?: number;\n /**\n * A threshold N means that the onLoadNext function calls when a user scrolls all items except N.\n * @default 10\n */\n threshold?: number;\n /**\n * Defines how many items outside of the visible \"window\" to render at all times.\n * @default 10\n */\n overscanCount?: number;\n /**\n * The height of the list in px.\n * @default undefined\n */\n height?: number;\n /**\n * The top padding in em.\n * @default 0\n */\n paddingTop?: number;\n /**\n * The bottom padding in em.\n * @default 0\n */\n paddingBottom?: number;\n /**\n * The inline css style.\n * @default undefined\n */\n style?: CSSProperties;\n /**\n * The component that renders if the list is empty.\n * @default undefined\n */\n empty?: React.ReactNode;\n /**\n * The callback to load more items.\n * @default undefined\n */\n onLoadNext?: () => void;\n /**\n * The callback to render items.\n * @default () => null\n */\n itemRenderer?: React.FC<ListChildComponentProps>;\n}\n\n/**\n * Virtualized list.\n * Used the react-window library.\n */\nconst List = forwardRef<FixedSizeList, ListProps>(\n (\n {\n itemCount,\n itemHeight = 4,\n threshold = 10,\n overscanCount = 10,\n height: heightProp,\n paddingTop = 0,\n paddingBottom = 0,\n style = {},\n empty,\n onLoadNext = () => {},\n itemRenderer = () => null,\n ...rest\n },\n ref\n ) => {\n const [listRef, mergedListRef] = useForwardedRef(ref);\n const size = useSize();\n const fontSize = useFontSize(document.body);\n const { hasNavigation, hasPageHeader } = useContext(LayoutContext);\n const { theme } = useTheme();\n const isMinMd = useIsMinWidth('md');\n const safeAreaInset = useSafeAreaInset();\n\n const itemSize = useMemo(\n () => itemHeight * fontSize,\n [itemHeight, fontSize]\n );\n\n const paddingTopSize = useMemo(\n () =>\n ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) +\n paddingTop) *\n fontSize,\n [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]\n );\n\n const paddingBottomSize = useMemo(\n () =>\n ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) +\n paddingBottom) *\n fontSize +\n safeAreaInset.bottom,\n [\n hasNavigation,\n theme.navigationTabHeight,\n isMinMd,\n paddingBottom,\n fontSize,\n safeAreaInset.bottom,\n ]\n );\n\n const height = useMemo(\n () => heightProp || size.height,\n [heightProp, size.height]\n );\n\n const loadNext = useRWLoadNext({\n itemCount,\n threshold,\n itemSize,\n paddingTop: paddingTopSize,\n height,\n onLoadNext,\n });\n\n const windowScrollHandler = useCallback(\n ({ top }: ScrollPosition) => {\n // Set the scroll position to the list\n if (listRef.current) listRef.current.scrollTo(top);\n loadNext(top);\n },\n [listRef, loadNext]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InnerElement = useCallback(\n ({ style: innerStyle, ...innerRest }) => (\n <div\n style={{\n ...innerStyle,\n height: `${\n parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize\n }px`,\n }}\n {...innerRest}\n />\n ),\n [paddingBottomSize, paddingTopSize]\n );\n\n const listChildren = useCallback<RWListProps['children']>(\n ({ style: childrenStyle, ...childrenRest }) =>\n itemRenderer({\n style: {\n ...childrenStyle,\n top: `${\n parseFloat(\n childrenStyle.top ? childrenStyle.top.toString() : '0'\n ) + paddingTopSize\n }px`,\n },\n ...childrenRest,\n }),\n [itemRenderer, paddingTopSize]\n );\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n const EmptyComponent = useCallback(() => <>{empty}</>, [empty]);\n\n const renderList = useCallback(\n () => (\n <FixedSizeList\n ref={mergedListRef}\n itemCount={itemCount}\n width='100%'\n height={height}\n itemSize={itemSize}\n style={heightProp ? style : { ...style, height: '100% important!' }}\n overscanCount={overscanCount}\n onScroll={\n heightProp\n ? ({ scrollOffset }) => loadNext(scrollOffset)\n : undefined\n }\n innerElementType={itemCount > 0 ? InnerElement : EmptyComponent}\n {...rest}\n >\n {listChildren}\n </FixedSizeList>\n ),\n [\n EmptyComponent,\n InnerElement,\n height,\n heightProp,\n itemCount,\n itemSize,\n listChildren,\n loadNext,\n mergedListRef,\n overscanCount,\n rest,\n style,\n ]\n );\n\n if (heightProp) {\n return renderList();\n }\n\n return (\n <WindowScroller onScroll={windowScrollHandler}>\n {renderList()}\n </WindowScroller>\n );\n }\n);\n\nList.displayName = 'List';\n\nexport { default as WindowScroller } from './WindowScroller';\nexport { default as useRWLoadNext } from './utils/useRWLoadNext';\n\nexport default List;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Input/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,EACZ,WAAW,EAEX,YAAY,EAKb,MAAM,OAAO,CAAC;AAGf,KAAK,aAAa,GAAG,IAAI,CACvB,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAC9B,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CACtC,CAAC;AACF,MAAM,WAAW,UAAW,SAAQ,aAAa,EAAE,QAAQ;IAKzD,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAK7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAKlB,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAK5C,cAAc,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAK9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CACtE;AAsCD,KAAK,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;AACjE,eAAO,MAAM,cAAc;;;2GAqB1B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Input/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,EACZ,WAAW,EAEX,YAAY,EAKb,MAAM,OAAO,CAAC;AAGf,KAAK,aAAa,GAAG,IAAI,CACvB,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAC9B,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CACtC,CAAC;AACF,MAAM,WAAW,UAAW,SAAQ,aAAa,EAAE,QAAQ;IAKzD,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAK7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMvB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAK1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAKlB,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAK5C,cAAc,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAK9C,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CACtE;AAsCD,KAAK,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;AACjE,eAAO,MAAM,cAAc;;;2GAqB1B,CAAC;AAyBF,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,eAAO,MAAM,WAAW;;;iHAoBvB,CAAC;AAqCF,QAAA,MAAM,KAAK,qFAyGV,CAAC;AAIF,eAAe,KAAK,CAAC"}
|
|
@@ -53,59 +53,59 @@ declare const LinkButton: React.ForwardRefExoticComponent<JsxAProps & ReactRoute
|
|
|
53
53
|
unselectable?: "on" | "off" | undefined;
|
|
54
54
|
inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
|
|
55
55
|
is?: string | undefined;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
56
|
+
"aria-activedescendant"?: string | undefined;
|
|
57
|
+
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
58
|
+
"aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
|
|
59
|
+
"aria-braillelabel"?: string | undefined;
|
|
60
|
+
"aria-brailleroledescription"?: string | undefined;
|
|
61
|
+
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
62
|
+
"aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
63
|
+
"aria-colcount"?: number | undefined;
|
|
64
|
+
"aria-colindex"?: number | undefined;
|
|
65
|
+
"aria-colindextext"?: string | undefined;
|
|
66
|
+
"aria-colspan"?: number | undefined;
|
|
67
|
+
"aria-controls"?: string | undefined;
|
|
68
|
+
"aria-current"?: boolean | "time" | "page" | "true" | "false" | "step" | "location" | "date" | undefined;
|
|
69
|
+
"aria-describedby"?: string | undefined;
|
|
70
|
+
"aria-description"?: string | undefined;
|
|
71
|
+
"aria-details"?: string | undefined;
|
|
72
|
+
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
73
|
+
"aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
|
|
74
|
+
"aria-errormessage"?: string | undefined;
|
|
75
|
+
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
76
|
+
"aria-flowto"?: string | undefined;
|
|
77
|
+
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
78
|
+
"aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "listbox" | "tree" | "true" | "false" | undefined;
|
|
79
|
+
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
80
|
+
"aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
|
|
81
|
+
"aria-keyshortcuts"?: string | undefined;
|
|
82
|
+
"aria-label"?: string | undefined;
|
|
83
|
+
"aria-labelledby"?: string | undefined;
|
|
84
|
+
"aria-level"?: number | undefined;
|
|
85
|
+
"aria-live"?: "off" | "assertive" | "polite" | undefined;
|
|
86
|
+
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
87
|
+
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
88
|
+
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
89
|
+
"aria-orientation"?: "horizontal" | "vertical" | undefined;
|
|
90
|
+
"aria-owns"?: string | undefined;
|
|
91
|
+
"aria-placeholder"?: string | undefined;
|
|
92
|
+
"aria-posinset"?: number | undefined;
|
|
93
|
+
"aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
94
|
+
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
95
|
+
"aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
96
|
+
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
97
|
+
"aria-roledescription"?: string | undefined;
|
|
98
|
+
"aria-rowcount"?: number | undefined;
|
|
99
|
+
"aria-rowindex"?: number | undefined;
|
|
100
|
+
"aria-rowindextext"?: string | undefined;
|
|
101
|
+
"aria-rowspan"?: number | undefined;
|
|
102
|
+
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
103
|
+
"aria-setsize"?: number | undefined;
|
|
104
|
+
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
|
|
105
|
+
"aria-valuemax"?: number | undefined;
|
|
106
|
+
"aria-valuemin"?: number | undefined;
|
|
107
|
+
"aria-valuenow"?: number | undefined;
|
|
108
|
+
"aria-valuetext"?: string | undefined;
|
|
109
109
|
children?: React.ReactNode;
|
|
110
110
|
dangerouslySetInnerHTML?: {
|
|
111
111
|
__html: string | TrustedHTML;
|
|
@@ -51,59 +51,59 @@ declare const ThemeSwitcher: React.ForwardRefExoticComponent<{
|
|
|
51
51
|
unselectable?: "on" | "off" | undefined;
|
|
52
52
|
inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
|
|
53
53
|
is?: string | undefined;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
54
|
+
"aria-activedescendant"?: string | undefined;
|
|
55
|
+
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
56
|
+
"aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
|
|
57
|
+
"aria-braillelabel"?: string | undefined;
|
|
58
|
+
"aria-brailleroledescription"?: string | undefined;
|
|
59
|
+
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
60
|
+
"aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
61
|
+
"aria-colcount"?: number | undefined;
|
|
62
|
+
"aria-colindex"?: number | undefined;
|
|
63
|
+
"aria-colindextext"?: string | undefined;
|
|
64
|
+
"aria-colspan"?: number | undefined;
|
|
65
|
+
"aria-controls"?: string | undefined;
|
|
66
|
+
"aria-current"?: boolean | "time" | "page" | "true" | "false" | "step" | "location" | "date" | undefined;
|
|
67
|
+
"aria-describedby"?: string | undefined;
|
|
68
|
+
"aria-description"?: string | undefined;
|
|
69
|
+
"aria-details"?: string | undefined;
|
|
70
|
+
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
71
|
+
"aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
|
|
72
|
+
"aria-errormessage"?: string | undefined;
|
|
73
|
+
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
74
|
+
"aria-flowto"?: string | undefined;
|
|
75
|
+
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
76
|
+
"aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "listbox" | "tree" | "true" | "false" | undefined;
|
|
77
|
+
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
78
|
+
"aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
|
|
79
|
+
"aria-keyshortcuts"?: string | undefined;
|
|
80
|
+
"aria-label"?: string | undefined;
|
|
81
|
+
"aria-labelledby"?: string | undefined;
|
|
82
|
+
"aria-level"?: number | undefined;
|
|
83
|
+
"aria-live"?: "off" | "assertive" | "polite" | undefined;
|
|
84
|
+
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
85
|
+
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
86
|
+
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
87
|
+
"aria-orientation"?: "horizontal" | "vertical" | undefined;
|
|
88
|
+
"aria-owns"?: string | undefined;
|
|
89
|
+
"aria-placeholder"?: string | undefined;
|
|
90
|
+
"aria-posinset"?: number | undefined;
|
|
91
|
+
"aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
92
|
+
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
93
|
+
"aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
94
|
+
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
95
|
+
"aria-roledescription"?: string | undefined;
|
|
96
|
+
"aria-rowcount"?: number | undefined;
|
|
97
|
+
"aria-rowindex"?: number | undefined;
|
|
98
|
+
"aria-rowindextext"?: string | undefined;
|
|
99
|
+
"aria-rowspan"?: number | undefined;
|
|
100
|
+
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
101
|
+
"aria-setsize"?: number | undefined;
|
|
102
|
+
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
|
|
103
|
+
"aria-valuemax"?: number | undefined;
|
|
104
|
+
"aria-valuemin"?: number | undefined;
|
|
105
|
+
"aria-valuenow"?: number | undefined;
|
|
106
|
+
"aria-valuetext"?: string | undefined;
|
|
107
107
|
children?: React.ReactNode;
|
|
108
108
|
dangerouslySetInnerHTML?: {
|
|
109
109
|
__html: string | TrustedHTML;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@os-design/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.221",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"repository": "git@gitlab.com:os-team/libs/os-design.git",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"@emotion/react": ">=11",
|
|
50
50
|
"@emotion/serialize": "*",
|
|
51
51
|
"@emotion/styled": ">=11",
|
|
52
|
-
"@types/facepaint": "^1.2.
|
|
53
|
-
"@types/react-window": "^1.8.
|
|
52
|
+
"@types/facepaint": "^1.2.3",
|
|
53
|
+
"@types/react-window": "^1.8.6"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"@emotion/react": ">=11",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"react": ">=18",
|
|
60
60
|
"react-dom": ">=18"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "077cfdc02330f1dc61f2742ee56e287d57f3ca40"
|
|
63
63
|
}
|