@foxford/ui 2.0.0-beta-e46656e-20220706 → 2.0.0-beta-cda2586-20220706
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/components/Amount/Amount.js +1 -1
- package/components/Amount/Amount.js.map +1 -1
- package/components/Anchor/Anchor.js +1 -1
- package/components/Anchor/Anchor.js.map +1 -1
- package/components/Arrow/Arrow.js +1 -1
- package/components/Arrow/Arrow.js.map +1 -1
- package/components/Avatar/Avatar.js +1 -1
- package/components/Avatar/Avatar.js.map +1 -1
- package/components/Badge/Badge.js +1 -1
- package/components/Badge/Badge.js.map +1 -1
- package/components/Button/Button.js +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Checkbox/Checkbox.js +1 -1
- package/components/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Group.js +1 -1
- package/components/Checkbox/Group.js.map +1 -1
- package/components/Checkbox/style.js +1 -1
- package/components/Checkbox/style.js.map +1 -1
- package/components/Container/Container.js +1 -1
- package/components/Container/Container.js.map +1 -1
- package/components/Container/style.js +1 -1
- package/components/Container/style.js.map +1 -1
- package/components/ContextMenu/ContextMenu.js +1 -1
- package/components/ContextMenu/ContextMenu.js.map +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js +1 -1
- package/components/ContextMenu.Multilevel/ContextMenu.Multilevel.js.map +1 -1
- package/components/Input/Input.js +1 -1
- package/components/Input/Input.js.map +1 -1
- package/components/Input.Phone/Input.Phone.js +1 -1
- package/components/Input.Phone/Input.Phone.js.map +1 -1
- package/components/Modal/Modal.js +1 -1
- package/components/Modal/Modal.js.map +1 -1
- package/components/Modal/adapter.js +1 -1
- package/components/Modal/adapter.js.map +1 -1
- package/components/Paper/Paper.js +1 -1
- package/components/Paper/Paper.js.map +1 -1
- package/components/Radio/Group.js +1 -1
- package/components/Radio/Group.js.map +1 -1
- package/components/Radio/Radio.js +1 -1
- package/components/Radio/Radio.js.map +1 -1
- package/components/Radio/style.js +1 -1
- package/components/Radio/style.js.map +1 -1
- package/components/Scrollable/Scrollable.js +1 -1
- package/components/Scrollable/Scrollable.js.map +1 -1
- package/components/Section/Section.js +1 -1
- package/components/Section/Section.js.map +1 -1
- package/components/Select/Select.js +1 -1
- package/components/Select/Select.js.map +1 -1
- package/components/Separator/Separator.js +1 -1
- package/components/Separator/Separator.js.map +1 -1
- package/components/Separator/SeparatorText.js +1 -1
- package/components/Separator/SeparatorText.js.map +1 -1
- package/components/Spacer/Spacer.js +1 -1
- package/components/Spacer/Spacer.js.map +1 -1
- package/components/Spinner/Spinner.js +1 -1
- package/components/Spinner/Spinner.js.map +1 -1
- package/components/Switcher/Switcher.js +1 -1
- package/components/Switcher/Switcher.js.map +1 -1
- package/components/Tabs/Tab.js +1 -1
- package/components/Tabs/Tab.js.map +1 -1
- package/components/Tag/Tag.js +1 -1
- package/components/Tag/Tag.js.map +1 -1
- package/components/Text/Text.js +1 -1
- package/components/Text/Text.js.map +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js +1 -1
- package/components/Text.Ellipse/Text.Ellipse.js.map +1 -1
- package/components/Text.Heading/Text.Heading.js +1 -1
- package/components/Text.Heading/Text.Heading.js.map +1 -1
- package/components/Textarea/Textarea.js +1 -1
- package/components/Textarea/Textarea.js.map +1 -1
- package/components/Tooltip/Tooltip.js +1 -1
- package/components/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/tooltip-styles.js +1 -1
- package/components/Tooltip/tooltip-styles.js.map +1 -1
- package/hooks/useClassname.js +2 -0
- package/hooks/useClassname.js.map +1 -0
- package/index.cjs.js +1 -1
- package/index.cjs.js.map +1 -1
- package/mixins/shared.js +1 -1
- package/mixins/shared.js.map +1 -1
- package/package.json +8 -5
- package/theme/index.js +1 -1
- package/theme/index.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.Phone.js","sources":["../../../../src/components/Input.Phone/Input.Phone.tsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { InputState } from 'react-input-mask'\nimport { Input, InputProps } from '../Input/Input'\nimport {\n COUNTRY_DATA,\n DEFAULT_MASK,\n INITIAL_MASK,\n REGEXPS,\n RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH,\n} from './constants'\n\nconst onlyNumbers = (value = ''): string => value.replace(REGEXPS.NOT_NUMBERS, '')\n\nexport interface InputPhoneProps extends InputProps {\n /**\n * Settings for different country codes\n */\n countryData?: string[][]\n /**\n * Default field mask that is set when none of the countryData prop matches\n */\n defaultMask?: string\n /**\n * The default field mask when the phone field is empty is required to enable autocomplete in\n * the browser\n */\n initialMask?: string\n /** If event should return stripped phone value (not for redux forms) */\n stripValue?: boolean\n}\n\ninterface InputPhoneState {\n mask: string\n regexp?: RegExp | null\n}\n\n/**\n * Расширен:\n * - `InputProps`\n */\nexport class InputPhone extends PureComponent<typeof InputPhone.defaultProps & InputPhoneProps, InputPhoneState> {\n static displayName = 'Input.Phone'\n static defaultProps = {\n countryData: COUNTRY_DATA,\n defaultMask: DEFAULT_MASK,\n initialMask: INITIAL_MASK,\n placeholder: '+9 (999) 999-99-99',\n ...Input.defaultProps,\n }\n\n autocorrectOf8: boolean\n autocorrectOf9: boolean\n\n constructor(props: typeof InputPhone.defaultProps & InputPhoneProps) {\n super(props)\n\n this.autocorrectOf8 = true\n this.autocorrectOf9 = true\n\n const { mask } = this.getUpdates(props.value || '')\n\n this.state = { mask, regexp: null }\n }\n\n componentDidUpdate(nextProps: InputPhoneProps) {\n const { value } = this.props\n\n if (value !== nextProps.value) {\n this.change(value)\n }\n }\n\n getUpdates = (\n value: InputPhoneProps['value'],\n prevValue: InputPhoneProps['value'] = undefined\n ): {\n mask: string\n numbers: string\n startsFrom8: boolean\n startsFrom9: boolean\n regexp: RegExp | null\n } => {\n const { countryData, defaultMask, initialMask } = this.props\n const numbers = onlyNumbers(value as string)\n\n let mask = initialMask\n let regexp = null\n let startsFrom8 = false\n let startsFrom9 = false\n\n if (!numbers)\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n\n let isRussian = false\n\n for (let i = 0; i < countryData.length; i++) {\n if (numbers.startsWith(countryData[i][1])) {\n ;[, , mask, regexp] = countryData[i]\n isRussian = i === 0 || i === 1\n }\n }\n\n startsFrom8 = isRussian && REGEXPS.FROM_8.test(numbers) && this.autocorrectOf8\n startsFrom9 =\n (!mask || (numbers.length === RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH && prevValue === '')) &&\n this.autocorrectOf9 &&\n REGEXPS.FROM_9.test(numbers)\n\n if (startsFrom8) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf8 = false\n }\n\n if (startsFrom9) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf9 = false\n }\n\n if (!mask) {\n mask = defaultMask\n }\n\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n }\n\n change = (phone: InputPhoneProps['value']) => {\n const { mask } = this.getUpdates(phone)\n\n this.setState({ mask })\n }\n\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n e.persist()\n\n const { onChange, stripValue } = this.props\n\n if (onChange) {\n const _e = e\n if (stripValue) _e.target.value = onlyNumbers(e.target.value)\n onChange(_e)\n }\n }\n\n beforeMaskedValueChange = (newState: InputState, oldState: InputState) => {\n const { mask, numbers, startsFrom8, startsFrom9, regexp } = this.getUpdates(newState.value, oldState.value)\n\n this.setState({ mask, regexp })\n\n /**\n * For the correct caret position, when the user enters 9 in the phone field and it's replaced\n * by '+7 (9'\n */\n if (startsFrom9) {\n return {\n selection: numbers.length === 1 ? { start: 5, end: 5 } : newState.selection,\n value: newState.value.replace(REGEXPS.FROM_9, '+79$1'),\n }\n }\n\n if (startsFrom8) {\n return { selection: { start: 2, end: 2 }, value: newState.value.replace(REGEXPS.FROM_8, '+7$1') }\n }\n\n if (REGEXPS.FILLED.test(oldState.value) && numbers.length === 1) {\n return { selection: { start: 2, end: 2 }, value: newState.value }\n }\n\n return newState\n }\n\n render() {\n const {\n /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */\n countryData,\n defaultMask,\n initialMask,\n stripValue,\n /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */\n ...props\n } = this.props\n const { mask, regexp } = this.state\n\n return (\n <Input\n {...props}\n beforeMaskedValueChange={this.beforeMaskedValueChange}\n mask={mask}\n dataset={{ 'data-regexp': `${regexp || ''}` }}\n onChange={this.handleChange}\n />\n )\n }\n}\n"],"names":["onlyNumbers","t","value","replace","REGEXPS","NOT_NUMBERS","InputPhone","PureComponent","constructor","props","_this","super","this","autocorrectOf8","autocorrectOf9","getUpdates","a","prevValue","undefined","countryData","defaultMask","initialMask","numbers","mask","regexp","startsFrom8","startsFrom9","isRussian","i","length","startsWith","FROM_8","test","RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH","FROM_9","COUNTRY_DATA","change","phone","setState","handleChange","e","persist","onChange","stripValue","_e","target","beforeMaskedValueChange","newState","oldState","selection","start","end","FILLED","state","componentDidUpdate","nextProps","render","_objectWithoutProperties","_excluded","_jsx","Input","_objectSpread","dataset","displayName","defaultProps","DEFAULT_MASK","INITIAL_MASK","placeholder"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Input.Phone.js","sources":["../../../../src/components/Input.Phone/Input.Phone.tsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport { PureComponent } from 'react'\nimport { InputState } from 'react-input-mask'\nimport { Input, InputProps } from '../Input/Input'\nimport {\n COUNTRY_DATA,\n DEFAULT_MASK,\n INITIAL_MASK,\n REGEXPS,\n RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH,\n} from './constants'\n\nconst onlyNumbers = (value = ''): string => value.replace(REGEXPS.NOT_NUMBERS, '')\n\nexport interface InputPhoneProps extends InputProps {\n /**\n * Settings for different country codes\n */\n countryData?: string[][]\n /**\n * Default field mask that is set when none of the countryData prop matches\n */\n defaultMask?: string\n /**\n * The default field mask when the phone field is empty is required to enable autocomplete in\n * the browser\n */\n initialMask?: string\n /** If event should return stripped phone value (not for redux forms) */\n stripValue?: boolean\n}\n\ninterface InputPhoneState {\n mask: string\n regexp?: RegExp | null\n}\n\n/**\n * Расширен:\n * - `InputProps`\n */\nexport class InputPhone extends PureComponent<typeof InputPhone.defaultProps & InputPhoneProps, InputPhoneState> {\n static displayName = 'Input.Phone'\n static defaultProps = {\n countryData: COUNTRY_DATA,\n defaultMask: DEFAULT_MASK,\n initialMask: INITIAL_MASK,\n placeholder: '+9 (999) 999-99-99',\n ...Input.defaultProps,\n }\n\n autocorrectOf8: boolean\n autocorrectOf9: boolean\n\n constructor(props: typeof InputPhone.defaultProps & InputPhoneProps) {\n super(props)\n\n this.autocorrectOf8 = true\n this.autocorrectOf9 = true\n\n const { mask } = this.getUpdates(props.value || '')\n\n this.state = { mask, regexp: null }\n }\n\n componentDidUpdate(nextProps: InputPhoneProps) {\n const { value } = this.props\n\n if (value !== nextProps.value) {\n this.change(value)\n }\n }\n\n getUpdates = (\n value: InputPhoneProps['value'],\n prevValue: InputPhoneProps['value'] = undefined\n ): {\n mask: string\n numbers: string\n startsFrom8: boolean\n startsFrom9: boolean\n regexp: RegExp | null\n } => {\n const { countryData, defaultMask, initialMask } = this.props\n const numbers = onlyNumbers(value as string)\n\n let mask = initialMask\n let regexp = null\n let startsFrom8 = false\n let startsFrom9 = false\n\n if (!numbers)\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n\n let isRussian = false\n\n for (let i = 0; i < countryData.length; i++) {\n if (numbers.startsWith(countryData[i][1])) {\n ;[, , mask, regexp] = countryData[i]\n isRussian = i === 0 || i === 1\n }\n }\n\n startsFrom8 = isRussian && REGEXPS.FROM_8.test(numbers) && this.autocorrectOf8\n startsFrom9 =\n (!mask || (numbers.length === RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH && prevValue === '')) &&\n this.autocorrectOf9 &&\n REGEXPS.FROM_9.test(numbers)\n\n if (startsFrom8) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf8 = false\n }\n\n if (startsFrom9) {\n // RUSSIAN_MASK\n mask = COUNTRY_DATA[0][2]\n\n this.autocorrectOf9 = false\n }\n\n if (!mask) {\n mask = defaultMask\n }\n\n return {\n mask,\n numbers,\n startsFrom8,\n startsFrom9,\n regexp,\n }\n }\n\n change = (phone: InputPhoneProps['value']) => {\n const { mask } = this.getUpdates(phone)\n\n this.setState({ mask })\n }\n\n handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n e.persist()\n\n const { onChange, stripValue } = this.props\n\n if (onChange) {\n const _e = e\n if (stripValue) _e.target.value = onlyNumbers(e.target.value)\n onChange(_e)\n }\n }\n\n beforeMaskedValueChange = (newState: InputState, oldState: InputState) => {\n const { mask, numbers, startsFrom8, startsFrom9, regexp } = this.getUpdates(newState.value, oldState.value)\n\n this.setState({ mask, regexp })\n\n /**\n * For the correct caret position, when the user enters 9 in the phone field and it's replaced\n * by '+7 (9'\n */\n if (startsFrom9) {\n return {\n selection: numbers.length === 1 ? { start: 5, end: 5 } : newState.selection,\n value: newState.value.replace(REGEXPS.FROM_9, '+79$1'),\n }\n }\n\n if (startsFrom8) {\n return { selection: { start: 2, end: 2 }, value: newState.value.replace(REGEXPS.FROM_8, '+7$1') }\n }\n\n if (REGEXPS.FILLED.test(oldState.value) && numbers.length === 1) {\n return { selection: { start: 2, end: 2 }, value: newState.value }\n }\n\n return newState\n }\n\n render() {\n const {\n /* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */\n countryData,\n defaultMask,\n initialMask,\n stripValue,\n /* eslint-enable no-unused-vars, @typescript-eslint/no-unused-vars */\n ...props\n } = this.props\n const { mask, regexp } = this.state\n\n return (\n <Input\n {...props}\n beforeMaskedValueChange={this.beforeMaskedValueChange}\n mask={mask}\n dataset={{ 'data-regexp': `${regexp || ''}` }}\n onChange={this.handleChange}\n />\n )\n }\n}\n"],"names":["onlyNumbers","t","value","replace","REGEXPS","NOT_NUMBERS","InputPhone","PureComponent","constructor","props","_this","super","this","autocorrectOf8","autocorrectOf9","getUpdates","a","prevValue","undefined","countryData","defaultMask","initialMask","numbers","mask","regexp","startsFrom8","startsFrom9","isRussian","i","length","startsWith","FROM_8","test","RUSSIAN_PHONE_WITHOUT_COUNTY_CODE_LENGTH","FROM_9","COUNTRY_DATA","change","phone","setState","handleChange","e","persist","onChange","stripValue","_e","target","beforeMaskedValueChange","newState","oldState","selection","start","end","FILLED","state","componentDidUpdate","nextProps","render","_objectWithoutProperties","_excluded","_jsx","Input","_objectSpread","dataset","displayName","defaultProps","DEFAULT_MASK","INITIAL_MASK","placeholder"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'react-modal';import{ModalClose as
|
|
1
|
+
import e from'react-modal';import{ModalClose as o}from'./Close.js';import{Modal as l}from'./style.js';import{jsx as s}from'react/jsx-runtime';var a;function n(e){var{children:o,closeTimeoutMS:a,contentLabel:n,isOpen:t,onAfterOpen:r,onRequestClose:i,overlayClassName:d,role:m,shouldCloseOnOverlayClick:c,width:p,valign:C,className:u,style:y,zIndex:O}=e;return s(l,{closeTimeoutMS:a,contentLabel:n,isOpen:Boolean(t),onAfterOpen:r,onRequestClose:i,portalClassName:u,overlayClassName:d,bodyOpenClassName:"modal--open",role:m,zIndex:O,valign:C,width:p,shouldCloseOnOverlayClick:c,children:s("div",{style:y,children:o})})}'undefined'!=typeof window&&(a=document.body)&&a instanceof HTMLElement&&e.setAppElement(a),n.defaultProps={closeTimeoutMS:0,zIndex:9e3,contentLabel:'',isOpen:!1,role:'dialog',shouldCloseOnOverlayClick:!0,width:'m',valign:'center',className:'modal'},n.Close=o,n.displayName='Modal';export{n as Modal};
|
|
2
2
|
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import ReactModal, { Classes } from 'react-modal'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ModalClose } from './Close'\nimport * as Styled from './style'\n\nfunction setAppModalElement() {\n const appElement = document.body\n\n if (appElement && appElement instanceof HTMLElement) ReactModal.setAppElement(appElement)\n}\n\
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../src/components/Modal/Modal.tsx"],"sourcesContent":["import ReactModal, { Classes } from 'react-modal'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { ModalClose } from './Close'\nimport * as Styled from './style'\n\nfunction setAppModalElement() {\n const appElement = document.body\n\n if (appElement && appElement instanceof HTMLElement) ReactModal.setAppElement(appElement)\n}\n\n// eslint-disable-next-line prettier/prettier\nif (typeof window !== 'undefined') {\n setAppModalElement()\n}\n\nexport interface ModalProps extends BaseProps, ResponsiveProperty<'width'> {\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Modal class name\n */\n className?: string\n /**\n * Number indicating the milliseconds to wait before closing the modal.\n */\n closeTimeoutMS?: number\n /**\n * String indicating how the content container should be announced to screenreaders\n */\n contentLabel?: string\n /**\n * Boolean describing if the modal should be shown or not.\n */\n isOpen?: boolean\n /**\n * Function that will be run after the modal has opened.\n */\n onAfterOpen?(): void\n /**\n * Function that will be run when the modal is requested to be closed, prior to actually closing.\n */\n onRequestClose?(): void\n /**\n * Custom overlay CSS class name\n */\n overlayClassName?: string | Classes\n /**\n * String indicating the role of the modal, allowing the 'dialog' role to be applied if desired.\n */\n role?: string\n /**\n * Boolean indicating if the overlay should close the modal\n */\n shouldCloseOnOverlayClick?: boolean\n /**\n * Vertical align\n */\n valign?: 'top' | 'center' | 'bottom'\n /**\n * z-index\n */\n zIndex?: number\n}\n\nModal.defaultProps = {\n closeTimeoutMS: 0,\n zIndex: 9000,\n contentLabel: '',\n isOpen: false,\n role: 'dialog',\n shouldCloseOnOverlayClick: true,\n width: 'm',\n valign: 'center',\n className: 'modal',\n}\n\nModal.Close = ModalClose\nModal.displayName = 'Modal'\n\n/**\n * Основан на [react-modal](https://github.com/reactjs/react-modal).\n *\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveProperty<'width'>`](#/Миксины)\n */\nexport function Modal(props: ModalProps) {\n const {\n children,\n closeTimeoutMS,\n contentLabel,\n isOpen,\n onAfterOpen,\n onRequestClose,\n overlayClassName,\n role,\n shouldCloseOnOverlayClick,\n width,\n valign,\n className,\n style,\n zIndex,\n } = props\n\n return (\n <Styled.Modal\n closeTimeoutMS={closeTimeoutMS}\n contentLabel={contentLabel}\n isOpen={Boolean(isOpen)}\n onAfterOpen={onAfterOpen}\n onRequestClose={onRequestClose}\n portalClassName={className}\n overlayClassName={overlayClassName}\n bodyOpenClassName='modal--open'\n role={role}\n zIndex={zIndex}\n valign={valign}\n width={width}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n >\n <div style={style}>{children}</div>\n </Styled.Modal>\n )\n}\n"],"names":["appElement","Modal","props","children","closeTimeoutMS","contentLabel","isOpen","onAfterOpen","onRequestClose","overlayClassName","role","shouldCloseOnOverlayClick","width","valign","className","style","zIndex","_jsx","Styled.Modal","Boolean","portalClassName","bodyOpenClassName","window","document","body","HTMLElement","ReactModal","setAppElement","defaultProps","Close","ModalClose","displayName"],"mappings":"8IAMA,IACQA,EAsFD,SAASC,EAAMC,GACpB,IAAMC,SACJA,EADIC,eAEJA,EAFIC,aAGJA,EAHIC,OAIJA,EAJIC,YAKJA,EALIC,eAMJA,EANIC,iBAOJA,EAPIC,KAQJA,EARIC,0BASJA,EATIC,MAUJA,EAVIC,OAWJA,EAXIC,UAYJA,EAZIC,MAaJA,EAbIC,OAcJA,GACEd,EAEJ,OACEe,EAACC,EAAD,CACEd,eAAgBA,EAChBC,aAAcA,EACdC,OAAQa,QAAQb,GAChBC,YAAaA,EACbC,eAAgBA,EAChBY,gBAAiBN,EACjBL,iBAAkBA,EAClBY,kBAAkB,cAClBX,KAAMA,EACNM,OAAQA,EACRH,OAAQA,EACRD,MAAOA,EACPD,0BAA2BA,EAb7BR,SAeEc,EAAA,MAAA,CAAKF,MAAOA,EAAZZ,SAAoBA,MAlHJ,oBAAXmB,SANHtB,EAAauB,SAASC,OAEVxB,aAAsByB,aAAaC,EAAWC,cAAc3B,GA8DhFC,EAAM2B,aAAe,CACnBxB,eAAgB,EAChBY,OAAQ,IACRX,aAAc,GACdC,QAAAA,EACAI,KAAM,SACNC,2BAAAA,EACAC,MAAO,IACPC,OAAQ,SACRC,UAAW,SAGbb,EAAM4B,MAAQC,EACd7B,EAAM8B,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import r from'react-modal';import o from'clsx';import{jsx as s}from'react/jsx-runtime';var t=["className","isOpen","overlayClassName","style"];var l=l=>{var{className:m,isOpen:p,overlayClassName:c}=l,i=e(l,t);var n="".concat(m,"__content");var v="".concat(m,"__overlay");return s(r,a({portalClassName:m,className:n,isOpen:Boolean(p),overlayClassName:o(v,c)},i))};export{l as ReactModalAdapter};
|
|
2
2
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sources":["../../../../src/components/Modal/adapter.tsx"],"sourcesContent":["import ReactModal from 'react-modal'\nimport cx from 'clsx'\nimport { ModalProps } from './Modal'\n\nexport const ReactModalAdapter: React.FC<ModalProps> = ({\n className,\n isOpen,\n overlayClassName,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n style: _style,\n ...props\n}: ModalProps) => {\n const contentClassName = `${className}__content`\n const overlayClassNameLocal = `${className}__overlay`\n\n return (\n <ReactModal\n portalClassName={className}\n className={contentClassName}\n isOpen={Boolean(isOpen)}\n overlayClassName={cx(overlayClassNameLocal, overlayClassName)}\n {...props}\n />\n )\n}\n"],"names":["ReactModalAdapter","_ref","className","isOpen","overlayClassName","props","_objectWithoutProperties","_excluded","contentClassName","overlayClassNameLocal","_jsx","ReactModal","_objectSpread","portalClassName","Boolean","cx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sources":["../../../../src/components/Modal/adapter.tsx"],"sourcesContent":["import ReactModal from 'react-modal'\nimport cx from 'clsx'\nimport { ModalProps } from './Modal'\n\nexport const ReactModalAdapter: React.FC<ModalProps> = ({\n className,\n isOpen,\n overlayClassName,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n style: _style,\n ...props\n}: ModalProps) => {\n const contentClassName = `${className}__content`\n const overlayClassNameLocal = `${className}__overlay`\n\n return (\n <ReactModal\n portalClassName={className}\n className={contentClassName}\n isOpen={Boolean(isOpen)}\n overlayClassName={cx(overlayClassNameLocal, overlayClassName)}\n {...props}\n />\n )\n}\n"],"names":["ReactModalAdapter","_ref","className","isOpen","overlayClassName","props","_objectWithoutProperties","_excluded","contentClassName","overlayClassNameLocal","_jsx","ReactModal","_objectSpread","portalClassName","Boolean","cx"],"mappings":"iQAIO,IAAMA,EAA0CC,IAOrC,IAPsCC,UACtDA,EADsDC,OAEtDA,EAFsDC,iBAGtDA,GAIgBH,EADbI,EACaC,EAAAL,EAAAM,GAChB,IAAMC,EAAsBN,GAAAA,OAAAA,EAA5B,aACA,IAAMO,EAA2BP,GAAAA,OAAAA,EAAjC,aAEA,OACEQ,EAACC,EAADC,EAAA,CACEC,gBAAiBX,EACjBA,UAAWM,EACXL,OAAQW,QAAQX,GAChBC,iBAAkBW,EAAGN,EAAuBL,IACxCC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{useClassname as r}from'../../hooks/useClassname.js';import{Root as s}from'./style.js';import{jsx as o}from'react/jsx-runtime';var m=["padding","rounded","shadow","className"];function t(d){var{padding:p="m",rounded:i=!0,shadow:n=!0,className:l}=d,u=e(d,m);var c=r(t.displayName,l);return o(s,a({padding:p,rounded:i,shadow:n,className:c},u))}t.displayName='Paper';export{t as Paper};
|
|
2
2
|
//# sourceMappingURL=Paper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paper.js","sources":["../../../../src/components/Paper/Paper.tsx"],"sourcesContent":["import { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface PaperProps extends BaseProps, Display, Color, ResponsiveProperty<'padding'> {\n /**\n * Paper content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Set to true to generate a circlular paper container\n */\n circle?: boolean\n /**\n * Paper with rounded corners\n */\n rounded?: boolean\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: false | 0 | 1 | 2 | 3 | 4\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\nPaper.displayName = 'Paper'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n */\nexport function Paper({ padding = 'm', rounded = true, shadow = true, className, ...props }: PaperProps) {\n const _className = useClassname(Paper.displayName, className)\n\n return <Styled.Root padding={padding} rounded={rounded} shadow={shadow} className={_className} {...props} />\n}\n"],"names":["Paper","_ref","padding","rounded","shadow","className","props","_objectWithoutProperties","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","_objectSpread"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Paper.js","sources":["../../../../src/components/Paper/Paper.tsx"],"sourcesContent":["import { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface PaperProps extends BaseProps, Display, Color, ResponsiveProperty<'padding'> {\n /**\n * Paper content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Set to true to generate a circlular paper container\n */\n circle?: boolean\n /**\n * Paper with rounded corners\n */\n rounded?: boolean\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: false | 0 | 1 | 2 | 3 | 4\n /**\n * Text align\n */\n textAlign?: 'left' | 'center' | 'right'\n}\n\nPaper.displayName = 'Paper'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n */\nexport function Paper({ padding = 'm', rounded = true, shadow = true, className, ...props }: PaperProps) {\n const _className = useClassname(Paper.displayName, className)\n\n return <Styled.Root padding={padding} rounded={rounded} shadow={shadow} className={_className} {...props} />\n}\n"],"names":["Paper","_ref","padding","rounded","shadow","className","props","_objectWithoutProperties","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","_objectSpread"],"mappings":"wSA8CO,SAASA,EAAyFC,GAAA,IAAnFC,QAAEA,EAAU,IAAZC,QAAiBA,GAAAA,EAAjBC,OAAiCA,GAAS,EAA1CC,UAAgDA,GAAmCJ,EAArBK,EAAqBC,EAAAN,EAAAO,GACvG,IAAMC,EAAaC,EAAaV,EAAMW,YAAaN,GAEnD,OAAOO,EAACC,EAADC,EAAA,CAAaZ,QAASA,EAASC,QAASA,EAASC,OAAQA,EAAQC,UAAWI,GAAgBH,IAZrGN,EAAMW,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from'@babel/runtime/helpers/
|
|
1
|
+
import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{Group as o}from'./style.js';import{jsx as t}from'react/jsx-runtime';var i=["children"];function m(m){var{children:p}=m,a=e(m,i);return t(o,r(r({},a),{},{children:p}))}export{m as RadioGroup};
|
|
2
2
|
//# sourceMappingURL=Group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sources":["../../../../src/components/Radio/Group.tsx"],"sourcesContent":["import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n"],"names":["RadioGroup","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","Styled.Group"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Group.js","sources":["../../../../src/components/Radio/Group.tsx"],"sourcesContent":["import { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface RadioGroupProps extends BaseProps {\n inline?: boolean\n children?: React.ReactNode\n}\n\nexport function RadioGroup({ children, ...props }: RadioGroupProps) {\n return <Styled.Group {...props}>{children}</Styled.Group>\n}\n"],"names":["RadioGroup","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","Styled.Group"],"mappings":"gNAQO,SAASA,EAAoDC,GAAA,IAAzCC,SAAEA,GAAuCD,EAA1BE,EAA0BC,EAAAH,EAAAI,GAClE,OAAOC,EAACC,SAAiBJ,GAAlB,GAAA,CAAAD,SAA0BA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import a from'@babel/runtime/helpers/objectWithoutProperties';import{useState as r,useEffect as s,useCallback as o}from'react';import{useClassname as l}from'../../hooks/useClassname.js';import{RadioGroup as i}from'./Group.js';import{Root as t}from'./style.js';import{jsxs as c,jsx as d}from'react/jsx-runtime';var m=["children","disabled","error","id","name","onChange","size","value","label","className","style"];function n(i){var h=void 0===i.checked;var[p,u]=r(h?i.defaultChecked:i.checked);var{children:f,disabled:b,error:v,id:k,name:g,onChange:y,size:C,value:j,label:x,className:N,style:w}=i,z=a(i,m);var R=l(n.displayName,N);s((()=>{h||p===i.checked||u(i.checked)}),[i.checked]);var G=o((e=>{e.stopPropagation(),'function'==typeof y&&y(e)}),[h]);var P=h?{defaultChecked:p}:{checked:p};return c(t,{className:R,style:w,disabled:b,checked:p,error:v,htmlFor:k||g,size:C,children:[d("input",e(e({},z),{},{id:k||g,name:g,type:"radio",onChange:G,value:j,disabled:b},P)),c("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:[d("circle",{cx:"10",cy:"10",r:"9",stroke:"#727D8A",strokeWidth:"2",fill:"#fff"}),d("circle",{cx:"10",cy:"10",r:"5",fill:"#727D8A"})]}),(x||f)&&d("span",{className:"label",children:x||f})]})}n.defaultProps={disabled:!1,size:'medium',defaultChecked:!1,onChange:e=>console.log(e,e.target.value)},n.Group=i,n.displayName='Radio';export{n as Radio};
|
|
2
2
|
//# sourceMappingURL=Radio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface RadioProps extends BaseProps, RadioInputHtmlAttributes {\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Radio label\n */\n label?: string\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A Radio can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not Radio is checked\n */\n checked?: boolean\n defaultChecked?: boolean\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large'\n /**\n * Value\n */\n value?: string | number\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nRadio.Group = RadioGroup\nRadio.displayName = 'Radio'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Radio(props: typeof Radio.defaultProps & RadioProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n const _className = useClassname(Radio.displayName, className)\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>\n <circle cx='10' cy='10' r='9' stroke='#727D8A' strokeWidth='2' fill='#fff' />\n <circle cx='10' cy='10' r='5' fill='#727D8A' />\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n"],"names":["Radio","props","uncontrolled","undefined","checked","checkedInput","setChecked","useState","defaultChecked","children","disabled","error","id","name","onChange","size","value","label","className","style","anotherProps","_excluded","_className","useClassname","displayName","useEffect","handleOnChange","useCallback","e","stopPropagation","inputProps","_jsxs","Styled.Root","htmlFor","_jsx","type","xmlns","viewBox","cx","cy","r","stroke","strokeWidth","fill","defaultProps","console","log","target","Group","RadioGroup"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport { RadioGroup } from './Group'\nimport * as Styled from './style'\n\ntype RadioInputHtmlAttributes = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>\n\nexport interface RadioProps extends BaseProps, RadioInputHtmlAttributes {\n /**\n * Field id\n */\n id?: string\n /**\n * Field name\n */\n name?: string\n /**\n * Radio label\n */\n label?: string\n /**\n * On change handler\n */\n onChange?(_e: React.ChangeEvent<HTMLInputElement>): void\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * A Radio can appear disabled and be unable to change states\n */\n disabled?: boolean\n /**\n * Field can show the data contains errors\n */\n error?: boolean\n /**\n * Whether or not Radio is checked\n */\n checked?: boolean\n defaultChecked?: boolean\n /**\n * Checkbox size\n */\n size?: 'small' | 'medium' | 'large'\n /**\n * Value\n */\n value?: string | number\n}\n\nRadio.defaultProps = {\n disabled: false,\n size: 'medium',\n defaultChecked: false,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log(e, e.target.value), // eslint-disable-line no-console\n}\n\nRadio.Group = RadioGroup\nRadio.displayName = 'Radio'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `React.InputHTMLAttributes<HTMLInputElement>`\n */\nexport function Radio(props: typeof Radio.defaultProps & RadioProps) {\n const uncontrolled = props.checked === undefined\n const [checkedInput, setChecked] = useState(uncontrolled ? props.defaultChecked : props.checked)\n\n const { children, disabled, error, id, name, onChange, size, value, label, className, style, ...anotherProps } = props\n const _className = useClassname(Radio.displayName, className)\n\n useEffect(() => {\n if (!uncontrolled && checkedInput !== props.checked) setChecked(props.checked)\n }, [props.checked])\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n e.stopPropagation()\n if (typeof onChange === 'function') onChange(e)\n },\n [uncontrolled]\n )\n\n const inputProps = uncontrolled ? { defaultChecked: checkedInput } : { checked: checkedInput }\n\n return (\n <Styled.Root\n className={_className}\n style={style}\n disabled={disabled}\n checked={checkedInput}\n error={error}\n htmlFor={id || name}\n size={size}\n >\n <input\n {...anotherProps}\n id={id || name}\n name={name}\n type='radio'\n onChange={handleOnChange}\n value={value}\n disabled={disabled}\n {...inputProps}\n />\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'>\n <circle cx='10' cy='10' r='9' stroke='#727D8A' strokeWidth='2' fill='#fff' />\n <circle cx='10' cy='10' r='5' fill='#727D8A' />\n </svg>\n {(label || children) && <span className='label'>{label || children}</span>}\n </Styled.Root>\n )\n}\n"],"names":["Radio","props","uncontrolled","undefined","checked","checkedInput","setChecked","useState","defaultChecked","children","disabled","error","id","name","onChange","size","value","label","className","style","anotherProps","_excluded","_className","useClassname","displayName","useEffect","handleOnChange","useCallback","e","stopPropagation","inputProps","_jsxs","Styled.Root","htmlFor","_jsx","type","xmlns","viewBox","cx","cy","r","stroke","strokeWidth","fill","defaultProps","console","log","target","Group","RadioGroup"],"mappings":"kdAmEO,SAASA,EAAMC,GACpB,IAAMC,OAAiCC,IAAlBF,EAAMG,QAC3B,IAAOC,EAAcC,GAAcC,EAASL,EAAeD,EAAMO,eAAiBP,EAAMG,SAExF,IAAMK,SAAEA,EAAFC,SAAYA,EAAZC,MAAsBA,EAAtBC,GAA6BA,EAA7BC,KAAiCA,EAAjCC,SAAuCA,EAAvCC,KAAiDA,EAAjDC,MAAuDA,EAAvDC,MAA8DA,EAA9DC,UAAqEA,EAArEC,MAAgFA,GAA2BlB,EAAjBmB,IAAiBnB,EAAjHoB,GACA,IAAMC,EAAaC,EAAavB,EAAMwB,YAAaN,GAEnDO,GAAU,KACHvB,GAAgBG,IAAiBJ,EAAMG,SAASE,EAAWL,EAAMG,WACrE,CAACH,EAAMG,UAEV,IAAMsB,EAA6DC,GAChEC,IACCA,EAAEC,kBACsB,mBAAbf,GAAyBA,EAASc,KAE/C,CAAC1B,IAGH,IAAM4B,EAAa5B,EAAe,CAAEM,eAAgBH,GAAiB,CAAED,QAASC,GAEhF,OACE0B,EAACC,EAAD,CACEd,UAAWI,EACXH,MAAOA,EACPT,SAAUA,EACVN,QAASC,EACTM,MAAOA,EACPsB,QAASrB,GAAMC,EACfE,KAAMA,EAPRN,SAAA,CASEyB,iBACMd,GADN,GAAA,CAEER,GAAIA,GAAMC,EACVA,KAAMA,EACNsB,KAAK,QACLrB,SAAUY,EACVV,MAAOA,EACPN,SAAUA,GACNoB,IAENC,EAAA,MAAA,CAAKK,MAAM,6BAA6BC,QAAQ,YAAhD5B,SACE,CAAAyB,EAAA,SAAA,CAAQI,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIC,OAAO,UAAUC,YAAY,IAAIC,KAAK,SACpET,EAAA,SAAA,CAAQI,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAIG,KAAK,gBAEnC1B,GAASR,IAAayB,EAAA,OAAA,CAAMhB,UAAU,QAAhBT,SAAyBQ,GAASR,OA5DhET,EAAM4C,aAAe,CACnBlC,UAAU,EACVK,KAAM,SACNP,gBAAgB,EAChBM,SAAWc,GAA2CiB,QAAQC,IAAIlB,EAAGA,EAAEmB,OAAO/B,QAGhFhB,EAAMgD,MAAQC,EACdjD,EAAMwB,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import i from'@babel/runtime/helpers/taggedTemplateLiteral';import n,{css as e}from'styled-components';import{screenMaxS as l}from'../../mixins/screen.js';var r;var o=function(i){var n=arguments.length>0&&void 0!==i?i:14;return e(["font-size:","px;svg{width:","px;height:","px;}"],n,n,n)};var t=e(["cursor:not-allowed;color:#d4d4d4;svg{circle:nth-child(1){stroke:#d4d4d4;}circle:nth-child(2){fill:#d4d4d4;}}span.label{cursor:not-allowed;}"]);var a=e(["svg{circle{fill:#ffeef0;stroke:#ffa3a3;}circle:nth-child(2){fill:#ffa3a3;}}"]);var s=n.label.withConfig({shouldForwardProp:i=>!['size','error'].includes(i)}).withConfig({componentId:"fox-ui__sc-1u0nc40-0"})(["display:inline-flex;align-items:baseline;user-select:none;cursor:pointer;svg{position:relative;top:2px;flex-shrink:0;circle:nth-child(2){opacity:0;transition:all 0.2s ease;}}& + &{margin-left:15px;}input{display:none;appearance:none;&:checked + svg{circle:nth-child(2){opacity:1;transform:scale(1);}}}span.label{margin-left:10px;cursor:pointer;}"," "," "," "," ",""],(i=>'small'===i.size?o(14):null),(i=>'medium'===i.size?o(16):null),(i=>'large'===i.size?o(18):null),(i=>i.disabled?t:null),(i=>i.error?a:null));var c=n.div.withConfig({shouldForwardProp:i=>'inline'!==i}).withConfig({componentId:"fox-ui__sc-1u0nc40-1"})(["display:flex;flex-direction:column;line-height:normal;> ","{margin-left:0;&:not(:first-child){margin-top:15px;}}",""],s,(n=>n.inline?e(["flex-direction:row;&&& > ","{margin-top:0;}> "," + ","{margin-left:15px;}",""],s,s,s,l()(r||(r=i(["\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > "," + "," {\n margin-left: 0;\n margin-top: 15px;\n }\n "])),s,s)):null));export{c as Group,s as Root};
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Radio/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { RadioGroupProps } from './Group'\nimport { RadioProps } from './Radio'\n\nconst sizeRadio = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n circle {\n fill: #ffeef0;\n stroke: #ffa3a3;\n }\n circle:nth-child(2) {\n fill: #ffa3a3;\n }\n }\n`\n\nexport const Root = styled.label.withConfig<RadioProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n circle:nth-child(2) {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n circle:nth-child(2) {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' ? sizeRadio(14) : null)}\n ${(props) => (props.size === 'medium' ? sizeRadio(16) : null)}\n ${(props) => (props.size === 'large' ? sizeRadio(18) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<RadioGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n"],"names":["sizeRadio","i","size","css","disabled","error","Root","styled","label","withConfig","shouldForwardProp","prop","includes","componentId","props","Group","div","inline","screenMaxS","_templateObject","_taggedTemplateLiteral"],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Radio/style.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\nimport { screenMaxS } from 'mixins/screen'\nimport { RadioGroupProps } from './Group'\nimport { RadioProps } from './Radio'\n\nconst sizeRadio = (size = 14) => css`\n font-size: ${size}px;\n svg {\n width: ${size}px;\n height: ${size}px;\n }\n`\n\nconst disabled = css`\n cursor: not-allowed;\n color: #d4d4d4;\n svg {\n circle:nth-child(1) {\n stroke: #d4d4d4;\n }\n circle:nth-child(2) {\n fill: #d4d4d4;\n }\n }\n span.label {\n cursor: not-allowed;\n }\n`\n\nconst error = css`\n svg {\n circle {\n fill: #ffeef0;\n stroke: #ffa3a3;\n }\n circle:nth-child(2) {\n fill: #ffa3a3;\n }\n }\n`\n\nexport const Root = styled.label.withConfig<RadioProps>({\n shouldForwardProp: (prop) => !['size', 'error'].includes(prop),\n})`\n display: inline-flex;\n align-items: baseline;\n user-select: none;\n cursor: pointer;\n svg {\n position: relative;\n top: 2px;\n flex-shrink: 0;\n circle:nth-child(2) {\n opacity: 0;\n transition: all 0.2s ease;\n }\n }\n & + & {\n margin-left: 15px;\n }\n input {\n display: none;\n appearance: none;\n &:checked + svg {\n circle:nth-child(2) {\n opacity: 1;\n transform: scale(1);\n }\n }\n }\n span.label {\n margin-left: 10px;\n cursor: pointer;\n }\n ${(props) => (props.size === 'small' ? sizeRadio(14) : null)}\n ${(props) => (props.size === 'medium' ? sizeRadio(16) : null)}\n ${(props) => (props.size === 'large' ? sizeRadio(18) : null)}\n ${(props) => (props.disabled ? disabled : null)}\n ${(props) => (props.error ? error : null)}\n`\n\nexport const Group = styled.div.withConfig<RadioGroupProps>({\n shouldForwardProp: (prop) => prop !== 'inline',\n})`\n display: flex;\n flex-direction: column;\n line-height: normal;\n > ${Root} {\n margin-left: 0;\n &:not(:first-child) {\n margin-top: 15px;\n }\n }\n ${(props) =>\n props.inline\n ? css`\n flex-direction: row;\n &&& > ${Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 15px;\n }\n ${screenMaxS()`\n flex-direction: column;\n > &{Root} {\n margin-top: 0;\n }\n > ${Root} + ${Root} {\n margin-left: 0;\n margin-top: 15px;\n }\n `}\n `\n : null}\n`\n"],"names":["sizeRadio","i","size","css","disabled","error","Root","styled","label","withConfig","shouldForwardProp","prop","includes","componentId","props","Group","div","inline","screenMaxS","_templateObject","_taggedTemplateLiteral"],"mappings":"iKAKA,IAAMA,EAAY,SAAAC,GAAA,IAACC,+BAADD,EAAAA,EAAQ,GAAR,OAAeE,EAClBD,CAAAA,aAAAA,gBAAAA,aAAAA,QAAAA,EAEFA,EACCA,IAId,IAAME,EAAWD,EAAjB,CAAA,gJAgBA,IAAME,EAAQF,EAAd,CAAA,gFAYO,IAAMG,EAAOC,EAAOC,MAAMC,WAAuB,CACtDC,kBAAoBC,IAAU,CAAC,OAAQ,SAASC,SAASD,KAD1CF,WAAA,CAAAI,YAAA,wBAAGN,CAAH,CAAA,4VAAA,IAAA,IAAA,IAAA,IAAA,KAiCZO,GAA0B,UAAfA,EAAMZ,KAAmBF,EAAU,IAAM,OACpDc,GAA0B,WAAfA,EAAMZ,KAAoBF,EAAU,IAAM,OACrDc,GAA0B,UAAfA,EAAMZ,KAAmBF,EAAU,IAAM,OACpDc,GAAWA,EAAMV,SAAWA,EAAW,OACvCU,GAAWA,EAAMT,MAAQA,EAAQ,OAG/B,IAAMU,EAAQR,EAAOS,IAAIP,WAA4B,CAC1DC,kBAAoBC,GAAkB,WAATA,IADbF,WAAA,CAAAI,YAAA,wBAAGN,CAMfD,CAAAA,2DAAAA,wDAAAA,IAAAA,GAMDQ,GACDA,EAAMG,OACFd,EADJ,CAAA,4BAAA,oBAAA,MAAA,sBAAA,IAGcG,EAGJA,EAAUA,EAGZY,GAAAA,CATRC,IAAAA,EAAAC,EAAA,CAAA,8HAAA,MAAA,mGAcYd,EAAUA,IAMlB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from'@babel/runtime/helpers/
|
|
1
|
+
import t from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{PureComponent as r}from'react';import{Scrollbars as o}from'rc-scrollbars';import{withTheme as a}from'styled-components';import{jsx as l,jsxs as s}from'react/jsx-runtime';var i=["style"],h=["style"],c=["children","withShadow","shadowHeight","shadowColor","shadowOpacity","className","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","trackColor","trackOpacity","trackBorderRadius","trackWidth","isolate","style","disabled"];class n extends r{constructor(){super(...arguments),this.scrollable=null,this.ts=0,this.state={scrollTop:0,scrollHeight:0,clientHeight:0},this.handleTouchStart=t=>{this.ts=t.touches[0].clientY},this.handleTouchMove=t=>{if(!this.props.isolate||!this.scrollable)return!0;var e=this.scrollable.parentNode;if(e){var r=t.changedTouches[0].clientY;var o=this.ts>r?-1:1;var a=1===o&&0===e.scrollTop;var l=-1===o&&Math.floor(e.scrollTop)===e.scrollHeight-e.clientHeight;return(a||l)&&(t.preventDefault(),this.ts=r),!0}},this.handleScroll=t=>{if(!this.props.isolate||!this.scrollable)return!0;var e=this.scrollable.parentNode;if(e){var r=(t.deltaY||t.detail)<0?1:-1;return(1===r&&0===e.scrollTop||-1===r&&e.scrollTop===e.scrollHeight-e.clientHeight)&&t.preventDefault(),!0}},this.handleUpdate=t=>{var{scrollTop:e,scrollHeight:r,clientHeight:o}=t;this.setState({scrollTop:e,scrollHeight:r,clientHeight:o})},this.hexToRgb=t=>{var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null},this.renderTrack=(r,o)=>{var{style:a}=r,s=e(r,i);var{trackColor:h,trackOpacity:c,trackBorderRadius:n,trackWidth:d}=this.props;var p=h?this.hexToRgb(h):null;var u=t({background:p?"rgba(".concat(p.r,", ").concat(p.g,", ").concat(p.b,", ").concat(c,")"):"rgba(255,255,255,0)",borderRadius:"".concat(n,"px"),zIndex:14},'vertical'===o?{right:4,top:2,bottom:2,width:"".concat(d,"px")}:{bottom:4,left:2,right:2,height:"".concat(d,"px")});return l("div",t({style:t(t({},a),u)},s))},this.renderThumb=r=>{var{style:o}=r,a=e(r,h);var{thumbColor:s,thumbOpacity:i,thumbBorderRadius:c,thumbWidth:n}=this.props;var d={opacity:i,backgroundColor:this.props.theme.colors[s]||this.props.theme.colors[s],borderRadius:"".concat(c,"px"),width:"".concat(n,"px")};return l("div",t({style:t(t({},o),d)},a))}}componentDidMount(){this.scrollable&&this.scrollable.parentNode&&(this.scrollable.parentNode.addEventListener('touchstart',this.handleTouchStart,!1),this.scrollable.parentNode.addEventListener('touchmove',this.handleTouchMove,!1),this.scrollable.parentNode.addEventListener('wheel',this.handleScroll,!1),this.scrollable.parentNode.addEventListener('scroll',this.handleScroll,!1))}componentWillUnmount(){this.scrollable&&this.scrollable.parentNode&&(this.scrollable.parentNode.removeEventListener('touchstart',this.handleTouchStart),this.scrollable.parentNode.removeEventListener('touchmove',this.handleTouchMove),this.scrollable.parentNode.removeEventListener('wheel',this.handleScroll),this.scrollable.parentNode.removeEventListener('scroll',this.handleScroll))}calculateShadowOffset(){var{scrollTop:t,scrollHeight:e,clientHeight:r}=this.state;var{shadowHeight:o=50}=this.props;var a=e-r||0;return Math.floor(o*(100*t/(a<=0?1:a))/100-o)}render(){var r=this.props,{children:a,withShadow:i,shadowHeight:h,shadowColor:n,shadowOpacity:d,className:p,style:u,disabled:b}=r,m=e(r,c);if(b)return l("div",{children:a});var{scrollHeight:v,clientHeight:g}=this.state;var f=this.calculateShadowOffset();return s("div",{style:t(t({},u),{},{position:'relative'}),className:p,children:[i&&v>g&&f!==-h&&l("div",{style:{position:'absolute',display:'block',height:"".concat(h,"px"),left:0,right:0,top:"-".concat(h,"px"),opacity:d,backgroundImage:"linear-gradient(to bottom, ".concat(this.props.theme.colors[n]," 20%, rgba(255, 255, 255, 0) 100%)"),transform:"translateY(".concat(h+f,"px)"),zIndex:10}}),i&&v>g&&f<0&&l("div",{style:{position:'absolute',display:'block',height:"".concat(h,"px"),left:0,right:0,bottom:0,opacity:d,backgroundImage:"linear-gradient(to top, ".concat(this.props.theme.colors[n]," 20%, rgba(255, 255, 255, 0) 100%)"),transform:"translateY(".concat(h+f,"px)"),zIndex:10}}),l(o,t(t({renderTrackVertical:e=>this.renderTrack(t({},e),'vertical'),renderTrackHorizontal:e=>this.renderTrack(t({},e),'horizontal'),renderThumbHorizontal:this.renderThumb,renderThumbVertical:this.renderThumb,onUpdate:this.handleUpdate,hideTracksWhenNotNeeded:!0},m),{},{children:l("div",{ref:t=>{this.scrollable=t},children:a})}))]})}}n.displayName='Scrollable',n.defaultProps={autoHide:!1,autoHideTimeout:1e3,autoHideDuration:200,autoHeight:!1,withShadow:!1,shadowHeight:50,shadowOpacity:.15,shadowColor:'mineShaft',thumbColor:'mineShaft',thumbOpacity:.15,thumbBorderRadius:1,thumbWidth:4,trackColor:'#333333',trackOpacity:.15,trackBorderRadius:1,trackWidth:4,disabled:!1,isolate:!0};var d=a(n);d.displayName='Scrollable';export{d as Scrollable};
|
|
2
2
|
//# sourceMappingURL=Scrollable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scrollable.js","sources":["../../../../src/components/Scrollable/Scrollable.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { Scrollbars, ScrollbarsProps } from 'rc-scrollbars'\nimport { DefaultTheme, withTheme } from 'styled-components'\n\nexport interface ScrollableProps extends Partial<ScrollbarsProps> {\n /**\n * Children react node\n */\n children: React.ReactNode[] | React.ReactNode\n /**\n * Enable auto-hide mode\n * @see See [github docs](https://github.com/sakhnyuk/rc-scrollbars) for description\n */\n autoHide?: boolean\n /**\n * Hide delay in ms.\n */\n autoHideTimeout?: number\n /**\n * Duration for hide animation in ms.\n */\n autoHideDuration?: number\n /**\n * Enable auto-height mode.\n */\n autoHeight?: boolean\n /**\n * Set a minimum height for auto-height mode\n */\n autoHeightMin?: number\n /**\n * Set a maximum height for auto-height mode\n */\n autoHeightMax?: number\n /**\n * Event handler\n */\n onScroll?(): void\n /**\n * Runs inside the animation frame.\n */\n onScrollFrame?(): void\n /**\n * Called when scrolling starts\n */\n onScrollStart?(): void\n /**\n * Called when scrolling stops\n */\n onScrollStop?(): void\n /**\n * Height of shadow\n */\n shadowHeight?: number\n /**\n * Show shadow in scrollable component\n */\n withShadow?: boolean\n /**\n * Color of shadow from #Colors\n */\n shadowColor?: string\n /**\n * Opacity of shadow\n */\n shadowOpacity?: number\n /**\n * Color of thumb\n */\n thumbColor?: string\n /**\n * Opacity of thumb\n */\n thumbOpacity?: number\n /**\n * Border radius of thumb (px)\n */\n thumbBorderRadius?: number\n /**\n /**\n * Border radius of thumb (px)\n */\n thumbWidth?: number\n /**\n * Color of track (HEX)\n */\n trackColor?: string\n /**\n * Opacity of track\n */\n trackOpacity?: number\n /**\n * Border radius of track (px)\n */\n trackBorderRadius?: number\n /**\n /**\n * Border radius of track (px)\n */\n trackWidth?: number\n /**\n * Style for scrollable container\n */\n style?: object\n /**\n * Classname of scrollable container\n */\n className?: string\n /**\n * Disable scrollbar and return div\n */\n disabled?: boolean\n /**\n * Prevent body scrolling when start|end touched\n */\n isolate?: boolean\n\n theme?: DefaultTheme\n}\n\ntype ScrollableState = {\n scrollTop: number\n scrollHeight: number\n clientHeight: number\n}\n\n// eslint-disable-next-line no-use-before-define\nclass Scrollable extends PureComponent<typeof Scrollable.defaultProps & ScrollableProps, ScrollableState> {\n static displayName = 'Scrollable'\n static defaultProps = {\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n withShadow: false,\n shadowHeight: 50,\n shadowOpacity: 0.15,\n shadowColor: 'mineShaft',\n thumbColor: 'mineShaft',\n thumbOpacity: 0.15,\n thumbBorderRadius: 1,\n thumbWidth: 4,\n trackColor: '#333333',\n trackOpacity: 0.15,\n trackBorderRadius: 1,\n trackWidth: 4,\n disabled: false,\n isolate: true,\n }\n\n scrollable: HTMLDivElement | null = null\n ts = 0\n\n state = {\n scrollTop: 0,\n scrollHeight: 0,\n clientHeight: 0,\n }\n\n componentDidMount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchstart', this.handleTouchStart, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchmove', this.handleTouchMove, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('wheel', this.handleScroll, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void,\n false\n )\n }\n\n componentWillUnmount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchstart', this.handleTouchStart)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchmove', this.handleTouchMove)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('wheel', this.handleScroll)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void\n )\n }\n\n handleTouchStart = (e: TouchEvent) => {\n this.ts = e.touches[0].clientY\n }\n\n handleTouchMove = (e: TouchEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const te = e.changedTouches[0].clientY\n const dir = this.ts > te ? -1 : 1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n Math.floor((scrollarea as HTMLDivElement).scrollTop) ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n this.ts = te\n }\n\n return true\n }\n\n handleScroll = (e: WheelEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const delta = e.deltaY || e.detail\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const dir = delta < 0 ? 1 : -1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n (scrollarea as HTMLDivElement).scrollTop ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n }\n\n return true\n }\n\n handleUpdate = (values: ScrollableState) => {\n const { scrollTop, scrollHeight, clientHeight } = values\n\n this.setState({\n scrollTop,\n scrollHeight,\n clientHeight,\n })\n }\n\n calculateShadowOffset() {\n const { scrollTop, scrollHeight, clientHeight } = this.state\n const { shadowHeight = 50 } = this.props\n\n const diffH = scrollHeight - clientHeight || 0\n\n const a = (scrollTop * 100) / (diffH <= 0 ? 1 : diffH)\n const b = (shadowHeight * a) / 100\n\n return Math.floor(-shadowHeight + b)\n }\n\n hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null\n }\n\n renderTrack = ({ style, ...props }: { style: React.CSSProperties }, dir: 'vertical' | 'horizontal') => {\n const { trackColor, trackOpacity, trackBorderRadius, trackWidth } = this.props\n\n const hex = trackColor ? this.hexToRgb(trackColor) : null\n\n const trackStyle = {\n background: hex ? `rgba(${hex.r}, ${hex.g}, ${hex.b}, ${trackOpacity})` : `rgba(255,255,255,0)`,\n borderRadius: `${trackBorderRadius}px`,\n zIndex: 14,\n ...(dir === 'vertical'\n ? {\n right: 4,\n top: 2,\n bottom: 2,\n width: `${trackWidth}px`,\n }\n : {\n bottom: 4,\n left: 2,\n right: 2,\n height: `${trackWidth}px`,\n }),\n }\n\n return (\n <div\n style={{\n ...style,\n ...trackStyle,\n }}\n {...props}\n />\n )\n }\n\n renderThumb = ({ style, ...scrollableProps }: { style: React.CSSProperties }) => {\n const { thumbColor, thumbOpacity, thumbBorderRadius, thumbWidth } = this.props\n\n const thumbStyle = {\n opacity: thumbOpacity,\n backgroundColor:\n (this.props.theme as DefaultTheme).colors[thumbColor] || (this.props.theme as DefaultTheme).colors[thumbColor],\n borderRadius: `${thumbBorderRadius}px`,\n width: `${thumbWidth}px`,\n }\n\n return <div style={{ ...style, ...thumbStyle }} {...scrollableProps} />\n }\n\n render() {\n const {\n children,\n withShadow,\n shadowHeight,\n shadowColor,\n shadowOpacity,\n className,\n thumbColor, // eslint-disable-line\n thumbOpacity, // eslint-disable-line\n thumbBorderRadius, // eslint-disable-line\n thumbWidth, // eslint-disable-line\n trackColor, // eslint-disable-line\n trackOpacity, // eslint-disable-line\n trackBorderRadius, // eslint-disable-line\n trackWidth, // eslint-disable-line\n isolate, // eslint-disable-line\n style,\n disabled,\n ...props\n } = this.props\n\n if (disabled) return <div>{children}</div>\n\n const { scrollHeight, clientHeight } = this.state\n\n const shadowOffset = this.calculateShadowOffset()\n\n return (\n <div\n style={{\n ...style,\n position: 'relative',\n }}\n className={className}\n >\n {withShadow && scrollHeight > clientHeight && shadowOffset !== -shadowHeight && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n top: `-${shadowHeight}px`,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to bottom, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n {withShadow && scrollHeight > clientHeight && shadowOffset < 0 && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to top, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n <Scrollbars\n renderTrackVertical={(nodeProps) => this.renderTrack({ ...nodeProps }, 'vertical')}\n renderTrackHorizontal={(nodeProps) => this.renderTrack({ ...nodeProps }, 'horizontal')}\n renderThumbHorizontal={this.renderThumb}\n renderThumbVertical={this.renderThumb}\n onUpdate={this.handleUpdate}\n hideTracksWhenNotNeeded\n {...props}\n >\n <div\n ref={(node) => {\n this.scrollable = node\n }}\n >\n {children}\n </div>\n </Scrollbars>\n </div>\n )\n }\n}\n\n/**\n * Scrollable component for create custom scrollable content\n *\n * Based on https://github.com/sakhnyuk/rc-scrollbars\n */\nconst withThemeScrollable = withTheme(Scrollable)\n\nwithThemeScrollable.displayName = 'Scrollable'\n\nexport { withThemeScrollable as Scrollable }\n"],"names":["Scrollable","PureComponent","constructor","super","arguments","this","scrollable","ts","state","scrollTop","scrollHeight","clientHeight","handleTouchStart","e","touches","clientY","handleTouchMove","props","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","Math","floor","preventDefault","handleScroll","deltaY","detail","handleUpdate","values","setState","hexToRgb","hex","result","exec","r","parseInt","g","b","renderTrack","style","_ref","_objectWithoutProperties","_excluded","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","_objectSpread","background","concat","borderRadius","zIndex","right","top","bottom","width","left","height","_jsx","renderThumb","_ref2","scrollableProps","_excluded2","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","thumbStyle","opacity","backgroundColor","theme","colors","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","calculateShadowOffset","shadowHeight","diffH","render","_this$props","children","withShadow","shadowColor","shadowOpacity","className","disabled","_excluded3","shadowOffset","_jsxs","position","display","backgroundImage","transform","Scrollbars","renderTrackVertical","nodeProps","renderTrackHorizontal","renderThumbHorizontal","renderThumbVertical","onUpdate","hideTracksWhenNotNeeded","ref","node","displayName","defaultProps","autoHide","autoHideTimeout","autoHideDuration","autoHeight","withThemeScrollable","withTheme"],"mappings":"mjBA+HA,MAAMA,UAAmBC,EAAiFC,cAAAC,SAAAC,WAAAC,KAuBxGC,WAAoC,KAvBoED,KAwBxGE,GAAK,EAxBmGF,KA0BxGG,MAAQ,CACNC,UAAW,EACXC,aAAc,EACdC,aAAc,GA7BwFN,KAuDxGO,iBAAoBC,IAClBR,KAAKE,GAAKM,EAAEC,QAAQ,GAAGC,SAxD+EV,KA2DxGW,gBAAmBH,IACjB,IAAKR,KAAKY,MAAMC,UAAYb,KAAKC,WAAY,SAE7C,IAAMa,EAAad,KAAKC,WAAWc,WAEnC,GAAKD,EAAL,CAEA,IAAME,EAAKR,EAAES,eAAe,GAAGP,QAC/B,IAAMQ,EAAMlB,KAAKE,GAAKc,GAAM,EAAI,EAEhC,IAAMG,EAAkB,IAARD,GAA0D,IAA5CJ,EAA8BV,UAC5D,IAAMgB,GACK,IAATF,GACAG,KAAKC,MAAOR,EAA8BV,aACvCU,EAA8BT,aAAgBS,EAA8BR,aAOjF,OALIa,GAAWC,KACbZ,EAAEe,iBACFvB,KAAKE,GAAKc,QA7E0FhB,KAmFxGwB,aAAgBhB,IACd,IAAKR,KAAKY,MAAMC,UAAYb,KAAKC,WAAY,SAI7C,IAAMa,EAAad,KAAKC,WAAWc,WAEnC,GAAKD,EAAL,CAEA,IAAMI,GANQV,EAAEiB,QAAUjB,EAAEkB,QAMR,EAAI,GAAK,EAY7B,OAVwB,IAARR,GAA0D,IAA5CJ,EAA8BV,YAEjD,IAATc,GACCJ,EAA8BV,YAC5BU,EAA8BT,aAAgBS,EAA8BR,eAG/EE,EAAEe,kBAAAA,IArGkGvB,KA2GxG2B,aAAgBC,IACd,IAAMxB,UAAEA,EAAFC,aAAaA,EAAbC,aAA2BA,GAAiBsB,EAElD5B,KAAK6B,SAAS,CACZzB,UAAAA,EACAC,aAAAA,EACAC,aAAAA,KAjHoGN,KAiIxG8B,SAAYC,IACV,IAAMC,EAAS,4CAA4CC,KAAKF,GAEhE,OAAOC,EACH,CACEE,EAAGC,SAASH,EAAO,GAAI,IACvBI,EAAGD,SAASH,EAAO,GAAI,IACvBK,EAAGF,SAASH,EAAO,GAAI,KAEzB,MA1IkGhC,KA6IxGsC,YAAc,CAAsDpB,EAAAA,KAAmC,IAAxFqB,MAAEA,GAAsFC,EAA5E5B,EAA4E6B,EAAAD,EAAAE,GACrG,IAAMC,WAAEA,EAAFC,aAAcA,EAAdC,kBAA4BA,EAA5BC,WAA+CA,GAAe9C,KAAKY,MAEzE,IAAMmB,EAAMY,EAAa3C,KAAK8B,SAASa,GAAc,KAErD,IAAMI,EAAUC,EAAA,CACdC,WAAYlB,EAAG,QAAAmB,OAAWnB,EAAIG,EAAMH,MAAAA,OAAAA,EAAIK,eAAML,EAAIM,EAAnC,MAAAa,OAAyCN,EAD1C,KAAA,sBAEdO,aAAY,GAAAD,OAAKL,EAFH,MAGdO,OAAQ,IACI,aAARlC,EACA,CACEmC,MAAO,EACPC,IAAK,EACLC,OAAQ,EACRC,gBAAUV,EAAL,OAEP,CACES,OAAQ,EACRE,KAAM,EACNJ,MAAO,EACPK,iBAAWZ,EAAL,QAId,OACEa,EAAA,MAAAX,EAAA,CACET,MAAKS,EAAAA,EAAA,GACAT,GACAQ,IAEDnC,KA3K8FZ,KAgLxG4D,YAAcC,IAAmE,IAAlEtB,MAAEA,GAAgEsB,EAAtDC,EAAsDrB,EAAAoB,EAAAE,GAC/E,IAAMC,WAAEA,EAAFC,aAAcA,EAAdC,kBAA4BA,EAA5BC,WAA+CA,GAAenE,KAAKY,MAEzE,IAAMwD,EAAa,CACjBC,QAASJ,EACTK,gBACGtE,KAAKY,MAAM2D,MAAuBC,OAAOR,IAAgBhE,KAAKY,MAAM2D,MAAuBC,OAAOR,GACrGb,aAAY,GAAAD,OAAKgB,EAJA,MAKjBV,gBAAUW,EAAL,OAGP,OAAOR,EAAA,MAAAX,EAAA,CAAKT,MAAKS,EAAAA,EAAA,GAAOT,GAAU6B,IAAkBN,KA3JtDW,oBACOzE,KAAKC,YAAeD,KAAKC,WAAWc,aACvCf,KAAKC,WAAWc,WAA8B2D,iBAAiB,aAAc1E,KAAKO,kBAAkB,GACpGP,KAAKC,WAAWc,WAA8B2D,iBAAiB,YAAa1E,KAAKW,oBACjFX,KAAKC,WAAWc,WAA8B2D,iBAAiB,QAAS1E,KAAKwB,cAAAA,GAC7ExB,KAAKC,WAAWc,WAA8B2D,iBAC9C,SACA1E,KAAKwB,cAAAA,IAKTmD,uBACO3E,KAAKC,YAAeD,KAAKC,WAAWc,aACvCf,KAAKC,WAAWc,WAA8B6D,oBAAoB,aAAc5E,KAAKO,kBACrFP,KAAKC,WAAWc,WAA8B6D,oBAAoB,YAAa5E,KAAKW,iBACpFX,KAAKC,WAAWc,WAA8B6D,oBAAoB,QAAS5E,KAAKwB,cAChFxB,KAAKC,WAAWc,WAA8B6D,oBAC9C,SACA5E,KAAKwB,eAkETqD,wBACE,IAAMzE,UAAEA,EAAFC,aAAaA,EAAbC,aAA2BA,GAAiBN,KAAKG,MACvD,IAAM2E,aAAEA,EAAe,IAAO9E,KAAKY,MAEnC,IAAMmE,EAAQ1E,EAAeC,GAAgB,EAK7C,OAAOe,KAAKC,MAFDwD,GADY,IAAZ1E,GAAoB2E,GAAS,EAAI,EAAIA,IACjB,IAEZD,GAgErBE,SACE,IAAAC,EAmBIjF,KAAKY,OAnBHsE,SACJA,EADIC,WAEJA,EAFIL,aAGJA,EAHIM,YAIJA,EAJIC,cAKJA,EALIC,UAMJA,EANI/C,MAgBJA,EAhBIgD,SAiBJA,GAjBFN,EAkBKrE,EAlBL6B,EAAAwC,EAAAO,GAqBA,GAAID,EAAU,OAAO5B,EAAA,MAAA,CAAAuB,SAAMA,IAE3B,IAAM7E,aAAEA,EAAFC,aAAgBA,GAAiBN,KAAKG,MAE5C,IAAMsF,EAAezF,KAAK6E,wBAE1B,OACEa,EAAA,MAAA,CACEnD,aACKA,GADA,GAAA,CAEHoD,SAAU,aAEZL,UAAWA,EALbJ,SAOGC,CAAAA,GAAc9E,EAAeC,GAAgBmF,KAAkBX,GAC9DnB,EAAA,MAAA,CACEpB,MAAO,CACLoD,SAAU,WACVC,QAAS,QACTlC,OAAM,GAAAR,OAAK4B,EAHN,MAILrB,KAAM,EACNJ,MAAO,EACPC,IAAG,IAAAJ,OAAM4B,EANJ,MAOLT,QAASgB,EACTQ,gBAAe,8BAAA3C,OACZlD,KAAKY,MAAM2D,MAAuBC,OAAOY,GATvC,sCAWLU,UAAyBhB,cAAAA,OAAAA,EAAeW,EAXnC,OAYLrC,OAAQ,MAKb+B,GAAc9E,EAAeC,GAAgBmF,EAAe,GAC3D9B,EAAA,MAAA,CACEpB,MAAO,CACLoD,SAAU,WACVC,QAAS,QACTlC,OAAM,GAAAR,OAAK4B,EAHN,MAILrB,KAAM,EACNJ,MAAO,EACPE,OAAQ,EACRc,QAASgB,EACTQ,gBAAe,2BAAA3C,OACZlD,KAAKY,MAAM2D,MAAuBC,OAAOY,GATvC,sCAWLU,UAAyBhB,cAAAA,OAAAA,EAAeW,EAXnC,OAYLrC,OAAQ,MAKdO,EAACoC,EAAD/C,EAAAA,EAAA,CACEgD,oBAAsBC,GAAcjG,KAAKsC,YAAiB2D,EAAAA,GAAAA,GAAa,YACvEC,sBAAwBD,GAAcjG,KAAKsC,YAAiB2D,EAAAA,GAAAA,GAAa,cACzEE,sBAAuBnG,KAAK4D,YAC5BwC,oBAAqBpG,KAAK4D,YAC1ByC,SAAUrG,KAAK2B,aACf2E,yBAAuB,GACnB1F,GAPN,GAAA,CAAAsE,SASEvB,EAAA,MAAA,CACE4C,IAAMC,IACJxG,KAAKC,WAAauG,GAFtBtB,SAKGA,WAtRPvF,EACG8G,YAAc,aADjB9G,EAEG+G,aAAe,CACpBC,YACAC,gBAAiB,IACjBC,iBAAkB,IAClBC,cACA3B,YAAAA,EACAL,aAAc,GACdO,cAAe,IACfD,YAAa,YACbpB,WAAY,YACZC,aAAc,IACdC,kBAAmB,EACnBC,WAAY,EACZxB,WAAY,UACZC,aAAc,IACdC,kBAAmB,EACnBC,WAAY,EACZyC,YACA1E,SAAAA,GA+QJ,IAAMkG,EAAsBC,EAAUrH,GAEtCoH,EAAoBN,YAAc"}
|
|
1
|
+
{"version":3,"file":"Scrollable.js","sources":["../../../../src/components/Scrollable/Scrollable.tsx"],"sourcesContent":["import { PureComponent } from 'react'\nimport { Scrollbars, ScrollbarsProps } from 'rc-scrollbars'\nimport { DefaultTheme, withTheme } from 'styled-components'\n\nexport interface ScrollableProps extends Partial<ScrollbarsProps> {\n /**\n * Children react node\n */\n children: React.ReactNode[] | React.ReactNode\n /**\n * Enable auto-hide mode\n * @see See [github docs](https://github.com/sakhnyuk/rc-scrollbars) for description\n */\n autoHide?: boolean\n /**\n * Hide delay in ms.\n */\n autoHideTimeout?: number\n /**\n * Duration for hide animation in ms.\n */\n autoHideDuration?: number\n /**\n * Enable auto-height mode.\n */\n autoHeight?: boolean\n /**\n * Set a minimum height for auto-height mode\n */\n autoHeightMin?: number\n /**\n * Set a maximum height for auto-height mode\n */\n autoHeightMax?: number\n /**\n * Event handler\n */\n onScroll?(): void\n /**\n * Runs inside the animation frame.\n */\n onScrollFrame?(): void\n /**\n * Called when scrolling starts\n */\n onScrollStart?(): void\n /**\n * Called when scrolling stops\n */\n onScrollStop?(): void\n /**\n * Height of shadow\n */\n shadowHeight?: number\n /**\n * Show shadow in scrollable component\n */\n withShadow?: boolean\n /**\n * Color of shadow from #Colors\n */\n shadowColor?: string\n /**\n * Opacity of shadow\n */\n shadowOpacity?: number\n /**\n * Color of thumb\n */\n thumbColor?: string\n /**\n * Opacity of thumb\n */\n thumbOpacity?: number\n /**\n * Border radius of thumb (px)\n */\n thumbBorderRadius?: number\n /**\n /**\n * Border radius of thumb (px)\n */\n thumbWidth?: number\n /**\n * Color of track (HEX)\n */\n trackColor?: string\n /**\n * Opacity of track\n */\n trackOpacity?: number\n /**\n * Border radius of track (px)\n */\n trackBorderRadius?: number\n /**\n /**\n * Border radius of track (px)\n */\n trackWidth?: number\n /**\n * Style for scrollable container\n */\n style?: object\n /**\n * Classname of scrollable container\n */\n className?: string\n /**\n * Disable scrollbar and return div\n */\n disabled?: boolean\n /**\n * Prevent body scrolling when start|end touched\n */\n isolate?: boolean\n\n theme?: DefaultTheme\n}\n\ntype ScrollableState = {\n scrollTop: number\n scrollHeight: number\n clientHeight: number\n}\n\n// eslint-disable-next-line no-use-before-define\nclass Scrollable extends PureComponent<typeof Scrollable.defaultProps & ScrollableProps, ScrollableState> {\n static displayName = 'Scrollable'\n static defaultProps = {\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n withShadow: false,\n shadowHeight: 50,\n shadowOpacity: 0.15,\n shadowColor: 'mineShaft',\n thumbColor: 'mineShaft',\n thumbOpacity: 0.15,\n thumbBorderRadius: 1,\n thumbWidth: 4,\n trackColor: '#333333',\n trackOpacity: 0.15,\n trackBorderRadius: 1,\n trackWidth: 4,\n disabled: false,\n isolate: true,\n }\n\n scrollable: HTMLDivElement | null = null\n ts = 0\n\n state = {\n scrollTop: 0,\n scrollHeight: 0,\n clientHeight: 0,\n }\n\n componentDidMount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchstart', this.handleTouchStart, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('touchmove', this.handleTouchMove, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener('wheel', this.handleScroll, false)\n ;(this.scrollable.parentNode as HTMLDivElement).addEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void,\n false\n )\n }\n\n componentWillUnmount() {\n if (!this.scrollable || !this.scrollable.parentNode) return\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchstart', this.handleTouchStart)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('touchmove', this.handleTouchMove)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener('wheel', this.handleScroll)\n ;(this.scrollable.parentNode as HTMLDivElement).removeEventListener(\n 'scroll',\n this.handleScroll as (_e: Event) => void\n )\n }\n\n handleTouchStart = (e: TouchEvent) => {\n this.ts = e.touches[0].clientY\n }\n\n handleTouchMove = (e: TouchEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const te = e.changedTouches[0].clientY\n const dir = this.ts > te ? -1 : 1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n Math.floor((scrollarea as HTMLDivElement).scrollTop) ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n this.ts = te\n }\n\n return true\n }\n\n handleScroll = (e: WheelEvent) => {\n if (!this.props.isolate || !this.scrollable) return true\n\n const delta = e.deltaY || e.detail\n\n const scrollarea = this.scrollable.parentNode\n\n if (!scrollarea) return\n\n const dir = delta < 0 ? 1 : -1\n\n const upTouch = dir === 1 && (scrollarea as HTMLDivElement).scrollTop === 0\n const endTouch =\n dir === -1 &&\n (scrollarea as HTMLDivElement).scrollTop ===\n (scrollarea as HTMLDivElement).scrollHeight - (scrollarea as HTMLDivElement).clientHeight\n\n if (upTouch || endTouch) {\n e.preventDefault()\n }\n\n return true\n }\n\n handleUpdate = (values: ScrollableState) => {\n const { scrollTop, scrollHeight, clientHeight } = values\n\n this.setState({\n scrollTop,\n scrollHeight,\n clientHeight,\n })\n }\n\n calculateShadowOffset() {\n const { scrollTop, scrollHeight, clientHeight } = this.state\n const { shadowHeight = 50 } = this.props\n\n const diffH = scrollHeight - clientHeight || 0\n\n const a = (scrollTop * 100) / (diffH <= 0 ? 1 : diffH)\n const b = (shadowHeight * a) / 100\n\n return Math.floor(-shadowHeight + b)\n }\n\n hexToRgb = (hex: string) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null\n }\n\n renderTrack = ({ style, ...props }: { style: React.CSSProperties }, dir: 'vertical' | 'horizontal') => {\n const { trackColor, trackOpacity, trackBorderRadius, trackWidth } = this.props\n\n const hex = trackColor ? this.hexToRgb(trackColor) : null\n\n const trackStyle = {\n background: hex ? `rgba(${hex.r}, ${hex.g}, ${hex.b}, ${trackOpacity})` : `rgba(255,255,255,0)`,\n borderRadius: `${trackBorderRadius}px`,\n zIndex: 14,\n ...(dir === 'vertical'\n ? {\n right: 4,\n top: 2,\n bottom: 2,\n width: `${trackWidth}px`,\n }\n : {\n bottom: 4,\n left: 2,\n right: 2,\n height: `${trackWidth}px`,\n }),\n }\n\n return (\n <div\n style={{\n ...style,\n ...trackStyle,\n }}\n {...props}\n />\n )\n }\n\n renderThumb = ({ style, ...scrollableProps }: { style: React.CSSProperties }) => {\n const { thumbColor, thumbOpacity, thumbBorderRadius, thumbWidth } = this.props\n\n const thumbStyle = {\n opacity: thumbOpacity,\n backgroundColor:\n (this.props.theme as DefaultTheme).colors[thumbColor] || (this.props.theme as DefaultTheme).colors[thumbColor],\n borderRadius: `${thumbBorderRadius}px`,\n width: `${thumbWidth}px`,\n }\n\n return <div style={{ ...style, ...thumbStyle }} {...scrollableProps} />\n }\n\n render() {\n const {\n children,\n withShadow,\n shadowHeight,\n shadowColor,\n shadowOpacity,\n className,\n thumbColor, // eslint-disable-line\n thumbOpacity, // eslint-disable-line\n thumbBorderRadius, // eslint-disable-line\n thumbWidth, // eslint-disable-line\n trackColor, // eslint-disable-line\n trackOpacity, // eslint-disable-line\n trackBorderRadius, // eslint-disable-line\n trackWidth, // eslint-disable-line\n isolate, // eslint-disable-line\n style,\n disabled,\n ...props\n } = this.props\n\n if (disabled) return <div>{children}</div>\n\n const { scrollHeight, clientHeight } = this.state\n\n const shadowOffset = this.calculateShadowOffset()\n\n return (\n <div\n style={{\n ...style,\n position: 'relative',\n }}\n className={className}\n >\n {withShadow && scrollHeight > clientHeight && shadowOffset !== -shadowHeight && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n top: `-${shadowHeight}px`,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to bottom, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n {withShadow && scrollHeight > clientHeight && shadowOffset < 0 && (\n <div\n style={{\n position: 'absolute',\n display: 'block',\n height: `${shadowHeight}px`,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: shadowOpacity,\n backgroundImage: `linear-gradient(to top, ${\n (this.props.theme as DefaultTheme).colors[shadowColor]\n } 20%, rgba(255, 255, 255, 0) 100%)`,\n transform: `translateY(${shadowHeight + shadowOffset}px)`,\n zIndex: 10,\n }}\n />\n )}\n\n <Scrollbars\n renderTrackVertical={(nodeProps) => this.renderTrack({ ...nodeProps }, 'vertical')}\n renderTrackHorizontal={(nodeProps) => this.renderTrack({ ...nodeProps }, 'horizontal')}\n renderThumbHorizontal={this.renderThumb}\n renderThumbVertical={this.renderThumb}\n onUpdate={this.handleUpdate}\n hideTracksWhenNotNeeded\n {...props}\n >\n <div\n ref={(node) => {\n this.scrollable = node\n }}\n >\n {children}\n </div>\n </Scrollbars>\n </div>\n )\n }\n}\n\n/**\n * Scrollable component for create custom scrollable content\n *\n * Based on https://github.com/sakhnyuk/rc-scrollbars\n */\nconst withThemeScrollable = withTheme(Scrollable)\n\nwithThemeScrollable.displayName = 'Scrollable'\n\nexport { withThemeScrollable as Scrollable }\n"],"names":["Scrollable","PureComponent","constructor","super","arguments","this","scrollable","ts","state","scrollTop","scrollHeight","clientHeight","handleTouchStart","e","touches","clientY","handleTouchMove","props","isolate","scrollarea","parentNode","te","changedTouches","dir","upTouch","endTouch","Math","floor","preventDefault","handleScroll","deltaY","detail","handleUpdate","values","setState","hexToRgb","hex","result","exec","r","parseInt","g","b","renderTrack","style","_ref","_objectWithoutProperties","_excluded","trackColor","trackOpacity","trackBorderRadius","trackWidth","trackStyle","_objectSpread","background","concat","borderRadius","zIndex","right","top","bottom","width","left","height","_jsx","renderThumb","_ref2","scrollableProps","_excluded2","thumbColor","thumbOpacity","thumbBorderRadius","thumbWidth","thumbStyle","opacity","backgroundColor","theme","colors","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","calculateShadowOffset","shadowHeight","diffH","render","_this$props","children","withShadow","shadowColor","shadowOpacity","className","disabled","_excluded3","shadowOffset","_jsxs","position","display","backgroundImage","transform","Scrollbars","renderTrackVertical","nodeProps","renderTrackHorizontal","renderThumbHorizontal","renderThumbVertical","onUpdate","hideTracksWhenNotNeeded","ref","node","displayName","defaultProps","autoHide","autoHideTimeout","autoHideDuration","autoHeight","withThemeScrollable","withTheme"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import{Root as r}from'./style.js';import{jsx as t}from'react/jsx-runtime';function o(o){return t(r,e({},o))}o.displayName='Section';export{o as Section};
|
|
2
2
|
//# sourceMappingURL=Section.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","sources":["../../../../src/components/Section/Section.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SectionProps extends BaseProps, Display, Color, ResponsiveProperty<'padding'> {\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: 1 | 2 | 3 | 4 | 5\n /**\n * Section content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text align\n */\n textAlign?: 'left' | 'right' | 'center'\n}\n\nSection.displayName = 'Section'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n */\nexport function Section(props: SectionProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Section","props","_jsx","Styled.Root","_objectSpread","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Section.js","sources":["../../../../src/components/Section/Section.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SectionProps extends BaseProps, Display, Color, ResponsiveProperty<'padding'> {\n /**\n * Paper with shadow\n */\n shadow?: boolean\n /**\n * This number represents the zDepth of the paper shadow\n */\n zDepth?: 1 | 2 | 3 | 4 | 5\n /**\n * Section content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Text align\n */\n textAlign?: 'left' | 'right' | 'center'\n}\n\nSection.displayName = 'Section'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n */\nexport function Section(props: SectionProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Section","props","_jsx","Styled.Root","_objectSpread","displayName"],"mappings":"8HAqCO,SAASA,EAAQC,GACtB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IAV1BD,EAAQK,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import a from'@babel/runtime/helpers/objectWithoutProperties';import r,{AsyncCreatable as l,Async as s,Creatable as t}from'react-select';import{useClassname as o}from'../../hooks/useClassname.js';import{Root as c}from'./style.js';import{jsx as m}from'react/jsx-runtime';var p=["fluid","error","className","style"];function i(d){var{fluid:n,error:u,className:b,style:f}=d,h=a(d,p);var x=o(i.displayName,b);return m(c,{className:x,style:f,error:u,fluid:n,children:m(d.loadOptions?d.allowCreate?l:s:d.allowCreate?t:r,e(e({},h),{},{promptTextCreator:e=>"Добавить \"".concat(e,"\"")}))})}i.defaultProps={allowCreate:!1,searchable:!0,clearable:!1,addLabelText:'Добавить "{label}"?',backspaceToRemoveMessage:'Нажмите клавишу Backspace, чтобы удалить {last label}',clearAllText:'Очистить все',clearValueText:'Очистить значение',noResultsText:'Результатов не найдено',placeholder:'Выбрать ...',searchPromptText:'Введите поисковый запрос',loadingPlaceholder:'Загрузка...',autoload:!0,loadOptions:!1},i.displayName='Select';export{i as Select};
|
|
2
2
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps {\n fluid?: boolean\n error?: boolean\n}\n\nSelect.defaultProps = {\n allowCreate: false,\n searchable: true,\n clearable: false,\n addLabelText: 'Добавить \"{label}\"?',\n backspaceToRemoveMessage: 'Нажмите клавишу Backspace, чтобы удалить {last label}',\n clearAllText: 'Очистить все',\n clearValueText: 'Очистить значение',\n noResultsText: 'Результатов не найдено',\n placeholder: 'Выбрать ...',\n searchPromptText: 'Введите поисковый запрос',\n loadingPlaceholder: 'Загрузка...',\n autoload: true,\n loadOptions: false,\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: typeof Select.defaultProps & SelectProps) {\n const { fluid, error, className, style, ...reactSelectProps } = props\n const _className = useClassname(Select.displayName, className)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const SelectElement: typeof ReactSelect & typeof Creatable = props.loadOptions\n ? props.allowCreate\n ? AsyncCreatable\n : Async\n : props.allowCreate\n ? Creatable\n : ReactSelect\n\n return (\n <Styled.Root className={_className} style={style} error={error} fluid={fluid}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n"],"names":["Select","props","fluid","error","className","style","reactSelectProps","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","children","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","_objectSpread","promptTextCreator","label","concat","defaultProps","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","placeholder","searchPromptText","loadingPlaceholder","autoload"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import ReactSelect, { Async, AsyncCreatable, Creatable, ReactSelectProps } from 'react-select'\nimport { useClassname } from 'hooks/useClassname'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SelectProps extends BaseProps, ReactSelectProps {\n fluid?: boolean\n error?: boolean\n}\n\nSelect.defaultProps = {\n allowCreate: false,\n searchable: true,\n clearable: false,\n addLabelText: 'Добавить \"{label}\"?',\n backspaceToRemoveMessage: 'Нажмите клавишу Backspace, чтобы удалить {last label}',\n clearAllText: 'Очистить все',\n clearValueText: 'Очистить значение',\n noResultsText: 'Результатов не найдено',\n placeholder: 'Выбрать ...',\n searchPromptText: 'Введите поисковый запрос',\n loadingPlaceholder: 'Загрузка...',\n autoload: true,\n loadOptions: false,\n}\n\nSelect.displayName = 'Select'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - `ReactSelectProps`\n */\nexport function Select(props: typeof Select.defaultProps & SelectProps) {\n const { fluid, error, className, style, ...reactSelectProps } = props\n const _className = useClassname(Select.displayName, className)\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const SelectElement: typeof ReactSelect & typeof Creatable = props.loadOptions\n ? props.allowCreate\n ? AsyncCreatable\n : Async\n : props.allowCreate\n ? Creatable\n : ReactSelect\n\n return (\n <Styled.Root className={_className} style={style} error={error} fluid={fluid}>\n <SelectElement {...reactSelectProps} promptTextCreator={(label: string) => `Добавить \"${label}\"`} />\n </Styled.Root>\n )\n}\n"],"names":["Select","props","fluid","error","className","style","reactSelectProps","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","children","loadOptions","allowCreate","AsyncCreatable","Async","Creatable","ReactSelect","_objectSpread","promptTextCreator","label","concat","defaultProps","searchable","clearable","addLabelText","backspaceToRemoveMessage","clearAllText","clearValueText","noResultsText","placeholder","searchPromptText","loadingPlaceholder","autoload"],"mappings":"8WAiCO,SAASA,EAAOC,GACrB,IAAMC,MAAEA,EAAFC,MAASA,EAATC,UAAgBA,EAAhBC,MAA2BA,GAA+BJ,EAArBK,IAAqBL,EAAhEM,GACA,IAAMC,EAAaC,EAAaT,EAAOU,YAAaN,GAYpD,OACEO,EAACC,EAAD,CAAaR,UAAWI,EAAYH,MAAOA,EAAOF,MAAOA,EAAOD,MAAOA,EAAvEW,SACEF,EAVyDV,EAAMa,YAC/Db,EAAMc,YACJC,EACAC,EACFhB,EAAMc,YACNG,EACAC,EAIAC,EAAAA,EAAA,GAAmBd,GAAnB,GAAA,CAAqCe,kBAAoBC,GAAD,cAAAC,OAAgCD,EAAhC,WAvC9DtB,EAAOwB,aAAe,CACpBT,aAAAA,EACAU,YAAY,EACZC,WAAW,EACXC,aAAc,sBACdC,yBAA0B,wDAC1BC,aAAc,eACdC,eAAgB,oBAChBC,cAAe,yBACfC,YAAa,cACbC,iBAAkB,2BAClBC,mBAAoB,cACpBC,UAAU,EACVrB,aAAa,GAGfd,EAAOU,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from'@babel/runtime/helpers/
|
|
1
|
+
import r from'@babel/runtime/helpers/objectSpread2';import{SeparatorText as e}from'./SeparatorText.js';import{Root as t}from'./style.js';import{jsx as o}from'react/jsx-runtime';function a(e){return o(t,r({},e))}a.defaultProps={margin:'s',color:'grey',weight:1},a.Text=e,a.displayName='Separator';export{a as Separator};
|
|
2
2
|
//# sourceMappingURL=Separator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Separator.js","sources":["../../../../src/components/Separator/Separator.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { SeparatorText } from './SeparatorText'\nimport * as Styled from './style'\n\nexport interface SeparatorProps\n extends BaseProps,\n Color,\n ResponsiveProperty<'top'>,\n ResponsiveProperty<'right'>,\n ResponsiveProperty<'bottom'>,\n ResponsiveProperty<'left'>,\n ResponsiveProperty<'padding'>,\n ResponsiveProperty<'paddingTop'>,\n ResponsiveProperty<'paddingRight'>,\n ResponsiveProperty<'paddingBottom'>,\n ResponsiveProperty<'paddingLeft'>,\n ResponsiveProperty<'margin'>,\n ResponsiveProperty<'marginTop'>,\n ResponsiveProperty<'marginRight'>,\n ResponsiveProperty<'marginBottom'>,\n ResponsiveProperty<'marginLeft'> {\n /**\n * Separator weight\n */\n weight?: 1 | 2 | 3 | 4 | 5\n}\n\nSeparator.defaultProps = {\n margin: 's',\n color: 'grey',\n weight: 1,\n}\n\nSeparator.Text = SeparatorText\nSeparator.displayName = 'Separator'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveProperty<'top'>`](#/Миксины)\n * - [`ResponsiveProperty<'right'>`](#/Миксины)\n * - [`ResponsiveProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'left'>`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Separator(props: typeof Separator.defaultProps & SeparatorProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Separator","props","_jsx","Styled.Root","_objectSpread","defaultProps","margin","color","weight","Text","SeparatorText","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Separator.js","sources":["../../../../src/components/Separator/Separator.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport { SeparatorText } from './SeparatorText'\nimport * as Styled from './style'\n\nexport interface SeparatorProps\n extends BaseProps,\n Color,\n ResponsiveProperty<'top'>,\n ResponsiveProperty<'right'>,\n ResponsiveProperty<'bottom'>,\n ResponsiveProperty<'left'>,\n ResponsiveProperty<'padding'>,\n ResponsiveProperty<'paddingTop'>,\n ResponsiveProperty<'paddingRight'>,\n ResponsiveProperty<'paddingBottom'>,\n ResponsiveProperty<'paddingLeft'>,\n ResponsiveProperty<'margin'>,\n ResponsiveProperty<'marginTop'>,\n ResponsiveProperty<'marginRight'>,\n ResponsiveProperty<'marginBottom'>,\n ResponsiveProperty<'marginLeft'> {\n /**\n * Separator weight\n */\n weight?: 1 | 2 | 3 | 4 | 5\n}\n\nSeparator.defaultProps = {\n margin: 's',\n color: 'grey',\n weight: 1,\n}\n\nSeparator.Text = SeparatorText\nSeparator.displayName = 'Separator'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'fontColor'>`](#/Миксины)\n * - [`ResponsiveProperty<'top'>`](#/Миксины)\n * - [`ResponsiveProperty<'right'>`](#/Миксины)\n * - [`ResponsiveProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'left'>`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Separator(props: typeof Separator.defaultProps & SeparatorProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Separator","props","_jsx","Styled.Root","_objectSpread","defaultProps","margin","color","weight","Text","SeparatorText","displayName"],"mappings":"iLA0DO,SAASA,EAAUC,GACxB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IA9B1BD,EAAUK,aAAe,CACvBC,OAAQ,IACRC,MAAO,OACPC,OAAQ,GAGVR,EAAUS,KAAOC,EACjBV,EAAUW,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from'@babel/runtime/helpers/
|
|
1
|
+
import r from'@babel/runtime/helpers/objectSpread2';import e from'@babel/runtime/helpers/objectWithoutProperties';import{Separator as o}from'./Separator.js';import{TextRoot as t,Text as a}from'./style.js';import{jsxs as s,jsx as l}from'react/jsx-runtime';var m=["children","className","color"];function c(c){var{children:i,className:p,color:n}=c,h=e(c,m);return s(t,{children:[l(o,r({className:p,color:n},h)),l(a,{color:n,children:i})]})}export{c as SeparatorText};
|
|
2
2
|
//# sourceMappingURL=SeparatorText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeparatorText.js","sources":["../../../../src/components/Separator/SeparatorText.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nexport function SeparatorText({ children, className, color, ...restProps }: SeparatorTextProps) {\n return (\n <Styled.TextRoot>\n <Separator className={className} color={color} {...restProps} />\n <Styled.Text color={color}>{children}</Styled.Text>\n </Styled.TextRoot>\n )\n}\n"],"names":["SeparatorText","_ref","children","className","color","restProps","_objectWithoutProperties","_excluded","_jsxs","Styled.TextRoot","_jsx","Separator","_objectSpread","Styled.Text"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SeparatorText.js","sources":["../../../../src/components/Separator/SeparatorText.tsx"],"sourcesContent":["import { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport { Separator } from './Separator'\nimport * as Styled from './style'\n\nexport interface SeparatorTextProps extends BaseProps, Color {\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nexport function SeparatorText({ children, className, color, ...restProps }: SeparatorTextProps) {\n return (\n <Styled.TextRoot>\n <Separator className={className} color={color} {...restProps} />\n <Styled.Text color={color}>{children}</Styled.Text>\n </Styled.TextRoot>\n )\n}\n"],"names":["SeparatorText","_ref","children","className","color","restProps","_objectWithoutProperties","_excluded","_jsxs","Styled.TextRoot","_jsx","Separator","_objectSpread","Styled.Text"],"mappings":"sSAYO,SAASA,EAAgFC,GAAA,IAAlEC,SAAEA,EAAFC,UAAYA,EAAZC,MAAuBA,GAA2CH,EAAjCI,EAAiCC,EAAAL,EAAAM,GAC9F,OACEC,EAACC,EAAD,CAAAP,SAAA,CACEQ,EAACC,EAADC,EAAA,CAAWT,UAAWA,EAAWC,MAAOA,GAAWC,IACnDK,EAACG,EAAD,CAAaT,MAAOA,EAApBF,SAA4BA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from'@babel/runtime/helpers/
|
|
1
|
+
import r from'@babel/runtime/helpers/objectSpread2';import{Root as e}from'./style.js';import{jsx as t}from'react/jsx-runtime';function o(o){return t(e,r({},o))}o.displayName='Spacer';export{o as Spacer};
|
|
2
2
|
//# sourceMappingURL=Spacer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.js","sources":["../../../../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpacerProps\n extends BaseProps,\n Display,\n ResponsiveProperty<'top'>,\n ResponsiveProperty<'right'>,\n ResponsiveProperty<'bottom'>,\n ResponsiveProperty<'left'>,\n ResponsiveProperty<'padding'>,\n ResponsiveProperty<'paddingTop'>,\n ResponsiveProperty<'paddingRight'>,\n ResponsiveProperty<'paddingBottom'>,\n ResponsiveProperty<'paddingLeft'>,\n ResponsiveProperty<'margin'>,\n ResponsiveProperty<'marginTop'>,\n ResponsiveProperty<'marginRight'>,\n ResponsiveProperty<'marginBottom'>,\n ResponsiveProperty<'marginLeft'> {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nSpacer.displayName = 'Spacer'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveProperty<'top'>`](#/Миксины)\n * - [`ResponsiveProperty<'right'>`](#/Миксины)\n * - [`ResponsiveProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'left'>`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Spacer(props: SpacerProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Spacer","props","_jsx","Styled.Root","_objectSpread","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Spacer.js","sources":["../../../../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import { Display } from '../../mixins/display'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpacerProps\n extends BaseProps,\n Display,\n ResponsiveProperty<'top'>,\n ResponsiveProperty<'right'>,\n ResponsiveProperty<'bottom'>,\n ResponsiveProperty<'left'>,\n ResponsiveProperty<'padding'>,\n ResponsiveProperty<'paddingTop'>,\n ResponsiveProperty<'paddingRight'>,\n ResponsiveProperty<'paddingBottom'>,\n ResponsiveProperty<'paddingLeft'>,\n ResponsiveProperty<'margin'>,\n ResponsiveProperty<'marginTop'>,\n ResponsiveProperty<'marginRight'>,\n ResponsiveProperty<'marginBottom'>,\n ResponsiveProperty<'marginLeft'> {\n /**\n * Primary content\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n}\n\nSpacer.displayName = 'Spacer'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Display`](#/Миксины)\n * - [`ResponsiveProperty<'top'>`](#/Миксины)\n * - [`ResponsiveProperty<'right'>`](#/Миксины)\n * - [`ResponsiveProperty<'bottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'left'>`](#/Миксины)\n * - [`ResponsiveProperty<'padding'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'paddingLeft'>`](#/Миксины)\n * - [`ResponsiveProperty<'margin'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginTop'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginRight'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginBottom'>`](#/Миксины)\n * - [`ResponsiveProperty<'marginLeft'>`](#/Миксины)\n */\nexport function Spacer(props: SpacerProps) {\n return <Styled.Root {...props} />\n}\n"],"names":["Spacer","props","_jsx","Styled.Root","_objectSpread","displayName"],"mappings":"8HAoDO,SAASA,EAAOC,GACrB,OAAOC,EAACC,EAADC,EAAA,GAAiBH,IAtB1BD,EAAOK,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import s from'@babel/runtime/helpers/objectWithoutProperties';import{useClassname as r}from'../../hooks/useClassname.js';import{Root as a}from'./style.js';import{jsx as m}from'react/jsx-runtime';var o=["className"];function t(i){var{className:p}=i,l=s(i,o);var n=r(t.displayName,p);return m(a,e({className:n},l))}t.defaultProps={size:'m'},t.displayName='Spinner';export{t as Spinner};
|
|
2
2
|
//# sourceMappingURL=Spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveProperty<'size'>`](#/Миксины)\n */\nexport function Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n"],"names":["Spinner","_ref","className","props","_objectWithoutProperties","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","_objectSpread","defaultProps","size"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Spinner.js","sources":["../../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import { useClassname } from 'hooks/useClassname'\nimport { ResponsiveProperty } from '../../mixins/responsive-property'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SpinnerProps extends BaseProps, ResponsiveProperty<'size'> {\n /**\n * Size of spinner\n */\n size?: 'l' | 's' | 'm' | number\n /**\n * Vertically center the spinner inside 100vh container\n */\n fullscreen?: boolean\n /**\n * Inline. Has no top/bottom margins\n */\n inline?: boolean\n}\n\nSpinner.defaultProps = {\n size: 'm',\n}\n\nSpinner.displayName = 'Spinner'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`ResponsiveProperty<'size'>`](#/Миксины)\n */\nexport function Spinner({ className, ...props }: typeof Spinner.defaultProps & SpinnerProps) {\n const _className = useClassname(Spinner.displayName, className)\n\n return <Styled.Root className={_className} {...props} />\n}\n"],"names":["Spinner","_ref","className","props","_objectWithoutProperties","_excluded","_className","useClassname","displayName","_jsx","Styled.Root","_objectSpread","defaultProps","size"],"mappings":"2QA+BO,SAASA,EAA6EC,GAAA,IAArEC,UAAEA,GAAmED,EAArDE,EAAqDC,EAAAH,EAAAI,GAC3F,IAAMC,EAAaC,EAAaP,EAAQQ,YAAaN,GAErD,OAAOO,EAACC,EAADC,EAAA,CAAaT,UAAWI,GAAgBH,IAdjDH,EAAQY,aAAe,CACrBC,KAAM,KAGRb,EAAQQ,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import r from'@babel/runtime/helpers/objectWithoutProperties';import{createRef as a}from'react';import{Root as t,Input as o,Switcher as n,Label as i}from'./style.js';import{jsxs as l,jsx as s}from'react/jsx-runtime';var c=["id","value","name","children","tabIndex","onChange"];function d(d){var m=a();var{id:h,value:p,name:u,children:b,tabIndex:f,onChange:x}=d,v=r(d,c);return l(t,e(e({value:p},v),{},{children:[s(o,{id:h,name:u,checked:p,type:"checkbox",tabIndex:f,ref:m,onChange:e=>{d.disabled||'function'!=typeof x||x(e.target.checked,e)}}),s(n,{htmlFor:h}),b?s(i,{htmlFor:h,children:b}):null]}))}d.defaultProps={value:!1,disabled:!1,color:'atlantis'},d.displayName='Switcher';export{d as Switcher};
|
|
2
2
|
//# sourceMappingURL=Switcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switcher.js","sources":["../../../../src/components/Switcher/Switcher.tsx"],"sourcesContent":["import { createRef } from 'react'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SwitcherProps extends BaseProps, Color<'color'>, Color<'inactiveColor'> {\n /**\n * Id for swithcer\n */\n id?: string\n /**\n * Name of input\n */\n name?: string\n /**\n * Value of input\n */\n value?: boolean\n /**\n * Switcher is disabled\n */\n disabled?: boolean\n /**\n * Tabindex\n */\n tabIndex?: number\n /**\n * Label of switcher\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * onChange function\n */\n onChange?(_checked: boolean, _event: React.ChangeEvent<HTMLInputElement>): void\n}\n\nSwitcher.defaultProps = {\n value: false,\n disabled: false,\n color: 'atlantis',\n}\n\nSwitcher.displayName = 'Switcher'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'inactiveColor'>`](#/Миксины)\n */\nexport function Switcher(props: typeof Switcher.defaultProps & SwitcherProps) {\n const inputRef = createRef<HTMLInputElement>()\n const { id, value, name, children, tabIndex, onChange, ...restProps } = props\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!props.disabled && typeof onChange === 'function') {\n onChange(event.target.checked, event)\n }\n }\n\n return (\n <Styled.Root value={value} {...restProps}>\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n ref={inputRef}\n onChange={handleChange}\n />\n <Styled.Switcher htmlFor={id} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n}\n"],"names":["Switcher","props","inputRef","createRef","id","value","name","children","tabIndex","onChange","restProps","_excluded","_jsxs","Styled.Root","_objectSpread","_jsx","Styled.Input","checked","type","ref","event","disabled","target","Styled.Switcher","htmlFor","Styled.Label","defaultProps","color","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Switcher.js","sources":["../../../../src/components/Switcher/Switcher.tsx"],"sourcesContent":["import { createRef } from 'react'\nimport { Color } from '../../mixins/color'\nimport { BaseProps } from '../../shared/interfaces'\nimport * as Styled from './style'\n\nexport interface SwitcherProps extends BaseProps, Color<'color'>, Color<'inactiveColor'> {\n /**\n * Id for swithcer\n */\n id?: string\n /**\n * Name of input\n */\n name?: string\n /**\n * Value of input\n */\n value?: boolean\n /**\n * Switcher is disabled\n */\n disabled?: boolean\n /**\n * Tabindex\n */\n tabIndex?: number\n /**\n * Label of switcher\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * onChange function\n */\n onChange?(_checked: boolean, _event: React.ChangeEvent<HTMLInputElement>): void\n}\n\nSwitcher.defaultProps = {\n value: false,\n disabled: false,\n color: 'atlantis',\n}\n\nSwitcher.displayName = 'Switcher'\n\n/**\n * Расширен:\n * - [`BaseProps`](#/Миксины)\n * - [`Color`](#/Миксины)\n * - [`Color<'inactiveColor'>`](#/Миксины)\n */\nexport function Switcher(props: typeof Switcher.defaultProps & SwitcherProps) {\n const inputRef = createRef<HTMLInputElement>()\n const { id, value, name, children, tabIndex, onChange, ...restProps } = props\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!props.disabled && typeof onChange === 'function') {\n onChange(event.target.checked, event)\n }\n }\n\n return (\n <Styled.Root value={value} {...restProps}>\n <Styled.Input\n id={id}\n name={name}\n checked={value}\n type='checkbox'\n tabIndex={tabIndex}\n ref={inputRef}\n onChange={handleChange}\n />\n <Styled.Switcher htmlFor={id} />\n {children ? <Styled.Label htmlFor={id}>{children}</Styled.Label> : null}\n </Styled.Root>\n )\n}\n"],"names":["Switcher","props","inputRef","createRef","id","value","name","children","tabIndex","onChange","restProps","_excluded","_jsxs","Styled.Root","_objectSpread","_jsx","Styled.Input","checked","type","ref","event","disabled","target","Styled.Switcher","htmlFor","Styled.Label","defaultProps","color","displayName"],"mappings":"yUAqDO,SAASA,EAASC,GACvB,IAAMC,EAAWC,IACjB,IAAMC,GAAEA,EAAFC,MAAMA,EAANC,KAAaA,EAAbC,SAAmBA,EAAnBC,SAA6BA,EAA7BC,SAAuCA,GAA2BR,EAAdS,IAAcT,EAAxEU,GAQA,OACEC,EAACC,EAADC,EAAAA,EAAA,CAAaT,MAAOA,GAAWK,GAA/B,GAAA,CAAAH,SACE,CAAAQ,EAACC,EAAD,CACEZ,GAAIA,EACJE,KAAMA,EACNW,QAASZ,EACTa,KAAK,WACLV,SAAUA,EACVW,IAAKjB,EACLO,SAf4DW,IAC3DnB,EAAMoB,UAAgC,mBAAbZ,GAC5BA,EAASW,EAAME,OAAOL,QAASG,MAe/BL,EAACQ,EAAD,CAAiBC,QAASpB,IACzBG,EAAWQ,EAACU,EAAD,CAAcD,QAASpB,EAAvBG,SAA4BA,IAA2B,SApCzEP,EAAS0B,aAAe,CACtBrB,OAAO,EACPgB,UAAU,EACVM,MAAO,YAGT3B,EAAS4B,YAAc"}
|
package/components/Tabs/Tab.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectSpread2';import a from'@babel/runtime/helpers/objectWithoutProperties';import{Tab as r}from'./style.js';import{jsx as t}from'react/jsx-runtime';var s=["as","className","children","theme"];function o(o){var{as:i,className:m,children:l,theme:c}=o,n=a(o,s);return t(r,e(e(e({as:i,className:m,themeKey:c},'string'!=typeof i?{activeClassName:'active'}:{}),n),{},{children:l}))}o.defaultProps={as:'div',activeClassName:'active',borderColor:'alto',color:'mineShaft'};export{o as Tab};
|
|
2
2
|
//# sourceMappingURL=Tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sources":["../../../../src/components/Tabs/Tab.tsx"],"sourcesContent":["import { NavLink } from 'react-router-dom'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends Color, Color<'borderColor'> {\n /**\n * An element type to render as (string or function).\n */\n as?: 'div' | 'a' | 'button' | 'span' | typeof NavLink\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Active tab.\n */\n active?: boolean\n /**\n * Active tab.\n */\n activeClassName?: string\n /**\n * Active tab.\n */\n theme?: 'compact' | 'crispy' | 'crispyCompact'\n className?: string\n}\n\nTab.defaultProps = {\n as: 'div',\n activeClassName: 'active',\n borderColor: 'alto',\n color: 'mineShaft',\n}\n\nexport function Tab(props: TabProps) {\n const { as, className, children, theme, ...rest } = props\n\n const linkProps = typeof as !== 'string' ? { activeClassName: 'active' } : {}\n\n return (\n <Styled.Tab as={as} className={className} themeKey={theme} {...linkProps} {...rest}>\n {children}\n </Styled.Tab>\n )\n}\n"],"names":["Tab","props","as","className","children","theme","rest","_excluded","_jsx","Styled.Tab","_objectSpread","themeKey","activeClassName","defaultProps","borderColor","color"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tab.js","sources":["../../../../src/components/Tabs/Tab.tsx"],"sourcesContent":["import { NavLink } from 'react-router-dom'\nimport { Color } from '../../mixins/color'\nimport * as Styled from './style'\n\nexport interface TabProps extends Color, Color<'borderColor'> {\n /**\n * An element type to render as (string or function).\n */\n as?: 'div' | 'a' | 'button' | 'span' | typeof NavLink\n /**\n * Primary content.\n */\n /**\n * Children react node\n */\n children?: React.ReactNode\n /**\n * Active tab.\n */\n active?: boolean\n /**\n * Active tab.\n */\n activeClassName?: string\n /**\n * Active tab.\n */\n theme?: 'compact' | 'crispy' | 'crispyCompact'\n className?: string\n}\n\nTab.defaultProps = {\n as: 'div',\n activeClassName: 'active',\n borderColor: 'alto',\n color: 'mineShaft',\n}\n\nexport function Tab(props: TabProps) {\n const { as, className, children, theme, ...rest } = props\n\n const linkProps = typeof as !== 'string' ? { activeClassName: 'active' } : {}\n\n return (\n <Styled.Tab as={as} className={className} themeKey={theme} {...linkProps} {...rest}>\n {children}\n </Styled.Tab>\n )\n}\n"],"names":["Tab","props","as","className","children","theme","rest","_excluded","_jsx","Styled.Tab","_objectSpread","themeKey","activeClassName","defaultProps","borderColor","color"],"mappings":"uOAsCO,SAASA,EAAIC,GAClB,IAAMC,GAAEA,EAAFC,UAAMA,EAANC,SAAiBA,EAAjBC,MAA2BA,GAAmBJ,EAATK,IAASL,EAApDM,GAIA,OACEC,EAACC,EAADC,EAAAA,EAAAA,EAAA,CAAYR,GAAIA,EAAIC,UAAWA,EAAWQ,SAAUN,GAHtB,iBAAPH,EAAkB,CAAEU,gBAAiB,UAAa,IAGKN,GAA9E,GAAA,CAAAF,SACGA,KAdPJ,EAAIa,aAAe,CACjBX,GAAI,MACJU,gBAAiB,SACjBE,YAAa,OACbC,MAAO"}
|
package/components/Tag/Tag.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/
|
|
1
|
+
import e from'@babel/runtime/helpers/objectWithoutProperties';import t from'@babel/runtime/helpers/objectSpread2';import{Root as n,Text as i}from'./style.js';import{jsx as r,jsxs as o}from'react/jsx-runtime';var a=["as","textProps","content","children","htmlFor","id","name","inputType","value","disabled","onChange","onClick","inverse","checked"];function l(e){return r(s,t({as:"input"},e))}function s(l){var{as:s,textProps:p,content:u,children:d,htmlFor:c,id:h,name:m,inputType:b,value:f,disabled:k,onChange:g,onClick:v,inverse:y,checked:x}=l,C=e(l,a);var j='button'===s?{type:'button'}:{};var S='input'===s?{htmlFor:h||m}:{};return o(n,t(t(t(t(t({as:'input'===s?'label':s,inverse:y,checked:x,disabled:k,onClick:'input'!==s?v:void 0},'label'===s?{htmlFor:c}:{}),j),S),C),{},{children:['input'===s?r("input",{id:h||m,name:m,type:b||'checkbox',tabIndex:0,onChange:function(e){function t(t){return e.apply(this,arguments)}return t.toString=()=>e.toString(),t}((e=>(e.persist(),g&&g(e)))),onClick:function(e){function t(t){return e.apply(this,arguments)}return t.toString=()=>e.toString(),t}((e=>(e.persist(),v&&v(e)))),defaultChecked:l.defaultChecked,checked:x,value:f,disabled:k,hidden:!0}):null,d,r(i,t(t({size:14,forwardedAs:"span",color:x&&!y?'white':'mineShaft'},p),{},{children:u}))]}))}s.defaultProps={display:'inline-block',as:'button',height:40},l.defaultProps={display:'inline-block',height:40},s.Input=l,s.displayName='Tag';export{s as Tag};
|
|
2
2
|
//# sourceMappingURL=Tag.js.map
|