@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.
Files changed (88) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
  3. package/cjs/components/Checkbox/Checkbox.js +29 -1
  4. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  5. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  6. package/cjs/components/Checkbox/Checkbox.styles.js +23 -17
  7. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  8. package/cjs/components/DateInput/DateInput.js +5 -1
  9. package/cjs/components/DateInput/DateInput.js.map +1 -1
  10. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  11. package/cjs/components/DateInput/helpers/InternalDateMediator.js +7 -3
  12. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  13. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  14. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  15. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  16. package/cjs/components/Gapped/Gapped.js +2 -1
  17. package/cjs/components/Gapped/Gapped.js.map +1 -1
  18. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
  19. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  20. package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
  21. package/cjs/components/PasswordInput/PasswordInput.js +8 -10
  22. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  23. package/cjs/components/PasswordInput/PasswordInputIcon.js +5 -1
  24. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  25. package/cjs/components/Select/Select.js +4 -4
  26. package/cjs/components/Select/Select.js.map +1 -1
  27. package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
  28. package/cjs/components/TokenInput/TokenInput.js +17 -2
  29. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  30. package/cjs/internal/InternalMenu/InternalMenu.js +1 -5
  31. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  32. package/cjs/internal/MaskedInput/MaskedInput.js +4 -2
  33. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  34. package/cjs/internal/Menu/Menu.js +2 -5
  35. package/cjs/internal/Menu/Menu.js.map +1 -1
  36. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  37. package/cjs/lib/date/InternalDateGetter.js +4 -1
  38. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  39. package/cjs/lib/date/InternalDateValidator.js +32 -22
  40. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  41. package/cjs/lib/date/types.d.ts +4 -0
  42. package/cjs/lib/date/types.js.map +1 -1
  43. package/cjs/lib/events/MouseDrag.js +5 -1
  44. package/cjs/lib/events/MouseDrag.js.map +1 -1
  45. package/components/Checkbox/Checkbox/Checkbox.js +29 -2
  46. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  47. package/components/Checkbox/Checkbox.d.ts +5 -0
  48. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +20 -17
  49. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  50. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  51. package/components/DateInput/DateInput/DateInput.js +9 -1
  52. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  53. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +9 -3
  54. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  55. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  56. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  57. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  58. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  59. package/components/Gapped/Gapped/Gapped.js +2 -1
  60. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  61. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
  62. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
  63. package/components/PasswordInput/PasswordInput/PasswordInput.js +12 -13
  64. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  65. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  66. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +8 -3
  67. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
  68. package/components/Select/Select/Select.js +5 -3
  69. package/components/Select/Select/Select.js.map +1 -1
  70. package/components/TokenInput/TokenInput/TokenInput.js +6 -2
  71. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  72. package/components/TokenInput/TokenInput.d.ts +10 -0
  73. package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -6
  74. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  75. package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -2
  76. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  77. package/internal/Menu/Menu/Menu.js +2 -5
  78. package/internal/Menu/Menu/Menu.js.map +1 -1
  79. package/lib/date/InternalDateGetter/InternalDateGetter.js +3 -1
  80. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  81. package/lib/date/InternalDateGetter.d.ts +1 -1
  82. package/lib/date/InternalDateValidator/InternalDateValidator.js +55 -41
  83. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  84. package/lib/date/types/types.js.map +1 -1
  85. package/lib/date/types.d.ts +4 -0
  86. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  87. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  88. 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":"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","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): 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 = 3;
16
- length = LENGTH_DATE;
50
+ first = Math.floor(maxValue / 10);
17
51
  }
18
52
 
