@skbkontur/react-ui 4.6.0 → 4.7.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 +36 -0
- package/cjs/components/ComboBox/ComboBox.d.ts +15 -0
- package/cjs/components/ComboBox/ComboBox.js +16 -0
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +10 -1
- package/cjs/components/DropdownMenu/DropdownMenu.md +11 -9
- package/cjs/components/FileUploader/FileUploader.d.ts +9 -1
- package/cjs/components/FileUploader/FileUploader.js +67 -18
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.mixins.d.ts +1 -0
- package/cjs/components/FileUploader/FileUploader.mixins.js +10 -0
- package/cjs/components/FileUploader/FileUploader.mixins.js.map +1 -0
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +12 -1
- package/cjs/components/FileUploader/FileUploader.styles.js +119 -22
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
- package/cjs/components/Hint/Hint.d.ts +1 -0
- package/cjs/components/Hint/Hint.js +6 -2
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Paging/Paging.js +20 -15
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.md +13 -0
- package/cjs/components/Paging/Paging.styles.d.ts +6 -2
- package/cjs/components/Paging/Paging.styles.js +40 -15
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Select/Select.js +5 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +0 -1
- package/cjs/components/SidePage/SidePage.js +0 -2
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePageBody.d.ts +0 -1
- package/cjs/components/SidePage/SidePageBody.js +6 -11
- package/cjs/components/SidePage/SidePageBody.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +2 -1
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +3 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +2 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +2 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +4 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +46 -11
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +7 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +54 -7
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +15 -3
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +19 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -0
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js +18 -0
- package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -0
- package/cjs/internal/Popup/Popup.d.ts +5 -0
- package/cjs/internal/Popup/Popup.js +10 -2
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/DarkTheme.d.ts +1 -0
- package/cjs/internal/themes/DarkTheme.js +2 -1
- package/cjs/internal/themes/DarkTheme.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +16 -0
- package/cjs/internal/themes/DefaultTheme.js +41 -1
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/utils.d.ts +2 -3
- package/cjs/lib/utils.js +1 -2
- package/cjs/lib/utils.js.map +1 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +15 -0
- package/components/ComboBox/ComboBox.md +10 -1
- package/components/DropdownMenu/DropdownMenu.md +11 -9
- package/components/FileUploader/FileUploader/FileUploader.js +56 -20
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +9 -1
- package/components/FileUploader/FileUploader.mixins/FileUploader.mixins.js +8 -0
- package/components/FileUploader/FileUploader.mixins/FileUploader.mixins.js.map +1 -0
- package/components/FileUploader/FileUploader.mixins/package.json +6 -0
- package/components/FileUploader/FileUploader.mixins.d.ts +1 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +51 -17
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
- package/components/FileUploader/FileUploader.styles.d.ts +12 -1
- package/components/Hint/Hint/Hint.js +13 -5
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +1 -0
- package/components/Paging/Paging/Paging.js +12 -9
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.md +13 -0
- package/components/Paging/Paging.styles/Paging.styles.js +27 -15
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Paging/Paging.styles.d.ts +6 -2
- package/components/Select/Select/Select.js +5 -5
- package/components/Select/Select/Select.js.map +1 -1
- package/components/SidePage/SidePage/SidePage.js +0 -1
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +0 -1
- package/components/SidePage/SidePageBody/SidePageBody.js +1 -9
- package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
- package/components/SidePage/SidePageBody.d.ts +0 -1
- package/components/Toggle/Toggle/Toggle.js +2 -1
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -1
- package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +3 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +5 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +2 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +7 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +38 -13
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +26 -5
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +7 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +13 -3
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +10 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +3 -0
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js +21 -0
- package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -0
- package/internal/Popup/Popup/Popup.js +5 -1
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +5 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/DarkTheme/DarkTheme.js +1 -0
- package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
- package/internal/themes/DarkTheme.d.ts +1 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +64 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +16 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +2 -3
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Paging.tsx"],"names":["IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","PagingLocaleHelper","rootNode","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","styles","theme","classes","forwardLinkFocused","caption","Component","component","forward","locale","emptyHandler","goForward","forwardIcon","pagingForwardIconSize","pageNumber","pageLinkFocused","handleClick","goToPage","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","pageLinkHint","transparent","NavigationHelper","getKeyName","pageLinkHintPlaceHolder","handleMouseDown","setState","isIE11","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","getItems","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","shouldBeVisibleWithLessThanTwoPages","renderMain","dataTid","setRootNode","paging","undefined","map","React","PureComponent","__KONTUR_REACT_UI__","PagingDefaultComponent","propTypes","number","isRequired","func"],"mappings":"6VAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kE;;AAEA,IAAMA,iBAAiB,GAAG,CAAC,OAAD,EAAU,UAAV,CAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,cADsB;AAE5BC,EAAAA,IAAI,EAAE,cAFsB;AAG5BC,EAAAA,WAAW,EAAE,qBAHe;AAI5BC,EAAAA,eAAe,EAAE,yBAJW;AAK5BC,EAAAA,QAAQ,EAAE,kBALkB,EAAvB,C;;;;;;;;;AAcMC,M,WADZ,wBAAO,QAAP,EAAiBC,0BAAjB,C,MADAC,kB;;;;;;;;;;AAYSC,IAAAA,Q,GAAW,0CAAkBH,MAAM,CAACI,YAAzB,C;;;;;;;;;AASZC,IAAAA,K,GAAqB;AAC1BC,MAAAA,YAAY,EAAE,KADY;AAE1BC,MAAAA,WAAW,EAAE,IAFa;AAG1BC,MAAAA,eAAe,EAAE,MAAKL,QAAL,GAAgBM,iBAHP,E;;;;;AAQpBC,IAAAA,mB,GAAsB,K;AACtBC,IAAAA,S,GAAoC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEpCC,IAAAA,U,GAAa,UAACC,IAAD,EAAiBC,KAAjB,EAAmC;AACtD,UAAMC,OAAO,GAAG,MAAKC,cAAL,OAA0BH,IAA1C;AACA,cAAQA,IAAR;AACE,aAAK,GAAL,CAAU;AACR,gBAAMI,GAAG,aAAUH,KAAK,GAAG,CAAR,GAAY,MAAZ,GAAqB,OAA/B,CAAT;AACA,mBAAO,MAAKI,UAAL,CAAgBD,GAAhB,CAAP;AACD;AACD,aAAK,SAAL,CAAgB;AACd,gBAAME,QAAQ,GAAG,MAAKC,cAAL,CAAoBP,IAApB,CAAjB;AACA,mBAAO,MAAKQ,iBAAL,CAAuBF,QAAvB,EAAiCJ,OAAjC,CAAP;AACD;AACD,gBAAS;AACP,gBAAMO,MAAM,GAAG,MAAKC,KAAL,CAAWC,UAAX,KAA0BX,IAAzC;AACA,mBAAO,MAAKY,cAAL,CAAoBZ,IAApB,EAA0BS,MAA1B,EAAkCP,OAAlC,CAAP;AACD,WAZH;;AAcD,K;;AAEOG,IAAAA,U,GAAa,UAACD,GAAD,EAAiB;AACpC;AACE,+CAAM,YAAUvB,cAAc,CAACE,IAA/B,EAAqC,GAAG,EAAEqB,GAA1C,EAA+C,SAAS,EAAES,eAAO9B,IAAP,CAAY,MAAK+B,KAAjB,CAA1D;AACG,aADH,CADF;;;AAKD,K;;AAEON,IAAAA,iB,GAAoB,UAACF,QAAD,EAAoBJ,OAApB,EAAsD;AAChF,UAAMa,OAAO,GAAG;AACbF,qBAAO7B,WAAP,CAAmB,MAAK8B,KAAxB,CADa,IACoB,IADpB;AAEbD,qBAAOG,kBAAP,EAFa,IAEiBd,OAFjB;AAGbW,qBAAOP,QAAP,CAAgB,MAAKQ,KAArB,CAHa,IAGiBR,QAHjB,OAAhB;;AAKA,UAAQW,OAAR,GAAoB,MAAKP,KAAzB,CAAQO,OAAR;AACA,UAAMC,SAAS,GAAG,MAAK5B,QAAL,GAAgB6B,SAAlC;AACA,UAAQC,OAAR,GAAoB,MAAKC,MAAzB,CAAQD,OAAR;;AAEA;AACE,qCAAC,SAAD;AACE,UAAA,GAAG,EAAE,SADP;AAEE,sBAAUvC,cAAc,CAACG,WAF3B;AAGE,UAAA,MAAM,EAAE,KAHV;AAIE,UAAA,SAAS,EAAE+B,OAJb;AAKE,UAAA,OAAO,EAAET,QAAQ,GAAGgB,mBAAH,GAAkB,MAAKC,SAL1C;AAME,UAAA,QAAQ,EAAE,CAAC,CANb;AAOE,UAAA,UAAU,EAAE,SAPd;;AASGN,QAAAA,OAAO,IAAIG,OATd;AAUE,+CAAM,SAAS,EAAEP,eAAOW,WAAP,CAAmB,MAAKV,KAAxB,CAAjB;AACE,qCAAC,yBAAD,IAAuB,IAAI,EAAE,MAAKA,KAAL,CAAWW,qBAAxC,GADF,CAVF,CADF;;;;AAgBD,K;;AAEOb,IAAAA,c,GAAiB,UAACc,UAAD,EAAqBjB,MAArB,EAAsCP,OAAtC,EAAwE;AAC/F,UAAMa,OAAO,GAAG;AACbF,qBAAO3B,QAAP,CAAgB,MAAK4B,KAArB,CADa,IACiB,IADjB;AAEbD,qBAAOc,eAAP,CAAuB,MAAKb,KAA5B,CAFa,IAEwBZ,OAFxB;AAGbW,qBAAOJ,MAAP,CAAc,MAAKK,KAAnB,CAHa,IAGeL,MAHf,QAAhB;;AAKA,UAAMS,SAAS,GAAG,MAAK5B,QAAL,GAAgB6B,SAAlC;AACA,UAAMS,WAAW,GAAG,SAAdA,WAAc,WAAM,MAAKC,QAAL,CAAcH,UAAd,CAAN,EAApB;;AAEA;AACE;AACE,sBAAU7C,cAAc,CAACI,eAD3B;AAEE,UAAA,GAAG,EAAEyC,UAFP;AAGE,UAAA,SAAS,EAAEb,eAAO5B,eAAP,EAHb;AAIE,UAAA,WAAW,EAAE,MAAK6C,uBAJpB;;AAME,qCAAC,SAAD;AACE,sBAAUjD,cAAc,CAACK,QAD3B;AAEE,UAAA,MAAM,EAAEuB,MAFV;AAGE,UAAA,SAAS,EAAEM,OAHb;AAIE,UAAA,OAAO,EAAEa,WAJX;AAKE,UAAA,QAAQ,EAAE,CAAC,CALb;AAME,UAAA,UAAU,EAAEF,UANd;;AAQGA,QAAAA,UARH,CANF;;AAgBGjB,QAAAA,MAAM,IAAI,MAAKsB,oBAAL,EAhBb,CADF;;;AAoBD,K;;AAEOA,IAAAA,oB,GAAuB,YAAM;AACnC,UAAI,MAAKrB,KAAL,CAAWsB,qBAAf,EAAsC;AACpC,eAAO,IAAP;AACD;;AAED,UAAQrC,eAAR,GAA4B,MAAKH,KAAjC,CAAQG,eAAR;AACA,UAAMsC,aAAa,GAAG,MAAKA,aAAL,EAAtB;AACA,UAAMC,YAAY,GAAG,MAAKA,YAAL,EAArB;;AAEA,UAAIvC,eAAe,KAAKsC,aAAa,IAAIC,YAAtB,CAAnB,EAAwD;AACtD;AACE,iDAAM,SAAS,EAAErB,eAAOsB,YAAP,CAAoB,MAAKrB,KAAzB,CAAjB;AACE,iDAAM,SAAS,EAAEmB,aAAa,GAAG,EAAH,GAAQpB,eAAOuB,WAAP,EAAtC,IAA6D,GAA7D,CADF;AAEE,qDAAOC,gBAAgB,CAACC,UAAjB,EAAP,CAFF;AAGE,iDAAM,SAAS,EAAEJ,YAAY,GAAG,EAAH,GAAQrB,eAAOuB,WAAP,EAArC,IAA4D,GAA5D,CAHF,CADF;;;AAOD;;AAED,0BAAO,sCAAK,SAAS,EAAEvB,eAAO0B,uBAAP,CAA+B,MAAKzB,KAApC,CAAhB,GAAP;AACD,K;;AAEO0B,IAAAA,e,GAAkB,YAAM;AAC9B,YAAKC,QAAL,CAAc,EAAEhD,YAAY,EAAE,KAAhB,EAAuBC,WAAW,EAAE,IAApC,EAAd;AACD,K;;AAEOoC,IAAAA,uB,GAA0B,YAAM;AACtC,UAAIY,cAAJ,EAAY;AACV;AACA;AACAC,QAAAA,UAAU,CAAC,oBAAM,MAAK7C,SAAL,IAAkB,MAAKA,SAAL,CAAe8C,KAAf,EAAxB,EAAD,EAAiD,CAAjD,CAAV;AACD;AACF,K;;AAEOC,IAAAA,a,GAAgB,UAACC,CAAD,EAAyD;AAC/E,UAAIA,CAAC,CAACC,QAAN,EAAgB;AACd;AACD;;AAED,UAAMC,MAAM,GAAGF,CAAC,CAACE,MAAjB;;AAEA,UAAMC,WAAW,GAAG,iCAAeH,CAAf,CAApB;AACA,UAAMI,YAAY,GAAG,kCAAgBJ,CAAhB,CAArB;;AAEA;AACEE,MAAAA,MAAM,YAAYG,OAAlB;AACCvE,MAAAA,iBAAiB,CAACwE,QAAlB,CAA2BJ,MAAM,CAACK,OAAP,CAAeC,WAAf,EAA3B,KAA6DN,MAAD,CAAwBO,iBADrF,CADF;AAGE;AACA;AACD;;AAED,UAAIlB,gBAAgB,CAACmB,eAAjB,CAAiCV,CAAjC,KAAuCG,WAA3C,EAAwD;AACtD,cAAKR,QAAL,CAAc,EAAE/C,WAAW,EAAE,IAAf,EAAd,EAAqC,MAAK+D,UAA1C;AACA;AACD;AACD,UAAIpB,gBAAgB,CAACmB,eAAjB,CAAiCV,CAAjC,KAAuCI,YAA3C,EAAyD;AACvD,cAAKT,QAAL,CAAc,EAAE/C,WAAW,EAAE,IAAf,EAAd,EAAqC,MAAK6B,SAA1C;AACA;AACD;;AAED,UAAI,MAAKzB,SAAL,IAAkB,MAAKA,SAAL,KAAmBgD,CAAC,CAACE,MAA3C,EAAmD;AACjD,YAAIC,WAAJ,EAAiB;AACf,gBAAKR,QAAL,CAAc,EAAEhD,YAAY,EAAE,IAAhB,EAAd,EAAsC,MAAKiE,aAA3C;AACA;AACD;AACD,YAAIR,YAAJ,EAAkB;AAChB,gBAAKT,QAAL,CAAc,EAAEhD,YAAY,EAAE,IAAhB,EAAd,EAAsC,MAAKkE,cAA3C;AACA;AACD;AACD,YAAI,6BAAWb,CAAX,CAAJ,EAAmB;AACjB,gBAAKc,iBAAL,CAAuB,MAAKzD,cAAL,EAAvB;AACA;AACD;AACF;AACF,K;;AAEO0D,IAAAA,W,GAAc,YAAM;AAC1B,UAAI,MAAKnD,KAAL,CAAWJ,QAAf,EAAyB;AACvB;AACD;;AAED,YAAKmC,QAAL,CAAc,EAAE9C,eAAe,EAAE,IAAnB,EAAd;;AAEA;AACA;AACAmE,MAAAA,qBAAqB,CAAC,YAAM;AAC1B,YAAIC,yBAAYC,YAAhB,EAA8B;AAC5B,gBAAKvB,QAAL,CAAc,EAAEhD,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,OAJoB,CAArB;AAKD,K;;AAEOwE,IAAAA,U,GAAa,YAAM;AACzB,YAAKxB,QAAL,CAAc;AACZhD,QAAAA,YAAY,EAAE,KADF;AAEZE,QAAAA,eAAe,EAAE,MAAKL,QAAL,GAAgBM,iBAAhB,IAAqC,KAF1C,EAAd;;AAID,K;;AAEOsE,IAAAA,Q,GAAW,YAAkB;AACnC,aAAO,4BAAS,MAAKxD,KAAL,CAAWC,UAApB,EAAgC,MAAKD,KAAL,CAAWyD,UAA3C,EAAuDC,MAAvD,CAA8D,SAA9D,CAAP;AACD,K;;AAEOjE,IAAAA,c,GAAiB,YAA0B;AACjD,UAAI,CAAC,MAAKX,KAAL,CAAWC,YAAhB,EAA8B;AAC5B,eAAO,IAAP;AACD;;AAED,UAAQC,WAAR,GAAwB,MAAKF,KAA7B,CAAQE,WAAR;AACA,UAAIA,WAAW,IAAI,MAAKwE,QAAL,GAAgBd,QAAhB,CAAyB1D,WAAzB,CAAf,IAAwD,MAAK2E,eAAL,CAAqB3E,WAArB,CAA5D,EAA+F;AAC7F,eAAOA,WAAP;AACD;;AAED,aAAO,MAAKgB,KAAL,CAAWC,UAAlB;AACD,K;;AAEO0D,IAAAA,e,GAAkB,UAACrE,IAAD,EAAoB;AAC5C,aAAO,CAAC,MAAKO,cAAL,CAAoBP,IAApB,CAAR;AACD,K;;AAEOO,IAAAA,c,GAAiB,UAACP,IAAD,EAAoB;AAC3C,cAAQA,IAAR;AACE,aAAK,GAAL;AACE,iBAAO,IAAP;AACF,aAAK,SAAL;AACE,iBAAO,CAAC,MAAKkC,YAAL,EAAR;AACF;AACE,iBAAO,KAAP,CANJ;;AAQD,K;;AAEO0B,IAAAA,iB,GAAoB,UAAC5D,IAAD,EAA8B;AACxD,UAAIA,IAAI,KAAK,SAAb,EAAwB;AACtB,cAAKuB,SAAL;AACD;AACD,UAAI,OAAOvB,IAAP,KAAgB,QAApB,EAA8B;AAC5B,cAAK6B,QAAL,CAAc7B,IAAd;AACD;AACF,K;;AAEO0D,IAAAA,a,GAAgB,YAAM;AAC5B,YAAKY,SAAL,CAAe,CAAC,CAAhB;AACD,K;;AAEOX,IAAAA,c,GAAiB,YAAM;AAC7B,YAAKW,SAAL,CAAe,CAAf;AACD,K;;AAEOA,IAAAA,S,GAAY,UAACC,IAAD,EAAkB;AACpC,UAAM7E,WAAW,GAAG,MAAKS,cAAL,EAApB;AACA,UAAMqE,KAAK,GAAG,MAAKN,QAAL,EAAd;AACA,UAAIjE,KAAK,GAAGuE,KAAK,CAACC,SAAN,CAAgB,UAACC,CAAD,UAAOA,CAAC,KAAKhF,WAAb,EAAhB,CAAZ;AACA,SAAG;AACDO,QAAAA,KAAK,GAAG,CAACA,KAAK,GAAGsE,IAAR,GAAeC,KAAK,CAACG,MAAtB,IAAgCH,KAAK,CAACG,MAA9C;AACD,OAFD,QAES,CAAC,MAAKN,eAAL,CAAqBG,KAAK,CAACvE,KAAD,CAA1B,CAFV;AAGA,YAAKwC,QAAL,CAAc,EAAE/C,WAAW,EAAE8E,KAAK,CAACvE,KAAD,CAApB,EAAd;AACD,K;;AAEOgC,IAAAA,a,GAAgB,YAAe;AACrC,aAAO,MAAKvB,KAAL,CAAWC,UAAX,GAAwB,CAA/B;AACD,K;;AAEOuB,IAAAA,Y,GAAe,YAAe;AACpC,aAAO,MAAKxB,KAAL,CAAWC,UAAX,GAAwB,MAAKD,KAAL,CAAWyD,UAA1C;AACD,K;;AAEOV,IAAAA,U,GAAa,YAAM;AACzB,YAAK5B,QAAL,CAAc,MAAKnB,KAAL,CAAWC,UAAX,GAAwB,CAAtC;AACD,K;;AAEOY,IAAAA,S,GAAY,YAAM;AACxB,YAAKM,QAAL,CAAc,MAAKnB,KAAL,CAAWC,UAAX,GAAwB,CAAtC;AACD,K;;AAEOkB,IAAAA,Q,GAAW,UAACH,UAAD,EAAwB;AACzC,UAAIA,UAAU,IAAI,CAAd,IAAmBA,UAAU,KAAK,MAAKhB,KAAL,CAAWC,UAA7C,IAA2De,UAAU,IAAI,MAAKhB,KAAL,CAAWyD,UAAxF,EAAoG;AAClG,cAAKzD,KAAL,CAAWkE,YAAX,CAAwBlD,UAAxB;AACD;AACF,K;;AAEOmD,IAAAA,iB,GAAoB,YAAM;AAChC,UAAI,MAAKhF,mBAAT,EAA8B;AAC5B;AACD;;AAEDiF,MAAAA,QAAQ,CAACC,gBAAT,CAA0B,SAA1B,EAAqC,MAAKlC,aAA1C;AACA,YAAKhD,mBAAL,GAA2B,IAA3B;AACD,K;;AAEOmF,IAAAA,oB,GAAuB,YAAM;AACnC,UAAI,MAAKnF,mBAAT,EAA8B;AAC5BiF,QAAAA,QAAQ,CAACG,mBAAT,CAA6B,SAA7B,EAAwC,MAAKpC,aAA7C;;AAEA,cAAKhD,mBAAL,GAA2B,KAA3B;AACD;AACF,K;;AAEOqF,IAAAA,Y,GAAe,UAACC,OAAD,EAAqC;AAC1D,YAAKrF,SAAL,GAAiBqF,OAAjB;AACD,K,sBA1WaC,S,GAAd,mBAAwB1D,UAAxB,EAAiE,aAAc,CAC7E,OAAOA,UAAU,KAAK,SAAtB,CACD,C,sCAaM2D,iB,GAAP,6BAA2B,CACzB,IAAMzF,iBAAiB,GAAG,KAAKN,QAAL,GAAgBM,iBAA1C,CACA,IAAIA,iBAAJ,EAAuB,CACrB,KAAKiF,iBAAL,GACD,CACF,C,QAEMS,kB,GAAP,4BAA0BC,SAA1B,EAAkD,CAChD,IAAM3F,iBAAiB,GAAG,KAAKN,QAAL,GAAgBM,iBAA1C,CACA,IAAI,CAAC2F,SAAS,CAAC3F,iBAAX,IAAgCA,iBAApC,EAAuD,CACrD,KAAKiF,iBAAL,GACD,CAED,IAAIU,SAAS,CAAC3F,iBAAV,IAA+B,CAACA,iBAApC,EAAuD,CACrD,KAAKoF,oBAAL,GACD,CAED,IAAIO,SAAS,CAAC3F,iBAAV,KAAgCA,iBAApC,EAAuD,CACrD,KAAK6C,QAAL,CAAc,EACZ9C,eAAe,EAAEC,iBADL,EAAd,EAGD,CACF,C,QAEM4F,oB,GAAP,gCAA8B,CAC5B,KAAKR,oBAAL,GACD,C,QAEMS,M,GAAP,kBAAgB,mBACd,IAAI,KAAK/E,KAAL,CAAWyD,UAAX,GAAwB,CAAxB,IAA6B,CAAC,KAAK7E,QAAL,GAAgBoG,mCAAlD,EAAuF,CACrF,OAAO,IAAP,CACD,CAED,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAAC5E,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAAC6E,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,CACnB,qBAAmD,KAAKrG,QAAL,EAAnD,CAAoBsG,OAApB,kBAAQ,UAAR,EAA6BhG,iBAA7B,kBAA6BA,iBAA7B,CACA,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKiG,WAAjC,IAAkD,KAAKnF,KAAvD,gBACE,uCACE,QAAQ,EAAE,CADZ,EAEE,YAAUkF,OAFZ,EAGE,SAAS,EAAE/E,eAAOiF,MAAP,CAAc,KAAKhF,KAAnB,CAHb,EAIE,SAAS,EAAElB,iBAAiB,GAAGmG,SAAH,GAAe,KAAKlD,aAJlD,EAKE,OAAO,EAAE,KAAKgB,WALhB,EAME,MAAM,EAAE,KAAKI,UANf,EAOE,WAAW,EAAE,KAAKzB,eAPpB,EAQE,GAAG,EAAE,KAAK0C,YARZ,IAUG,KAAKhB,QAAL,GAAgB8B,GAAhB,CAAoB,KAAKjG,UAAzB,CAVH,CADF,CADF,CAgBD,C,iBA3FyBkG,eAAMC,a,WAClBC,mB,GAAsB,Q,UAEtB5G,Y,GAA6B,EACzC4B,SAAS,EAAEiF,8CAD8B,EAEzCV,mCAAmC,EAAE,IAFI,EAGzC9F,iBAAiB,EAAE,KAHsB,EAIzC,YAAYf,cAAc,CAACC,IAJc,E,UAS7BuH,S,GAAY,E;;;AAgX5BlH,MAAM,CAACkH,SAAP,GAAmB;AACjB;AACF;AACA;AACE1F,EAAAA,UAAU,EAAE2F,kBAAOC,UAJF;;AAMjB;AACF;AACA;AACA;AACA;AACEpF,EAAAA,SAAS,EAAEqF,eAXM;;AAajB;AACF;AACA;AACErC,EAAAA,UAAU,EAAEmC,kBAAOC,UAhBF;;AAkBjB;AACF;AACA;AACE3B,EAAAA,YAAY,EAAE4B,gBAAKD,UArBF,EAAnB","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component?: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener?: boolean;\n /**\n * Определяет, нужно ли показывать `Paging` когда страница всего одна.\n *\n * Этот проп будет удалён в 5-ой версии библиотеки,\n * так как поведение со скрытием `Paging`'а станет поведением по умолчанию.\n *\n * @default false\n */\n shouldBeVisibleWithLessThanTwoPages?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<\n Pick<PagingProps, 'component' | 'shouldBeVisibleWithLessThanTwoPages' | 'useGlobalListener' | 'data-tid'>\n>;\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n shouldBeVisibleWithLessThanTwoPages: true,\n useGlobalListener: false,\n 'data-tid': PagingDataTids.root,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2 && !this.getProps().shouldBeVisibleWithLessThanTwoPages) {\n return null;\n }\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { 'data-tid': dataTid, useGlobalListener } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={0}\n data-tid={dataTid}\n className={styles.paging(this.theme)}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span data-tid={PagingDataTids.dots} key={key} className={styles.dots(this.theme)}>\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.disabled(this.theme)]: disabled,\n });\n const { caption } = this.props;\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {caption || forward}\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.active(this.theme)]: active,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n if (keyboardControl && (canGoBackward || canGoForward)) {\n return (\n <span className={styles.pageLinkHint(this.theme)}>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </span>\n );\n }\n\n return <div className={styles.pageLinkHintPlaceHolder(this.theme)} />;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n target instanceof Element &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\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 private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n document.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n document.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["Paging.tsx"],"names":["IGNORE_EVENT_TAGS","PagingDataTids","root","dots","forwardLink","pageLinkWrapper","pageLink","Paging","PagingLocaleHelper","rootNode","getProps","defaultProps","state","focusedByTab","focusedItem","keyboardControl","useGlobalListener","addedGlobalListener","container","renderItem","item","index","focused","getFocusedItem","key","renderDots","disabled","isItemDisabled","renderForwardLink","active","props","activePage","renderPageLink","styles","theme","dotsDisabled","classes","forwardLinkFocused","forwardLinkDisabled","Component","component","forward","locale","emptyHandler","goForward","caption","forwardIcon","pagingForwardIconSize","pageNumber","pageLinkFocused","pageLinkDisabled","pageLinkCurrent","pageLinkCurrentDisabled","handleClick","goToPage","handleMouseDownPageLink","renderNavigationHint","withoutNavigationHint","canGoBackward","canGoForward","pageLinkHint","transparent","NavigationHelper","getKeyName","pageLinkHintPlaceHolder","handleMouseDown","setState","isIE11","setTimeout","focus","handleKeyDown","e","shiftKey","target","isArrowLeft","isArrowRight","Element","includes","tagName","toLowerCase","isContentEditable","checkKeyPressed","goBackward","moveFocusLeft","moveFocusRight","executeItemAction","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","getItems","pagesCount","concat","isItemFocusable","moveFocus","step","items","findIndex","x","length","onPageChange","addGlobalListener","document","addEventListener","removeGlobalListener","removeEventListener","refContainer","element","isForward","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","render","shouldBeVisibleWithLessThanTwoPages","renderMain","dataTid","setRootNode","paging","pagingDisabled","undefined","map","React","PureComponent","__KONTUR_REACT_UI__","PagingDefaultComponent","propTypes","number","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { func, number } from 'prop-types';\n\nimport { isKeyArrowLeft, isKeyArrowRight, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { Nullable } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { emptyHandler } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ArrowChevronRightIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Paging.styles';\nimport * as NavigationHelper from './NavigationHelper';\nimport { getItems } from './PagingHelper';\nimport { PagingLocale, PagingLocaleHelper } from './locale';\nimport { PagingDefaultComponent } from './PagingDefaultComponent';\n\nconst IGNORE_EVENT_TAGS = ['input', 'textarea'];\n\nexport interface ItemComponentProps {\n active: boolean;\n children?: React.ReactNode;\n className: string;\n onClick: () => void;\n pageNumber: number | 'forward';\n tabIndex: number;\n}\n\nexport interface PagingProps extends CommonProps {\n activePage: number;\n /**\n * Компонент обертки по умолчанию\n * @default <span />\n */\n component?: React.ComponentType<ItemComponentProps>;\n onPageChange: (pageNumber: number) => void;\n pagesCount: number;\n disabled?: boolean;\n /**\n * Отключает навигационные подсказки.\n * По-умолчанию подсказки появляются, когда доступно управление с клавиатуры\n * (либо элемент в фокусе, либо globalListeners === true)\n */\n withoutNavigationHint?: boolean;\n caption?: string;\n /**\n * Глобальный слушатель **keyDown**, для навигации клавишами без фокуса на компоненте.\n * Если на странице используется несколько элементов\n * **Paging** с useGlobalListener === true, то обработчик keyDown будет вызываться\n * на каждом из них. Такие случаи лучше обрабатывать отдельно.\n */\n useGlobalListener?: boolean;\n /**\n * Определяет, нужно ли показывать `Paging` когда страница всего одна.\n *\n * Этот проп будет удалён в 5-ой версии библиотеки,\n * так как поведение со скрытием `Paging`'а станет поведением по умолчанию.\n *\n * @default false\n */\n shouldBeVisibleWithLessThanTwoPages?: boolean;\n}\n\nexport interface PagingState {\n focusedByTab: boolean;\n focusedItem: Nullable<ItemType>;\n keyboardControl: boolean;\n}\n\nexport type ItemType = number | '.' | 'forward';\n\nexport const PagingDataTids = {\n root: 'Paging__root',\n dots: 'Paging__dots',\n forwardLink: 'Paging__forwardLink',\n pageLinkWrapper: 'Paging__pageLinkWrapper',\n pageLink: 'Paging__pageLink',\n} as const;\n\ntype DefaultProps = Required<\n Pick<PagingProps, 'component' | 'shouldBeVisibleWithLessThanTwoPages' | 'useGlobalListener' | 'data-tid'>\n>;\n\n@rootNode\n@locale('Paging', PagingLocaleHelper)\nexport class Paging extends React.PureComponent<PagingProps, PagingState> {\n public static __KONTUR_REACT_UI__ = 'Paging';\n\n public static defaultProps: DefaultProps = {\n component: PagingDefaultComponent,\n shouldBeVisibleWithLessThanTwoPages: true,\n useGlobalListener: false,\n 'data-tid': PagingDataTids.root,\n };\n\n private getProps = createPropsGetter(Paging.defaultProps);\n\n public static propTypes = {};\n private setRootNode!: TSetRootNode;\n\n public static isForward(pageNumber: number | 'forward'): boolean /* %checks */ {\n return pageNumber === 'forward';\n }\n\n public state: PagingState = {\n focusedByTab: false,\n focusedItem: null,\n keyboardControl: this.getProps().useGlobalListener,\n };\n\n private theme!: Theme;\n private readonly locale!: PagingLocale;\n private addedGlobalListener = false;\n private container: HTMLSpanElement | null = null;\n\n public componentDidMount() {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (useGlobalListener) {\n this.addGlobalListener();\n }\n }\n\n public componentDidUpdate(prevProps: PagingProps) {\n const useGlobalListener = this.getProps().useGlobalListener;\n if (!prevProps.useGlobalListener && useGlobalListener) {\n this.addGlobalListener();\n }\n\n if (prevProps.useGlobalListener && !useGlobalListener) {\n this.removeGlobalListener();\n }\n\n if (prevProps.useGlobalListener !== useGlobalListener) {\n this.setState({\n keyboardControl: useGlobalListener,\n });\n }\n }\n\n public componentWillUnmount() {\n this.removeGlobalListener();\n }\n\n public render() {\n if (this.props.pagesCount < 2 && !this.getProps().shouldBeVisibleWithLessThanTwoPages) {\n return null;\n }\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { 'data-tid': dataTid, useGlobalListener } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span\n tabIndex={this.props.disabled ? -1 : 0}\n data-tid={dataTid}\n className={cx({ [styles.paging(this.theme)]: true, [styles.pagingDisabled()]: this.props.disabled })}\n onKeyDown={useGlobalListener ? undefined : this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onMouseDown={this.handleMouseDown}\n ref={this.refContainer}\n >\n {this.getItems().map(this.renderItem)}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderItem = (item: ItemType, index: number) => {\n const focused = this.getFocusedItem() === item;\n switch (item) {\n case '.': {\n const key = `dots${index < 5 ? 'Left' : 'Right'}`;\n return this.renderDots(key);\n }\n case 'forward': {\n const disabled = this.isItemDisabled(item);\n return this.renderForwardLink(disabled, focused);\n }\n default: {\n const active = this.props.activePage === item;\n return this.renderPageLink(item, active, focused);\n }\n }\n };\n\n private renderDots = (key: string) => {\n return (\n <span\n data-tid={PagingDataTids.dots}\n key={key}\n className={cx({ [styles.dots(this.theme)]: true, [styles.dotsDisabled(this.theme)]: this.props.disabled })}\n >\n {'...'}\n </span>\n );\n };\n\n private renderForwardLink = (disabled: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.forwardLink(this.theme)]: true,\n [styles.forwardLinkFocused()]: focused,\n [styles.forwardLinkDisabled(this.theme)]: disabled || this.props.disabled,\n });\n const Component = this.getProps().component;\n const { forward } = this.locale;\n\n return (\n <Component\n key={'forward'}\n data-tid={PagingDataTids.forwardLink}\n active={false}\n className={classes}\n onClick={disabled ? emptyHandler : this.goForward}\n tabIndex={-1}\n pageNumber={'forward' as const}\n >\n {this.props.caption || forward}\n <span className={styles.forwardIcon(this.theme)}>\n <ArrowChevronRightIcon size={this.theme.pagingForwardIconSize} />\n </span>\n </Component>\n );\n };\n\n private renderPageLink = (pageNumber: number, active: boolean, focused: boolean): JSX.Element => {\n const classes = cx({\n [styles.pageLink(this.theme)]: true,\n [styles.pageLinkFocused(this.theme)]: focused,\n [styles.pageLinkDisabled(this.theme)]: this.props.disabled,\n [styles.pageLinkCurrent(this.theme)]: active,\n [styles.pageLinkCurrentDisabled(this.theme)]: active && this.props.disabled,\n });\n const Component = this.getProps().component;\n const handleClick = () => this.goToPage(pageNumber);\n\n return (\n <span\n data-tid={PagingDataTids.pageLinkWrapper}\n key={pageNumber}\n className={styles.pageLinkWrapper()}\n onMouseDown={this.handleMouseDownPageLink}\n >\n <Component\n data-tid={PagingDataTids.pageLink}\n active={active}\n className={classes}\n onClick={handleClick}\n tabIndex={-1}\n pageNumber={pageNumber}\n >\n {pageNumber}\n </Component>\n {active && this.renderNavigationHint()}\n </span>\n );\n };\n\n private renderNavigationHint = () => {\n if (this.props.withoutNavigationHint) {\n return null;\n }\n\n const { keyboardControl } = this.state;\n const canGoBackward = this.canGoBackward();\n const canGoForward = this.canGoForward();\n\n if (keyboardControl && (canGoBackward || canGoForward)) {\n return (\n <span className={styles.pageLinkHint(this.theme)}>\n <span className={canGoBackward ? '' : styles.transparent()}>{'←'}</span>\n <span>{NavigationHelper.getKeyName()}</span>\n <span className={canGoForward ? '' : styles.transparent()}>{'→'}</span>\n </span>\n );\n }\n\n return <div className={styles.pageLinkHintPlaceHolder(this.theme)} />;\n };\n\n private handleMouseDown = () => {\n this.setState({ focusedByTab: false, focusedItem: null });\n };\n\n private handleMouseDownPageLink = () => {\n if (isIE11) {\n // Клик по span внутри контейнера с tabindex=\"0\" переносит фокус именно на этот span.\n // Поэтому горячие клавиши работают пока span существует на странице.\n setTimeout(() => this.container && this.container.focus(), 0);\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent | React.KeyboardEvent<HTMLElement>) => {\n if (e.shiftKey) {\n return;\n }\n\n const target = e.target;\n\n const isArrowLeft = isKeyArrowLeft(e);\n const isArrowRight = isKeyArrowRight(e);\n\n if (\n target instanceof Element &&\n (IGNORE_EVENT_TAGS.includes(target.tagName.toLowerCase()) || (target as HTMLElement).isContentEditable)\n ) {\n return;\n }\n\n if (NavigationHelper.checkKeyPressed(e) && isArrowLeft) {\n this.setState({ focusedItem: null }, this.goBackward);\n return;\n }\n if (NavigationHelper.checkKeyPressed(e) && isArrowRight) {\n this.setState({ focusedItem: null }, this.goForward);\n return;\n }\n\n if (this.container && this.container === e.target) {\n if (isArrowLeft) {\n this.setState({ focusedByTab: true }, this.moveFocusLeft);\n return;\n }\n if (isArrowRight) {\n this.setState({ focusedByTab: true }, this.moveFocusRight);\n return;\n }\n if (isKeyEnter(e)) {\n this.executeItemAction(this.getFocusedItem());\n return;\n }\n }\n };\n\n private handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ keyboardControl: true });\n\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 private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n keyboardControl: this.getProps().useGlobalListener || false,\n });\n };\n\n private getItems = (): ItemType[] => {\n return getItems(this.props.activePage, this.props.pagesCount).concat('forward');\n };\n\n private getFocusedItem = (): Nullable<ItemType> => {\n if (!this.state.focusedByTab) {\n return null;\n }\n\n const { focusedItem } = this.state;\n if (focusedItem && this.getItems().includes(focusedItem) && this.isItemFocusable(focusedItem)) {\n return focusedItem;\n }\n\n return this.props.activePage;\n };\n\n private isItemFocusable = (item: ItemType) => {\n return !this.isItemDisabled(item);\n };\n\n private isItemDisabled = (item: ItemType) => {\n switch (item) {\n case '.':\n return true;\n case 'forward':\n return !this.canGoForward();\n default:\n return false;\n }\n };\n\n private executeItemAction = (item: Nullable<ItemType>) => {\n if (item === 'forward') {\n this.goForward();\n }\n if (typeof item === 'number') {\n this.goToPage(item);\n }\n };\n\n private moveFocusLeft = () => {\n this.moveFocus(-1);\n };\n\n private moveFocusRight = () => {\n this.moveFocus(1);\n };\n\n private moveFocus = (step: number) => {\n const focusedItem = this.getFocusedItem();\n const items = this.getItems();\n let index = items.findIndex((x) => x === focusedItem);\n do {\n index = (index + step + items.length) % items.length;\n } while (!this.isItemFocusable(items[index]));\n this.setState({ focusedItem: items[index] });\n };\n\n private canGoBackward = (): boolean => {\n return this.props.activePage > 1;\n };\n\n private canGoForward = (): boolean => {\n return this.props.activePage < this.props.pagesCount;\n };\n\n private goBackward = () => {\n this.goToPage(this.props.activePage - 1);\n };\n\n private goForward = () => {\n this.goToPage(this.props.activePage + 1);\n };\n\n private goToPage = (pageNumber: number) => {\n if (pageNumber >= 1 && pageNumber !== this.props.activePage && pageNumber <= this.props.pagesCount) {\n this.props.onPageChange(pageNumber);\n }\n };\n\n private addGlobalListener = () => {\n if (this.addedGlobalListener) {\n return;\n }\n\n document.addEventListener('keydown', this.handleKeyDown);\n this.addedGlobalListener = true;\n };\n\n private removeGlobalListener = () => {\n if (this.addedGlobalListener) {\n document.removeEventListener('keydown', this.handleKeyDown);\n\n this.addedGlobalListener = false;\n }\n };\n\n private refContainer = (element: HTMLSpanElement | null) => {\n this.container = element;\n };\n}\n\nPaging.propTypes = {\n /**\n * Current active page\n */\n activePage: number.isRequired,\n\n /**\n * React component that would be used for rendering items\n *\n * Usefull for router integration\n */\n component: func,\n\n /**\n * Total page count\n */\n pagesCount: number.isRequired,\n\n /**\n * Calls when page has been changed\n */\n onPageChange: func.isRequired,\n};\n"]}
|
|
@@ -26,6 +26,19 @@ class Paginator3000 extends React.Component {
|
|
|
26
26
|
<Paginator3000 />;
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
Пейджинг в отключенном состоянии
|
|
30
|
+
|
|
31
|
+
```jsx
|
|
32
|
+
const [activePage, setActivePage] = React.useState(3);
|
|
33
|
+
|
|
34
|
+
<Paging
|
|
35
|
+
disabled
|
|
36
|
+
onPageChange={(activePage) => setActivePage(activePage)}
|
|
37
|
+
activePage={activePage}
|
|
38
|
+
pagesCount={8}
|
|
39
|
+
/>
|
|
40
|
+
```
|
|
41
|
+
|
|
29
42
|
#### Локали по умолчанию
|
|
30
43
|
|
|
31
44
|
```typescript static
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Theme } from '../../lib/theming/Theme';
|
|
2
2
|
export declare const styles: {
|
|
3
3
|
paging(t: Theme): string;
|
|
4
|
+
pagingDisabled(): string;
|
|
4
5
|
dots(t: Theme): string;
|
|
6
|
+
dotsDisabled(t: Theme): string;
|
|
5
7
|
forwardLink(t: Theme): string;
|
|
6
8
|
forwardLinkFocused(): string;
|
|
7
9
|
forwardIcon(t: Theme): string;
|
|
8
|
-
|
|
10
|
+
forwardLinkDisabled(t: Theme): string;
|
|
9
11
|
pageLinkWrapper(): string;
|
|
10
12
|
pageLink(t: Theme): string;
|
|
11
|
-
|
|
13
|
+
pageLinkDisabled(t: Theme): string;
|
|
14
|
+
pageLinkCurrent(t: Theme): string;
|
|
15
|
+
pageLinkCurrentDisabled(t: Theme): string;
|
|
12
16
|
pageLinkFocused(t: Theme): string;
|
|
13
17
|
transparent(): string;
|
|
14
18
|
pageLinkHintPlaceHolder(t: Theme): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
var styles = (0, _Emotion.memoizeStyle)({
|
|
@@ -10,18 +10,30 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
10
10
|
t.pagingLineHeight);
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
pagingDisabled: function pagingDisabled() {
|
|
16
|
+
return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n pointer-events: none;\n "])));
|
|
17
|
+
|
|
18
|
+
|
|
13
19
|
},
|
|
14
20
|
|
|
15
21
|
dots: function dots(t) {
|
|
16
|
-
return (0, _Emotion.css)(
|
|
22
|
+
return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n display: inline-block;\n padding: ", ";\n "])),
|
|
17
23
|
t.pagingDotsColor,
|
|
18
24
|
|
|
19
25
|
t.pagingDotsPadding);
|
|
20
26
|
|
|
21
27
|
},
|
|
22
28
|
|
|
29
|
+
dotsDisabled: function dotsDisabled(t) {
|
|
30
|
+
return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
|
|
31
|
+
t.textColorDisabled);
|
|
32
|
+
|
|
33
|
+
},
|
|
34
|
+
|
|
23
35
|
forwardLink: function forwardLink(t) {
|
|
24
|
-
return (0, _Emotion.css)(
|
|
36
|
+
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n cursor: pointer;\n display: inline-block;\n margin-top: ", ";\n margin-left: ", ";\n outline: none;\n padding-right: ", ";\n position: relative;\n text-decoration: none;\n user-select: none;\n vertical-align: top;\n "])),
|
|
25
37
|
t.pagingForwardLinkColor,
|
|
26
38
|
|
|
27
39
|
|
|
@@ -37,13 +49,13 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
37
49
|
},
|
|
38
50
|
|
|
39
51
|
forwardLinkFocused: function forwardLinkFocused() {
|
|
40
|
-
return (0, _Emotion.css)(
|
|
52
|
+
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n text-decoration: underline;\n "])));
|
|
41
53
|
|
|
42
54
|
|
|
43
55
|
},
|
|
44
56
|
|
|
45
57
|
forwardIcon: function forwardIcon(t) {
|
|
46
|
-
return (0, _Emotion.css)(
|
|
58
|
+
return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n vertical-align: -2px;\n position: absolute;\n margin-top: ", ";\n right: 0;\n "])),
|
|
47
59
|
|
|
48
60
|
|
|
49
61
|
t.pagingForwardIconMarginTop);
|
|
@@ -51,15 +63,15 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
51
63
|
|
|
52
64
|
},
|
|
53
65
|
|
|
54
|
-
|
|
55
|
-
return (0, _Emotion.css)(
|
|
66
|
+
forwardLinkDisabled: function forwardLinkDisabled(t) {
|
|
67
|
+
return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n cursor: default;\n "])),
|
|
56
68
|
t.pagingForwardLinkDisabledColor);
|
|
57
69
|
|
|
58
70
|
|
|
59
71
|
},
|
|
60
72
|
|
|
61
73
|
pageLinkWrapper: function pageLinkWrapper() {
|
|
62
|
-
return (0, _Emotion.css)(
|
|
74
|
+
return (0, _Emotion.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n flex-flow: column nowrap;\n text-align: center;\n user-select: none;\n vertical-align: top;\n "])));
|
|
63
75
|
|
|
64
76
|
|
|
65
77
|
|
|
@@ -69,7 +81,7 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
69
81
|
},
|
|
70
82
|
|
|
71
83
|
pageLink: function pageLink(t) {
|
|
72
|
-
return (0, _Emotion.css)(
|
|
84
|
+
return (0, _Emotion.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: block;\n margin: ", ";\n outline: none;\n min-width: ", ";\n padding: ", " ", " ", ";\n text-decoration: none;\n\n &:hover {\n background: ", ";\n }\n "])),
|
|
73
85
|
t.pagingPageLinkBorderRadius,
|
|
74
86
|
t.pagingForwardLinkColor,
|
|
75
87
|
|
|
@@ -86,16 +98,29 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
86
98
|
|
|
87
99
|
},
|
|
88
100
|
|
|
89
|
-
|
|
90
|
-
return (0, _Emotion.css)(
|
|
101
|
+
pageLinkDisabled: function pageLinkDisabled(t) {
|
|
102
|
+
return (0, _Emotion.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
|
|
103
|
+
t.linkDisabledColor);
|
|
104
|
+
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
pageLinkCurrent: function pageLinkCurrent(t) {
|
|
108
|
+
return (0, _Emotion.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteralLoose2.default)(["\n cursor: default;\n background: ", " !important; // override hover styles\n color: ", ";\n "])),
|
|
91
109
|
|
|
92
110
|
t.pagingPageLinkActiveBg,
|
|
93
111
|
t.pagingPageLinkActiveColor);
|
|
94
112
|
|
|
95
113
|
},
|
|
96
114
|
|
|
115
|
+
pageLinkCurrentDisabled: function pageLinkCurrentDisabled(t) {
|
|
116
|
+
return (0, _Emotion.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteralLoose2.default)(["\n background: ", " !important;\n color: ", ";\n "])),
|
|
117
|
+
t.pagingPageLinkDisabledActiveBg,
|
|
118
|
+
t.linkDisabledColor);
|
|
119
|
+
|
|
120
|
+
},
|
|
121
|
+
|
|
97
122
|
pageLinkFocused: function pageLinkFocused(t) {
|
|
98
|
-
return (0, _Emotion.css)(
|
|
123
|
+
return (0, _Emotion.css)(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "\n "])), "\n box-shadow: 0 0 0 2px " +
|
|
99
124
|
|
|
100
125
|
t.borderColorFocus + ";\n ");
|
|
101
126
|
|
|
@@ -103,20 +128,20 @@ var styles = (0, _Emotion.memoizeStyle)({
|
|
|
103
128
|
},
|
|
104
129
|
|
|
105
130
|
transparent: function transparent() {
|
|
106
|
-
return (0, _Emotion.css)(
|
|
131
|
+
return (0, _Emotion.css)(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: transparent;\n "])));
|
|
107
132
|
|
|
108
133
|
|
|
109
134
|
},
|
|
110
135
|
|
|
111
136
|
pageLinkHintPlaceHolder: function pageLinkHintPlaceHolder(t) {
|
|
112
|
-
return (0, _Emotion.css)(
|
|
137
|
+
return (0, _Emotion.css)(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteralLoose2.default)(["\n height: ", ";\n line-height: ", ";\n "])),
|
|
113
138
|
t.pagingPageLinkHintLineHeight,
|
|
114
139
|
t.pagingPageLinkHintLineHeight);
|
|
115
140
|
|
|
116
141
|
},
|
|
117
142
|
|
|
118
143
|
pageLinkHint: function pageLinkHint(t) {
|
|
119
|
-
return (0, _Emotion.css)(
|
|
144
|
+
return (0, _Emotion.css)(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n margin: 0 -20px;\n font-size: ", ";\n line-height: ", ";\n color: ", ";\n "])),
|
|
120
145
|
|
|
121
146
|
|
|
122
147
|
t.pagingPageLinkHintFontSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Paging.styles.ts"],"names":["styles","paging","t","css","pagingFontSize","pagingLineHeight","dots","pagingDotsColor","pagingDotsPadding","forwardLink","pagingForwardLinkColor","pagingPageForwardLinkMarginTop","pagingPageForwardLinkMarginLeft","pagingPageForwardLinkPaddingRight","forwardLinkFocused","forwardIcon","pagingForwardIconMarginTop","
|
|
1
|
+
{"version":3,"sources":["Paging.styles.ts"],"names":["styles","paging","t","css","pagingFontSize","pagingLineHeight","pagingDisabled","dots","pagingDotsColor","pagingDotsPadding","dotsDisabled","textColorDisabled","forwardLink","pagingForwardLinkColor","pagingPageForwardLinkMarginTop","pagingPageForwardLinkMarginLeft","pagingPageForwardLinkPaddingRight","forwardLinkFocused","forwardIcon","pagingForwardIconMarginTop","forwardLinkDisabled","pagingForwardLinkDisabledColor","pageLinkWrapper","pageLink","pagingPageLinkBorderRadius","pagingPageLinkMargin","pagingPageLinkMinWidth","pagingPageLinkPaddingY","pagingPageLinkPaddingX","pagingPageLinkHoverBg","pageLinkDisabled","linkDisabledColor","pageLinkCurrent","pagingPageLinkActiveBg","pagingPageLinkActiveColor","pageLinkCurrentDisabled","pagingPageLinkDisabledActiveBg","pageLinkFocused","borderColorFocus","transparent","pageLinkHintPlaceHolder","pagingPageLinkHintLineHeight","pageLinkHint","pagingPageLinkHintFontSize","pagingPageLinkHintColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n paging(t: Theme) {\n return css`\n user-select: none;\n outline: 0;\n font-size: ${t.pagingFontSize};\n line-height: ${t.pagingLineHeight};\n display: inline-block;\n `;\n },\n\n pagingDisabled() {\n return css`\n pointer-events: none;\n `;\n },\n\n dots(t: Theme) {\n return css`\n color: ${t.pagingDotsColor};\n display: inline-block;\n padding: ${t.pagingDotsPadding};\n `;\n },\n\n dotsDisabled(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n forwardLink(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: inline-block;\n margin-top: ${t.pagingPageForwardLinkMarginTop};\n margin-left: ${t.pagingPageForwardLinkMarginLeft};\n outline: none;\n padding-right: ${t.pagingPageForwardLinkPaddingRight};\n position: relative;\n text-decoration: none;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n forwardLinkFocused() {\n return css`\n text-decoration: underline;\n `;\n },\n\n forwardIcon(t: Theme) {\n return css`\n vertical-align: -2px;\n position: absolute;\n margin-top: ${t.pagingForwardIconMarginTop};\n right: 0;\n `;\n },\n\n forwardLinkDisabled(t: Theme) {\n return css`\n color: ${t.pagingForwardLinkDisabledColor};\n cursor: default;\n `;\n },\n\n pageLinkWrapper() {\n return css`\n display: inline-flex;\n flex-flow: column nowrap;\n text-align: center;\n user-select: none;\n vertical-align: top;\n `;\n },\n\n pageLink(t: Theme) {\n return css`\n border-radius: ${t.pagingPageLinkBorderRadius};\n color: ${t.pagingForwardLinkColor};\n cursor: pointer;\n display: block;\n margin: ${t.pagingPageLinkMargin};\n outline: none;\n min-width: ${t.pagingPageLinkMinWidth};\n padding: ${t.pagingPageLinkPaddingY} ${t.pagingPageLinkPaddingX} ${t.pagingPageLinkPaddingY};\n text-decoration: none;\n\n &:hover {\n background: ${t.pagingPageLinkHoverBg};\n }\n `;\n },\n\n pageLinkDisabled(t: Theme) {\n return css`\n color: ${t.linkDisabledColor};\n `;\n },\n\n pageLinkCurrent(t: Theme) {\n return css`\n cursor: default;\n background: ${t.pagingPageLinkActiveBg} !important; // override hover styles\n color: ${t.pagingPageLinkActiveColor};\n `;\n },\n\n pageLinkCurrentDisabled(t: Theme) {\n return css`\n background: ${t.pagingPageLinkDisabledActiveBg} !important;\n color: ${t.linkDisabledColor};\n `;\n },\n\n pageLinkFocused(t: Theme) {\n return css`\n ${`\n box-shadow: 0 0 0 2px ${t.borderColorFocus};\n `}\n `;\n },\n\n transparent() {\n return css`\n color: transparent;\n `;\n },\n\n pageLinkHintPlaceHolder(t: Theme) {\n return css`\n height: ${t.pagingPageLinkHintLineHeight};\n line-height: ${t.pagingPageLinkHintLineHeight};\n `;\n },\n\n pageLinkHint(t: Theme) {\n return css`\n display: inline-block;\n margin: 0 -20px;\n font-size: ${t.pagingPageLinkHintFontSize};\n line-height: ${t.pagingPageLinkHintLineHeight};\n color: ${t.pagingPageLinkHintColor};\n `;\n },\n});\n"]}
|
|
@@ -333,6 +333,10 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
|
|
|
333
333
|
|
|
334
334
|
|
|
335
335
|
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
336
340
|
|
|
337
341
|
|
|
338
342
|
|
|
@@ -497,8 +501,6 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
|
|
|
497
501
|
|
|
498
502
|
|
|
499
503
|
|
|
500
|
-
|
|
501
|
-
|
|
502
504
|
|
|
503
505
|
|
|
504
506
|
|
|
@@ -688,7 +690,7 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
|
|
|
688
690
|
buttonElement;
|
|
689
691
|
};return _this;}var _proto = Select.prototype;_proto.componentDidUpdate = function componentDidUpdate(_prevProps, prevState) {if (!prevState.opened && this.state.opened) {window.addEventListener('popstate', this.close);}if (prevState.opened && !this.state.opened) {window.removeEventListener('popstate', this.close);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain());});} /**
|
|
690
692
|
* @public
|
|
691
|
-
*/;_proto.getMenuRenderer = function getMenuRenderer() {if (this.props.disabled) {return null;}if (this.isMobileLayout) {return this.renderMobileMenu();}if (this.state.opened) {return this.renderMenu();}return null;};_proto.renderMain = function renderMain() {var _cx2;var buttonParams = this.getDefaultButtonParams();var button = this.getButton(buttonParams);var isMobile = this.isMobileLayout;var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var root = /*#__PURE__*/_react.default.createElement("span", { "data-tid": SelectDataTids.root, className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_Select.styles.root()] = true, _cx2[_Select.styles.rootMobile(this.theme)] = isMobile, _cx2)), style: style }, button, this.getMenuRenderer());return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: isMobile ? false : this.state.opened }, root));};_proto.renderLabel = function renderLabel() {var _this$locale;var value = this.getValue();var item = this.getItemByValue(value);if ((0, _utils.isNonNullable)(value)) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || ((_this$locale = this.locale) == null ? void 0 : _this$locale.placeholder)), isPlaceholder: true };};_proto.getLeftIconClass = function getLeftIconClass(size) {if (this.getProps().use === 'link') {return _Select.styles.leftIconLink(this.theme);}switch (size) {case 'large':return _Select.styles.leftIconLarge(this.theme);case 'medium':return _Select.styles.leftIconMedium(this.theme);case 'small':default:return _Select.styles.leftIconSmall(this.theme);}};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cx3, _cx4;var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });var use = this.getProps().use;var labelProps = { className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_Select.styles.label()] = use !== 'link', _cx3[_Select.styles.placeholder(this.theme)] = params.isPlaceholder, _cx3[_Select.styles.customUsePlaceholder()] = params.isPlaceholder && use !== 'default', _cx3[_Select.styles.placeholderDisabled(this.theme)] = params.isPlaceholder && this.props.disabled, _cx3)), style: { paddingRight: this.getSelectIconGap() } };var useIsCustom = use !== 'default';return /*#__PURE__*/_react.default.createElement(
|
|
693
|
+
*/;_proto.getMenuRenderer = function getMenuRenderer() {if (this.props.disabled) {return null;}if (this.isMobileLayout) {return this.renderMobileMenu();}if (this.state.opened) {return this.renderMenu();}return null;};_proto.renderMain = function renderMain() {var _cx2;var buttonParams = this.getDefaultButtonParams();var button = /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _selectTheme.getSelectTheme)(this.theme, this.props) }, this.getButton(buttonParams));var isMobile = this.isMobileLayout;var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var root = /*#__PURE__*/_react.default.createElement("span", { "data-tid": SelectDataTids.root, className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_Select.styles.root()] = true, _cx2[_Select.styles.rootMobile(this.theme)] = isMobile, _cx2)), style: style }, button, this.getMenuRenderer());return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: isMobile ? false : this.state.opened }, root));};_proto.renderLabel = function renderLabel() {var _this$locale;var value = this.getValue();var item = this.getItemByValue(value);if ((0, _utils.isNonNullable)(value)) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || ((_this$locale = this.locale) == null ? void 0 : _this$locale.placeholder)), isPlaceholder: true };};_proto.getLeftIconClass = function getLeftIconClass(size) {if (this.getProps().use === 'link') {return _Select.styles.leftIconLink(this.theme);}switch (size) {case 'large':return _Select.styles.leftIconLarge(this.theme);case 'medium':return _Select.styles.leftIconMedium(this.theme);case 'small':default:return _Select.styles.leftIconSmall(this.theme);}};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cx3, _cx4;var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });var use = this.getProps().use;var labelProps = { className: (0, _Emotion.cx)((_cx3 = {}, _cx3[_Select.styles.label()] = use !== 'link', _cx3[_Select.styles.placeholder(this.theme)] = params.isPlaceholder, _cx3[_Select.styles.customUsePlaceholder()] = params.isPlaceholder && use !== 'default', _cx3[_Select.styles.placeholderDisabled(this.theme)] = params.isPlaceholder && this.props.disabled, _cx3)), style: { paddingRight: this.getSelectIconGap() } };var useIsCustom = use !== 'default';return /*#__PURE__*/_react.default.createElement(_Button.Button, buttonProps, /*#__PURE__*/_react.default.createElement("div", { className: _Select.styles.selectButtonContainer() }, this.props._icon && /*#__PURE__*/_react.default.createElement("div", { className: this.getLeftIconClass(this.props.size) }, this.props._icon), /*#__PURE__*/_react.default.createElement("span", labelProps, params.label), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Select.styles.arrowWrap(this.theme), (_cx4 = {}, _cx4[_Select.styles.arrowDisabled(this.theme)] = this.props.disabled, _cx4[_Select.styles.customUseArrow()] = useIsCustom, _cx4)) }, /*#__PURE__*/_react.default.createElement(_px.ArrowChevronDownIcon, null))));};_proto.getSelectIconGap = function getSelectIconGap() {var _this3 = this;var getArrowPadding = function getArrowPadding() {switch (_this3.props.size) {case 'large':return _this3.theme.selectIconGapLarge;case 'medium':return _this3.theme.selectIconGapMedium;case 'small':default:return _this3.theme.selectIconGapSmall;}};var arrowLeftPadding = parseFloat(getArrowPadding()) || 0;return arrowLeftPadding;};_proto.renderMenu = function renderMenu() {var search = this.props.search ? /*#__PURE__*/_react.default.createElement("div", { className: _Select.styles.search(), onKeyDown: this.handleKey }, /*#__PURE__*/_react.default.createElement(_Input.Input, { ref: this.focusInput, onValueChange: this.handleSearch, width: "100%" })) : null;var value = this.getValue();var hasFixedWidth = !!this.props.menuWidth && this.props.menuWidth !== 'auto';return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { getParent: this.dropdownContainerGetParent, offsetY: -1, align: this.props.menuAlign, disablePortal: this.props.disablePortal, hasFixedWidth: hasFixedWidth }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: this.refMenu, width: this.props.menuWidth, onItemClick: this.close, maxHeight: this.props.maxMenuHeight, align: this.props.menuAlign }, search, this.getMenuItems(value)));};_proto.renderMobileMenu = function renderMobileMenu() {var search = this.props.search ? this.getSearch(true) : null;var value = this.getValue();var isWithSearch = Boolean(search);return /*#__PURE__*/_react.default.createElement(_MobilePopup.MobilePopup, { headerChildComponent: search, caption: this.props.mobileMenuHeaderText, useFullHeight: isWithSearch, onCloseRequest: this.close, opened: this.state.opened }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { hasShadow: false, onItemClick: this.close, disableScrollContainer: true, maxHeight: 'auto' }, this.getMenuItems(value)));};_proto.select = function select(value) {this.focus();this.setState({ opened: false, value: value });if (!this.areValuesEqual(this.getValue(), value)) {var _this$props$onValueCh, _this$props;(_this$props$onValueCh = (_this$props = this.props).onValueChange) == null ? void 0 : _this$props$onValueCh.call(_this$props, value);}};_proto.getValue = function getValue() {if (this.props.value !== undefined) {return this.props.value;}return this.state.value;};_proto.mapItems = function mapItems(fn) {var items = this.props.items;if (!items) {return [];}var pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();var result = [];var index = 0;for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {var entry = _step.value;var _normalizeEntry = normalizeEntry(entry),_value = _normalizeEntry[0],_item = _normalizeEntry[1],_comment = _normalizeEntry[2];if (!pattern || this.getProps().filterItem(_value, _item, pattern)) {result.push(fn(_value, _item, index, _comment));++index;}}return result;};_proto.getItemByValue = function getItemByValue(value) {if (value === null || value === undefined) {return null;}var items = this.props.items || [];for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {var entry = _step2.value;var _normalizeEntry2 = normalizeEntry(entry),itemValue = _normalizeEntry2[0],_item2 = _normalizeEntry2[1];if (this.areValuesEqual(itemValue, value)) {return _item2;}}return null;};_proto.areValuesEqual = function areValuesEqual(value1, value2) {return (0, _utils.isNonNullable)(value1) && (0, _utils.isNonNullable)(value2) && this.getProps().areValuesEqual(value1, value2);};return Select;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Select', _class2.propTypes = { areValuesEqual: _propTypes.default.func, defaultValue: _propTypes.default.any, disablePortal: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, filterItem: _propTypes.default.func, items: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]), maxMenuHeight: _propTypes.default.number, maxWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), placeholder: _propTypes.default.node, renderItem: _propTypes.default.func, renderValue: _propTypes.default.func, search: _propTypes.default.bool, value: _propTypes.default.any, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onKeyDown: _propTypes.default.func }, _class2.defaultProps = { renderValue: renderValue, renderItem: renderItem, areValuesEqual: areValuesEqual, filterItem: filterItem, use: 'default' }, _class2.Item = _Item.Item, _class2.SEP = function () {return /*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, null);}, _class2.static = function (element) {(0, _invariant.default)( /*#__PURE__*/_react.default.isValidElement(element) || typeof element === 'function', 'Select.static(element) expects element to be a valid react element.');return element;}, _temp)) || _class) || _class) || _class);exports.Select = Select;
|
|
692
694
|
function renderValue(value, item) {
|
|
693
695
|
return item;
|
|
694
696
|
}
|