@skbkontur/react-ui 4.25.2 → 4.26.0-MaskedInput-2nd.7
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/LICENSE +21 -21
- package/README.md +41 -13
- package/cjs/components/Autocomplete/Autocomplete.md +76 -3
- package/cjs/components/Button/Button.md +38 -11
- package/cjs/components/Calendar/Calendar.md +40 -0
- package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
- package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
- package/cjs/components/FileUploader/FileUploader.js +32 -9
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.md +29 -0
- package/cjs/components/Gapped/Gapped.md +43 -43
- package/cjs/components/Input/Input.d.ts +3 -2
- package/cjs/components/Input/Input.js +7 -4
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +10 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +158 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +3 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +8 -0
- package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/index.d.ts +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/index.js +1 -0
- package/cjs/components/MaskedInput/ColorableInputElement/index.js.map +1 -0
- package/cjs/components/MaskedInput/FixedIMaskInput.d.ts +9 -0
- package/cjs/components/MaskedInput/FixedIMaskInput.js +215 -0
- package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -0
- package/cjs/components/MaskedInput/MaskedInput.d.ts +43 -4
- package/cjs/components/MaskedInput/MaskedInput.helpers.d.ts +10 -0
- package/cjs/components/MaskedInput/MaskedInput.helpers.js +30 -0
- package/cjs/components/MaskedInput/MaskedInput.helpers.js.map +1 -0
- package/cjs/components/MaskedInput/MaskedInput.js +172 -23
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.md +100 -9
- package/cjs/components/MaskedInput/MaskedInput.styles.d.ts +3 -0
- package/cjs/components/MaskedInput/MaskedInput.styles.js +4 -0
- package/cjs/components/MaskedInput/MaskedInput.styles.js.map +1 -0
- package/cjs/components/RadioGroup/RadioGroup.md +43 -43
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/hooks/useDrop.d.ts +1 -1
- package/cjs/hooks/useDrop.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.d.ts +2 -0
- package/cjs/internal/RenderContainer/RenderContainer.js +6 -3
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderInnerContainer.js +3 -2
- package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
- package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
- package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
- package/cjs/internal/ZIndex/ZIndex.js +41 -3
- package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
- package/cjs/internal/themes/Theme2022Dark.js +1 -1
- package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
- package/cjs/lib/events/MouseDrag.d.ts +1 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/identifiers.d.ts +3 -0
- package/cjs/lib/events/keyboard/identifiers.js +5 -1
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/listenFocusOutside.js +4 -2
- package/cjs/lib/listenFocusOutside.js.map +1 -1
- package/cjs/lib/styles/HoldSelectionColor.js +1 -1
- package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
- package/cjs/lib/styles/UiFont.d.ts +4 -0
- package/cjs/lib/styles/UiFont.js +61 -0
- package/cjs/lib/styles/UiFont.js.map +1 -0
- package/components/Autocomplete/Autocomplete.md +76 -3
- package/components/Button/Button.md +38 -11
- package/components/Calendar/Calendar.md +40 -0
- package/components/DropdownMenu/DropdownMenu.md +39 -0
- package/components/FileUploader/FileUploader/FileUploader.js +30 -8
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +2 -0
- package/components/FileUploader/FileUploader.md +29 -0
- package/components/Gapped/Gapped.md +43 -43
- package/components/Input/Input/Input.js +8 -4
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +3 -2
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +152 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement/package.json +6 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +10 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles/ColorableInputElement.styles.js +9 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles/ColorableInputElement.styles.js.map +1 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles/package.json +6 -0
- package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +3 -0
- package/components/MaskedInput/ColorableInputElement/index/index.js +1 -0
- package/components/MaskedInput/ColorableInputElement/index/index.js.map +1 -0
- package/components/MaskedInput/ColorableInputElement/index/package.json +6 -0
- package/components/MaskedInput/ColorableInputElement/index.d.ts +1 -0
- package/components/MaskedInput/ColorableInputElement/package.json +6 -0
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +231 -0
- package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -0
- package/components/MaskedInput/FixedIMaskInput/package.json +6 -0
- package/components/MaskedInput/FixedIMaskInput.d.ts +9 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js +134 -26
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +43 -4
- package/components/MaskedInput/MaskedInput.helpers/MaskedInput.helpers.js +27 -0
- package/components/MaskedInput/MaskedInput.helpers/MaskedInput.helpers.js.map +1 -0
- package/components/MaskedInput/MaskedInput.helpers/package.json +6 -0
- package/components/MaskedInput/MaskedInput.helpers.d.ts +10 -0
- package/components/MaskedInput/MaskedInput.md +100 -9
- package/components/MaskedInput/MaskedInput.styles/MaskedInput.styles.js +4 -0
- package/components/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -0
- package/components/MaskedInput/MaskedInput.styles/package.json +6 -0
- package/components/MaskedInput/MaskedInput.styles.d.ts +3 -0
- package/components/RadioGroup/RadioGroup.md +43 -43
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
- package/hooks/useDrop/useDrop.js.map +1 -1
- package/hooks/useDrop.d.ts +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/RenderContainer/RenderContainer.d.ts +2 -0
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +5 -4
- package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
- package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
- package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
- package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
- package/internal/ZIndex/ZIndex.d.ts +7 -3
- package/internal/themes/Theme2022Dark/Theme2022Dark.js +1 -1
- package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/MouseDrag.d.ts +1 -1
- package/lib/events/keyboard/identifiers/identifiers.js +13 -0
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/events/keyboard/identifiers.d.ts +3 -0
- package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
- package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
- package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +1 -1
- package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
- package/lib/styles/UiFont/UiFont.js +27 -0
- package/lib/styles/UiFont/UiFont.js.map +1 -0
- package/lib/styles/UiFont/package.json +6 -0
- package/lib/styles/UiFont.d.ts +4 -0
- package/package.json +2 -5
- package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +0 -14
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +0 -16
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +0 -52
- package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +0 -1
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js +0 -196
- package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +0 -1
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +0 -6
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +0 -29
- package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +0 -1
- package/cjs/internal/MaskedInputElement/index.d.ts +0 -1
- package/cjs/internal/MaskedInputElement/index.js +0 -1
- package/cjs/internal/MaskedInputElement/index.js.map +0 -1
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +0 -206
- package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +0 -1
- package/internal/MaskedInputElement/MaskedInputElement/package.json +0 -6
- package/internal/MaskedInputElement/MaskedInputElement.d.ts +0 -14
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +0 -43
- package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +0 -1
- package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +0 -6
- package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +0 -16
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +0 -16
- package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +0 -1
- package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +0 -6
- package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +0 -6
- package/internal/MaskedInputElement/index/index.js +0 -1
- package/internal/MaskedInputElement/index/index.js.map +0 -1
- package/internal/MaskedInputElement/index/package.json +0 -6
- package/internal/MaskedInputElement/index.d.ts +0 -1
- package/internal/MaskedInputElement/package.json +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["identifiers.ts"],"names":["getChar","e","globalObject","KeyboardEvent","char","nativeEvent","isShortcutCopy","isMac","metaKey","ctrlKey","Codes","KeyC","isKeyInsert","key","isShortcutPaste","KeyV","shiftKey","isShortcutCut","KeyX","isKeyDelete","isShortcutSelectAll","KeyA","isKeyEscape","isKeyHome","isKeyEnd","isKeyMeta","isKeyControl","isKeyShift","isKeyAlt","isKeyBackspace","isKeyCapsLock","isKeyTab","isKeyEnter","isKeyArrowUp","isKeyArrowRight","isKeyArrowDown","isKeyArrowLeft","isKeySpace","isKeyComma","isCodeMinus","Minus","isCodeNumpadDecimal","NumpadDecimal","isCodeNumpadDivide","NumpadDivide","isCodeNumpadSubtract","NumpadSubtract","isCodeSlash","Slash","isCodeBackslash","Backslash","isCodeIntlBackslash","IntlBackslash","isCodeComma","Comma","isCodePeriod","Period","isKeyArrowHorizontal","isKeyArrowVertical","isKeyArrow","isKeyNumber","test","isKeyChar","trim","length","isKeyFs","isModified","is","altKey","isUnmodified","isModShift","someKeys","iss","some"],"mappings":"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","sourcesContent":["import { globalObject } from '@skbkontur/global-object';\n\nimport { isMac } from '../../client';\nimport { isInstanceOf } from '../../isInstanceOf';\n\nimport { extractCode } from './extractCode';\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\n\ntype E = React.KeyboardEvent<HTMLElement> | KeyboardEvent;\ntype IS = (e: E) => boolean;\ntype ISMod = (is?: IS) => IS;\ntype ISSome = (...is: IS[]) => IS;\n\n// IE 9+ supports char attribute\n// https://developer.mozilla.org/ru/docs/Web/API/KeyboardEvent\nconst getChar = (e: E & { char?: string; nativeEvent?: { char?: string } }) =>\n isInstanceOf(e, globalObject.KeyboardEvent) ? e.char : e.nativeEvent?.char;\n\nexport const isShortcutCopy: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyC) ||\n (!isMac && e.ctrlKey && isKeyInsert(e)) ||\n e.key === 'Copy';\n\nexport const isShortcutPaste: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyV) ||\n (!isMac && e.shiftKey && isKeyInsert(e)) ||\n e.key === 'Paste';\n\nexport const isShortcutCut: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyX) ||\n (!isMac && e.shiftKey && isKeyDelete(e)) ||\n e.key === 'Cut';\n\nexport const isShortcutSelectAll: IS = (e) => (isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyA;\n\nexport const isKeyEscape: IS = (e) => e.key === 'Escape' || e.key === 'Esc';\nexport const isKeyHome: IS = (e) => e.key === 'Home';\nexport const isKeyEnd: IS = (e) => e.key === 'End';\nexport const isKeyMeta: IS = (e) => e.key === 'Meta' || e.key === 'Win';\nexport const isKeyControl: IS = (e) => e.key === 'Control';\nexport const isKeyShift: IS = (e) => e.key === 'Shift';\nexport const isKeyAlt: IS = (e) => e.key === 'Alt';\nexport const isKeyDelete: IS = (e) => e.key === 'Delete' || e.key === 'Del';\nexport const isKeyBackspace: IS = (e) => e.key === 'Backspace';\nexport const isKeyCapsLock: IS = (e) => e.key === 'CapsLock';\nexport const isKeyInsert: IS = (e) => e.key === 'Insert';\nexport const isKeyTab: IS = (e) => e.key === 'Tab';\nexport const isKeyEnter: IS = (e) => e.key === 'Enter';\nexport const isKeyArrowUp: IS = (e) => e.key === 'ArrowUp' || e.key === 'Up';\nexport const isKeyArrowRight: IS = (e) => e.key === 'ArrowRight' || e.key === 'Right';\nexport const isKeyArrowDown: IS = (e) => e.key === 'ArrowDown' || e.key === 'Down';\nexport const isKeyArrowLeft: IS = (e) => e.key === 'ArrowLeft' || e.key === 'Left';\nexport const isKeySpace: IS = (e) => e.key === ' ' || e.key === 'Spacebar';\nexport const isKeyComma: IS = (e) => e.key === ',' || getChar(e) === ',';\n\nexport const isCodeMinus: IS = (e) => extractCode(e) === Codes.Minus;\nexport const isCodeNumpadDecimal: IS = (e) => extractCode(e) === Codes.NumpadDecimal;\nexport const isCodeNumpadDivide: IS = (e) => extractCode(e) === Codes.NumpadDivide;\nexport const isCodeNumpadSubtract: IS = (e) => extractCode(e) === Codes.NumpadSubtract;\nexport const isCodeSlash: IS = (e) => extractCode(e) === Codes.Slash;\nexport const isCodeBackslash: IS = (e) => extractCode(e) === Codes.Backslash;\nexport const isCodeIntlBackslash: IS = (e) => extractCode(e) === Codes.IntlBackslash;\nexport const isCodeComma: IS = (e) => extractCode(e) === Codes.Comma;\nexport const isCodePeriod: IS = (e) => extractCode(e) === Codes.Period;\n\nexport const isKeyArrowHorizontal: IS = (e) => isKeyArrowRight(e) || isKeyArrowLeft(e);\nexport const isKeyArrowVertical: IS = (e) => isKeyArrowUp(e) || isKeyArrowDown(e);\nexport const isKeyArrow: IS = (e) => isKeyArrowHorizontal(e) || isKeyArrowVertical(e);\nexport const isKeyNumber: IS = (e) => /^\\d+$/.test(e.key);\nexport const isKeyChar: IS = (e) => e.key.trim().length === 1;\nexport const isKeyFs: IS = (e) => /^(?:F[1-9]|F1[0-2]|Soft[1-4])$/.test(e.key);\n\nexport const isModified: ISMod = (is) => (e) =>\n (e.shiftKey || e.metaKey || e.ctrlKey || e.altKey) && (is ? is(e) : true);\nexport const isUnmodified: ISMod = (is) => (e) => !isModified()(e) && (is ? is(e) : true);\nexport const isModShift: ISMod = (is) => (e) => e.shiftKey && (is ? is(e) : true);\n\nexport const someKeys: ISSome =\n (...iss) =>\n (e) =>\n iss.some((is) => is(e));\n"]}
|
|
1
|
+
{"version":3,"sources":["identifiers.ts"],"names":["getChar","e","globalObject","KeyboardEvent","char","nativeEvent","isShortcutCopy","isMac","metaKey","ctrlKey","Codes","KeyC","isKeyInsert","key","isShortcutPaste","KeyV","shiftKey","isShortcutCut","KeyX","isKeyDelete","isShortcutSelectAll","KeyA","isShortcutJumpCaret","altKey","isKeyArrowHorizontal","isKeyEscape","isKeyHome","isKeyEnd","isKeyMeta","isKeyControl","isKeyShift","isKeyAlt","isKeyBackspace","isKeyCapsLock","isKeyTab","isKeyEnter","isKeyArrowUp","isKeyArrowRight","isKeyArrowDown","isKeyArrowLeft","isKeySpace","isKeyComma","isCodeMinus","Minus","isCodeNumpadDecimal","NumpadDecimal","isCodeNumpadDivide","NumpadDivide","isCodeNumpadSubtract","NumpadSubtract","isCodeSlash","Slash","isCodeBackslash","Backslash","isCodeIntlBackslash","IntlBackslash","isCodeComma","Comma","isCodePeriod","Period","isKeyArrowVertical","isKeyArrow","isKeyNumber","test","isKeyChar","trim","length","isKeyFs","isModified","is","isUnmodified","isModShift","isModCtrl","isModAlt","someKeys","iss","some"],"mappings":"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","sourcesContent":["import { globalObject } from '@skbkontur/global-object';\n\nimport { isMac } from '../../client';\nimport { isInstanceOf } from '../../isInstanceOf';\n\nimport { extractCode } from './extractCode';\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes';\n\ntype E = React.KeyboardEvent<HTMLElement> | KeyboardEvent;\ntype IS = (e: E) => boolean;\ntype ISMod = (is?: IS) => IS;\ntype ISSome = (...is: IS[]) => IS;\n\n// IE 9+ supports char attribute\n// https://developer.mozilla.org/ru/docs/Web/API/KeyboardEvent\nconst getChar = (e: E & { char?: string; nativeEvent?: { char?: string } }) =>\n isInstanceOf(e, globalObject.KeyboardEvent) ? e.char : e.nativeEvent?.char;\n\nexport const isShortcutCopy: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyC) ||\n (!isMac && e.ctrlKey && isKeyInsert(e)) ||\n e.key === 'Copy';\n\nexport const isShortcutPaste: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyV) ||\n (!isMac && e.shiftKey && isKeyInsert(e)) ||\n e.key === 'Paste';\n\nexport const isShortcutCut: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyX) ||\n (!isMac && e.shiftKey && isKeyDelete(e)) ||\n e.key === 'Cut';\n\nexport const isShortcutSelectAll: IS = (e) => (isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyA;\n\nexport const isShortcutJumpCaret: IS = (e) => (isMac ? e.altKey : e.ctrlKey) && isKeyArrowHorizontal(e);\n\nexport const isKeyEscape: IS = (e) => e.key === 'Escape' || e.key === 'Esc';\nexport const isKeyHome: IS = (e) => e.key === 'Home';\nexport const isKeyEnd: IS = (e) => e.key === 'End';\nexport const isKeyMeta: IS = (e) => e.key === 'Meta' || e.key === 'Win';\nexport const isKeyControl: IS = (e) => e.key === 'Control';\nexport const isKeyShift: IS = (e) => e.key === 'Shift';\nexport const isKeyAlt: IS = (e) => e.key === 'Alt';\nexport const isKeyDelete: IS = (e) => e.key === 'Delete' || e.key === 'Del';\nexport const isKeyBackspace: IS = (e) => e.key === 'Backspace';\nexport const isKeyCapsLock: IS = (e) => e.key === 'CapsLock';\nexport const isKeyInsert: IS = (e) => e.key === 'Insert';\nexport const isKeyTab: IS = (e) => e.key === 'Tab';\nexport const isKeyEnter: IS = (e) => e.key === 'Enter';\nexport const isKeyArrowUp: IS = (e) => e.key === 'ArrowUp' || e.key === 'Up';\nexport const isKeyArrowRight: IS = (e) => e.key === 'ArrowRight' || e.key === 'Right';\nexport const isKeyArrowDown: IS = (e) => e.key === 'ArrowDown' || e.key === 'Down';\nexport const isKeyArrowLeft: IS = (e) => e.key === 'ArrowLeft' || e.key === 'Left';\nexport const isKeySpace: IS = (e) => e.key === ' ' || e.key === 'Spacebar';\nexport const isKeyComma: IS = (e) => e.key === ',' || getChar(e) === ',';\n\nexport const isCodeMinus: IS = (e) => extractCode(e) === Codes.Minus;\nexport const isCodeNumpadDecimal: IS = (e) => extractCode(e) === Codes.NumpadDecimal;\nexport const isCodeNumpadDivide: IS = (e) => extractCode(e) === Codes.NumpadDivide;\nexport const isCodeNumpadSubtract: IS = (e) => extractCode(e) === Codes.NumpadSubtract;\nexport const isCodeSlash: IS = (e) => extractCode(e) === Codes.Slash;\nexport const isCodeBackslash: IS = (e) => extractCode(e) === Codes.Backslash;\nexport const isCodeIntlBackslash: IS = (e) => extractCode(e) === Codes.IntlBackslash;\nexport const isCodeComma: IS = (e) => extractCode(e) === Codes.Comma;\nexport const isCodePeriod: IS = (e) => extractCode(e) === Codes.Period;\n\nexport const isKeyArrowHorizontal: IS = (e) => isKeyArrowRight(e) || isKeyArrowLeft(e);\nexport const isKeyArrowVertical: IS = (e) => isKeyArrowUp(e) || isKeyArrowDown(e);\nexport const isKeyArrow: IS = (e) => isKeyArrowHorizontal(e) || isKeyArrowVertical(e);\nexport const isKeyNumber: IS = (e) => /^\\d+$/.test(e.key);\nexport const isKeyChar: IS = (e) => e.key.trim().length === 1;\nexport const isKeyFs: IS = (e) => /^(?:F[1-9]|F1[0-2]|Soft[1-4])$/.test(e.key);\n\nexport const isModified: ISMod = (is) => (e) =>\n (e.shiftKey || e.metaKey || e.ctrlKey || e.altKey) && (is ? is(e) : true);\nexport const isUnmodified: ISMod = (is) => (e) => !isModified()(e) && (is ? is(e) : true);\nexport const isModShift: ISMod = (is) => (e) => e.shiftKey && (is ? is(e) : true);\nexport const isModCtrl: ISMod = (is) => (e) => e.ctrlKey && (is ? is(e) : true);\nexport const isModAlt: ISMod = (is) => (e) => e.altKey && (is ? is(e) : true);\n\nexport const someKeys: ISSome =\n (...iss) =>\n (e) =>\n iss.some((is) => is(e));\n"]}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
3
3
|
var _globalObject = require("@skbkontur/global-object");
|
|
4
4
|
|
|
5
|
+
var _RenderContainer = require("../internal/RenderContainer");
|
|
6
|
+
|
|
5
7
|
var _isInstanceOf = require("./isInstanceOf");
|
|
6
8
|
var _client = require("./client");var _globalObject$documen2;
|
|
7
9
|
|
|
@@ -80,9 +82,9 @@ function findRenderContainer(node, rootNode, container) {var _globalObject$docum
|
|
|
80
82
|
return container ? container : null;
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
var newContainerId = currentNode.getAttribute(
|
|
85
|
+
var newContainerId = currentNode.getAttribute(_RenderContainer.PORTAL_OUTLET_ATTR);
|
|
84
86
|
if (newContainerId) {var _globalObject$documen5;
|
|
85
|
-
var nextNode = (_globalObject$documen5 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen5.querySelector("[
|
|
87
|
+
var nextNode = (_globalObject$documen5 = _globalObject.globalObject.document) == null ? void 0 : _globalObject$documen5.querySelector("[" + _RenderContainer.PORTAL_INLET_ATTR + "~=\"" + newContainerId + "\"]");
|
|
86
88
|
|
|
87
89
|
if (!nextNode) {
|
|
88
90
|
throw Error("Origin node for render container was not found");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["listenFocusOutside.ts"],"names":["handlers","addHandleEvent","document","body","addEventListener","isFirefox","handleNativeFocus","leading","trailing","capture","readyState","globalObject","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","ReactDOM","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"wRAAA;AACA;AACA;;AAEA;AACA,kC;;;;;;;AAOA,IAAMA,QAAoC,GAAG,EAA7C;;AAEA,SAASC,cAAT,GAA0B;AACxB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE,sDAAaC,QAAb,2CAAuBC,IAAvB,CAA4BC,gBAA5B;AACEC,sBAAY,OAAZ,GAAuB,SADzB;AAEEA,sBAAY,qBAASC,iBAAT,EAA4B,CAA5B,EAA+B,EAAEC,OAAO,EAAE,IAAX,EAAiBC,QAAQ,EAAE,KAA3B,EAA/B,CAAZ,GAAiFF,iBAFnF;AAGE,IAAEG,OAAO,EAAE,IAAX,EAHF;;AAKD;;AAED,IAAI,sDAAaP,QAAb,4CAAuBQ,UAAvB,MAAsC,UAA1C,EAAsD;AACpDT,EAAAA,cAAc;AACf,CAFD,MAEO;AACLU,6BAAaP,gBAAb,+CAAaA,gBAAb,CAAgC,MAAhC,EAAwCH,cAAxC;AACD;;AAED,SAASK,iBAAT,CAA2BM,KAA3B,EAA2C;AACzC;AACA,MAAMC,MAAe,GAAID,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAA/C;;AAEAd,EAAAA,QAAQ,CAACe,OAAT,CAAiB,UAACC,OAAD,EAAa;AAC5B,QAAIC,QAAQ,GAAGD,OAAO,CAACC,QAAvB;AACA,QAAI,OAAOA,QAAP,KAAoB,UAAxB,EAAoC;AAClCA,MAAAA,QAAQ,GAAGA,QAAQ,EAAnB;AACD;;AAED,QAAIA,QAAQ,CAACC,IAAT,CAAcC,+BAA+B,CAACN,MAAD,CAA7C,CAAJ,EAA4D;AAC1D;AACD;AACDO,sBAASC,uBAAT,CAAiC,oBAAML,OAAO,CAACM,QAAR,CAAiBV,KAAjB,CAAN,EAAjC;AACD,GAVD;AAWD;;AAEM,SAASO,+BAAT,CAAyCN,MAAzC,EAA0D;AAC/D,SAAO,UAACU,OAAD,EAAsB;AAC3B,QAAI,CAACA,OAAL,EAAc;AACZ,aAAO,KAAP;AACD;AACD,QAAIA,OAAO,CAACC,QAAR,CAAiBX,MAAjB,CAAJ,EAA8B;AAC5B,aAAO,IAAP;AACD;AACD,QAAMY,SAAS,GAAGC,mBAAmB,CAACb,MAAD,EAASU,OAAT,CAArC;AACA,WAAO,CAAC,CAACE,SAAF,IAAeF,OAAO,CAACC,QAAR,CAAiBC,SAAjB,CAAtB;AACD,GATD;AAUD;;AAED;AACA;AACA;AACO,SAASC,mBAAT,CAA6BC,IAA7B,EAA4CC,QAA5C,EAA+DH,SAA/D,EAAoG;AACzG,MAAMI,WAAW,GAAGF,IAAI,CAACG,UAAzB;AACA;AACE,GAACD,WAAD;AACAF,EAAAA,IAAI,KAAKC,QADT;AAEAC,EAAAA,WAAW,KAAKD,QAFhB;AAGAC,EAAAA,WAAW,gCAAKlB,2BAAaT,QAAlB,qBAAK,uBAAuBC,IAA5B,CAHX;AAIA0B,EAAAA,WAAW,gCAAKlB,2BAAaT,QAAlB,qBAAK,uBAAuB6B,eAA5B,CAJX;AAKA,GAAC,gCAAaF,WAAb,EAA0BlB,2BAAaqB,OAAvC,CANH;AAOE;AACA,WAAOP,SAAS,GAAGA,SAAH,GAAe,IAA/B;AACD;;AAED,MAAMQ,cAAc,GAAGJ,WAAW,CAACK,YAAZ,
|
|
1
|
+
{"version":3,"sources":["listenFocusOutside.ts"],"names":["handlers","addHandleEvent","document","body","addEventListener","isFirefox","handleNativeFocus","leading","trailing","capture","readyState","globalObject","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","ReactDOM","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","PORTAL_OUTLET_ATTR","nextNode","querySelector","PORTAL_INLET_ATTR","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { PORTAL_INLET_ATTR, PORTAL_OUTLET_ATTR } from '../internal/RenderContainer';\n\nimport { isInstanceOf } from './isInstanceOf';\nimport { isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: Element[] | (() => Element[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n globalObject.document?.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (globalObject.document?.readyState === 'complete') {\n addHandleEvent();\n} else {\n globalObject.addEventListener?.('load', addHandleEvent);\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: Element = (event.target || event.srcElement) as Element;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === globalObject.document?.body ||\n currentNode === globalObject.document?.documentElement ||\n !isInstanceOf(currentNode, globalObject.Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute(PORTAL_OUTLET_ATTR);\n if (newContainerId) {\n const nextNode = globalObject.document?.querySelector(`[${PORTAL_INLET_ATTR}~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: Element[] | (() => Element[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
|
|
@@ -4,6 +4,6 @@ var _client = require("../client");var _templateObject;
|
|
|
4
4
|
// This is for screenshot tests
|
|
5
5
|
var Highlight = _client.isChrome ? '#3390ff' : '#3399ff';
|
|
6
6
|
|
|
7
|
-
(0, _Emotion.injectGlobal)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n *::selection {\n background-color: ", ";\n }\n input::selection,\n textarea::selection {\n color: white;\n }\n"])),
|
|
7
|
+
(0, _Emotion.injectGlobal)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n *::selection {\n background-color: ", ";\n }\n input::selection,\n textarea::selection {\n color: white;\n -webkit-text-fill-color: white;\n }\n"])),
|
|
8
8
|
|
|
9
9
|
Highlight);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["HoldSelectionColor.ts"],"names":["Highlight","isChrome"],"mappings":"kOAAA;AACA,mC;;AAEA;AACA,IAAMA,SAAS,GAAGC,mBAAW,SAAX,GAAuB,SAAzC;;AAEA;;AAEwBD,SAFxB","sourcesContent":["import { injectGlobal } from '../theming/Emotion';\nimport { isChrome } from '../client';\n\n// This is for screenshot tests\nconst Highlight = isChrome ? '#3390ff' : '#3399ff';\n\ninjectGlobal`\n *::selection {\n background-color: ${Highlight};\n }\n input::selection,\n textarea::selection {\n color: white;\n }\n`;\n"]}
|
|
1
|
+
{"version":3,"sources":["HoldSelectionColor.ts"],"names":["Highlight","isChrome"],"mappings":"kOAAA;AACA,mC;;AAEA;AACA,IAAMA,SAAS,GAAGC,mBAAW,SAAX,GAAuB,SAAzC;;AAEA;;AAEwBD,SAFxB","sourcesContent":["import { injectGlobal } from '../theming/Emotion';\nimport { isChrome } from '../client';\n\n// This is for screenshot tests\nconst Highlight = isChrome ? '#3390ff' : '#3399ff';\n\ninjectGlobal`\n *::selection {\n background-color: ${Highlight};\n }\n input::selection,\n textarea::selection {\n color: white;\n -webkit-text-fill-color: white;\n }\n`;\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.uiFontGlobalClasses = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _globalObject = require("@skbkontur/global-object");
|
|
2
|
+
|
|
3
|
+
var _Emotion = require("../theming/Emotion");var _templateObject, _templateObject2;
|
|
4
|
+
|
|
5
|
+
var uiFontGlobalClasses = (0, _Emotion.prefix)('ui-font')({
|
|
6
|
+
root: 'root',
|
|
7
|
+
element: 'element' });exports.uiFontGlobalClasses = uiFontGlobalClasses;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
var uiFontName = 'ui';
|
|
11
|
+
|
|
12
|
+
var uiFontWoff2 =
|
|
13
|
+
'd09GMk9UVE8AAAM0AAkAAAAABOwAAALtAAEZmQAAAAAAAAAAAAAAAAAAAAAAAAAADYNHBmAATAE2AiQDEAQGBYJHByAbSQTIHodxLLFkxvCafPI36w' +
|
|
14
|
+
'UCtbTOiShd0zOVLzXnVD3Mprf8381PJXqgZb2jFq3JN9rLLMKAEi2lMG8HzqkL4rRGmlAlSFHfIhL0YtdjFEbbAPDD2JUXUURAJRBjl6txH54vKxuX' +
|
|
15
|
+
'HP/FwmZOmLmImVsys1HRh8nnGD0jMldklFN+ebnk32ymBCATYs9eUNfDZcK63rHvdC91WW2od/d1rYdytB4ACDwoN9HVhJLspIz5RfRs95ndG4zTxu' +
|
|
16
|
+
'3dG6+tN0Ly/p5bjC179u3ZfKvxOMDp6+i3YZ4iUvhUwYyOfKYo5+ZXruz7oHVcM0dmlNMivlyinulTxYFn2m7b8zNK/G7eqhMX4hso3Eu3ilY8XuO5' +
|
|
17
|
+
'eCuRyxYDne7OaZTk7IwtqKJCx5F9atBVXuFM5GzWGqcZPOaxIRi9+roWJEcV4/H+ZIO36ojjbYJxXeN+4MY/7jDOb7pm2ILwjHq8P9XgLTrito87qk' +
|
|
18
|
+
'Ef7CLmfwstiPJxdjqjM48An8/cQb1yxj7tl46qhw/xmMX4tAfkDF/mP/g07YE4zeY5k9ycI+PNf7K5QjTQzkXUEz2Dl5pzl/LqS9U8KxsELOaYwly3' +
|
|
19
|
+
'nS/t5+cy9nI2c4OSS2QmFNilyVIzAGr660kbyLBgcFdC+l4OaAguNq6ZufAiH9rKWzMjgPsMoflAVgCABOkcgHxIlAIygBC0iN9OkQDACXsjQagsjb' +
|
|
20
|
+
'Z4LKu1EndYL6271lqrPVQNEX1Ksi/K1yM4o6035S9k+QMAvEqtx/19iZkRySVvBWCbVeohr26j1AwKEiTXeAUAoKWtE36AzEVifNwB1ANQAG6sbhkQ' +
|
|
21
|
+
'OGevBSTY4ETLtAxRkA1+WD0mg1AHCEIoDhEJHqQiMkqg5jKtRxTo6LesomUfNP1jDP2SljAv944saTKsxwF9qtLkKpVVq96UW3Q0xgCOHAtWMIxYiB' +
|
|
22
|
+
'HqxBI7OpBSCWUQhm52JqMxLGRwwwl9nBSD9eoApB6rAhMqLNTYSkMdMgw+qyIwAAAAAA==';
|
|
23
|
+
|
|
24
|
+
var uiFontWoff =
|
|
25
|
+
'd09GRk9UVE8AAARUAAkAAAAABOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAACpAAAAa4AAAHHJkH54k9TLzIAAAFMAAAAUgAAAGCNA2InY2' +
|
|
26
|
+
'1hcAAAAlQAAAA5AAAATAE1AKRoZWFkAAAA6AAAADIAAAA2JdX/E2hoZWEAAAEsAAAAHwAAACQF8gGRaG10eAAAARwAAAAQAAAAEAcrAPZtYXhwAAAA' +
|
|
27
|
+
'4AAAAAYAAAAGAARQAG5hbWUAAAGgAAAAtAAAAUd8gS+xcG9zdAAAApAAAAATAAAAIP9GADsAAFAAAAQAAHgBY2BkYGBglJypkKVQHc9v85WBmfkFAx' +
|
|
28
|
+
'A8sg34Dqct//1h4mZeA+SyMzCBRAFVTwwrAAACWABwAOcAAAGUADkCWABNeAFjYGRgYF7z7w8DA1MEgyWDBRM3UAQVsAAAY1wDiAB4AWNgYTzFOIGB' +
|
|
29
|
+
'lYGDqYspgoGBwRtCM8YxGDH8Z0ACCxiY3jswKFTD+KHe4X4MBxgUGOKZ1/z7w8DAvIaRRYGBcT5IjomB6RiQUmBgAADLYg8MAAB4AW2MNWKEUAAFJ+' +
|
|
30
|
+
'6uJWU8/7dxd9c2Buwii18oF43i0D0dYIhP2gBoox9i3U4P/bHuzOVdzDIW6+6/vIO2zj7amGQ+1u0MsxnrDhY4j3VnbtOFIIp1dy4fzemxX85j60P1' +
|
|
31
|
+
'g3fHV+9UPbJe/acf23RailyRQqwfHe6eN8MfI3ikxQcqPgHvOPio3KGiE2Hxio9kBYlAsM4j5zxzxXrt7yn2TRxaKOSfRxyyyzlNwrgR31v9JsZ4AW' +
|
|
32
|
+
'NgYGACYmYgFgGSjGCahcECSHMxcDAwAaECgy5DPMOC//+BYnD2/4f/r/5f8j8RqAMOAEsaDdAAAAB4AWNgZgCD/84M1gxYAAAjQQGBAHgBTRADkBxB' +
|
|
33
|
+
'cGYx+8nN7u3dVWzbNoopxXZmP7Zt21Yh9s7Xx0Yx/Ni21VPfH7z/etruocTQCKU00HawFzt8hBgyPDbFLKHyEZWfqgKaym3gYK5f4sYFXKu2JDY2vw' +
|
|
34
|
+
'dBC+1W9cNEpzQmT7HKlatUrFK5shgydNzwfn36jiw8qN+IEf0G94nqmAyUOKRx+jBq0Dy0ovqIax/7F/wd8rxM8Hde2S53yMMD9sg9cfFxu+Vh+SAM' +
|
|
35
|
+
'xotqr6pAfawPC5FLAUuxcTJvXOlN5N/pHGpqYuMcSW5+bKFchkce5/CtJxfMWj508TxWq5UJQY9hF6iVA/JDF8xvJeteDsgnywG/YEUYaSqGiCssEm' +
|
|
36
|
+
'hiAsd8Kak1c0io/kAiT869miNCT5ryweF6ErqIerUs5FA5B4SA13rQKzmebEgrQpxpDw43kNBJ1Ov+QLCIS2Kw+p9OOZKVwsDPpzk4ixDXVQeMZNFY' +
|
|
37
|
+
'xqdagjkwwVGlYdFdegEO6/AVFuW4i4cbWk7yv7S6RGer37ragq1yXEpq1cJyxm9UKzdCs42s4NZW4X882wIeSMj+LJCwkvNny7n9H30nvLcAAA==';
|
|
38
|
+
|
|
39
|
+
(0, _Emotion.injectGlobal)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n @font-face {\n font-family: ", ";\n src: url(data:font/woff2;base64,", ") format('woff2'),\n url(data:font/woff;base64,", ") format('woff');\n }\n"])),
|
|
40
|
+
|
|
41
|
+
uiFontName,
|
|
42
|
+
uiFontWoff2,
|
|
43
|
+
uiFontWoff);
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var $this = _globalObject.globalObject;
|
|
48
|
+
|
|
49
|
+
if ((0, _globalObject.isBrowser)($this)) {
|
|
50
|
+
var baseFont = function baseFont() {return $this.getComputedStyle($this.document.body).fontFamily;};
|
|
51
|
+
|
|
52
|
+
var injectFont = function injectFont() {return (0, _Emotion.injectGlobal)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n .", ",\n .", " > *,\n .", " {\n font-family: ", ", ", ";\n }\n "])),
|
|
53
|
+
uiFontGlobalClasses.root,
|
|
54
|
+
uiFontGlobalClasses.root,
|
|
55
|
+
uiFontGlobalClasses.element,
|
|
56
|
+
uiFontName, baseFont());};
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
setTimeout(injectFont);
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["UiFont.ts"],"names":["uiFontGlobalClasses","root","element","uiFontName","uiFontWoff2","uiFontWoff","$this","globalObject","baseFont","getComputedStyle","document","body","fontFamily","injectFont","injectGlobal","setTimeout"],"mappings":"iSAAA;;AAEA,6C;;AAEO,IAAMA,mBAAmB,GAAG,qBAAO,SAAP,EAAkB;AACnDC,EAAAA,IAAI,EAAE,MAD6C;AAEnDC,EAAAA,OAAO,EAAE,SAF0C,EAAlB,CAA5B,C;;;AAKP,IAAMC,UAAU,GAAG,IAAnB;;AAEA,IAAMC,WAAW;AACf;AACA,oHADA;AAEA,oHAFA;AAGA,oHAHA;AAIA,oHAJA;AAKA,oHALA;AAMA,oHANA;AAOA,oHAPA;AAQA,oHARA;AASA,wEAVF;;AAYA,IAAMC,UAAU;AACd;AACA,oHADA;AAEA,oHAFA;AAGA,oHAHA;AAIA,oHAJA;AAKA,oHALA;AAMA,oHANA;AAOA,oHAPA;AAQA,oHARA;AASA,oHATA;AAUA,oHAVA;AAWA,oHAXA;AAYA,kHAbF;;AAeA;;AAEmBF,UAFnB;AAGsCC,WAHtC;AAIgCC,UAJhC;;;;AAQA,IAAMC,KAAK,GAAGC,0BAAd;;AAEA,IAAI,6BAAUD,KAAV,CAAJ,EAAsB;AACpB,MAAME,QAAQ,GAAG,SAAXA,QAAW,WAAMF,KAAK,CAACG,gBAAN,CAAuBH,KAAK,CAACI,QAAN,CAAeC,IAAtC,EAA4CC,UAAlD,EAAjB;;AAEA,MAAMC,UAAU,GAAG,SAAbA,UAAa,eAAMC,qBAAN;AACdd,IAAAA,mBAAmB,CAACC,IADN;AAEdD,IAAAA,mBAAmB,CAACC,IAFN;AAGdD,IAAAA,mBAAmB,CAACE,OAHN;AAIAC,IAAAA,UAJA,EAIeK,QAAQ,EAJvB,GAAnB;;;;AAQAO,EAAAA,UAAU,CAACF,UAAD,CAAV;AACD","sourcesContent":["import { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { injectGlobal, prefix } from '../theming/Emotion';\n\nexport const uiFontGlobalClasses = prefix('ui-font')({\n root: 'root',\n element: 'element',\n});\n\nconst uiFontName = 'ui';\n\nconst uiFontWoff2 =\n 'd09GMk9UVE8AAAM0AAkAAAAABOwAAALtAAEZmQAAAAAAAAAAAAAAAAAAAAAAAAAADYNHBmAATAE2AiQDEAQGBYJHByAbSQTIHodxLLFkxvCafPI36w' +\n 'UCtbTOiShd0zOVLzXnVD3Mprf8381PJXqgZb2jFq3JN9rLLMKAEi2lMG8HzqkL4rRGmlAlSFHfIhL0YtdjFEbbAPDD2JUXUURAJRBjl6txH54vKxuX' +\n 'HP/FwmZOmLmImVsys1HRh8nnGD0jMldklFN+ebnk32ymBCATYs9eUNfDZcK63rHvdC91WW2od/d1rYdytB4ACDwoN9HVhJLspIz5RfRs95ndG4zTxu' +\n '3dG6+tN0Ly/p5bjC179u3ZfKvxOMDp6+i3YZ4iUvhUwYyOfKYo5+ZXruz7oHVcM0dmlNMivlyinulTxYFn2m7b8zNK/G7eqhMX4hso3Eu3ilY8XuO5' +\n 'eCuRyxYDne7OaZTk7IwtqKJCx5F9atBVXuFM5GzWGqcZPOaxIRi9+roWJEcV4/H+ZIO36ojjbYJxXeN+4MY/7jDOb7pm2ILwjHq8P9XgLTrito87qk' +\n 'Ef7CLmfwstiPJxdjqjM48An8/cQb1yxj7tl46qhw/xmMX4tAfkDF/mP/g07YE4zeY5k9ycI+PNf7K5QjTQzkXUEz2Dl5pzl/LqS9U8KxsELOaYwly3' +\n 'nS/t5+cy9nI2c4OSS2QmFNilyVIzAGr660kbyLBgcFdC+l4OaAguNq6ZufAiH9rKWzMjgPsMoflAVgCABOkcgHxIlAIygBC0iN9OkQDACXsjQagsjb' +\n 'Z4LKu1EndYL6271lqrPVQNEX1Ksi/K1yM4o6035S9k+QMAvEqtx/19iZkRySVvBWCbVeohr26j1AwKEiTXeAUAoKWtE36AzEVifNwB1ANQAG6sbhkQ' +\n 'OGevBSTY4ETLtAxRkA1+WD0mg1AHCEIoDhEJHqQiMkqg5jKtRxTo6LesomUfNP1jDP2SljAv944saTKsxwF9qtLkKpVVq96UW3Q0xgCOHAtWMIxYiB' +\n 'HqxBI7OpBSCWUQhm52JqMxLGRwwwl9nBSD9eoApB6rAhMqLNTYSkMdMgw+qyIwAAAAAA==';\n\nconst uiFontWoff =\n 'd09GRk9UVE8AAARUAAkAAAAABOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAACpAAAAa4AAAHHJkH54k9TLzIAAAFMAAAAUgAAAGCNA2InY2' +\n '1hcAAAAlQAAAA5AAAATAE1AKRoZWFkAAAA6AAAADIAAAA2JdX/E2hoZWEAAAEsAAAAHwAAACQF8gGRaG10eAAAARwAAAAQAAAAEAcrAPZtYXhwAAAA' +\n '4AAAAAYAAAAGAARQAG5hbWUAAAGgAAAAtAAAAUd8gS+xcG9zdAAAApAAAAATAAAAIP9GADsAAFAAAAQAAHgBY2BkYGBglJypkKVQHc9v85WBmfkFAx' +\n 'A8sg34Dqct//1h4mZeA+SyMzCBRAFVTwwrAAACWABwAOcAAAGUADkCWABNeAFjYGRgYF7z7w8DA1MEgyWDBRM3UAQVsAAAY1wDiAB4AWNgYTzFOIGB' +\n 'lYGDqYspgoGBwRtCM8YxGDH8Z0ACCxiY3jswKFTD+KHe4X4MBxgUGOKZ1/z7w8DAvIaRRYGBcT5IjomB6RiQUmBgAADLYg8MAAB4AW2MNWKEUAAFJ+' +\n '6uJWU8/7dxd9c2Buwii18oF43i0D0dYIhP2gBoox9i3U4P/bHuzOVdzDIW6+6/vIO2zj7amGQ+1u0MsxnrDhY4j3VnbtOFIIp1dy4fzemxX85j60P1' +\n 'g3fHV+9UPbJe/acf23RailyRQqwfHe6eN8MfI3ikxQcqPgHvOPio3KGiE2Hxio9kBYlAsM4j5zxzxXrt7yn2TRxaKOSfRxyyyzlNwrgR31v9JsZ4AW' +\n 'NgYGACYmYgFgGSjGCahcECSHMxcDAwAaECgy5DPMOC//+BYnD2/4f/r/5f8j8RqAMOAEsaDdAAAAB4AWNgZgCD/84M1gxYAAAjQQGBAHgBTRADkBxB' +\n 'cGYx+8nN7u3dVWzbNoopxXZmP7Zt21Yh9s7Xx0Yx/Ni21VPfH7z/etruocTQCKU00HawFzt8hBgyPDbFLKHyEZWfqgKaym3gYK5f4sYFXKu2JDY2vw' +\n 'dBC+1W9cNEpzQmT7HKlatUrFK5shgydNzwfn36jiw8qN+IEf0G94nqmAyUOKRx+jBq0Dy0ovqIax/7F/wd8rxM8Hde2S53yMMD9sg9cfFxu+Vh+SAM' +\n 'xotqr6pAfawPC5FLAUuxcTJvXOlN5N/pHGpqYuMcSW5+bKFchkce5/CtJxfMWj508TxWq5UJQY9hF6iVA/JDF8xvJeteDsgnywG/YEUYaSqGiCssEm' +\n 'hiAsd8Kak1c0io/kAiT869miNCT5ryweF6ErqIerUs5FA5B4SA13rQKzmebEgrQpxpDw43kNBJ1Ov+QLCIS2Kw+p9OOZKVwsDPpzk4ixDXVQeMZNFY' +\n 'xqdagjkwwVGlYdFdegEO6/AVFuW4i4cbWk7yv7S6RGer37ragq1yXEpq1cJyxm9UKzdCs42s4NZW4X882wIeSMj+LJCwkvNny7n9H30nvLcAAA==';\n\ninjectGlobal`\n @font-face {\n font-family: ${uiFontName};\n src: url(data:font/woff2;base64,${uiFontWoff2}) format('woff2'),\n url(data:font/woff;base64,${uiFontWoff}) format('woff');\n }\n`;\n\nconst $this = globalObject;\n\nif (isBrowser($this)) {\n const baseFont = () => $this.getComputedStyle($this.document.body).fontFamily;\n\n const injectFont = () => injectGlobal`\n .${uiFontGlobalClasses.root},\n .${uiFontGlobalClasses.root} > *,\n .${uiFontGlobalClasses.element} {\n font-family: ${uiFontName}, ${baseFont()};\n }\n `;\n\n setTimeout(injectFont);\n}\n"]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
```jsx harmony
|
|
2
|
+
import { Autocomplete } from '@skbkontur/react-ui';
|
|
3
|
+
|
|
2
4
|
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
3
5
|
|
|
4
6
|
const [value, setValue] = React.useState('Kappa');
|
|
@@ -6,9 +8,9 @@ const [value, setValue] = React.useState('Kappa');
|
|
|
6
8
|
<Autocomplete source={items} value={value} onValueChange={setValue} />;
|
|
7
9
|
```
|
|
8
10
|
|
|
9
|
-
Очистить значение в `Autocomplete` можно только с помощью пустой
|
|
11
|
+
Очистить значение в `Autocomplete` можно только с помощью пустой строки.
|
|
10
12
|
```jsx harmony
|
|
11
|
-
import { Button, Group } from '@skbkontur/react-ui';
|
|
13
|
+
import { Autocomplete, Button, Group } from '@skbkontur/react-ui';
|
|
12
14
|
|
|
13
15
|
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
14
16
|
|
|
@@ -22,7 +24,7 @@ const [value, setValue] = React.useState('Kappa');
|
|
|
22
24
|
|
|
23
25
|
У Autocomplete есть 3 стандартных размера.
|
|
24
26
|
```jsx harmony
|
|
25
|
-
import { Gapped } from '@skbkontur/react-ui';
|
|
27
|
+
import { Autocomplete, Gapped } from '@skbkontur/react-ui';
|
|
26
28
|
|
|
27
29
|
const items = ['Маленький', 'Средний', 'Большой'];
|
|
28
30
|
|
|
@@ -36,3 +38,74 @@ const [valueLarge, setValueLarge] = React.useState('Большой');
|
|
|
36
38
|
<Autocomplete source={items} value={valueLarge} onValueChange={setValueLarge} size={'large'} />
|
|
37
39
|
</Gapped>
|
|
38
40
|
```
|
|
41
|
+
|
|
42
|
+
Можно выделять введеное значение при фокусе.
|
|
43
|
+
```jsx harmony
|
|
44
|
+
import { Autocomplete } from '@skbkontur/react-ui';
|
|
45
|
+
|
|
46
|
+
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
47
|
+
|
|
48
|
+
const [value, setValue] = React.useState('');
|
|
49
|
+
|
|
50
|
+
<Autocomplete source={items} value={value} onValueChange={setValue} selectAllOnFocus />
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Расположение иконки слева и справа.
|
|
54
|
+
```jsx harmony
|
|
55
|
+
import { Autocomplete, Gapped } from '@skbkontur/react-ui';
|
|
56
|
+
import { SearchLoupeIcon16Regular } from '@skbkontur/icons/SearchLoupeIcon16Regular';
|
|
57
|
+
|
|
58
|
+
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
59
|
+
|
|
60
|
+
const [valueLeft, setValueLeft] = React.useState('');
|
|
61
|
+
const [valueRight, setValueRight] = React.useState('');
|
|
62
|
+
|
|
63
|
+
<Gapped>
|
|
64
|
+
<Autocomplete source={items} value={valueLeft} onValueChange={setValueLeft} leftIcon={<SearchLoupeIcon16Regular />} />
|
|
65
|
+
<Autocomplete source={items} value={valueRight} onValueChange={setValueRight} rightIcon={<SearchLoupeIcon16Regular />} />
|
|
66
|
+
</Gapped>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Изменение ширины меню.
|
|
70
|
+
```jsx harmony
|
|
71
|
+
import { Autocomplete } from '@skbkontur/react-ui';
|
|
72
|
+
|
|
73
|
+
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
74
|
+
|
|
75
|
+
const [value, setValue] = React.useState('');
|
|
76
|
+
|
|
77
|
+
<Autocomplete source={items} value={value} onValueChange={setValue} menuWidth={'80%'} />
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Расположение выпадающего окна Autocomplete.
|
|
81
|
+
```jsx harmony
|
|
82
|
+
import { Autocomplete } from '@skbkontur/react-ui';
|
|
83
|
+
|
|
84
|
+
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
85
|
+
|
|
86
|
+
const [value, setValue] = React.useState('');
|
|
87
|
+
|
|
88
|
+
<Autocomplete source={items} value={value} onValueChange={setValue} menuPos={'top'} />
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Отрисовка тени у выпадающего меню.
|
|
92
|
+
```jsx harmony
|
|
93
|
+
import { Autocomplete } from '@skbkontur/react-ui';
|
|
94
|
+
|
|
95
|
+
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
96
|
+
|
|
97
|
+
const [value, setValue] = React.useState('');
|
|
98
|
+
|
|
99
|
+
<Autocomplete source={items} value={value} onValueChange={setValue} hasShadow />
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Использование режима прозрачной рамки.
|
|
103
|
+
```jsx harmony
|
|
104
|
+
import { Autocomplete } from '@skbkontur/react-ui';
|
|
105
|
+
|
|
106
|
+
const items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
|
|
107
|
+
|
|
108
|
+
const [value, setValue] = React.useState('Kappa');
|
|
109
|
+
|
|
110
|
+
<Autocomplete source={items} value={value} onValueChange={setValue} borderless />
|
|
111
|
+
```
|
|
@@ -60,15 +60,15 @@ import { XIcon16Regular } from '@skbkontur/icons/XIcon16Regular';
|
|
|
60
60
|
|
|
61
61
|
```jsx harmony
|
|
62
62
|
<div
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
style={{
|
|
64
|
+
display: "flex",
|
|
65
|
+
alignItems: "end",
|
|
66
|
+
gap: '10px',
|
|
67
|
+
}}
|
|
68
|
+
>
|
|
69
|
+
<Button size="small">Маленькая</Button>
|
|
70
|
+
<Button size="medium">Средняя</Button>
|
|
71
|
+
<Button size="large">Большая</Button>
|
|
72
72
|
</div>
|
|
73
73
|
```
|
|
74
74
|
|
|
@@ -133,7 +133,7 @@ const handleClick = () => {
|
|
|
133
133
|
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
Пример кнопки с пропом `theme
|
|
136
|
+
Пример кнопки с пропом `theme`.
|
|
137
137
|
|
|
138
138
|
```jsx harmony
|
|
139
139
|
import { Button, Gapped } from '@skbkontur/react-ui';
|
|
@@ -146,7 +146,7 @@ import { Button, Gapped } from '@skbkontur/react-ui';
|
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
|
|
149
|
-
Пример кастомизации
|
|
149
|
+
Пример кастомизации кнопки-ссылки.
|
|
150
150
|
|
|
151
151
|
```jsx harmony
|
|
152
152
|
import { Toast } from "@skbkontur/react-ui";
|
|
@@ -212,3 +212,30 @@ const renderExampleRow = (title, styles, index) => {
|
|
|
212
212
|
{renderExampleRow('Изменение цвета ссылки', differentColorStyles)}
|
|
213
213
|
</table>
|
|
214
214
|
```
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
Кнопка может быть узкой.
|
|
218
|
+
|
|
219
|
+
```jsx harmony
|
|
220
|
+
import { Button } from '@skbkontur/react-ui';
|
|
221
|
+
|
|
222
|
+
<Button narrow>
|
|
223
|
+
Создать отчет
|
|
224
|
+
</Button>
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
У кнопки есть состояния валидации.
|
|
229
|
+
|
|
230
|
+
```jsx harmony
|
|
231
|
+
import { Button, Gapped } from '@skbkontur/react-ui';
|
|
232
|
+
|
|
233
|
+
<Gapped gap={5}>
|
|
234
|
+
<Button warning>
|
|
235
|
+
Warning
|
|
236
|
+
</Button>
|
|
237
|
+
<Button error>
|
|
238
|
+
Error
|
|
239
|
+
</Button>
|
|
240
|
+
</Gapped>
|
|
241
|
+
```
|
|
@@ -106,6 +106,8 @@ const theme = React.useContext(ThemeContext);
|
|
|
106
106
|
|
|
107
107
|
### Кастомный рендер дня
|
|
108
108
|
|
|
109
|
+
Для кастомнизации дней в календаре используется метод `renderDay` и компонент [Calendar.Day](#/Components/Calendar/Calendar.Day)
|
|
110
|
+
|
|
109
111
|
```jsx harmony
|
|
110
112
|
import { Tooltip, Hint, CalendarDay } from '@skbkontur/react-ui';
|
|
111
113
|
|
|
@@ -144,6 +146,44 @@ const renderDay = (props) => {
|
|
|
144
146
|
/>;
|
|
145
147
|
```
|
|
146
148
|
|
|
149
|
+
### Календарь с ценами
|
|
150
|
+
|
|
151
|
+
Пример с кастомизацией темы и кастомным рендером дня
|
|
152
|
+
|
|
153
|
+
```jsx harmony
|
|
154
|
+
import { ThemeContext, ThemeFactory, CalendarDay } from '@skbkontur/react-ui';
|
|
155
|
+
|
|
156
|
+
const theme = React.useContext(ThemeContext);
|
|
157
|
+
|
|
158
|
+
function renderDay(props) {
|
|
159
|
+
const [date, month] = props.date.split('.').map(Number);
|
|
160
|
+
const randomDay = date % 6 === 0 || date % 7 === 0 || date % 8 === 0;
|
|
161
|
+
const randomPrice = Math.round((date / month) * 1000);
|
|
162
|
+
|
|
163
|
+
return (
|
|
164
|
+
<CalendarDay {...props}>
|
|
165
|
+
<div style={{ fontSize: theme.calendarCellFontSize }}>{date}</div>
|
|
166
|
+
<div style={{ fontSize: '11px', fontFeatureSettings: 'tnum', fontVariantNumeric: 'tabular-nums' }}>
|
|
167
|
+
{randomDay ? <>{randomPrice} ₽</> : <span style={{ color: theme.tokenTextColorDisabled }}>—</span>}
|
|
168
|
+
</div>
|
|
169
|
+
</CalendarDay>
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const [value, setValue] = React.useState(null);
|
|
174
|
+
|
|
175
|
+
<ThemeContext.Provider
|
|
176
|
+
value={ThemeFactory.create({
|
|
177
|
+
calendarCellSize: '56px',
|
|
178
|
+
calendarCellLineHeight: '1.5',
|
|
179
|
+
calendarWrapperHeight: '600px',
|
|
180
|
+
calendarCellBorderRadius: '8px'
|
|
181
|
+
}, theme)}
|
|
182
|
+
>
|
|
183
|
+
<Calendar value={value} renderDay={renderDay} onValueChange={setValue} />
|
|
184
|
+
</ThemeContext.Provider>
|
|
185
|
+
```
|
|
186
|
+
|
|
147
187
|
#### Локали по умолчанию
|
|
148
188
|
|
|
149
189
|
```typescript static
|
|
@@ -247,3 +247,42 @@ const hiddenItems = [
|
|
|
247
247
|
</DropdownMenu>
|
|
248
248
|
</Gapped>
|
|
249
249
|
```
|
|
250
|
+
|
|
251
|
+
С использованием фиче-флага menuItemsAtAnyLevel. Mожно использовать различные обертки для пунктов меню.
|
|
252
|
+
|
|
253
|
+
```jsx harmony
|
|
254
|
+
import {
|
|
255
|
+
DropdownMenu,
|
|
256
|
+
Button,
|
|
257
|
+
MenuHeader,
|
|
258
|
+
MenuItem,
|
|
259
|
+
MenuSeparator,
|
|
260
|
+
ReactUIFeatureFlagsContext,
|
|
261
|
+
Gapped
|
|
262
|
+
} from '@skbkontur/react-ui';
|
|
263
|
+
|
|
264
|
+
const groupedMenuItems = (
|
|
265
|
+
<div>
|
|
266
|
+
<MenuItem>MenuItem1</MenuItem>
|
|
267
|
+
<MenuItem>MenuItem2</MenuItem>
|
|
268
|
+
<MenuItem isNotSelectable>Not Selectable</MenuItem>
|
|
269
|
+
</div>
|
|
270
|
+
);
|
|
271
|
+
|
|
272
|
+
<Gapped>
|
|
273
|
+
<ReactUIFeatureFlagsContext.Provider value={{ menuItemsAtAnyLevel: true }}>
|
|
274
|
+
<DropdownMenu caption={<Button use="primary">Открыть меню</Button>}>
|
|
275
|
+
<>
|
|
276
|
+
<MenuHeader>Заголовок меню</MenuHeader>
|
|
277
|
+
<MenuSeparator />
|
|
278
|
+
<div>
|
|
279
|
+
{groupedMenuItems}
|
|
280
|
+
</div>
|
|
281
|
+
</>
|
|
282
|
+
<MenuItem>MenuItem3</MenuItem>
|
|
283
|
+
</DropdownMenu>
|
|
284
|
+
</ReactUIFeatureFlagsContext.Provider>
|
|
285
|
+
</Gapped>;
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
var _excluded = ["disabled", "error", "warning", "multiple", "width", "hideFiles", "onBlur", "onFocus", "onChange", "request", "validateBeforeUpload", "onRequestSuccess", "onRequestError", "size", "renderFile"];
|
|
4
|
+
var _excluded = ["initialFiles", "disabled", "error", "warning", "multiple", "width", "hideFiles", "onBlur", "onFocus", "onChange", "request", "validateBeforeUpload", "onRequestSuccess", "onRequestError", "size", "renderFile"];
|
|
5
5
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
6
|
import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
7
7
|
import { globalObject, isBrowser } from '@skbkontur/global-object';
|
|
@@ -53,7 +53,8 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
53
53
|
|
|
54
54
|
var _isTheme2022 = isTheme2022(theme);
|
|
55
55
|
|
|
56
|
-
var
|
|
56
|
+
var initialFiles = props.initialFiles,
|
|
57
|
+
disabled = props.disabled,
|
|
57
58
|
error = props.error,
|
|
58
59
|
warning = props.warning,
|
|
59
60
|
_props$multiple = props.multiple,
|
|
@@ -155,7 +156,7 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
155
156
|
/** common part **/
|
|
156
157
|
|
|
157
158
|
var handleChange = useCallback(function (newFiles) {
|
|
158
|
-
if (!newFiles) {
|
|
159
|
+
if (!newFiles || !newFiles.length) {
|
|
159
160
|
return;
|
|
160
161
|
}
|
|
161
162
|
|
|
@@ -256,6 +257,16 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
256
257
|
}
|
|
257
258
|
};
|
|
258
259
|
|
|
260
|
+
var handleRemoveFile = useCallback(function (fileId) {
|
|
261
|
+
var dataTransfer = new DataTransfer();
|
|
262
|
+
files.filter(function (f) {
|
|
263
|
+
return f.id !== fileId;
|
|
264
|
+
}).forEach(function (file) {
|
|
265
|
+
dataTransfer.items.add(file.originalFile);
|
|
266
|
+
});
|
|
267
|
+
inputRef.current && (inputRef.current.files = dataTransfer.files);
|
|
268
|
+
}, []);
|
|
269
|
+
|
|
259
270
|
var _useState3 = useState(false),
|
|
260
271
|
hovered = _useState3[0],
|
|
261
272
|
setHovered = _useState3[1];
|
|
@@ -271,6 +282,17 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
271
282
|
useEffect(function () {
|
|
272
283
|
setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);
|
|
273
284
|
}, [isMinLengthReached, hasOneFileForSingle]);
|
|
285
|
+
useEffect(function () {
|
|
286
|
+
if (!files || !files.length || !inputRef.current) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
var dataTransfer = new DataTransfer();
|
|
291
|
+
files.forEach(function (file) {
|
|
292
|
+
return dataTransfer.items.add(file.originalFile);
|
|
293
|
+
});
|
|
294
|
+
inputRef.current.files = dataTransfer.files;
|
|
295
|
+
}, []);
|
|
274
296
|
var rootNodeRef = useRef(null);
|
|
275
297
|
var iconSizes = {
|
|
276
298
|
small: parseInt(theme.btnIconSizeSmall),
|
|
@@ -289,7 +311,8 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
289
311
|
ref: rootNodeRef
|
|
290
312
|
}, !hideFiles && !isSingleMode && !!files.length && /*#__PURE__*/React.createElement(FileUploaderFileList, {
|
|
291
313
|
renderFile: renderFile,
|
|
292
|
-
size: size
|
|
314
|
+
size: size,
|
|
315
|
+
onRemove: handleRemoveFile
|
|
293
316
|
}), /*#__PURE__*/React.createElement("div", {
|
|
294
317
|
className: uploadButtonWrapperClassNames
|
|
295
318
|
}, /*#__PURE__*/React.createElement("label", {
|
|
@@ -316,7 +339,8 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
316
339
|
className: jsStyles.singleFile()
|
|
317
340
|
}, renderFile(files[0], /*#__PURE__*/React.createElement(FileUploaderFile, {
|
|
318
341
|
file: files[0],
|
|
319
|
-
size: size
|
|
342
|
+
size: size,
|
|
343
|
+
onRemove: handleRemoveFile
|
|
320
344
|
}))) : /*#__PURE__*/React.createElement(React.Fragment, null, locale.orDragHere, "\xA0", /*#__PURE__*/React.createElement("div", {
|
|
321
345
|
className: uploadButtonIconClassNames
|
|
322
346
|
}, icon)))), /*#__PURE__*/React.createElement(FocusControlWrapper, {
|
|
@@ -334,9 +358,7 @@ var _FileUploader = forwardRefAndName('FileUploader', function (props, ref) {
|
|
|
334
358
|
onClick: stopPropagation,
|
|
335
359
|
onChange: handleInputChange,
|
|
336
360
|
onFocus: handleFocus,
|
|
337
|
-
onBlur: handleBlur
|
|
338
|
-
,
|
|
339
|
-
value: ''
|
|
361
|
+
onBlur: handleBlur
|
|
340
362
|
})))))));
|
|
341
363
|
});
|
|
342
364
|
|