19
- if (!inputMode) {
20
- nextValue = key;
21
- nextInputMode = Number(key) <= first;
22
- } else {
23
- nextValue = ("" + (prev === null ? '' : prev) + key).slice(-length);
24
- nextInputMode = nextValue.length < length;
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
- return {
28
- nextValue: nextValue,
29
- nextInputMode: nextInputMode
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","first","length","Month","Date","Number","slice"],"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;AAK2C;AACpE,MAAIC,aAAa,GAAG,KAApB;AACA,MAAIC,SAAJ;AACA,MAAIC,KAAK,GAAG,EAAZ;AACA,MAAIC,MAAc,GAAGV,WAArB;AACA,MAAIG,IAAI,KAAKF,yBAAyB,CAACU,KAAvC,EAA8C;AAC5CF,IAAAA,KAAK,GAAG,CAAR;AACAC,IAAAA,MAAM,GAAGX,YAAT;AACD;AACD,MAAII,IAAI,KAAKF,yBAAyB,CAACW,IAAvC,EAA6C;AAC3CH,IAAAA,KAAK,GAAG,CAAR;AACAC,IAAAA,MAAM,GAAGZ,WAAT;AACD;AACD,MAAI,CAACQ,SAAL,EAAgB;AACdE,IAAAA,SAAS,GAAGH,GAAZ;AACAE,IAAAA,aAAa,GAAGM,MAAM,CAACR,GAAD,CAAN,IAAeI,KAA/B;AACD,GAHD,MAGO;AACLD,IAAAA,SAAS,GAAG,OAAGJ,IAAI,KAAK,IAAT,GAAgB,EAAhB,GAAqBA,IAAxB,IAA+BC,GAA/B,EAAqCS,KAArC,CAA2C,CAACJ,MAA5C,CAAZ;AACAH,IAAAA,aAAa,GAAGC,SAAS,CAACE,MAAV,GAAmBA,MAAnC;AACD;AACD,SAAO,EAAEF,SAAS,EAATA,SAAF,EAAaD,aAAa,EAAbA,aAAb,EAAP;AACD,CA1BM","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): { nextValue: InternalDateComponentRaw; nextInputMode: boolean } => {\n let nextInputMode = false;\n let nextValue: string;\n let first = 10;\n let length: number = LENGTH_YEAR;\n if (type === InternalDateComponentType.Month) {\n first = 1;\n length = LENGTH_MONTH;\n }\n if (type === InternalDateComponentType.Date) {\n first = 3;\n length = LENGTH_DATE;\n }\n if (!inputMode) {\n nextValue = key;\n nextInputMode = Number(key) <= first;\n } else {\n nextValue = `${prev === null ? '' : prev}${key}`.slice(-length);\n nextInputMode = nextValue.length < length;\n }\n return { nextValue, nextInputMode };\n};\n"]}
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 !== undefined && propsGap !== null) {
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","undefined","subsequentItemStyle","paddingTop","children","Children","toArray","filter","filterChildren","map","child","index","style","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 { 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 (propsGap !== undefined && propsGap !== null) {\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"]}
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 '@emotion/css';
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":["keyframes","css","memoizeStyle","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 { keyframes } from '@emotion/css';\n\nimport { css, memoizeStyle } 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"]}
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("div", {
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":"wXAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,aAAT,QAA8B,uCAA9B;AACA,SAASC,kBAAkB,IAAIC,KAA/B,QAA4C,8CAA5C;AACA,SAASC,KAAT,QAAkC,UAAlC;;AAEA,SAASC,MAAT,QAAuB,kBAAvB;AACA,SAASC,aAAT,QAAmE,8BAAnE;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,wBAAvB;AACA,SAASC,iBAAT,QAAkC,qBAAlC;;;;;;;;;;;;;;;AAeA,OAJA;AACA;AACA,GAEA,IAAaC,aAAb,GADCH,QACD;;;;;;;;;;;;AAcSI,IAAAA,KAdT,GAcqC;AACjCC,MAAAA,OAAO,EAAE,KADwB;AAEjCC,MAAAA,eAAe,EAAE,KAFgB,EAdrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DSC,IAAAA,KA/DT,GA+DiB,YAAM;AACnB,UAAI,MAAKC,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWD,KAAX;AACD;AACF,KAnEH;;;;;AAwESE,IAAAA,IAxET,GAwEgB,YAAM;AAClB,YAAKC,UAAL;AACD,KA1EH;;AA4EUC,IAAAA,cA5EV,GA4E2B,UAACC,CAAD,EAA8C;AACrE,wBAAuC,MAAKC,KAA5C,CAAQC,UAAR,eAAQA,UAAR,CAAoBC,cAApB,eAAoBA,cAApB;;AAEA,UAAID,UAAJ,EAAgB;AACdA,QAAAA,UAAU,CAACF,CAAD,CAAV;AACD;;AAED,UAAI,CAACG,cAAL,EAAqB;AACnB;AACD;;AAED,UAAMT,eAAe,GAAGM,CAAC,CAACI,gBAAF,CAAmBtB,KAAK,CAACuB,QAAzB,CAAxB;;AAEA,YAAKC,QAAL,CAAc,EAAEZ,eAAe,EAAfA,eAAF,EAAd;AACD,KA1FH;;AA4FUa,IAAAA,aA5FV,GA4F0B,UAACP,CAAD,EAA8C;AACpE;AACEC,MAAAA,KADF,CACWE,cADX,0BACWA,cADX,CAC2BK,SAD3B,0BAC2BA,SAD3B;AAEWd,MAAAA,eAFX,yBAEEF,KAFF,CAEWE,eAFX;;;AAKA,UAAIc,SAAJ,EAAe;AACbA,QAAAA,SAAS,CAACR,CAAD,CAAT;AACD;;AAED,UAAI,CAACG,cAAL,EAAqB;AACnB;AACD;;AAED,UAAIvB,aAAa,CAACoB,CAAD,CAAb,IAAoBrB,aAAa,CAACe,eAAD,CAArC,EAAwD;AACtD,cAAKY,QAAL,CAAc,EAAEZ,eAAe,EAAE,CAACA,eAApB,EAAd;AACD;AACF,KA7GH;;AA+GUe,IAAAA,sBA/GV,GA+GmC,YAAM;AACrC,YAAKH,QAAL,CAAc,UAACI,SAAD,UAAgB,EAAEjB,OAAO,EAAE,CAACiB,SAAS,CAACjB,OAAtB,EAAhB,EAAd,EAAgE,MAAKkB,WAArE;AACD,KAjHH;;AAmHUA,IAAAA,WAnHV,GAmHwB,YAAM;AAC1B,UAAI,MAAKf,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWD,KAAX;AACD;AACF,KAvHH;;AAyHUG,IAAAA,UAzHV,GAyHuB,YAAM;AACzB,UAAI,MAAKF,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWC,IAAX;AACD;AACF,KA7HH;;AA+HUe,IAAAA,MA/HV,GA+HmB,UAACZ,CAAD,EAAoD;AACnE,UAAI,MAAKC,KAAL,CAAWW,MAAf,EAAuB;AACrB,cAAKX,KAAL,CAAWW,MAAX,CAAkBZ,CAAlB;AACD;;AAED,YAAKM,QAAL,CAAc,EAAEb,OAAO,EAAE,KAAX,EAAd;AACD,KArIH;;;;;;;;;;;;;;AAmJUoB,IAAAA,SAnJV,GAmJsB,YAAM;AACxB,UAAQnB,eAAR,GAA4B,MAAKF,KAAjC,CAAQE,eAAR;;AAEA;AACE,sCAAM,SAAS,EAAEL,MAAM,CAACyB,WAAP,EAAjB;AACGpB,QAAAA,eAAe,iBAAI,8BAAM,SAAS,EAAEL,MAAM,CAAC0B,gBAAP,EAAjB,EAA4C,YAAS,+BAArD,GADtB;AAEE;AACE,sBAAS,sBADX;AAEE,UAAA,SAAS,EAAE5B,EAAE,CAACE,MAAM,CAAC2B,gBAAP,CAAwB,MAAKC,KAA7B,CAAD,EAAsC,MAAKC,sBAAL,EAAtC,CAFf;AAGE,UAAA,OAAO,EAAE,MAAKT,sBAHhB;;AAKG,SAAC,MAAKR,KAAL,CAAWkB,QAAZ,iBAAwB,oBAAC,iBAAD,IAAmB,OAAO,EAAE,MAAK3B,KAAL,CAAWC,OAAvC,GAL3B,CAFF,CADF;;;;AAYD,KAlKH;;AAoKU2B,IAAAA,QApKV,GAoKqB,UAACC,OAAD,EAAoB;AACrC,YAAKzB,KAAL,GAAayB,OAAb;AACD,KAtKH;;AAwKUC,IAAAA,UAxKV,GAwKuB,UAACrB,KAAD,EAAuD;AAC1E,UAAQE,cAAR,GAAoCF,KAApC,CAAQE,cAAR,CAA2BoB,IAA3B,iCAAoCtB,KAApC;AACA,UAAMuB,UAAU;AACXD,MAAAA,IADW;AAEdX,QAAAA,MAAM,EAAE,MAAKA,MAFC;AAGdJ,QAAAA,SAAS,EAAE,MAAKD,aAHF;AAIdL,QAAAA,UAAU,EAAE,MAAKH,cAJH;AAKd0B,QAAAA,SAAS,EAAE,MAAKZ,SAAL,EALG,GAAhB;;;AAQA;AACE,qCAAK,SAAS,EAAExB,MAAM,CAACqC,IAAP,EAAhB;AACE,4BAAC,KAAD,aAAO,GAAG,EAAE,MAAKN,QAAjB,EAA2B,IAAI,EAAE,MAAK5B,KAAL,CAAWC,OAAX,GAAqB,MAArB,GAA8B,UAA/D,IAA+E+B,UAA/E,EADF,CADF;;;AAKD,KAvLH,2DAwBSG,iBAxBT,GAwBE,6BAA2B,CACzB,IAAI,KAAK1B,KAAL,CAAWE,cAAf,EAA+B,CAC7B,KAAKG,QAAL,CAAc,EAAEZ,eAAe,EAAE,IAAnB,EAAd,EACD,CAHwB,CAKzB;AACA,QAAIV,MAAM,IAAI,CAAC4C,MAAM,CAACC,QAAP,CAAgBC,oBAA/B,EAAqD,CACnD;AACA;AACAF,MAAAA,MAAM,CAACC,QAAP,CAAgBC,oBAAhB,GAAuC,IAAvC,CACD,CACF,CAnCH,eAqCgBC,wBArChB,GAqCE,kCAAuC9B,KAAvC,EAAkET,KAAlE,EAA6F,CAC3F,IAAIS,KAAK,CAACkB,QAAV,EAAoB,CAClB,OAAO,EAAE1B,OAAO,EAAE,KAAX,EAAP,CACD,CAED,OAAOD,KAAP,CACD,CA3CH,QA6CSwC,MA7CT,GA6CE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACf,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,MAAI,CAACgB,WAAjC,IAAkD,MAAI,CAAChC,KAAvD,GACG,MAAI,CAACqB,UADR,CADF,CAKD,CARH,CADF,CAYD,CA1DH,CA4DE;AACF;AACA,KA9DA,QAuIUJ,sBAvIV,GAuIE,gCAA+BgB,KAA/B,EAA8C,KAAfA,KAAe,cAAfA,KAAe,GAAP,KAAO,EAC5C,QAAQ,KAAKjC,KAAL,CAAWkC,IAAnB,GACE,KAAK,OAAL,CACE,OAAO9C,MAAM,CAAC+C,eAAP,CAAuB,KAAKnB,KAA5B,CAAP,CACF,KAAK,QAAL,CACE,OAAO5B,MAAM,CAACgD,gBAAP,CAAwB,KAAKpB,KAA7B,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO5B,MAAM,CAACiD,eAAP,CAAuB,KAAKrB,KAA5B,CAAP,CAPJ,CASD,CAjJH,wBAAmCxC,KAAK,CAAC8D,aAAzC,WACgBC,mBADhB,GACsC,eADtC,UAGgBC,SAHhB,GAG4B,EACxB;AACJ;AACA,KACItC,cAAc,EAAEzB,SAAS,CAACgE,IAJF,EAH5B,UAUgBC,YAVhB,GAU+B,EAC3BR,IAAI,EAAE,OADqB,EAV/B","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
- return visible ? /*#__PURE__*/React.createElement(EyeClosedIcon, {
6
- size: 14
7
- }) : /*#__PURE__*/React.createElement(EyeOpenedIcon, {
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,SAAOA,OAAO,gBAAG,oBAAC,aAAD,IAAe,IAAI,EAAE,EAArB,GAAH,gBAAiC,oBAAC,aAAD,IAAe,IAAI,EAAE,EAArB,GAA/C;AACD,CAFM","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 return visible ? <EyeClosedIcon size={14} /> : <EyeOpenedIcon size={14} />;\n};\n"]}
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: getSelectTheme(theme, _this2.props)
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(Button, buttonProps, /*#__PURE__*/React.createElement("div", {
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() {