@skbkontur/react-ui 4.1.1 → 4.1.2
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 +19 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
- package/cjs/components/Checkbox/Checkbox.js +29 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/cjs/components/Checkbox/Checkbox.styles.js +23 -17
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +5 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +7 -3
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
- package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +2 -1
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +8 -10
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.js +5 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
- package/cjs/components/Select/Select.js +4 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
- package/cjs/components/TokenInput/TokenInput.js +17 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +1 -5
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.js +4 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -5
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +4 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +32 -22
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/types.d.ts +4 -0
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +5 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +29 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +5 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +20 -17
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/components/DateInput/DateInput/DateInput.js +9 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +9 -3
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
- package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
- package/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/components/Gapped/Gapped/Gapped.js +2 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +12 -13
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +8 -3
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
- package/components/Select/Select/Select.js +5 -3
- package/components/Select/Select/Select.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +6 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +10 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -6
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -2
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +2 -5
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +3 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +55 -41
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/types/types.js.map +1 -1
- package/lib/date/types.d.ts +4 -0
- package/lib/events/MouseDrag/MouseDrag.js +5 -1
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["InternalDateMediator.ts"],"names":["InternalDate","InternalDateGetter","InternalDateTransformer","InternalDateComponentType","InternalDateValidateCheck","inputNumber","InternalDateMediator","iDate","update","props","locale","start","getRangeStart","min","toInternalString","end","getRangeEnd","max","order","separator","setOrder","setSeparator","minDate","setRangeStart","value","maxDate","setRangeEnd","parseInternalValue","paste","pasted","parseValue","restore","cutOffExcess","isIncomplete","restored","clone","isEqual","duplicateOf","getFragments","toFragments","withSeparator","withPad","deleteOneCharRight","type","inputMode","prev","get","String","padDateComponent","next","replace","set","isChangedLocale","getOrder","getSeparator","isNull","isEmpty","clear","validateString","parseValueToDate","getString","toString","getInternalString","getTypesOrder","map","getLeftmostType","getRightmostType","inputKey","key","prevValue","leftMostType","Year","nextValue","nextInputMode","shiftDateComponent","step","calculatedType","isValidRange","validate","checks","Range","shift","isRange","isLoop","changed","isEqualComponentDate","getShiftedType","typesOrder","index","indexOf","nextIndex","All","getYear","shiftedType"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;AACA,SAASC,kBAAT,QAAmC,sCAAnC;AACA,SAASC,uBAAT,QAAwC,2CAAxC;AACA,SAASC,yBAAT,EAA4DC,yBAA5D,QAA6F,yBAA7F;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;AAEA,WAAaC,oBAAb;AACSC,IAAAA,KADT,GAC+B,IAAIP,YAAJ,EAD/B;;AAGSQ,IAAAA,MAHT,GAGkB,UAACC,KAAD,EAAwBC,MAAxB,EAA2E;AACzF,UAAMC,KAAK,GAAG,KAAI,CAACJ,KAAL,CAAWK,aAAX,EAAd;AACA,UAAMC,GAAG,GAAGF,KAAK,IAAIA,KAAK,CAACG,gBAAN,EAArB;AACA,UAAMC,GAAG,GAAG,KAAI,CAACR,KAAL,CAAWS,WAAX,EAAZ;AACA,UAAMC,GAAG,GAAGF,GAAG,IAAIA,GAAG,CAACD,gBAAJ,EAAnB;AACA,UAAQI,KAAR,GAA6BR,MAA7B,CAAQQ,KAAR,CAAeC,SAAf,GAA6BT,MAA7B,CAAeS,SAAf;AACA,MAAA,KAAI,CAACZ,KAAL,CAAWa,QAAX,CAAoBF,KAApB,EAA2BG,YAA3B,CAAwCF,SAAxC;AACA,UAAIV,KAAK,CAACa,OAAN,KAAkBT,GAAtB,EAA2B;AACzB,QAAA,KAAI,CAACN,KAAL,CAAWgB,aAAX;AACEd,QAAAA,KAAK,CAACa,OAAN;AACI,YAAItB,YAAJ,CAAiB;AACfkB,UAAAA,KAAK,EAALA,KADe;AAEfC,UAAAA,SAAS,EAATA,SAFe;AAGfK,UAAAA,KAAK,EAAEf,KAAK,CAACa,OAHE,EAAjB,CADJ;;AAMI,YAPN;;AASD;AACD,UAAIb,KAAK,CAACgB,OAAN,KAAkBR,GAAtB,EAA2B;AACzB,QAAA,KAAI,CAACV,KAAL,CAAWmB,WAAX;AACEjB,QAAAA,KAAK,CAACgB,OAAN;AACI,YAAIzB,YAAJ,CAAiB;AACfkB,UAAAA,KAAK,EAALA,KADe;AAEfC,UAAAA,SAAS,EAATA,SAFe;AAGfK,UAAAA,KAAK,EAAEf,KAAK,CAACgB,OAHE,EAAjB,CADJ;;AAMI,YAPN;;AASD;AACD,UAAI,CAAChB,KAAK,CAACe,KAAP,IAAgBf,KAAK,CAACe,KAAN,KAAgB,KAAI,CAACjB,KAAL,CAAWO,gBAAX,EAApC,EAAmE;AACjE,QAAA,KAAI,CAACP,KAAL,CAAWoB,kBAAX,CAA8BlB,KAAK,CAACe,KAApC;AACD;AACD,aAAO,KAAP;AACD,KApCH;;;;;;;;;;;;;;;;;;;;;AAyDSI,IAAAA,KAzDT,GAyDiB,UAACC,MAAD,EAA0C;AACvD,MAAA,KAAI,CAACtB,KAAL,CAAWuB,UAAX,CAAsBD,MAAtB,EAA8BE,OAA9B,GAAwCC,YAAxC;AACA,aAAO,KAAP;AACD,KA5DH;;AA8DSD,IAAAA,OA9DT,GA8DmB,YAAe;AAC9B,UAAI,KAAI,CAACxB,KAAL,CAAW0B,YAAX,EAAJ,EAA+B;AAC7B,YAAMC,QAAQ,GAAG,KAAI,CAAC3B,KAAL,CAAW4B,KAAX,GAAmBJ,OAAnB,EAAjB;AACA,YAAI,CAAC,KAAI,CAACxB,KAAL,CAAW6B,OAAX,CAAmBF,QAAnB,CAAL,EAAmC;AACjC,UAAA,KAAI,CAAC3B,KAAL,CAAW8B,WAAX,CAAuBH,QAAvB;AACD;AACD,eAAO,IAAP;AACD;AACD,aAAO,KAAP;AACD,KAvEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuHSI,IAAAA,YAvHT,GAuHwB;AACpB,QAAA,KAAI,CAAC/B,KAAL,CAAWgC,WAAX,CAAuB;AACrBC,UAAAA,aAAa,EAAE,IADM;AAErBC,UAAAA,OAAO,EAAE,IAFY,EAAvB,CADoB,GAvHxB;;;AA6HSC,IAAAA,kBA7HT,GA6H8B,UAACC,IAAD,EAAkCC,SAAlC,EAAyD;AACnF,UAAIC,IAAI,GAAG,KAAI,CAACtC,KAAL,CAAWuC,GAAX,CAAeH,IAAf,CAAX;AACAE,MAAAA,IAAI,GAAGE,MAAM,CAACH,SAAS,GAAGC,IAAH,GAAU3C,uBAAuB,CAAC8C,gBAAxB,CAAyCL,IAAzC,EAA+CE,IAA/C,CAApB,CAAb;AACA,UAAMI,IAAI,GAAGJ,IAAI,CAACK,OAAL,CAAa,IAAb,EAAmB,EAAnB,KAA0B,IAAvC;AACA,MAAA,KAAI,CAAC3C,KAAL,CAAW4C,GAAX,CAAeR,IAAf,EAAqBM,IAArB;AACD,KAlIH;;AAoISG,IAAAA,eApIT,GAoI2B,UAAC1C,MAAD;AACvBA,QAAAA,MAAM,CAACQ,KAAP,KAAiB,KAAI,CAACX,KAAL,CAAW8C,QAAX,EAAjB,IAA0C3C,MAAM,CAACS,SAAP,KAAqB,KAAI,CAACZ,KAAL,CAAW+C,YAAX,EADxC,GApI3B;;AAuISC,IAAAA,MAvIT,GAuIkB,UAACZ,IAAD,UAAqD,KAAI,CAACpC,KAAL,CAAWuC,GAAX,CAAeH,IAAf,MAAyB,IAA9E,EAvIlB;;AAyISa,IAAAA,OAzIT,GAyImB,oBAAe,KAAI,CAACjD,KAAL,CAAWiD,OAAX,EAAf,EAzInB;;AA2ISV,IAAAA,GA3IT,GA2Ie,UAACH,IAAD,UAA4C,KAAI,CAACpC,KAAL,CAAWuC,GAAX,CAAeH,IAAf,CAA5C,EA3If;;AA6ISc,IAAAA,KA7IT,GA6IiB,UAACd,IAAD,UAA0D,KAAI,CAACpC,KAAL,CAAW4C,GAAX,CAAeR,IAAf,EAAqB,IAArB,CAA1D,EA7IjB;;AA+ISe,IAAAA,cA/IT,GA+I0B,UAAClC,KAAD;AACtBtB,QAAAA,uBAAuB,CAACyD,gBAAxB,CAAyCnC,KAAzC,EAAgD,KAAI,CAACjB,KAAL,CAAW8C,QAAX,EAAhD,MAA2E,IADrD,GA/I1B;;AAkJSO,IAAAA,SAlJT,GAkJqB,oBAAe,KAAI,CAACrD,KAAL,CAAWiD,OAAX,KAAuB,EAAvB,GAA4B,KAAI,CAACjD,KAAL,CAAWsD,QAAX,EAA3C,EAlJrB;;AAoJSC,IAAAA,iBApJT,GAoJ6B,oBAAe,KAAI,CAACvD,KAAL,CAAWiD,OAAX,KAAuB,EAAvB,GAA4B,KAAI,CAACjD,KAAL,CAAWO,gBAAX,EAA3C,EApJ7B;;AAsJSiD,IAAAA,aAtJT,GAsJyB,oBAAM,KAAI,CAACxD,KAAL,CAAWgC,WAAX,GAAyByB,GAAzB,CAA6B,qBAAGrB,IAAH,QAAGA,IAAH,QAAcA,IAAd,EAA7B,CAAN,EAtJzB;;AAwJSsB,IAAAA,eAxJT,GAwJ2B,oBAAiC,KAAI,CAACF,aAAL,GAAqB,CAArB,CAAjC,EAxJ3B;;AA0JSG,IAAAA,gBA1JT,GA0J4B,oBAAiC,KAAI,CAACH,aAAL,GAAqB,CAArB,CAAjC,EA1J5B,qDAsCSI,QAtCT,GAsCE,kBAAgBC,GAAhB,EAA6BzB,IAA7B,EAAqEC,SAArE,EAAkG,CAChG,IAAMyB,SAAS,GAAG,KAAK9D,KAAL,CAAWuC,GAAX,CAAeH,IAAf,CAAlB,CACA,IAAIA,IAAI,KAAK,IAAb,EAAmB,CACjB,IAAM2B,YAAY,GAAG,KAAKL,eAAL,EAArB,CACA,KAAKR,KAAL,CAAWa,YAAX,EACD,CAED,IAAI3B,IAAI,KAAKxC,yBAAyB,CAACoE,IAAvC,EAA6C,CAC3C,KAAKhE,KAAL,CAAWyB,YAAX,CAAwBW,IAAxB,EACD,CAFD,MAEO,CACL,KAAKpC,KAAL,CAAWwB,OAAX,CAAmBY,IAAnB,EACD,CAED,mBAAqCtC,WAAW,CAACsC,IAAD,EAAO0B,SAAP,EAAkBD,GAAlB,EAAuBxB,SAAvB,CAAhD,CAAQ4B,SAAR,gBAAQA,SAAR,CAAmBC,aAAnB,gBAAmBA,aAAnB,CACA,KAAKlE,KAAL,CAAW4C,GAAX,CAAeR,IAAf,EAAqB6B,SAArB,EAEA,OAAOC,aAAP,CACD,CAvDH,QAyESC,kBAzET,GAyEE,4BAA0B/B,IAA1B,EAAkEgC,IAAlE,EAAyF,CACvF,IAAMC,cAAc,GAAGjC,IAAH,WAAGA,IAAH,GAAW,KAAKsB,eAAL,EAA/B,CAEA,IAAM1D,KAAK,GAAG,KAAKA,KAAL,CAAW4B,KAAX,EAAd,CACA,IAAMxB,KAAK,GAAGJ,KAAK,CAACK,aAAN,EAAd,CACA,IAAMG,GAAG,GAAGR,KAAK,CAACS,WAAN,EAAZ,CAEA,IAAM6D,YAAY,GAAGtE,KAAK,CAACuE,QAAN,CAAe,EAAEC,MAAM,EAAE,CAAC3E,yBAAyB,CAAC4E,KAA3B,CAAV,EAAf,CAArB,CACA,IAAI,CAACH,YAAL,EAAmB,CACjB;AACA,UAAIlE,KAAK,IAAIV,kBAAkB,CAACgB,GAAnB,CAAuB,CAACV,KAAD,EAAQI,KAAR,CAAvB,MAA2CA,KAAxD,EAA+D,CAC7DJ,KAAK,CAAC8B,WAAN,CAAkB1B,KAAlB,EACD,CAFD,MAEO,IAAII,GAAG,IAAId,kBAAkB,CAACY,GAAnB,CAAuB,CAACN,KAAD,EAAQQ,GAAR,CAAvB,MAAyCA,GAApD,EAAyD,CAC9DR,KAAK,CAAC8B,WAAN,CAAkBtB,GAAlB,EACD,CACF,CAPD,MAOO,CACL,IAAMoB,KAAK,GAAG5B,KAAK,CAAC4B,KAAN,GAAc8C,KAAd,CAAoBL,cAApB,EAAoCD,IAApC,EAA0C,EAAEO,OAAO,EAAE,KAAX,EAAkBC,MAAM,EAAE,IAA1B,EAA1C,CAAd,CACA,IAAIhD,KAAK,CAAC2C,QAAN,CAAe,EAAEC,MAAM,EAAE,CAAC3E,yBAAyB,CAAC4E,KAA3B,CAAV,EAAf,CAAJ,EAAmE,CACjEzE,KAAK,CAAC8B,WAAN,CAAkBF,KAAlB,EACD,CACF,CAED,IAAMiD,OAAO,GAAG,CAAC,KAAK7E,KAAL,CAAW8E,oBAAX,CAAgCT,cAAhC,EAAgDrE,KAAhD,CAAjB,CACA,KAAKA,KAAL,GAAaA,KAAb,CACA,OAAO6E,OAAP,CACD,CAlGH,QAoGSE,cApGT,GAoGE,wBAAsB3C,IAAtB,EAA8DgC,IAA9D,EAA8G,CAC5G,IAAMY,UAAU,GAAG,KAAKxB,aAAL,EAAnB,CACA,IAAMyB,KAAK,GAAG7C,IAAI,KAAK,IAAT,GAAgB,CAAhB,GAAoB4C,UAAU,CAACE,OAAX,CAAmB9C,IAAnB,CAAlC,CACA,IAAM+C,SAAS,GAAGF,KAAK,GAAGb,IAA1B,CAH4G,CAK5G;AACA,QAAIhC,IAAI,KAAKxC,yBAAyB,CAACwF,GAAvC,EAA4C,CAC1C,OAAOhB,IAAI,GAAG,CAAP,GAAWY,UAAU,CAAC,CAAD,CAArB,GAA2BA,UAAU,CAAC,CAAD,CAA5C,CACD,CAR2G,CAU5G;AACA,QAAI5C,IAAI,KAAKxC,yBAAyB,CAACoE,IAAnC,IAA2C,KAAKhE,KAAL,CAAWqF,OAAX,OAAyB,IAAxE,EAA8E,CAC5E,KAAKrF,KAAL,CAAWwB,OAAX,CAAmBY,IAAnB,EACD,CAED,IAAMkD,WAAW,GAAGN,UAAU,CAACG,SAAD,CAA9B,CACA,OAAO,OAAOG,WAAP,KAAuB,QAAvB,GAAkCA,WAAlC,GAAgDlD,IAAvD,CACD,CArHH","sourcesContent":["import { InternalDate } from '../../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../../lib/date/InternalDateGetter';\nimport { InternalDateTransformer } from '../../../lib/date/InternalDateTransformer';\nimport { InternalDateComponentType, InternalDateTypesOrder, InternalDateValidateCheck } from '../../../lib/date/types';\nimport { DatePickerLocale } from '../../DatePicker/locale';\nimport { DateInputProps } from '../DateInput';\n\nimport { inputNumber } from './inputNumber';\n\nexport class InternalDateMediator {\n public iDate: InternalDate = new InternalDate();\n\n public update = (props: DateInputProps, locale: DatePickerLocale): InternalDateMediator => {\n const start = this.iDate.getRangeStart();\n const min = start && start.toInternalString();\n const end = this.iDate.getRangeEnd();\n const max = end && end.toInternalString();\n const { order, separator } = locale;\n this.iDate.setOrder(order).setSeparator(separator);\n if (props.minDate !== min) {\n this.iDate.setRangeStart(\n props.minDate\n ? new InternalDate({\n order,\n separator,\n value: props.minDate,\n })\n : null,\n );\n }\n if (props.maxDate !== max) {\n this.iDate.setRangeEnd(\n props.maxDate\n ? new InternalDate({\n order,\n separator,\n value: props.maxDate,\n })\n : null,\n );\n }\n if (!props.value || props.value !== this.iDate.toInternalString()) {\n this.iDate.parseInternalValue(props.value);\n }\n return this;\n };\n\n public inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): boolean {\n const prevValue = this.iDate.get(type);\n if (type === null) {\n const leftMostType = this.getLeftmostType();\n this.clear(leftMostType);\n }\n\n if (type !== InternalDateComponentType.Year) {\n this.iDate.cutOffExcess(type);\n } else {\n this.iDate.restore(type);\n }\n\n const { nextValue, nextInputMode } = inputNumber(type, prevValue, key, inputMode);\n this.iDate.set(type, nextValue);\n\n return nextInputMode;\n }\n\n public paste = (pasted: string): InternalDateMediator => {\n this.iDate.parseValue(pasted).restore().cutOffExcess();\n return this;\n };\n\n public restore = (): boolean => {\n if (this.iDate.isIncomplete()) {\n const restored = this.iDate.clone().restore();\n if (!this.iDate.isEqual(restored)) {\n this.iDate.duplicateOf(restored);\n }\n return true;\n }\n return false;\n };\n\n public shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean {\n const calculatedType = type ?? this.getLeftmostType();\n\n const iDate = this.iDate.clone();\n const start = iDate.getRangeStart();\n const end = iDate.getRangeEnd();\n\n const isValidRange = iDate.validate({ checks: [InternalDateValidateCheck.Range] });\n if (!isValidRange) {\n // Удерживаем дату в заданном диапазоне\n if (start && InternalDateGetter.max([iDate, start]) === start) {\n iDate.duplicateOf(start);\n } else if (end && InternalDateGetter.min([iDate, end]) === end) {\n iDate.duplicateOf(end);\n }\n } else {\n const clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true });\n if (clone.validate({ checks: [InternalDateValidateCheck.Range] })) {\n iDate.duplicateOf(clone);\n }\n }\n\n const changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);\n this.iDate = iDate;\n return changed;\n }\n\n public getShiftedType(type: InternalDateComponentType | null, step: number): InternalDateComponentType | null {\n const typesOrder = this.getTypesOrder();\n const index = type === null ? 0 : typesOrder.indexOf(type);\n const nextIndex = index + step;\n\n // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент\n if (type === InternalDateComponentType.All) {\n return step < 0 ? typesOrder[0] : typesOrder[2];\n }\n\n // Если текущий компонент \"год\", и он не пуст, то при перемещении выделения \"восстанавливаем\" значение года\n if (type === InternalDateComponentType.Year && this.iDate.getYear() !== null) {\n this.iDate.restore(type);\n }\n\n const shiftedType = typesOrder[nextIndex];\n return typeof shiftedType === 'number' ? shiftedType : type;\n }\n\n public getFragments = () =>\n this.iDate.toFragments({\n withSeparator: true,\n withPad: true,\n });\n\n public deleteOneCharRight = (type: InternalDateComponentType, inputMode: boolean) => {\n let prev = this.iDate.get(type);\n prev = String(inputMode ? prev : InternalDateTransformer.padDateComponent(type, prev));\n const next = prev.replace(/.$/, '') || null;\n this.iDate.set(type, next);\n };\n\n public isChangedLocale = (locale: DatePickerLocale): boolean =>\n locale.order !== this.iDate.getOrder() || locale.separator !== this.iDate.getSeparator();\n\n public isNull = (type: InternalDateComponentType | null): boolean => this.iDate.get(type) === null;\n\n public isEmpty = (): boolean => this.iDate.isEmpty();\n\n public get = (type: InternalDateComponentType | null) => this.iDate.get(type);\n\n public clear = (type: InternalDateComponentType | null): InternalDate => this.iDate.set(type, null);\n\n public validateString = (value: string): boolean =>\n InternalDateTransformer.parseValueToDate(value, this.iDate.getOrder()) !== null;\n\n public getString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toString());\n\n public getInternalString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toInternalString());\n\n public getTypesOrder = () => this.iDate.toFragments().map(({ type }) => type) as InternalDateTypesOrder;\n\n public getLeftmostType = (): InternalDateComponentType => this.getTypesOrder()[0];\n\n public getRightmostType = (): InternalDateComponentType => this.getTypesOrder()[2];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["InternalDateMediator.ts"],"names":["InternalDate","InternalDateGetter","InternalDateTransformer","InternalDateComponentType","InternalDateValidateCheck","inputNumber","InternalDateMediator","iDate","update","props","locale","start","getRangeStart","min","toInternalString","end","getRangeEnd","max","order","separator","setOrder","setSeparator","minDate","setRangeStart","value","maxDate","setRangeEnd","parseInternalValue","paste","pasted","parseValue","restore","cutOffExcess","isIncomplete","restored","clone","isEqual","duplicateOf","getFragments","toFragments","withSeparator","withPad","deleteOneCharRight","type","inputMode","prev","get","String","padDateComponent","next","replace","set","isChangedLocale","getOrder","getSeparator","isNull","isEmpty","clear","validateString","parseValueToDate","getString","toString","getInternalString","getTypesOrder","map","getLeftmostType","getRightmostType","inputKey","key","prevValue","leftMostType","Year","maxValue","getDefaultMax","getComponentsLikeNumber","nextValue","nextInputMode","changed","shiftDateComponent","step","calculatedType","isValidRange","validate","checks","Range","shift","isRange","isLoop","isCutFeb","isEqualComponentDate","getShiftedType","typesOrder","index","indexOf","nextIndex","All","getYear","shiftedType"],"mappings":"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","sourcesContent":["import { InternalDate } from '../../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../../lib/date/InternalDateGetter';\nimport { InternalDateTransformer } from '../../../lib/date/InternalDateTransformer';\nimport {\n InputKeyResult,\n InternalDateComponentType,\n InternalDateTypesOrder,\n InternalDateValidateCheck,\n} from '../../../lib/date/types';\nimport { DatePickerLocale } from '../../DatePicker/locale';\nimport { DateInputProps } from '../DateInput';\n\nimport { inputNumber } from './inputNumber';\n\nexport class InternalDateMediator {\n public iDate: InternalDate = new InternalDate();\n\n public update = (props: DateInputProps, locale: DatePickerLocale): InternalDateMediator => {\n const start = this.iDate.getRangeStart();\n const min = start && start.toInternalString();\n const end = this.iDate.getRangeEnd();\n const max = end && end.toInternalString();\n const { order, separator } = locale;\n this.iDate.setOrder(order).setSeparator(separator);\n if (props.minDate !== min) {\n this.iDate.setRangeStart(\n props.minDate\n ? new InternalDate({\n order,\n separator,\n value: props.minDate,\n })\n : null,\n );\n }\n if (props.maxDate !== max) {\n this.iDate.setRangeEnd(\n props.maxDate\n ? new InternalDate({\n order,\n separator,\n value: props.maxDate,\n })\n : null,\n );\n }\n if (!props.value || props.value !== this.iDate.toInternalString()) {\n this.iDate.parseInternalValue(props.value);\n }\n return this;\n };\n\n public inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): InputKeyResult {\n const prevValue = this.iDate.get(type);\n if (type === null) {\n const leftMostType = this.getLeftmostType();\n this.clear(leftMostType);\n }\n\n if (type !== InternalDateComponentType.Year) {\n this.iDate.cutOffExcess(type);\n } else {\n this.iDate.restore(type);\n }\n const maxValue = InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber());\n const { nextValue, nextInputMode } = inputNumber(type, prevValue, key, inputMode, maxValue);\n this.iDate.set(type, nextValue);\n return { inputMode: nextInputMode, changed: nextValue !== prevValue };\n }\n\n public paste = (pasted: string): InternalDateMediator => {\n this.iDate.parseValue(pasted).restore().cutOffExcess();\n return this;\n };\n\n public restore = (): boolean => {\n if (this.iDate.isIncomplete()) {\n const restored = this.iDate.clone().restore();\n if (!this.iDate.isEqual(restored)) {\n this.iDate.duplicateOf(restored);\n }\n return true;\n }\n return false;\n };\n\n public shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean {\n const calculatedType = type ?? this.getLeftmostType();\n\n const iDate = this.iDate.clone();\n const start = iDate.getRangeStart();\n const end = iDate.getRangeEnd();\n\n const isValidRange = iDate.validate({ checks: [InternalDateValidateCheck.Range] });\n if (!isValidRange) {\n // Удерживаем дату в заданном диапазоне\n if (start && InternalDateGetter.max([iDate, start]) === start) {\n iDate.duplicateOf(start);\n } else if (end && InternalDateGetter.min([iDate, end]) === end) {\n iDate.duplicateOf(end);\n }\n } else {\n const clone = iDate.clone().shift(calculatedType, step, { isRange: false, isLoop: true, isCutFeb: true });\n if (clone.validate({ checks: [InternalDateValidateCheck.Range] })) {\n iDate.duplicateOf(clone);\n }\n }\n\n const changed = !this.iDate.isEqualComponentDate(calculatedType, iDate);\n this.iDate = iDate;\n return changed;\n }\n\n public getShiftedType(type: InternalDateComponentType | null, step: number): InternalDateComponentType | null {\n const typesOrder = this.getTypesOrder();\n const index = type === null ? 0 : typesOrder.indexOf(type);\n const nextIndex = index + step;\n\n // Если выделено всё поле, то в завимости от направления перемещения, выделям крайний компонент\n if (type === InternalDateComponentType.All) {\n return step < 0 ? typesOrder[0] : typesOrder[2];\n }\n\n // Если текущий компонент \"год\", и он не пуст, то при перемещении выделения \"восстанавливаем\" значение года\n if (type === InternalDateComponentType.Year && this.iDate.getYear() !== null) {\n this.iDate.restore(type);\n }\n\n const shiftedType = typesOrder[nextIndex];\n return typeof shiftedType === 'number' ? shiftedType : type;\n }\n\n public getFragments = () =>\n this.iDate.toFragments({\n withSeparator: true,\n withPad: true,\n });\n\n public deleteOneCharRight = (type: InternalDateComponentType, inputMode: boolean) => {\n let prev = this.iDate.get(type);\n prev = String(inputMode ? prev : InternalDateTransformer.padDateComponent(type, prev));\n const next = prev.replace(/.$/, '') || null;\n this.iDate.set(type, next);\n };\n\n public isChangedLocale = (locale: DatePickerLocale): boolean =>\n locale.order !== this.iDate.getOrder() || locale.separator !== this.iDate.getSeparator();\n\n public isNull = (type: InternalDateComponentType | null): boolean => this.iDate.get(type) === null;\n\n public isEmpty = (): boolean => this.iDate.isEmpty();\n\n public get = (type: InternalDateComponentType | null) => this.iDate.get(type);\n\n public clear = (type: InternalDateComponentType | null): InternalDate => this.iDate.set(type, null);\n\n public validateString = (value: string): boolean =>\n InternalDateTransformer.parseValueToDate(value, this.iDate.getOrder()) !== null;\n\n public getString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toString());\n\n public getInternalString = (): string => (this.iDate.isEmpty() ? '' : this.iDate.toInternalString());\n\n public getTypesOrder = () => this.iDate.toFragments().map(({ type }) => type) as InternalDateTypesOrder;\n\n public getLeftmostType = (): InternalDateComponentType => this.getTypesOrder()[0];\n\n public getRightmostType = (): InternalDateComponentType => this.getTypesOrder()[2];\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { InternalDate } from '../../../lib/date/InternalDate';
|
|
2
|
-
import { InternalDateComponentType, InternalDateTypesOrder } from '../../../lib/date/types';
|
|
2
|
+
import { InputKeyResult, InternalDateComponentType, InternalDateTypesOrder } from '../../../lib/date/types';
|
|
3
3
|
import { DatePickerLocale } from '../../DatePicker/locale';
|
|
4
4
|
import { DateInputProps } from '../DateInput';
|
|
5
5
|
export declare class InternalDateMediator {
|
|
6
6
|
iDate: InternalDate;
|
|
7
7
|
update: (props: DateInputProps, locale: DatePickerLocale) => InternalDateMediator;
|
|
8
|
-
inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean):
|
|
8
|
+
inputKey(key: string, type: InternalDateComponentType | null, inputMode: boolean): InputKeyResult;
|
|
9
9
|
paste: (pasted: string) => InternalDateMediator;
|
|
10
10
|
restore: () => boolean;
|
|
11
11
|
shiftDateComponent(type: InternalDateComponentType | null, step: number): boolean;
|
|
@@ -1,31 +1,68 @@
|
|
|
1
1
|
import { LENGTH_DATE, LENGTH_MONTH, LENGTH_YEAR } from "../../../../lib/date/constants";
|
|
2
2
|
import { InternalDateComponentType } from "../../../../lib/date/types";
|
|
3
|
-
export var inputNumber = function inputNumber(type, prev, key, inputMode) {
|
|
3
|
+
export var inputNumber = function inputNumber(type, prev, key, inputMode, maxValue) {
|
|
4
4
|
var nextInputMode = false;
|
|
5
5
|
var nextValue;
|
|
6
|
+
var firstDigits = getFirstDigits(type, maxValue);
|
|
7
|
+
var maxLength = getMaxLength(type);
|
|
8
|
+
|
|
9
|
+
if (!inputMode) {
|
|
10
|
+
nextValue = key;
|
|
11
|
+
nextInputMode = Number(key) <= firstDigits;
|
|
12
|
+
} else {
|
|
13
|
+
nextValue = addKey(prev, key, maxLength);
|
|
14
|
+
nextInputMode = nextValue.length < maxLength;
|
|
15
|
+
|
|
16
|
+
if (!isCorrectDate(nextValue, maxValue, maxLength)) {
|
|
17
|
+
nextValue = prev + '';
|
|
18
|
+
nextInputMode = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
nextValue: nextValue,
|
|
24
|
+
nextInputMode: nextInputMode
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
function addKey(prev, key, length) {
|
|
29
|
+
var value = key;
|
|
30
|
+
|
|
31
|
+
if (prev !== null) {
|
|
32
|
+
value = "" + prev + key;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return value.slice(-length);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function isCorrectDate(value, maxValue, length) {
|
|
39
|
+
return Number(value) <= maxValue && (Number(value) !== 0 || value.length !== length);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getFirstDigits(type, maxValue) {
|
|
6
43
|
var first = 10;
|
|
7
|
-
var length = LENGTH_YEAR;
|
|
8
44
|
|
|
9
45
|
if (type === InternalDateComponentType.Month) {
|
|
10
46
|
first = 1;
|
|
11
|
-
length = LENGTH_MONTH;
|
|
12
47
|
}
|
|
13
48
|
|
|
14
49
|
if (type === InternalDateComponentType.Date) {
|
|
15
|
-
first =
|
|
16
|
-
length = LENGTH_DATE;
|
|
50
|
+
first = Math.floor(maxValue / 10);
|
|
17
51
|
}
|
|
18
52
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
53
|
+
return first;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function getMaxLength(type) {
|
|
57
|
+
var length = LENGTH_YEAR;
|
|
58
|
+
|
|
59
|
+
if (type === InternalDateComponentType.Month) {
|
|
60
|
+
length = LENGTH_MONTH;
|
|
25
61
|
}
|
|
26
62
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
63
|
+
if (type === InternalDateComponentType.Date) {
|
|
64
|
+
length = LENGTH_DATE;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return length;
|
|
68
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["inputNumber.tsx"],"names":["LENGTH_DATE","LENGTH_MONTH","LENGTH_YEAR","InternalDateComponentType","inputNumber","type","prev","key","inputMode","nextInputMode","nextValue","
|
|
1
|
+
{"version":3,"sources":["inputNumber.tsx"],"names":["LENGTH_DATE","LENGTH_MONTH","LENGTH_YEAR","InternalDateComponentType","inputNumber","type","prev","key","inputMode","maxValue","nextInputMode","nextValue","firstDigits","getFirstDigits","maxLength","getMaxLength","Number","addKey","length","isCorrectDate","value","slice","first","Month","Date","Math","floor"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,YAAtB,EAAoCC,WAApC,QAAuD,6BAAvD;AACA,SAAmCC,yBAAnC,QAAoE,yBAApE;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AACzBC,IADyB;AAEzBC,IAFyB;AAGzBC,GAHyB;AAIzBC,SAJyB;AAKzBC,QALyB;AAM2C;AACpE,MAAIC,aAAa,GAAG,KAApB;AACA,MAAIC,SAAJ;AACA,MAAMC,WAAW,GAAGC,cAAc,CAACR,IAAD,EAAOI,QAAP,CAAlC;AACA,MAAMK,SAAS,GAAGC,YAAY,CAACV,IAAD,CAA9B;;AAEA,MAAI,CAACG,SAAL,EAAgB;AACdG,IAAAA,SAAS,GAAGJ,GAAZ;AACAG,IAAAA,aAAa,GAAGM,MAAM,CAACT,GAAD,CAAN,IAAeK,WAA/B;AACD,GAHD,MAGO;AACLD,IAAAA,SAAS,GAAGM,MAAM,CAACX,IAAD,EAAOC,GAAP,EAAYO,SAAZ,CAAlB;AACAJ,IAAAA,aAAa,GAAGC,SAAS,CAACO,MAAV,GAAmBJ,SAAnC;AACA,QAAI,CAACK,aAAa,CAACR,SAAD,EAAYF,QAAZ,EAAsBK,SAAtB,CAAlB,EAAoD;AAClDH,MAAAA,SAAS,GAAGL,IAAI,GAAG,EAAnB;AACAI,MAAAA,aAAa,GAAG,IAAhB;AACD;AACF;;AAED,SAAO,EAAEC,SAAS,EAATA,SAAF,EAAaD,aAAa,EAAbA,aAAb,EAAP;AACD,CAzBM;;AA2BP,SAASO,MAAT,CAAgBX,IAAhB,EAAgDC,GAAhD,EAA6DW,MAA7D,EAA6E;AAC3E,MAAIE,KAAK,GAAGb,GAAZ;AACA,MAAID,IAAI,KAAK,IAAb,EAAmB;AACjBc,IAAAA,KAAK,QAAMd,IAAN,GAAaC,GAAlB;AACD;AACD,SAAOa,KAAK,CAACC,KAAN,CAAY,CAACH,MAAb,CAAP;AACD;;AAED,SAASC,aAAT,CAAuBC,KAAvB,EAAsCX,QAAtC,EAAwDS,MAAxD,EAAwE;AACtE,SAAOF,MAAM,CAACI,KAAD,CAAN,IAAiBX,QAAjB,KAA8BO,MAAM,CAACI,KAAD,CAAN,KAAkB,CAAlB,IAAuBA,KAAK,CAACF,MAAN,KAAiBA,MAAtE,CAAP;AACD;;AAED,SAASL,cAAT,CAAwBR,IAAxB,EAAgEI,QAAhE,EAAkF;AAChF,MAAIa,KAAK,GAAG,EAAZ;AACA,MAAIjB,IAAI,KAAKF,yBAAyB,CAACoB,KAAvC,EAA8C;AAC5CD,IAAAA,KAAK,GAAG,CAAR;AACD;AACD,MAAIjB,IAAI,KAAKF,yBAAyB,CAACqB,IAAvC,EAA6C;AAC3CF,IAAAA,KAAK,GAAGG,IAAI,CAACC,KAAL,CAAWjB,QAAQ,GAAG,EAAtB,CAAR;AACD;AACD,SAAOa,KAAP;AACD;;AAED,SAASP,YAAT,CAAsBV,IAAtB,EAA8D;AAC5D,MAAIa,MAAM,GAAGhB,WAAb;AACA,MAAIG,IAAI,KAAKF,yBAAyB,CAACoB,KAAvC,EAA8C;AAC5CL,IAAAA,MAAM,GAAGjB,YAAT;AACD;AACD,MAAII,IAAI,KAAKF,yBAAyB,CAACqB,IAAvC,EAA6C;AAC3CN,IAAAA,MAAM,GAAGlB,WAAT;AACD;AACD,SAAOkB,MAAP;AACD","sourcesContent":["import { LENGTH_DATE, LENGTH_MONTH, LENGTH_YEAR } from '../../../lib/date/constants';\nimport { InternalDateComponentRaw, InternalDateComponentType } from '../../../lib/date/types';\n\nexport const inputNumber = (\n type: InternalDateComponentType | null,\n prev: InternalDateComponentRaw,\n key: string,\n inputMode: boolean,\n maxValue: number,\n): { nextValue: InternalDateComponentRaw; nextInputMode: boolean } => {\n let nextInputMode = false;\n let nextValue;\n const firstDigits = getFirstDigits(type, maxValue);\n const maxLength = getMaxLength(type);\n\n if (!inputMode) {\n nextValue = key;\n nextInputMode = Number(key) <= firstDigits;\n } else {\n nextValue = addKey(prev, key, maxLength);\n nextInputMode = nextValue.length < maxLength;\n if (!isCorrectDate(nextValue, maxValue, maxLength)) {\n nextValue = prev + '';\n nextInputMode = true;\n }\n }\n\n return { nextValue, nextInputMode };\n};\n\nfunction addKey(prev: InternalDateComponentRaw, key: string, length: number) {\n let value = key;\n if (prev !== null) {\n value = `${prev}${key}`;\n }\n return value.slice(-length);\n}\n\nfunction isCorrectDate(value: string, maxValue: number, length: number) {\n return Number(value) <= maxValue && (Number(value) !== 0 || value.length !== length);\n}\n\nfunction getFirstDigits(type: InternalDateComponentType | null, maxValue: number) {\n let first = 10;\n if (type === InternalDateComponentType.Month) {\n first = 1;\n }\n if (type === InternalDateComponentType.Date) {\n first = Math.floor(maxValue / 10);\n }\n return first;\n}\n\nfunction getMaxLength(type: InternalDateComponentType | null) {\n let length = LENGTH_YEAR;\n if (type === InternalDateComponentType.Month) {\n length = LENGTH_MONTH;\n }\n if (type === InternalDateComponentType.Date) {\n length = LENGTH_DATE;\n }\n return length;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InternalDateComponentRaw, InternalDateComponentType } from '../../../lib/date/types';
|
|
2
|
-
export declare const inputNumber: (type: InternalDateComponentType | null, prev: InternalDateComponentRaw, key: string, inputMode: boolean) => {
|
|
2
|
+
export declare const inputNumber: (type: InternalDateComponentType | null, prev: InternalDateComponentRaw, key: string, inputMode: boolean, maxValue: number) => {
|
|
3
3
|
nextValue: InternalDateComponentRaw;
|
|
4
4
|
nextInputMode: boolean;
|
|
5
5
|
};
|
|
@@ -5,6 +5,7 @@ var _class, _class2, _temp;
|
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
+
import { isNonNullable } from "../../../lib/utils";
|
|
8
9
|
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
9
10
|
import { rootNode } from "../../../lib/rootNode";
|
|
10
11
|
export
|
|
@@ -30,7 +31,7 @@ var Gapped = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
|
|
|
30
31
|
// DEPRECATED remove in 4.0
|
|
31
32
|
var propsGap = this.props.gap;
|
|
32
33
|
|
|
33
|
-
if (propsGap
|
|
34
|
+
if (isNonNullable(propsGap)) {
|
|
34
35
|
return propsGap;
|
|
35
36
|
}
|
|
36
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Gapped.tsx"],"names":["React","PropTypes","CommonWrapper","rootNode","Gapped","render","setRootNode","props","vertical","renderVertical","renderHorizontal","getGapValue","propsGap","gap","
|
|
1
|
+
{"version":3,"sources":["Gapped.tsx"],"names":["React","PropTypes","isNonNullable","CommonWrapper","rootNode","Gapped","render","setRootNode","props","vertical","renderVertical","renderHorizontal","getGapValue","propsGap","gap","subsequentItemStyle","paddingTop","children","Children","toArray","filter","filterChildren","map","child","index","style","undefined","verticalAlign","wrap","itemStyle","display","marginLeft","marginTop","rootStyle","contStyle","whiteSpace","Boolean","Component","__KONTUR_REACT_UI__","propTypes","number","bool","oneOf","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface GappedProps extends CommonProps {\n /**\n * Расстояние между элементами в пикселях\n * @default 8\n */\n gap?: number;\n /**\n * Вертикальное выравнивание\n * @default \"baseline\"\n */\n verticalAlign: 'top' | 'middle' | 'baseline' | 'bottom';\n /**\n * Расположение элементов по вертикали\n * @default false\n */\n vertical: boolean;\n /**\n * Перенос элементов на новую строку при горизонтальном расположении\n * @default false\n */\n wrap: boolean;\n children: React.ReactNode;\n}\n\n/**\n * Контейнер, расстояние между элементами в котором равно `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n\n public static propTypes = {\n /**\n * Расстояние между элементами.\n */\n gap: PropTypes.number,\n\n /**\n * Располагать элементы вертикально.\n */\n vertical: PropTypes.bool,\n\n /**\n * Вертикальное выравнивание элементов.\n */\n verticalAlign: PropTypes.oneOf(['top', 'middle', 'baseline', 'bottom']),\n };\n\n private setRootNode!: TSetRootNode;\n\n public static defaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.props.vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n // DEPRECATED remove in 4.0\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign, wrap } = this.props;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
|
|
@@ -2,8 +2,7 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
2
2
|
|
|
3
3
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
4
4
|
|
|
5
|
-
import { keyframes } from
|
|
6
|
-
import { css, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
5
|
+
import { css, memoizeStyle, keyframes } from "../../../lib/theming/Emotion";
|
|
7
6
|
export var styles = memoizeStyle({
|
|
8
7
|
outer: function outer(t) {
|
|
9
8
|
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n width: ", ";\n height: ", ";\n background-color: ", ";\n position: ", ";\n left: ", ";\n top: ", ";\n right: ", ";\n bottom: ", ";\n overflow: hidden;\n "])), t.globalLoaderWidth, t.globalLoaderHeight, t.globalLoaderBackgroundColor, t.globalLoaderPosition, t.globalLoaderLeft, t.globalLoaderTop, t.globalLoaderRight, t.globalLoaderBottom);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["GlobalLoaderView.styles.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["GlobalLoaderView.styles.ts"],"names":["css","memoizeStyle","keyframes","styles","outer","t","globalLoaderWidth","globalLoaderHeight","globalLoaderBackgroundColor","globalLoaderPosition","globalLoaderLeft","globalLoaderTop","globalLoaderRight","globalLoaderBottom","inner","globalLoaderColor","standardWithoutAnimation","successWithoutAnimation","errorWithoutAnimation","moveToRightAnimation","spinnerAnimation","linearProgressAnimation","slowProgressAnimation","animations","successAnimation","delayBeforeHide","width","left","errorAnimation","transitionDuration","parseInt","globalLoaderTransitionToSpinnerDuration","spinnerAnimationDuration","globalLoaderSpinnerAnimationDuration","standardAnimation","expectedTime","slowProgressAnimationTime","globalLoaderSlowAnimationDuration","acceptAnimation","startWidth","transitionTime","globalLoaderTransitionFromSpinnerDuration","slowAcceptAnimation","acceptWithoutAnimation"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, keyframes } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n outer(t: Theme) {\n return css`\n width: ${t.globalLoaderWidth};\n height: ${t.globalLoaderHeight};\n background-color: ${t.globalLoaderBackgroundColor};\n position: ${t.globalLoaderPosition};\n left: ${t.globalLoaderLeft};\n top: ${t.globalLoaderTop};\n right: ${t.globalLoaderRight};\n bottom: ${t.globalLoaderBottom};\n overflow: hidden;\n `;\n },\n inner(t: Theme) {\n return css`\n background-color: ${t.globalLoaderColor};\n width: 0;\n height: ${t.globalLoaderHeight};\n position: absolute;\n left: 0;\n overflow: hidden;\n `;\n },\n standardWithoutAnimation() {\n return css`\n left: 0;\n width: 90%;\n `;\n },\n successWithoutAnimation() {\n return css`\n left: 0;\n width: 100%;\n `;\n },\n errorWithoutAnimation() {\n return css`\n left: 40%;\n width: 20%;\n `;\n },\n});\n\nconst moveToRightAnimation = keyframes`\n 0% {\n left: 0;\n width: 100%;\n }\n 50% {\n left: 50%;\n width: 50%;\n }\n 100% {\n left: 99%;\n width: 1%\n }\n`;\nconst spinnerAnimation = keyframes`\n 0% {\n transform: translateX(50%) scaleX(.005);\n animation-timing-function: cubic-bezier(.895,.03,.685,.22);\n }\n 50% {\n transform: translateX(0) scaleX(.35);\n animation-timing-function: cubic-bezier(.165,.84,.44,1);\n }\n 100% {\n transform: translateX(-50%) scaleX(.005);\n }\n`;\nconst linearProgressAnimation = keyframes`\n from { width: 0; }\n to { width: 80% }\n`;\nconst slowProgressAnimation = keyframes`\n from { width: 80%; }\n to { width: 90% }\n`;\n\nexport const animations = {\n successAnimation(delayBeforeHide: number, width: number, left: number) {\n return css`\n animation: successAnimation;\n animation-duration: ${delayBeforeHide}ms;\n @keyframes successAnimation {\n 0% {\n width: ${width}px;\n left: ${left}px;\n opacity: 1;\n }\n 20% {\n width: 100%;\n left: 0;\n opacity: 1;\n }\n 80% {\n width: 100%;\n left: 0;\n opacity: 1;\n }\n 100% {\n width: 100%;\n opacity: 0;\n }\n }\n `;\n },\n errorAnimation(t: Theme) {\n const transitionDuration = parseInt(t.globalLoaderTransitionToSpinnerDuration);\n const spinnerAnimationDuration = parseInt(t.globalLoaderSpinnerAnimationDuration);\n\n return css`\n left: 0;\n width: 100%;\n animation: ${moveToRightAnimation} ${transitionDuration}ms linear,\n ${spinnerAnimationDuration}ms ${spinnerAnimation} ${transitionDuration}ms infinite alternate;\n `;\n },\n standardAnimation(t: Theme, expectedTime: number) {\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return css`\n width: 90%;\n animation: ${linearProgressAnimation} ${expectedTime}ms cubic-bezier(0, 0.4, 0.4, 1),\n ${slowProgressAnimationTime}ms ${slowProgressAnimation} ${expectedTime}ms linear;\n `;\n },\n acceptAnimation(t: Theme, startWidth: number, expectedTime: number, width: number, left: number) {\n const transitionTime = parseInt(t.globalLoaderTransitionFromSpinnerDuration);\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return css`\n width: 90%;\n animation: transitionAnimation ${transitionTime}ms linear,\n ${expectedTime}ms acceptAnimation ${transitionTime}ms cubic-bezier(0, 0.4, 0.4, 1),\n ${slowProgressAnimationTime}ms ${slowProgressAnimation} ${expectedTime + transitionTime}ms linear;\n @keyframes transitionAnimation {\n from {\n width: ${width}px;\n left: ${left}px;\n }\n to {\n width: ${startWidth}px;\n left: 0;\n }\n }\n @keyframes acceptAnimation {\n from {\n width: ${startWidth}px;\n }\n to {\n width: 80%;\n }\n }\n `;\n },\n slowAcceptAnimation(t: Theme, startWidth: number, width: number, left: number) {\n const transitionTime = parseInt(t.globalLoaderTransitionFromSpinnerDuration);\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return css`\n width: 90%;\n animation: transitionAnimation ${transitionTime}ms linear,\n ${slowProgressAnimationTime}ms acceptAnimation ${transitionTime}ms linear;\n @keyframes transitionAnimation {\n from {\n width: ${width}px;\n left: ${left}px;\n }\n to {\n width: ${startWidth}px;\n left: 0;\n }\n }\n @keyframes acceptAnimation {\n from {\n width: ${startWidth}px;\n }\n to {\n width: 90%;\n }\n }\n `;\n },\n acceptWithoutAnimation(startWidth: number) {\n return css`\n width: ${startWidth}px;\n `;\n },\n};\n"]}
|
|
@@ -8,6 +8,7 @@ var _class, _class2, _temp;
|
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
+
import { RenderLayer } from "../../../internal/RenderLayer";
|
|
11
12
|
import { isNonNullable } from "../../../lib/utils";
|
|
12
13
|
import { isKeyCapsLock } from "../../../lib/events/keyboard/identifiers";
|
|
13
14
|
import { KeyboardEventCodes as Codes } from "../../../lib/events/keyboard/KeyboardEventCodes";
|
|
@@ -111,16 +112,6 @@ var PasswordInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
111
112
|
}
|
|
112
113
|
};
|
|
113
114
|
|
|
114
|
-
_this.onBlur = function (e) {
|
|
115
|
-
if (_this.props.onBlur) {
|
|
116
|
-
_this.props.onBlur(e);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
_this.setState({
|
|
120
|
-
visible: false
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
|
|
124
115
|
_this.renderEye = function () {
|
|
125
116
|
var capsLockEnabled = _this.state.capsLockEnabled;
|
|
126
117
|
return /*#__PURE__*/React.createElement("span", {
|
|
@@ -141,23 +132,31 @@ var PasswordInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
|
|
|
141
132
|
_this.input = element;
|
|
142
133
|
};
|
|
143
134
|
|
|
135
|
+
_this.hideSymbols = function () {
|
|
136
|
+
_this.setState({
|
|
137
|
+
visible: false
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
|
|
144
141
|
_this.renderMain = function (props) {
|
|
145
142
|
var detectCapsLock = props.detectCapsLock,
|
|
146
143
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
147
144
|
|
|
148
145
|
var inputProps = _extends({}, rest, {
|
|
149
|
-
onBlur: _this.onBlur,
|
|
150
146
|
onKeyDown: _this.handleKeydown,
|
|
151
147
|
onKeyPress: _this.handleKeyPress,
|
|
152
148
|
rightIcon: _this.renderEye()
|
|
153
149
|
});
|
|
154
150
|
|
|
155
|
-
return /*#__PURE__*/React.createElement(
|
|
151
|
+
return /*#__PURE__*/React.createElement(RenderLayer, {
|
|
152
|
+
onFocusOutside: _this.hideSymbols,
|
|
153
|
+
onClickOutside: _this.hideSymbols
|
|
154
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
156
155
|
className: styles.root()
|
|
157
156
|
}, /*#__PURE__*/React.createElement(Input, _extends({
|
|
158
157
|
ref: _this.refInput,
|
|
159
158
|
type: _this.state.visible ? 'text' : 'password'
|
|
160
|
-
}, inputProps)));
|
|
159
|
+
}, inputProps))));
|
|
161
160
|
};
|
|
162
161
|
|
|
163
162
|
return _this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PasswordInput.tsx"],"names":["React","PropTypes","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","isIE11","CommonWrapper","ThemeContext","cx","rootNode","styles","PasswordInputIcon","PasswordInput","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","onBlur","renderEye","iconWrapper","capsLockDetector","toggleVisibility","theme","getEyeWrapperClassname","disabled","refInput","element","renderMain","rest","inputProps","rightIcon","root","componentDidMount","window","document","msCapsLockWarningOff","getDerivedStateFromProps","render","setRootNode","right","size","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\n\nexport interface PasswordInputProps extends CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps = {\n size: 'small',\n };\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-ignore\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // turns off default ie capslock warning\n // @ts-ignore\n window.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\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 this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private onBlur = (e: React.FocusEvent<HTMLInputElement, Element>) => {\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n\n this.setState({ visible: false });\n };\n\n private getEyeWrapperClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && <span className={styles.capsLockDetector()} data-tid=\"PasswordInputCapsLockDetector\" />}\n <span\n data-tid=\"PasswordInputEyeIcon\"\n className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}\n onClick={this.handleToggleVisibility}\n >\n {!this.props.disabled && <PasswordInputIcon visible={this.state.visible} />}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onBlur: this.onBlur,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <div className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["PasswordInput.tsx"],"names":["React","PropTypes","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","isIE11","CommonWrapper","ThemeContext","cx","rootNode","styles","PasswordInputIcon","PasswordInput","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","iconWrapper","capsLockDetector","toggleVisibility","theme","getEyeWrapperClassname","disabled","refInput","element","hideSymbols","renderMain","rest","inputProps","rightIcon","root","componentDidMount","window","document","msCapsLockWarningOff","getDerivedStateFromProps","render","setRootNode","right","size","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\n\nexport interface PasswordInputProps extends CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps = {\n size: 'small',\n };\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-ignore\n if (isIE11 && !window.document.msCapsLockWarningOff) {\n // turns off default ie capslock warning\n // @ts-ignore\n window.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\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 this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname(right = false) {\n switch (this.props.size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && <span className={styles.capsLockDetector()} data-tid=\"PasswordInputCapsLockDetector\" />}\n <span\n data-tid=\"PasswordInputEyeIcon\"\n className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}\n onClick={this.handleToggleVisibility}\n >\n {!this.props.disabled && <PasswordInputIcon visible={this.state.visible} />}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"]}
|
|
@@ -43,9 +43,9 @@ export declare class PasswordInput extends React.PureComponent<PasswordInputProp
|
|
|
43
43
|
private handleToggleVisibility;
|
|
44
44
|
private handleFocus;
|
|
45
45
|
private handleBlur;
|
|
46
|
-
private onBlur;
|
|
47
46
|
private getEyeWrapperClassname;
|
|
48
47
|
private renderEye;
|
|
49
48
|
private refInput;
|
|
49
|
+
private hideSymbols;
|
|
50
50
|
private renderMain;
|
|
51
51
|
}
|
|
@@ -2,9 +2,14 @@ import React from 'react';
|
|
|
2
2
|
import { EyeClosedIcon, EyeOpenedIcon } from "../../../internal/icons/16px";
|
|
3
3
|
export var PasswordInputIcon = function PasswordInputIcon(_ref) {
|
|
4
4
|
var visible = _ref.visible;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
|
|
6
|
+
if (visible) {
|
|
7
|
+
return /*#__PURE__*/React.createElement(EyeClosedIcon, {
|
|
8
|
+
size: 14
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return /*#__PURE__*/React.createElement(EyeOpenedIcon, {
|
|
8
13
|
size: 14
|
|
9
14
|
});
|
|
10
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PasswordInputIcon.tsx"],"names":["React","EyeClosedIcon","EyeOpenedIcon","PasswordInputIcon","visible"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,aAAT,EAAwBC,aAAxB,QAA6C,2BAA7C;;;;;;AAMA,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,OAAyC,KAAtCC,OAAsC,QAAtCA,OAAsC;AACxE,
|
|
1
|
+
{"version":3,"sources":["PasswordInputIcon.tsx"],"names":["React","EyeClosedIcon","EyeOpenedIcon","PasswordInputIcon","visible"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,aAAT,EAAwBC,aAAxB,QAA6C,2BAA7C;;;;;;AAMA,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,OAAyC,KAAtCC,OAAsC,QAAtCA,OAAsC;AACxE,MAAIA,OAAJ,EAAa;AACX,wBAAO,oBAAC,aAAD,IAAe,IAAI,EAAE,EAArB,GAAP;AACD;;AAED,sBAAO,oBAAC,aAAD,IAAe,IAAI,EAAE,EAArB,GAAP;AACD,CANM","sourcesContent":["import React from 'react';\n\nimport { EyeClosedIcon, EyeOpenedIcon } from '../../internal/icons/16px';\n\nimport { PasswordInputState } from './PasswordInput';\n\nexport type PasswordInputIconProps = Pick<PasswordInputState, 'visible'>;\n\nexport const PasswordInputIcon = ({ visible }: PasswordInputIconProps) => {\n if (visible) {\n return <EyeClosedIcon size={14} />;\n }\n\n return <EyeOpenedIcon size={14} />;\n};\n"]}
|
|
@@ -316,7 +316,7 @@ export var Select = (_dec = locale('Select', SelectLocaleHelper), responsiveLayo
|
|
|
316
316
|
return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
|
|
317
317
|
_this2.theme = theme;
|
|
318
318
|
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
319
|
-
value:
|
|
319
|
+
value: _this2.theme
|
|
320
320
|
}, _this2.renderMain());
|
|
321
321
|
});
|
|
322
322
|
}
|
|
@@ -420,13 +420,15 @@ export var Select = (_dec = locale('Select', SelectLocaleHelper), responsiveLayo
|
|
|
420
420
|
}
|
|
421
421
|
};
|
|
422
422
|
var useIsCustom = this.props.use !== 'default';
|
|
423
|
-
return /*#__PURE__*/React.createElement(
|
|
423
|
+
return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
|
|
424
|
+
value: getSelectTheme(this.theme, this.props)
|
|
425
|
+
}, /*#__PURE__*/React.createElement(Button, buttonProps, /*#__PURE__*/React.createElement("div", {
|
|
424
426
|
className: styles.selectButtonContainer()
|
|
425
427
|
}, this.props._icon && /*#__PURE__*/React.createElement("div", {
|
|
426
428
|
className: this.getLeftIconClass(this.props.size)
|
|
427
429
|
}, this.props._icon), /*#__PURE__*/React.createElement("span", labelProps, params.label), /*#__PURE__*/React.createElement("div", {
|
|
428
430
|
className: cx(styles.arrowWrap(this.theme), (_cx4 = {}, _cx4[styles.arrowDisabled(this.theme)] = this.props.disabled, _cx4[styles.customUseArrow()] = useIsCustom, _cx4))
|
|
429
|
-
}, /*#__PURE__*/React.createElement(ArrowChevronDownIcon, null))));
|
|
431
|
+
}, /*#__PURE__*/React.createElement(ArrowChevronDownIcon, null)))));
|
|
430
432
|
};
|
|
431
433
|
|
|
432
434
|
_proto.getSelectIconGap = function getSelectIconGap() {
|