@skbkontur/react-ui 3.6.0 → 3.8.0
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/CHANGELOG.md +71 -0
- package/cjs/components/Button/Button.d.ts +1 -0
- package/cjs/components/Button/Button.js +7 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -2
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +9 -8
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +3 -2
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +14 -5
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.d.ts +4 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js +9 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js.map +1 -0
- package/cjs/components/FxInput/FxInput.js +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Input/Input.styles.js +1 -1
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +2 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +2 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +3 -1
- package/cjs/components/Loader/Loader.js +20 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -0
- package/cjs/components/Modal/Modal.styles.js +24 -21
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +23 -3
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Paging/Paging.js +2 -2
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.js +2 -1
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +9 -1
- package/cjs/components/Radio/Radio.js +37 -4
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.d.ts +1 -1
- package/cjs/components/Radio/Radio.styles.js +5 -10
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
- package/cjs/components/ScrollContainer/ScrollBar.js +244 -0
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +38 -23
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +81 -153
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +62 -13
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +12 -3
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +72 -9
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +1 -2
- package/cjs/components/SidePage/SidePage.js +1 -5
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +2 -1
- package/cjs/components/SidePage/SidePage.styles.js +44 -28
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +4 -1
- package/cjs/components/SidePage/SidePageHeader.js +33 -23
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Switcher/Switcher.js +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.styles.js +3 -2
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +0 -3
- package/cjs/components/Tabs/Tab.js +3 -13
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.styles.js +2 -2
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +6 -5
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.styles.d.ts +1 -0
- package/cjs/components/Toggle/Toggle.styles.js +26 -16
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/Token/Token.styles.js +8 -9
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +8 -0
- package/cjs/components/TokenInput/TokenInput.js +24 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +2 -1
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +5 -7
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.js +3 -3
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/icons/CrossIcon.js +8 -1
- package/cjs/internal/icons/CrossIcon.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +23 -7
- package/cjs/internal/themes/DefaultTheme.js +77 -32
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/FlatTheme.d.ts +4 -4
- package/cjs/internal/themes/FlatTheme.js +16 -8
- package/cjs/internal/themes/FlatTheme.js.map +1 -1
- package/cjs/internal/themes/Theme8px.d.ts +0 -5
- package/cjs/internal/themes/Theme8px.js +2 -12
- package/cjs/internal/themes/Theme8px.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +2 -0
- package/cjs/lib/Upgrades.js +14 -0
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/events/keyListener.d.ts +7 -0
- package/cjs/lib/events/keyListener.js +22 -0
- package/cjs/lib/events/keyListener.js.map +1 -0
- package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
- package/cjs/lib/events/keyboard/identifiers.js +6 -1
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/events/tabListener.d.ts +1 -6
- package/cjs/lib/events/tabListener.js +2 -15
- package/cjs/lib/events/tabListener.js.map +1 -1
- package/cjs/lib/locale/LOCALECONTEXT.md +1 -1
- package/cjs/lib/styles/ColorFunctions.js +1 -1
- package/cjs/lib/styles/ColorFunctions.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +1 -1
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +1 -1
- package/cjs/lib/utils.d.ts +7 -0
- package/cjs/lib/utils.js +12 -2
- package/cjs/lib/utils.js.map +1 -1
- package/components/Button/Button/Button.js +5 -4
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -0
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +5 -5
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -2
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +11 -5
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js +10 -0
- package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js.map +1 -0
- package/components/CurrencyLabel/CurrencyLabel.styles/package.json +6 -0
- package/components/CurrencyLabel/CurrencyLabel.styles.d.ts +4 -0
- package/components/FxInput/FxInput/FxInput.js +2 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +1 -1
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +2 -2
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +2 -2
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Loader/Loader/Loader.js +34 -14
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +3 -1
- package/components/MenuItem/MenuItem.md +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +18 -15
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -0
- package/components/Modal/ModalClose/ModalClose.js +25 -2
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Paging/Paging/Paging.js +2 -2
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Radio/Radio/Radio.js +36 -3
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +9 -1
- package/components/Radio/Radio.styles/Radio.styles.js +3 -3
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +254 -0
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
- package/components/ScrollContainer/ScrollBar/package.json +6 -0
- package/components/ScrollContainer/ScrollBar.d.ts +37 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +121 -205
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
- package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
- package/components/ScrollContainer/ScrollContainer.d.ts +38 -23
- package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
- package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
- package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
- package/components/ScrollContainer/ScrollContainer.md +62 -13
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +23 -9
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +12 -3
- package/components/SidePage/SidePage/SidePage.js +2 -4
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +1 -2
- package/components/SidePage/SidePage.styles/SidePage.styles.js +20 -16
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +2 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +40 -22
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +4 -1
- package/components/Switcher/Switcher/Switcher.js +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js +2 -2
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -1
- package/components/Tabs/Tab/Tab.js +2 -16
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +0 -3
- package/components/Tabs/Tab.styles/Tab.styles.js +1 -1
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +5 -5
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.styles/Toggle.styles.js +15 -12
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +1 -0
- package/components/Token/Token.styles/Token.styles.js +2 -2
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +24 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +8 -0
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +1 -1
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +4 -4
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +2 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js +3 -3
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/icons/CrossIcon/CrossIcon.js +2 -1
- package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +100 -19
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +23 -7
- package/internal/themes/FlatTheme/FlatTheme.js +18 -6
- package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
- package/internal/themes/FlatTheme.d.ts +4 -4
- package/internal/themes/Theme8px/Theme8px.js +1 -14
- package/internal/themes/Theme8px/Theme8px.js.map +1 -1
- package/internal/themes/Theme8px.d.ts +0 -5
- package/lib/Upgrades/Upgrades.js +13 -0
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +2 -0
- package/lib/events/keyListener/keyListener.js +22 -0
- package/lib/events/keyListener/keyListener.js.map +1 -0
- package/lib/events/keyListener/package.json +6 -0
- package/lib/events/keyListener.d.ts +7 -0
- package/lib/events/keyboard/identifiers/identifiers.js +10 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/events/keyboard/identifiers.d.ts +1 -0
- package/lib/events/tabListener/tabListener.js +2 -19
- package/lib/events/tabListener/tabListener.js.map +1 -1
- package/lib/events/tabListener.d.ts +1 -6
- package/lib/locale/LOCALECONTEXT.md +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +1 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeContext.md +1 -1
- package/lib/utils/utils.js +10 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +7 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","tabListener","ThemeContext","OkIcon","SquareIcon","isEdge","isFirefox","isIE11","CommonWrapper","cx","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","theme","input","componentDidMount","setIndeterminate","setState","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","rootFallback","rootChecked","checked","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","inputRef","caption","children","captionClass","captionIE11","iconClass","iconUnchecked","iconFixBaseline","box","boxChecked","boxWarning","boxError","boxFocus","boxDisabled","e","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","UNSAFE_componentWillReceiveProps","nextProps","render","focus","blur","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"oOAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;;AAGA,SAASC,WAAT,QAA4B,8BAA5B;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,MAAT,EAAiBC,UAAjB,QAAmC,2BAAnC;AACA,SAASC,MAAT,EAAiBC,SAAjB,EAA4BC,MAA5B,QAA0C,kBAA1C;AACA,SAASC,aAAT,QAAmE,8BAAnE;AACA,SAASC,EAAT,QAAmB,2BAAnB;;AAEA,SAASC,MAAT,EAAiBC,aAAjB,QAAsC,mBAAtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA;AACA;AACA;AACA,WAAaC,QAAb;;;;;;;;;;;;;;;AAeSC,IAAAA,KAfT,GAeiB;AACbC,MAAAA,YAAY,EAAE,KADD;AAEbC,MAAAA,aAAa,EAAE,MAAKC,KAAL,CAAWC,oBAAX,IAAmC,KAFrC,EAfjB;;;AAoBUC,IAAAA,KApBV;AAqBUC,IAAAA,KArBV;;AAuBSC,IAAAA,iBAvBT,GAuB6B,YAAM;AAC/B,UAAI,MAAKP,KAAL,CAAWE,aAAX,IAA4B,MAAKI,KAArC,EAA4C;AAC1C,cAAKA,KAAL,CAAWJ,aAAX,GAA2B,IAA3B;AACD;AACF,KA3BH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiESM,IAAAA,gBAjET,GAiE4B,YAAM;AAC9B,YAAKC,QAAL,CAAc;AACZP,QAAAA,aAAa,EAAE,IADH,EAAd;;AAGA,UAAI,MAAKI,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWJ,aAAX,GAA2B,IAA3B;AACD;AACF,KAxEH;;;;;;AA8ESQ,IAAAA,kBA9ET,GA8E8B,YAAM;AAChC,YAAKD,QAAL,CAAc;AACZP,QAAAA,aAAa,EAAE,KADH,EAAd;;AAGA,UAAI,MAAKI,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWJ,aAAX,GAA2B,KAA3B;AACD;AACF,KArFH;;AAuFUS,IAAAA,UAvFV,GAuFuB,UAACR,KAAD,EAAkD;;AAEnES,MAAAA,KAFmE;;;;;;;;;AAWjET,MAAAA,KAXiE,CAEnES,KAFmE,CAGnEC,OAHmE,GAWjEV,KAXiE,CAGnEU,OAHmE,CAInEC,YAJmE,GAWjEX,KAXiE,CAInEW,YAJmE,CAKnEC,YALmE,GAWjEZ,KAXiE,CAKnEY,YALmE,CAMnEC,WANmE,GAWjEb,KAXiE,CAMnEa,WANmE,CAOnEC,aAPmE,GAWjEd,KAXiE,CAOnEc,aAPmE,CAQnEC,IARmE,GAWjEf,KAXiE,CAQnEe,IARmE,CASnEd,oBATmE,GAWjED,KAXiE,CASnEC,oBATmE,CAUhEe,IAVgE,iCAWjEhB,KAXiE;AAYrE,UAAMiB,eAAe,GAAG,MAAKpB,KAAL,CAAWE,aAAnC;;AAEA,UAAMmB,SAAS,GAAGzB,EAAE;AACjBC,MAAAA,MAAM,CAACyB,IAAP,CAAY,MAAKjB,KAAjB,CADiB,IACS,IADT;AAEjBR,MAAAA,MAAM,CAAC0B,YAAP,EAFiB,IAEO7B,MAAM,IAAIF,MAFjB;AAGjBK,MAAAA,MAAM,CAAC2B,WAAP,CAAmB,MAAKnB,KAAxB,CAHiB,IAGgBF,KAAK,CAACsB,OAAN,IAAiBL,eAHjC;AAIjBvB,MAAAA,MAAM,CAAC6B,QAAP,CAAgB,MAAKrB,KAArB,CAJiB,IAIasB,OAAO,CAACxB,KAAK,CAACuB,QAAP,CAJpB,OAApB;;;AAOA,UAAME,UAAU;AACXT,MAAAA,IADW;AAEdD,QAAAA,IAAI,EAAE,UAFQ;AAGdW,QAAAA,SAAS,EAAEhC,MAAM,CAACS,KAAP,EAHG;AAIdwB,QAAAA,QAAQ,EAAE,MAAKC,YAJD;AAKdC,QAAAA,OAAO,EAAE,MAAKC,WALA;AAMdC,QAAAA,MAAM,EAAE,MAAKC,UANC;AAOdC,QAAAA,OAAO,EAAE,MAAKC,WAPA;AAQdC,QAAAA,GAAG,EAAE,MAAKC,QARI,GAAhB;;;AAWA,UAAIC,OAAO,GAAG,IAAd;AACA,UAAI,MAAKrC,KAAL,CAAWsC,QAAf,EAAyB;AACvB,YAAMC,YAAY,GAAG9C,EAAE;AACpBC,QAAAA,MAAM,CAAC2C,OAAP,CAAe,MAAKnC,KAApB,CADoB,IACS,IADT;AAEpBR,QAAAA,MAAM,CAAC8C,WAAP,EAFoB,IAEGjD,MAAM,IAAIF,MAFb,QAAvB;;AAIAgD,QAAAA,OAAO,gBAAG,8BAAM,SAAS,EAAEE,YAAjB,IAAgC,MAAKvC,KAAL,CAAWsC,QAA3C,CAAV;AACD;;AAED,UAAMG,SAAS,GAAGhD,EAAE;AACjBC,MAAAA,MAAM,CAACgD,aAAP,EADiB,IACQ,CAAC1C,KAAK,CAACsB,OAAP,IAAkB,CAACL,eAD3B;AAEjBvB,MAAAA,MAAM,CAACiD,eAAP,EAFiB,IAEUrD,SAAS,IAAIC,MAAb,IAAuBF,MAFjC,QAApB;;;AAKA,UAAMuD,GAAG;AACP;AACE,QAAA,SAAS,EAAEnD,EAAE,CAACC,MAAM,CAACkD,GAAP,CAAW,MAAK1C,KAAhB,CAAD,EAAyBP,aAAa,CAACiD,GAAvC;AACVlD,QAAAA,MAAM,CAACmD,UAAP,CAAkB,MAAK3C,KAAvB,CADU,IACsBsB,OAAO,CAACxB,KAAK,CAACsB,OAAP,CAAP,IAA0BL,eADhD;AAEVvB,QAAAA,MAAM,CAACoD,UAAP,CAAkB,MAAK5C,KAAvB,CAFU,IAEsBsB,OAAO,CAACxB,KAAK,CAACU,OAAP,CAF7B;AAGVhB,QAAAA,MAAM,CAACqD,QAAP,CAAgB,MAAK7C,KAArB,CAHU,IAGoBsB,OAAO,CAACxB,KAAK,CAACS,KAAP,CAH3B;AAIVf,QAAAA,MAAM,CAACsD,QAAP,CAAgB,MAAK9C,KAArB,CAJU,IAIoB,MAAKL,KAAL,CAAWC,YAJ/B;AAKVJ,QAAAA,MAAM,CAACuD,WAAP,CAAmB,MAAK/C,KAAxB,CALU,IAKuBsB,OAAO,CAACxB,KAAK,CAACuB,QAAP,CAL9B,QADf;;;AASIN,MAAAA,eAAe,iBAAI,oBAAC,UAAD,IAAY,SAAS,EAAEwB,SAAvB,GAApB,iBAA6D,oBAAC,MAAD,IAAQ,SAAS,EAAEA,SAAnB,GAThE,CADF;;;;AAcA;AACE,uCAAO,SAAS,EAAEvB,SAAlB,EAA6B,YAAY,EAAEP,YAA3C,EAAyD,YAAY,EAAEC,YAAvE,EAAqF,WAAW,EAAEC,WAAlG;AACE,qCAAWY,UAAX,CADF;AAEGmB,QAAAA,GAFH;AAGGP,QAAAA,OAHH,CADF;;;AAOD,KA1JH;;AA4JUP,IAAAA,WA5JV,GA4JwB,UAACoB,CAAD,EAA8B;AAClD,UAAI,CAAC,MAAKlD,KAAL,CAAWuB,QAAhB,EAA0B;AACxB;AACA;AACA4B,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIlE,WAAW,CAACmE,YAAhB,EAA8B;AAC5B,kBAAK9C,QAAL,CAAc,EAAER,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;;AAMA,YAAI,MAAKE,KAAL,CAAW6B,OAAf,EAAwB;AACtB,gBAAK7B,KAAL,CAAW6B,OAAX,CAAmBqB,CAAnB;AACD;AACF;AACF,KA1KH;;AA4KUlB,IAAAA,UA5KV,GA4KuB,UAACkB,CAAD,EAA2C;AAC9D,YAAKlD,KAAL,CAAW+B,MAAX,0BAAK/B,KAAL,CAAW+B,MAAX,CAAoBmB,CAApB;AACA,YAAK5C,QAAL,CAAc,EAAER,YAAY,EAAE,KAAhB,EAAd;AACD,KA/KH;;AAiLUsC,IAAAA,QAjLV,GAiLqB,UAACD,GAAD,EAAkC;AACnD,YAAKhC,KAAL,GAAagC,GAAb;AACD,KAnLH;;AAqLUP,IAAAA,YArLV,GAqLyB,UAACyB,KAAD,EAAgD;AACrE,UAAM/B,OAAO,GAAG+B,KAAK,CAACC,aAAN,CAAoBhC,OAApC;AACA,YAAKtB,KAAL,CAAWc,aAAX,0BAAKd,KAAL,CAAWc,aAAX,CAA2BQ,OAA3B;;AAEA,YAAKf,kBAAL;;AAEA,YAAKP,KAAL,CAAW2B,QAAX,0BAAK3B,KAAL,CAAW2B,QAAX,CAAsB0B,KAAtB;AACD,KA5LH;;AA8LUnB,IAAAA,WA9LV,GA8LwB,UAACgB,CAAD,EAA2C;AAC/D,YAAKlD,KAAL,CAAWiC,OAAX,0BAAKjC,KAAL,CAAWiC,OAAX,CAAqBiB,CAArB;AACA;AACA;AACA,UAAI,MAAKrD,KAAL,CAAWE,aAAX,KAA6BR,MAAM,IAAIF,MAAvC,CAAJ,EAAoD;AAClD,cAAKkB,kBAAL;AACA;AACA;AACA,YAAI,MAAKP,KAAL,CAAWc,aAAX,IAA4B,MAAKX,KAArC,EAA4C;AAC1C,cAAMmB,OAAO,GAAG,CAAC,MAAKnB,KAAL,CAAWmB,OAA5B;;AAEA,cAAI,MAAKtB,KAAL,CAAWsB,OAAX,KAAuBiC,SAA3B,EAAsC;AACpC;AACA,kBAAKpD,KAAL,CAAWmB,OAAX,GAAqBA,OAArB;AACD;;AAED,gBAAKtB,KAAL,CAAWc,aAAX,CAAyBQ,OAAzB;AACD;AACF;AACF,KAjNH,sDA6BSkC,gCA7BT,GA6BE,0CAAwCC,SAAxC,EAAkE,CAChE,IAAIA,SAAS,CAACnC,OAAV,KAAsB,KAAKtB,KAAL,CAAWsB,OAArC,EAA8C,CAC5C,KAAKf,kBAAL,GACD,CACF,CAjCH,QAmCSmD,MAnCT,GAmCE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACxD,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBAAO,oBAAC,aAAD,EAAmB,MAAI,CAACF,KAAxB,EAAgC,MAAI,CAACQ,UAArC,CAAP,CACD,CAJH,CADF,CAQD,CA5CH,CA8CE;AACF;AACA,KAhDA,QAiDSmD,KAjDT,GAiDE,iBAAe,iBACb1E,WAAW,CAACmE,YAAZ,GAA2B,IAA3B,CACA,oBAAKjD,KAAL,iCAAYwD,KAAZ,GACD,CApDH,CAsDE;AACF;AACA,KAxDA,QAyDSC,IAzDT,GAyDE,gBAAc,kBACZ,qBAAKzD,KAAL,kCAAYyD,IAAZ,GACD,CA3DH,CA6DE;AACF;AACA;AACA,KAhEA,mBAA8B7E,KAAK,CAAC8E,SAApC,EAAajE,Q,CACGkE,mB,GAAsB,U,CADzBlE,Q,CAGGmE,S,GAAY,EACxBzC,OAAO,EAAEtC,SAAS,CAACgF,IADK,EAExBzC,QAAQ,EAAEvC,SAAS,CAACgF,IAFI,EAGxBvD,KAAK,EAAEzB,SAAS,CAACgF,IAHO,EAIxBtD,OAAO,EAAE1B,SAAS,CAACgF,IAJK,EAKxBlD,aAAa,EAAE9B,SAAS,CAACiF,IALD,EAMxBlC,MAAM,EAAE/C,SAAS,CAACiF,IANM,EAOxBtD,YAAY,EAAE3B,SAAS,CAACiF,IAPA,EAQxBrD,YAAY,EAAE5B,SAAS,CAACiF,IARA,EASxBpD,WAAW,EAAE7B,SAAS,CAACiF,IATC,E","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { tabListener } from '../../lib/events/tabListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isFirefox, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Контент `label` */\n children?: React.ReactNode;\n /** Состояние ошибки */\n error?: boolean;\n /** Состояние Предупреждения */\n warning?: boolean;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается при изменении `value` */\n onValueChange?: (value: boolean) => void;\n /** onBlur */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /** Состояние частичного выделения */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n}\n\n/**\n * Все свойства, кроме перечисленных, `className` и `style` передаются в `input`.\n */\nexport class Checkbox extends React.Component<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n };\n\n private theme!: Theme;\n private input: Nullable<HTMLInputElement>;\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input) {\n this.input.indeterminate = true;\n }\n };\n\n public UNSAFE_componentWillReceiveProps(nextProps: CheckboxProps) {\n if (nextProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n tabListener.isTabPressed = true;\n this.input?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.input?.blur();\n }\n\n /**\n * Установить промежуточное значение\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input) {\n this.input.indeterminate = true;\n }\n };\n\n /**\n * Сбросить промежуточное значение\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input) {\n this.input.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.inputRef,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n [styles.iconFixBaseline()]: isFirefox || isIE11 || isEdge,\n });\n\n const box = (\n <span\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: Boolean(props.checked) || isIndeterminate,\n [styles.boxWarning(this.theme)]: Boolean(props.warning),\n [styles.boxError(this.theme)]: Boolean(props.error),\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxDisabled(this.theme)]: Boolean(props.disabled),\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </span>\n );\n\n return (\n <label className={rootClass} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} onMouseOver={onMouseOver}>\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (tabListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private inputRef = (ref: HTMLInputElement | null) => {\n this.input = ref;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input) {\n const checked = !this.input.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isFirefox","isIE11","CommonWrapper","cx","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","theme","input","componentDidMount","setIndeterminate","setState","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","rootFallback","rootChecked","checked","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","inputRef","caption","children","captionClass","captionIE11","iconClass","iconUnchecked","iconFixBaseline","box","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","e","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","UNSAFE_componentWillReceiveProps","nextProps","render","focus","blur","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isFirefox, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Контент `label` */\n children?: React.ReactNode;\n /** Состояние ошибки */\n error?: boolean;\n /** Состояние Предупреждения */\n warning?: boolean;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается при изменении `value` */\n onValueChange?: (value: boolean) => void;\n /** onBlur */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /** Состояние частичного выделения */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n}\n\n/**\n * Все свойства, кроме перечисленных, `className` и `style` передаются в `input`.\n */\nexport class Checkbox extends React.Component<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n };\n\n private theme!: Theme;\n private input: Nullable<HTMLInputElement>;\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input) {\n this.input.indeterminate = true;\n }\n };\n\n public UNSAFE_componentWillReceiveProps(nextProps: CheckboxProps) {\n if (nextProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.input?.blur();\n }\n\n /**\n * Установить промежуточное значение\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input) {\n this.input.indeterminate = true;\n }\n };\n\n /**\n * Сбросить промежуточное значение\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input) {\n this.input.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.inputRef,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n [styles.iconFixBaseline()]: isFirefox || isIE11 || isEdge,\n });\n\n const box = (\n <span\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </span>\n );\n\n return (\n <label className={rootClass} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} onMouseOver={onMouseOver}>\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private inputRef = (ref: HTMLInputElement | null) => {\n this.input = ref;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input) {\n const checked = !this.input.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
@@ -36,7 +36,7 @@ export var styles = memoizeStyle({
|
|
|
36
36
|
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n box-shadow: ", ";\n "])), t.checkboxCheckedBg, t.checkboxCheckedColor, t.checkboxCheckedShadow);
|
|
37
37
|
},
|
|
38
38
|
boxFocus: function boxFocus(t) {
|
|
39
|
-
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", "
|
|
39
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorFocus);
|
|
40
40
|
},
|
|
41
41
|
boxDisabled: function boxDisabled(t) {
|
|
42
42
|
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n box-shadow: ", " !important; // override hover and active\n background: ", " !important; // override hover and active\n color: ", ";\n "])), t.checkboxShadowDisabled, t.checkboxBgDisabled, t.checkboxTextColorDisabled);
|
|
@@ -51,7 +51,7 @@ export var styles = memoizeStyle({
|
|
|
51
51
|
return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: transparent;\n "])));
|
|
52
52
|
},
|
|
53
53
|
caption: function caption(t) {
|
|
54
|
-
return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n padding-left: ", ";\n "])), t.checkboxLabelGap);
|
|
54
|
+
return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding-left: ", ";\n "])), t.checkboxTextColorDefault, t.checkboxLabelGap);
|
|
55
55
|
},
|
|
56
56
|
captionIE11: function captionIE11() {
|
|
57
57
|
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n display: table-cell;\n "])));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.styles.ts"],"names":["css","memoizeStyle","prefix","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxSize","checkboxBoxSize","checkboxBorderWidthCompensation","checkboxTextColorDefault","checkboxBorder","checkboxBorderRadius","checkboxShadow","checkboxBg","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","iconFixBaseline","iconUnchecked","caption","checkboxLabelGap","captionIE11"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["Checkbox.styles.ts"],"names":["css","memoizeStyle","prefix","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxSize","checkboxBoxSize","checkboxBorderWidthCompensation","checkboxTextColorDefault","checkboxBorder","checkboxBorderRadius","checkboxShadow","checkboxBg","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","iconFixBaseline","iconUnchecked","caption","checkboxLabelGap","captionIE11"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n user-select: none;\n line-height: ${t.checkboxLineHeight};\n font-size: ${t.checkboxFontSize};\n padding: ${t.checkboxPaddingY} 0;\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n box(t: Theme) {\n const boxSize = `calc(${t.checkboxBoxSize} - 2 * ${t.checkboxBorderWidthCompensation})`;\n return css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: ${boxSize};\n height: ${boxSize};\n flex: none;\n font-size: ${t.checkboxFontSize};\n color: ${t.checkboxTextColorDefault};\n border: ${t.checkboxBorder};\n border-radius: ${t.checkboxBorderRadius};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n align-self: baseline;\n margin: ${t.checkboxBorderWidthCompensation};\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n iconFixBaseline() {\n return css`\n margin-top: -2px;\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxLabelGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"]}
|
|
@@ -2,6 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import { MAX_SAFE_DIGITS } from "../../CurrencyInput/constants";
|
|
3
3
|
import { CurrencyHelper } from "../../CurrencyInput/CurrencyHelper";
|
|
4
4
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
5
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
6
|
+
import { styles } from "../CurrencyLabel.styles";
|
|
5
7
|
export var defaultProps = {
|
|
6
8
|
fractionDigits: 2
|
|
7
9
|
};
|
|
@@ -9,11 +11,15 @@ export var CurrencyLabel = function CurrencyLabel(props) {
|
|
|
9
11
|
var value = props.value,
|
|
10
12
|
fractionDigits = props.fractionDigits,
|
|
11
13
|
currencySymbol = props.currencySymbol;
|
|
12
|
-
return /*#__PURE__*/React.createElement(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
15
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, props, /*#__PURE__*/React.createElement("span", {
|
|
16
|
+
className: styles.root(theme)
|
|
17
|
+
}, CurrencyHelper.format(value, {
|
|
18
|
+
fractionDigits: fractionDigits
|
|
19
|
+
}), currencySymbol && String.fromCharCode(0xa0)
|
|
20
|
+
/* */
|
|
21
|
+
, currencySymbol));
|
|
22
|
+
});
|
|
17
23
|
};
|
|
18
24
|
CurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';
|
|
19
25
|
CurrencyLabel.defaultProps = defaultProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CurrencyLabel.tsx"],"names":["React","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","defaultProps","fractionDigits","CurrencyLabel","props","value","currencySymbol","format","String","fromCharCode","__KONTUR_REACT_UI__","propTypes","Error","destructString","fraction","length","Number","isInteger"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,eAAT,QAAgC,4BAAhC;AACA,SAASC,cAAT,QAA+B,iCAA/B;AACA,SAASC,aAAT,QAA2C,8BAA3C;;;;;;;;;;;;AAYA,OAAO,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,cAAc,EAAE,CADU,EAArB;;;AAIP,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA4C;AAC/DC,EAAAA,KAD+D,GACrBD,KADqB,CAC/DC,KAD+D,CACxDH,cADwD,GACrBE,KADqB,CACxDF,cADwD,CACxCI,cADwC,GACrBF,KADqB,CACxCE,cADwC;AAEvE;AACE,wBAAC,aAAD,
|
|
1
|
+
{"version":3,"sources":["CurrencyLabel.tsx"],"names":["React","MAX_SAFE_DIGITS","CurrencyHelper","CommonWrapper","ThemeContext","styles","defaultProps","fractionDigits","CurrencyLabel","props","value","currencySymbol","theme","root","format","String","fromCharCode","__KONTUR_REACT_UI__","propTypes","Error","destructString","fraction","length","Number","isInteger"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,eAAT,QAAgC,4BAAhC;AACA,SAASC,cAAT,QAA+B,iCAA/B;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,MAAT,QAAuB,wBAAvB;;;;;;;;;;;;AAYA,OAAO,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,cAAc,EAAE,CADU,EAArB;;;AAIP,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAA4C;AAC/DC,EAAAA,KAD+D,GACrBD,KADqB,CAC/DC,KAD+D,CACxDH,cADwD,GACrBE,KADqB,CACxDF,cADwD,CACxCI,cADwC,GACrBF,KADqB,CACxCE,cADwC;AAEvE;AACE,wBAAC,YAAD,CAAc,QAAd;AACG,cAACC,KAAD,EAAW;AACV;AACE,4BAAC,aAAD,EAAmBH,KAAnB;AACE,sCAAM,SAAS,EAAEJ,MAAM,CAACQ,IAAP,CAAYD,KAAZ,CAAjB;AACGV,QAAAA,cAAc,CAACY,MAAf,CAAsBJ,KAAtB,EAA6B,EAAEH,cAAc,EAAdA,cAAF,EAA7B,CADH;AAEGI,QAAAA,cAAc,IAAII,MAAM,CAACC,YAAP,CAAoB,IAApB,CAFrB,CAE+C,YAF/C;AAGGL,QAAAA,cAHH,CADF,CADF;;;;AASD,KAXH,CADF;;;AAeD,CAjBM;;AAmBPH,aAAa,CAACS,mBAAd,GAAoC,eAApC;;AAEAT,aAAa,CAACF,YAAd,GAA6BA,YAA7B;;AAEAE,aAAa,CAACU,SAAd,GAA0B;AACxBX,EAAAA,cAAc,EAAE,wBAACE,KAAD,EAAqD;AACnE,QAAIA,KAAK,CAACF,cAAN,GAAuBN,eAA3B,EAA4C;AAC1C,aAAO,IAAIkB,KAAJ;AACL,0DAAkDlB,eAAlD,4EADK,CAAP;;;AAID,KANkE;;AAQ9CC,IAAAA,cAAc,CAACkB,cAAf,CAA8BL,MAAM,CAACN,KAAK,CAACC,KAAP,CAApC,KAAsD,EAAEW,QAAQ,EAAE,EAAZ,EARR,CAQ3DA,QAR2D,QAQ3DA,QAR2D;AASnE,QAAIA,QAAQ,CAACC,MAAT,GAAkBb,KAAK,CAACF,cAA5B,EAA4C;AAC1C,aAAO,IAAIY,KAAJ;AACL,gIADK,CAAP;;;AAID;;AAED,QAAI,CAACI,MAAM,CAACC,SAAP,CAAiBf,KAAK,CAACF,cAAvB,CAAL,EAA6C;AAC3C,aAAO,IAAIY,KAAJ,2GAAP;;;AAGD;;AAED,WAAO,IAAP;AACD,GAxBuB,EAA1B","sourcesContent":["import React from 'react';\n\nimport { MAX_SAFE_DIGITS } from '../CurrencyInput/constants';\nimport { CurrencyHelper } from '../CurrencyInput/CurrencyHelper';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { styles } from './CurrencyLabel.styles';\n\nexport interface CurrencyLabelProps extends CommonProps {\n /**\n * Минимальное количество отображаемых знаков после запятой\n * @default 2\n */\n fractionDigits: number;\n value: number;\n currencySymbol?: React.ReactNode;\n}\n\nexport const defaultProps = {\n fractionDigits: 2,\n};\n\nexport const CurrencyLabel = (props: CurrencyLabelProps): JSX.Element => {\n const { value, fractionDigits, currencySymbol } = props;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <CommonWrapper {...props}>\n <span className={styles.root(theme)}>\n {CurrencyHelper.format(value, { fractionDigits })}\n {currencySymbol && String.fromCharCode(0xa0) /* */}\n {currencySymbol}\n </span>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n};\n\nCurrencyLabel.__KONTUR_REACT_UI__ = 'CurrencyLabel';\n\nCurrencyLabel.defaultProps = defaultProps;\n\nCurrencyLabel.propTypes = {\n fractionDigits: (props: CurrencyLabelProps & typeof defaultProps) => {\n if (props.fractionDigits > MAX_SAFE_DIGITS) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n const { fraction } = CurrencyHelper.destructString(String(props.value)) || { fraction: '' };\n if (fraction.length > props.fractionDigits) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' less than fractional part of the 'value' property,` +\n `'value' will not be cutted`,\n );\n }\n\n if (!Number.isInteger(props.fractionDigits)) {\n return new Error(\n `[CurrencyLabel]: Prop 'fractionDigits' is not integer, fraction part of these property will not be used`,\n );\n }\n\n return null;\n },\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
|
+
|
|
3
|
+
var _templateObject;
|
|
4
|
+
|
|
5
|
+
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
6
|
+
export var styles = memoizeStyle({
|
|
7
|
+
root: function root(t) {
|
|
8
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.textColorDefault);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["CurrencyLabel.styles.ts"],"names":["css","memoizeStyle","styles","root","t","textColorDefault"],"mappings":"oHAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACC,gBADb;;AAGD,GALgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n color: ${t.textColorDefault};\n `;\n },\n});\n"]}
|
|
@@ -30,7 +30,8 @@ export var FxInput = /*#__PURE__*/function (_React$Component) {
|
|
|
30
30
|
var type = props.type,
|
|
31
31
|
onRestore = props.onRestore,
|
|
32
32
|
auto = props.auto,
|
|
33
|
-
|
|
33
|
+
refInput = props.refInput,
|
|
34
|
+
rest = _objectWithoutPropertiesLoose(props, ["type", "onRestore", "auto", "refInput"]);
|
|
34
35
|
|
|
35
36
|
var inputProps = {
|
|
36
37
|
align: 'right'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FxInput.tsx"],"names":["React","PropTypes","Button","Group","Input","CurrencyInput","createPropsGetter","FunctionIcon","UndoIcon","CommonWrapper","FxInput","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","rest","inputProps","align","button","leftIcon","size","borderless","disabled","width","
|
|
1
|
+
{"version":3,"sources":["FxInput.tsx"],"names":["React","PropTypes","Button","Group","Input","CurrencyInput","createPropsGetter","FunctionIcon","UndoIcon","CommonWrapper","FxInput","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","rest","inputProps","align","button","leftIcon","size","borderless","disabled","width","value","onValueChange","focus","blur","element","render","Component","__KONTUR_REACT_UI__","propTypes","bool","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Button } from '../Button';\nimport { Group } from '../Group';\nimport { Input, InputProps, InputType } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon, UndoIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\n\nexport interface FxInputProps\n extends CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n }\n > {}\n\n/** Принимает все свойства `Input`'a */\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n\n public render() {\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }\n\n public renderMain = (props: CommonWrapperRestProps<FxInputProps>) => {\n const { type, onRestore, auto, refInput, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n\n if (auto) {\n inputProps.leftIcon = <FunctionIcon />;\n } else {\n button = (\n <Button\n size={this.props.size}\n narrow\n onClick={this.props.onRestore}\n borderless={this.props.borderless}\n disabled={this.props.disabled}\n >\n <UndoIcon />\n </Button>\n );\n }\n\n return (\n <Group width={this.props.width}>\n {button}\n {this.getProps().type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n value={this.props.value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n width={'100%'}\n ref={this.refInput}\n type={this.props.type as InputType}\n value={this.props.value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
|
|
@@ -55,7 +55,7 @@ export var styles = memoizeStyle({
|
|
|
55
55
|
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n box-shadow: none;\n outline: ", " solid ", ";\n "])), t.inputBorderWidth, t.inputBorderColorError);
|
|
56
56
|
},
|
|
57
57
|
disabled: function disabled(t) {
|
|
58
|
-
return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-color: ", ";\n box-shadow: none;\n "])), t.inputDisabledBg, t.inputDisabledBorderColor);
|
|
58
|
+
return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n border-color: ", ";\n box-shadow: none;\n "])), t.inputDisabledBg, t.inputDisabledBorderColor);
|
|
59
59
|
},
|
|
60
60
|
blink: function blink(t) {
|
|
61
61
|
var blinkAnimation = keyframes(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n 0% {\n background-color: ", ";\n }\n "])), t.inputBlinkColor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Input.styles.ts"],"names":["css","keyframes","memoizeStyle","shift","resetText","styles","wrapper","root","t","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","inputShadow","inputColor","inputWidth","borderless","useDefaultColor","inputIconColor","focus","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: padding-box;\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYSmall, '-1')};\n padding-bottom: ${shift(t.inputPaddingYSmall, '1')};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYMedium, '-1')};\n padding-bottom: ${shift(t.inputPaddingYMedium, '1')};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '-1')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '1')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYLarge, '-2')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '2')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["Input.styles.ts"],"names":["css","keyframes","memoizeStyle","shift","resetText","styles","wrapper","root","t","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","inputShadow","inputColor","inputWidth","borderless","useDefaultColor","inputIconColor","focus","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: padding-box;\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYSmall, '-1')};\n padding-bottom: ${shift(t.inputPaddingYSmall, '1')};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYMedium, '-1')};\n padding-bottom: ${shift(t.inputPaddingYMedium, '1')};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '-1')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '1')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return css`\n padding-top: ${shift(t.inputPaddingYLarge, '-2')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '2')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n});\n"]}
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from "../../../lib/events/keyboard/identifiers";
|
|
5
5
|
import * as LayoutEvents from "../../../lib/LayoutEvents";
|
|
6
|
-
import {
|
|
6
|
+
import { keyListener } from "../../../lib/events/keyListener";
|
|
7
7
|
import { PopupMenu } from "../../../internal/PopupMenu";
|
|
8
8
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
9
9
|
import { MenuKebabIcon } from "../../../internal/icons/16px";
|
|
@@ -91,7 +91,7 @@ export var Kebab = /*#__PURE__*/function (_React$Component) {
|
|
|
91
91
|
// focus event fires before keyDown eventlistener
|
|
92
92
|
// so we should check tabPressed in async way
|
|
93
93
|
requestAnimationFrame(function () {
|
|
94
|
-
if (
|
|
94
|
+
if (keyListener.isTabPressed) {
|
|
95
95
|
_this.setState({
|
|
96
96
|
focusedByTab: true
|
|
97
97
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","tabListener","PopupMenu","ThemeContext","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","cx","styles","Kebab","state","opened","focusedByTab","anchor","theme","listener","remove","undefined","renderCaption","captionProps","disabled","props","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","kebab","focused","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","onOpen","onClose","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","renderMain","positions","disableAnimations","children","icon","iconsmall","size","iconmedium","iconlarge","Component","__KONTUR_REACT_UI__","propTypes","defaultProps","node","bool","menuMaxHeight","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { tabListener } from '../../lib/events/tabListener';\nimport { PopupMenu, PopupMenuCaptionProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPosition } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Kebab.styles';\n\nexport interface KebabProps extends CommonProps {\n disabled?: boolean;\n /**\n * Функция вызываемая при закрытии выпадашки\n * @default () => undefined\n */\n onClose: () => void;\n /**\n * Функция вызываемая при открытии выпадашки\n * @default () => undefined\n */\n onOpen: () => void;\n size: 'small' | 'medium' | 'large';\n /**\n * Список позиций доступных для расположения выпадашки\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использоваться первая из этого списка\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions: PopupPosition[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n}\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n opened: boolean;\n}\n\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n icon: <MenuKebabIcon />,\n };\n\n public state = {\n opened: false,\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled, positions } = this.props;\n return (\n <CommonWrapper {...this.props}>\n <PopupMenu\n popupHasPin\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={this.props.disableAnimations}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled } = this.props;\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx({\n [styles.kebab(this.theme)]: true,\n [styles.opened(this.theme)]: captionProps.opened,\n [styles.disabled()]: disabled,\n [styles.focused(this.theme)]: this.state.focusedByTab,\n })}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState(\n {\n opened: isOpened,\n focusedByTab: !isOpened && restoreFocus,\n },\n () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n this.props.onOpen();\n } else {\n this.props.onClose();\n }\n },\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (tabListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n return (\n <div\n className={cx({\n [styles.icon()]: true,\n [styles.iconsmall()]: this.props.size === 'small',\n [styles.iconmedium()]: this.props.size === 'medium',\n [styles.iconlarge()]: this.props.size === 'large',\n })}\n >\n {this.props.icon}\n </div>\n );\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","cx","styles","Kebab","state","opened","focusedByTab","anchor","theme","listener","remove","undefined","renderCaption","captionProps","disabled","props","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","kebab","focused","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","onOpen","onClose","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","renderMain","positions","disableAnimations","children","icon","iconsmall","size","iconmedium","iconlarge","Component","__KONTUR_REACT_UI__","propTypes","defaultProps","node","bool","menuMaxHeight","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPosition } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Kebab.styles';\n\nexport interface KebabProps extends CommonProps {\n disabled?: boolean;\n /**\n * Функция вызываемая при закрытии выпадашки\n * @default () => undefined\n */\n onClose: () => void;\n /**\n * Функция вызываемая при открытии выпадашки\n * @default () => undefined\n */\n onOpen: () => void;\n size: 'small' | 'medium' | 'large';\n /**\n * Список позиций доступных для расположения выпадашки\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использоваться первая из этого списка\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions: PopupPosition[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n}\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n opened: boolean;\n}\n\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n icon: <MenuKebabIcon />,\n };\n\n public state = {\n opened: false,\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled, positions } = this.props;\n return (\n <CommonWrapper {...this.props}>\n <PopupMenu\n popupHasPin\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={this.props.disableAnimations}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled } = this.props;\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx({\n [styles.kebab(this.theme)]: true,\n [styles.opened(this.theme)]: captionProps.opened,\n [styles.disabled()]: disabled,\n [styles.focused(this.theme)]: this.state.focusedByTab,\n })}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState(\n {\n opened: isOpened,\n focusedByTab: !isOpened && restoreFocus,\n },\n () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n this.props.onOpen();\n } else {\n this.props.onClose();\n }\n },\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n return (\n <div\n className={cx({\n [styles.icon()]: true,\n [styles.iconsmall()]: this.props.size === 'small',\n [styles.iconmedium()]: this.props.size === 'medium',\n [styles.iconlarge()]: this.props.size === 'large',\n })}\n >\n {this.props.icon}\n </div>\n );\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
|
|
@@ -3,7 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import {
|
|
6
|
+
import { keyListener } from "../../../lib/events/keyListener";
|
|
7
7
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
8
8
|
import { isExternalLink } from "../../../lib/utils";
|
|
9
9
|
import { Spinner } from "../../Spinner";
|
|
@@ -95,7 +95,7 @@ export var Link = /*#__PURE__*/function (_React$Component) {
|
|
|
95
95
|
// focus event fires before keyDown eventlistener
|
|
96
96
|
// so we should check tabPressed in async way
|
|
97
97
|
requestAnimationFrame(function () {
|
|
98
|
-
if (
|
|
98
|
+
if (keyListener.isTabPressed) {
|
|
99
99
|
_this.setState({
|
|
100
100
|
focusedByTab: true
|
|
101
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Link.tsx"],"names":["React","PropTypes","
|
|
1
|
+
{"version":3,"sources":["Link.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","isExternalLink","Spinner","CommonWrapper","cx","styles","Link","state","focusedByTab","theme","renderMain","props","disabled","href","icon","use","loading","_button","_buttonOpened","relOrigin","rel","rest","iconElement","arrow","focused","linkProps","className","root","button","buttonOpened","useDefault","useSuccess","useDanger","useGrayed","useGrayedFocus","focus","onClick","_handleClick","onFocus","_handleFocus","onBlur","_handleBlur","tabIndex","children","event","requestAnimationFrame","isTabPressed","setState","preventDefault","render","Component","__KONTUR_REACT_UI__","propTypes","bool","string","oneOfType","node","oneOf","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isExternalLink } from '../../lib/utils';\nimport { Spinner } from '../Spinner';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Link.styles';\n\nexport interface LinkProps\n extends CommonProps,\n Override<\n React.AnchorHTMLAttributes<HTMLAnchorElement>,\n {\n /** Неактивное состояние */\n disabled?: boolean;\n /** href */\n href?: string;\n /** Иконка */\n icon?: React.ReactElement<any>;\n /** Тип */\n use?: 'default' | 'success' | 'danger' | 'grayed';\n _button?: boolean;\n _buttonOpened?: boolean;\n tabIndex?: number;\n /** Состояние загрузки */\n loading?: boolean;\n /** onClick */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;\n }\n > {}\n\nexport interface LinkState {\n focusedByTab: boolean;\n}\n\n/**\n * Стандартная ссылка.\n * Интерфес пропсов наследуется от `React.AnchorHTMLAttributes<HTMLAnchorElement>`.\n * Все свойства передаются в элемент `<a>`.\n * `className` и `style` не поддерживаются\n */\nexport class Link extends React.Component<LinkProps, LinkState> {\n public static __KONTUR_REACT_UI__ = 'Link';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\n use: PropTypes.oneOf(['default', 'success', 'danger', 'grayed']),\n };\n\n public static defaultProps = {\n href: '',\n use: 'default',\n };\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<LinkProps>) => {\n const { disabled, href, icon, use, loading, _button, _buttonOpened, rel: relOrigin, ...rest } = props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <span className={styles.icon(this.theme)}>\n {loading ? <Spinner caption={null} dimmed type=\"mini\" /> : icon}\n </span>\n );\n }\n\n let arrow = null;\n if (_button) {\n arrow = <span className={styles.arrow()} />;\n }\n\n let rel = relOrigin;\n if (typeof rel === 'undefined' && href) {\n rel = `noopener${isExternalLink(href) ? ' noreferrer' : ''}`;\n }\n\n const focused = !disabled && this.state.focusedByTab;\n\n const linkProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.button(this.theme)]: !!_button,\n [styles.buttonOpened()]: !!_buttonOpened,\n [styles.useDefault(this.theme)]: use === 'default',\n [styles.useSuccess(this.theme)]: use === 'success',\n [styles.useDanger(this.theme)]: use === 'danger',\n [styles.useGrayed(this.theme)]: use === 'grayed',\n [styles.useGrayedFocus(this.theme)]: use === 'grayed' && focused,\n [styles.focus(this.theme)]: focused,\n [styles.disabled(this.theme)]: !!disabled || !!loading,\n }),\n href,\n rel,\n onClick: this._handleClick,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n tabIndex: this.props.tabIndex,\n };\n if (disabled) {\n props.tabIndex = -1;\n }\n\n return (\n <a {...rest} {...linkProps}>\n {iconElement}\n {this.props.children}\n {arrow}\n </a>\n );\n };\n\n private _handleFocus = (event: React.FocusEvent<HTMLAnchorElement>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private _handleBlur = () => {\n this.setState({ focusedByTab: false });\n };\n\n private _handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n const { href, onClick, disabled } = this.props;\n if (!href) {\n event.preventDefault();\n }\n if (onClick && !disabled) {\n onClick(event);\n }\n };\n}\n"]}
|