@skbkontur/react-ui 3.8.5 → 3.10.0-fileuploader.1
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 +40 -0
- package/cjs/components/Button/Button.d.ts +66 -10
- package/cjs/components/Button/Button.js +55 -0
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.md +42 -30
- package/cjs/components/Checkbox/Checkbox.d.ts +2 -2
- package/cjs/components/Checkbox/Checkbox.js +2 -2
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.d.ts +6 -0
- package/cjs/components/ComboBox/ComboBox.js +4 -0
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/DateInput/DateInput.d.ts +6 -0
- package/cjs/components/DateInput/DateInput.js +6 -0
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +6 -0
- package/cjs/components/DatePicker/DatePicker.js +6 -0
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.d.ts +2 -2
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +31 -0
- package/cjs/components/FileUploader/FileUploader.js +270 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -0
- package/cjs/components/FileUploader/FileUploader.md +67 -0
- package/cjs/components/FileUploader/FileUploader.styles.d.ts +19 -0
- package/cjs/components/FileUploader/FileUploader.styles.js +159 -0
- package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
- package/cjs/components/FileUploader/index.d.ts +4 -0
- package/cjs/components/FileUploader/index.js +4 -0
- package/cjs/components/FileUploader/index.js.map +1 -0
- package/cjs/components/FileUploader/locale/index.d.ts +4 -0
- package/cjs/components/FileUploader/locale/index.js +11 -0
- package/cjs/components/FileUploader/locale/index.js.map +1 -0
- package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
- package/cjs/components/FileUploader/locale/locales/en.js +7 -0
- package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
- package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
- package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
- package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
- package/cjs/components/FileUploader/locale/types.d.ts +6 -0
- package/cjs/components/FileUploader/locale/types.js +1 -0
- package/cjs/components/FileUploader/locale/types.js.map +1 -0
- package/cjs/components/Hint/Hint.d.ts +5 -0
- package/cjs/components/Hint/Hint.js +5 -0
- package/cjs/components/Hint/Hint.js.map +1 -1
- package/cjs/components/Input/Input.d.ts +6 -2
- package/cjs/components/Input/Input.js +4 -0
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/Link/Link.js +3 -6
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Link/Link.mixins.js +2 -1
- package/cjs/components/Link/Link.mixins.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +27 -11
- package/cjs/components/Radio/Radio.js +19 -6
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.md +36 -12
- package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/cjs/components/Select/Select.d.ts +4 -1
- package/cjs/components/Select/Select.js +3 -0
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +5 -0
- package/cjs/components/SidePage/SidePage.js +10 -1
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +0 -1
- package/cjs/components/SidePage/SidePage.styles.js +16 -24
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +2 -2
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Textarea/Textarea.d.ts +6 -2
- package/cjs/components/Textarea/Textarea.js +9 -2
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.styles.d.ts +1 -0
- package/cjs/components/Textarea/Textarea.styles.js +22 -19
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.d.ts +2 -2
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Token/Token.d.ts +6 -0
- package/cjs/components/Token/Token.js +6 -0
- package/cjs/components/Token/Token.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +6 -0
- package/cjs/components/TokenInput/TokenInput.js +23 -17
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
- package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.d.ts +3 -3
- package/cjs/components/Tooltip/Tooltip.js +2 -1
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/hooks/useDrop.d.ts +11 -0
- package/cjs/hooks/useDrop.js +75 -0
- package/cjs/hooks/useDrop.js.map +1 -0
- package/cjs/hooks/useMemoObject.d.ts +1 -0
- package/cjs/hooks/useMemoObject.js +5 -0
- package/cjs/hooks/useMemoObject.js.map +1 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js +6 -0
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -0
- package/cjs/internal/CustomComboBox/CustomComboBox.js +11 -9
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +11 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +15 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +107 -0
- package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +187 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +66 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +24 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +17 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
- package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
- package/cjs/internal/FileUploaderControl/fileUtils.d.ts +18 -0
- package/cjs/internal/FileUploaderControl/fileUtils.js +55 -0
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
- package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
- package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +18 -0
- package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/Popup/Popup.d.ts +13 -0
- package/cjs/internal/Popup/Popup.js +25 -3
- package/cjs/internal/Popup/Popup.js.map +1 -1
- package/cjs/internal/Popup/PopupHelper.js +1 -0
- package/cjs/internal/Popup/PopupHelper.js.map +1 -1
- package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
- package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
- package/cjs/internal/ThemePlayground/Playground.d.ts +1 -0
- package/cjs/internal/ThemePlayground/Playground.js +11 -1
- package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.d.ts +15 -0
- package/cjs/internal/ThemePlayground/darkTheme.js +25 -1
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/icons/16px/index.d.ts +3 -0
- package/cjs/internal/icons/16px/index.js +38 -2
- package/cjs/internal/icons/16px/index.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +23 -0
- package/cjs/internal/themes/DefaultTheme.js +64 -1
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/lib/forwardRefAndName.d.ts +5 -0
- package/cjs/lib/forwardRefAndName.js +23 -0
- package/cjs/lib/forwardRefAndName.js.map +1 -0
- package/cjs/lib/guidUtils.d.ts +1 -0
- package/cjs/lib/guidUtils.js +5 -0
- package/cjs/lib/guidUtils.js.map +1 -0
- package/cjs/lib/locale/types.d.ts +2 -0
- package/cjs/lib/locale/types.js +2 -0
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
- package/cjs/lib/locale/useLocaleForControl.js +14 -0
- package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
- package/cjs/lib/stringUtils.d.ts +1 -0
- package/cjs/lib/stringUtils.js +13 -0
- package/cjs/lib/stringUtils.js.map +1 -0
- package/cjs/lib/utils.d.ts +1 -0
- package/cjs/lib/utils.js +20 -2
- package/cjs/lib/utils.js.map +1 -1
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +66 -10
- package/components/Button/Button.md +42 -30
- package/components/Checkbox/Checkbox/Checkbox.js +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +2 -2
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +6 -0
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/DateInput.d.ts +6 -0
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +6 -0
- package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
- package/components/Dropdown/Dropdown.d.ts +2 -2
- package/components/FileUploader/FileUploader/FileUploader.js +277 -0
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
- package/components/FileUploader/FileUploader/package.json +6 -0
- package/components/FileUploader/FileUploader.d.ts +31 -0
- package/components/FileUploader/FileUploader.md +67 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +56 -0
- package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
- package/components/FileUploader/FileUploader.styles/package.json +6 -0
- package/components/FileUploader/FileUploader.styles.d.ts +19 -0
- package/components/FileUploader/index/index.js +3 -0
- package/components/FileUploader/index/index.js.map +1 -0
- package/components/FileUploader/index/package.json +6 -0
- package/components/FileUploader/index.d.ts +4 -0
- package/components/FileUploader/locale/index/index.js +8 -0
- package/components/FileUploader/locale/index/index.js.map +1 -0
- package/components/FileUploader/locale/index/package.json +6 -0
- package/components/FileUploader/locale/index.d.ts +4 -0
- package/components/FileUploader/locale/locales/en/en.js +6 -0
- package/components/FileUploader/locale/locales/en/en.js.map +1 -0
- package/components/FileUploader/locale/locales/en/package.json +6 -0
- package/components/FileUploader/locale/locales/en.d.ts +2 -0
- package/components/FileUploader/locale/locales/ru/package.json +6 -0
- package/components/FileUploader/locale/locales/ru/ru.js +6 -0
- package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
- package/components/FileUploader/locale/locales/ru.d.ts +2 -0
- package/components/FileUploader/locale/package.json +6 -0
- package/components/FileUploader/locale/types/package.json +6 -0
- package/components/FileUploader/locale/types/types.js +0 -0
- package/components/FileUploader/locale/types/types.js.map +1 -0
- package/components/FileUploader/locale/types.d.ts +6 -0
- package/components/FileUploader/package.json +6 -0
- package/components/Hint/Hint/Hint.js.map +1 -1
- package/components/Hint/Hint.d.ts +5 -0
- package/components/Input/Input/Input.js.map +1 -1
- package/components/Input/Input.d.ts +6 -2
- package/components/Link/Link/Link.js +4 -8
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Link/Link.mixins/Link.mixins.js +1 -1
- package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
- package/components/Radio/Radio/Radio.js +6 -5
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +27 -11
- package/components/Radio/Radio.md +36 -12
- package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
- package/components/RadioGroup/RadioGroup.d.ts +2 -2
- package/components/Select/Select/Select.js.map +1 -1
- package/components/Select/Select.d.ts +4 -1
- package/components/SidePage/SidePage/SidePage.js +8 -4
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +5 -0
- package/components/SidePage/SidePage.styles/SidePage.styles.js +16 -19
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +0 -1
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +2 -2
- package/components/Textarea/Textarea/Textarea.js +5 -3
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -2
- package/components/Textarea/Textarea.styles/Textarea.styles.js +12 -9
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Textarea/Textarea.styles.d.ts +1 -0
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.d.ts +2 -2
- package/components/Token/Token/Token.js.map +1 -1
- package/components/Token/Token.d.ts +6 -0
- package/components/TokenInput/TokenInput/TokenInput.js +30 -19
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +6 -0
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
- package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
- package/components/Tooltip/Tooltip/Tooltip.js +2 -1
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +3 -3
- package/hooks/useDrop/package.json +6 -0
- package/hooks/useDrop/useDrop.js +57 -0
- package/hooks/useDrop/useDrop.js.map +1 -0
- package/hooks/useDrop.d.ts +11 -0
- package/hooks/useMemoObject/package.json +6 -0
- package/hooks/useMemoObject/useMemoObject.js +6 -0
- package/hooks/useMemoObject/useMemoObject.js.map +1 -0
- package/hooks/useMemoObject.d.ts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +6 -0
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +5 -12
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +6 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +11 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +79 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +176 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +23 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +11 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +18 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
- package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +85 -0
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
- package/internal/FileUploaderControl/fileUtils/package.json +6 -0
- package/internal/FileUploaderControl/fileUtils.d.ts +18 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
- package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
- package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
- package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
- package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +16 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
- package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/Popup/Popup/Popup.js +9 -2
- package/internal/Popup/Popup/Popup.js.map +1 -1
- package/internal/Popup/Popup.d.ts +13 -0
- package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
- package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +49 -0
- package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
- package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
- package/internal/ThemePlayground/Playground/Playground.js +11 -1
- package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
- package/internal/ThemePlayground/Playground.d.ts +1 -0
- package/internal/ThemePlayground/darkTheme/darkTheme.js +26 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemePlayground/darkTheme.d.ts +15 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/icons/16px/index/index.js +27 -0
- package/internal/icons/16px/index/index.js.map +1 -1
- package/internal/icons/16px/index.d.ts +3 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js +67 -0
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +23 -0
- package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
- package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
- package/lib/forwardRefAndName/package.json +6 -0
- package/lib/forwardRefAndName.d.ts +5 -0
- package/lib/guidUtils/guidUtils.js +4 -0
- package/lib/guidUtils/guidUtils.js.map +1 -0
- package/lib/guidUtils/package.json +6 -0
- package/lib/guidUtils.d.ts +1 -0
- package/lib/locale/types/types.js.map +1 -1
- package/lib/locale/types.d.ts +2 -0
- package/lib/locale/useLocaleForControl/package.json +6 -0
- package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
- package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
- package/lib/locale/useLocaleForControl.d.ts +3 -0
- package/lib/stringUtils/package.json +6 -0
- package/lib/stringUtils/stringUtils.js +12 -0
- package/lib/stringUtils/stringUtils.js.map +1 -0
- package/lib/stringUtils.d.ts +1 -0
- package/lib/utils/utils.js +18 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
+
import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';
|
|
6
|
+
import { readFiles } from "../../../internal/FileUploaderControl/fileUtils";
|
|
7
|
+
import { cx } from "../../../lib/theming/Emotion";
|
|
8
|
+
import { useMemoObject } from "../../../hooks/useMemoObject";
|
|
9
|
+
import { FileUploaderControlContext } from "../../../internal/FileUploaderControl/FileUploaderControlContext";
|
|
10
|
+
import { FileUploaderFileValidationResult } from "../../../internal/FileUploaderControl/FileUploaderFileValidationResult";
|
|
11
|
+
import { useControlLocale } from "../../../internal/FileUploaderControl/hooks/useControlLocale";
|
|
12
|
+
import { useUpload } from "../../../internal/FileUploaderControl/hooks/useUpload";
|
|
13
|
+
import { useDrop } from "../../../hooks/useDrop";
|
|
14
|
+
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
15
|
+
import { UploadIcon } from "../../../internal/icons/16px";
|
|
16
|
+
import { withFileUploaderControlProvider } from "../../../internal/FileUploaderControl/withFileUploaderControlProvider";
|
|
17
|
+
import { keyListener } from "../../../lib/events/keyListener";
|
|
18
|
+
import { FileUploaderFile } from "../../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile";
|
|
19
|
+
import { FileUploaderFileList } from "../../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList";
|
|
20
|
+
import { isBrowser } from "../../../lib/client";
|
|
21
|
+
import { CommonWrapper } from "../../../internal/CommonWrapper";
|
|
22
|
+
import { jsStyles } from "../FileUploader.styles";
|
|
23
|
+
|
|
24
|
+
var stopPropagation = function stopPropagation(e) {
|
|
25
|
+
return e.stopPropagation();
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var _FileUploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
29
|
+
var _cx, _cx2, _cx3, _cx4;
|
|
30
|
+
|
|
31
|
+
var theme = useContext(ThemeContext);
|
|
32
|
+
|
|
33
|
+
var disabled = props.disabled,
|
|
34
|
+
error = props.error,
|
|
35
|
+
warning = props.warning,
|
|
36
|
+
onBlur = props.onBlur,
|
|
37
|
+
onFocus = props.onFocus,
|
|
38
|
+
onReadError = props.onReadError,
|
|
39
|
+
_props$multiple = props.multiple,
|
|
40
|
+
multiple = _props$multiple === void 0 ? false : _props$multiple,
|
|
41
|
+
_props$width = props.width,
|
|
42
|
+
width = _props$width === void 0 ? theme.fileUploaderWidth : _props$width,
|
|
43
|
+
request = props.request,
|
|
44
|
+
getFileValidationText = props.getFileValidationText,
|
|
45
|
+
onRequestSuccess = props.onRequestSuccess,
|
|
46
|
+
onRequestError = props.onRequestError,
|
|
47
|
+
inputProps = _objectWithoutPropertiesLoose(props, ["disabled", "error", "warning", "onBlur", "onFocus", "onReadError", "multiple", "width", "request", "getFileValidationText", "onRequestSuccess", "onRequestError"]);
|
|
48
|
+
|
|
49
|
+
var _useContext = useContext(FileUploaderControlContext),
|
|
50
|
+
files = _useContext.files,
|
|
51
|
+
setFiles = _useContext.setFiles,
|
|
52
|
+
removeFile = _useContext.removeFile,
|
|
53
|
+
setFileValidationResult = _useContext.setFileValidationResult;
|
|
54
|
+
|
|
55
|
+
var locale = useControlLocale();
|
|
56
|
+
var inputRef = useRef(null);
|
|
57
|
+
var isAsync = !!request;
|
|
58
|
+
var isSingleMode = !multiple;
|
|
59
|
+
var upload = useUpload(request, onRequestSuccess, onRequestError);
|
|
60
|
+
var tryValidateAndUpload = useCallback(function (files) {
|
|
61
|
+
files.forEach( /*#__PURE__*/function () {
|
|
62
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file) {
|
|
63
|
+
var validationMessage;
|
|
64
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
65
|
+
while (1) {
|
|
66
|
+
switch (_context.prev = _context.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
_context.t0 = getFileValidationText;
|
|
69
|
+
|
|
70
|
+
if (!_context.t0) {
|
|
71
|
+
_context.next = 5;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
_context.next = 4;
|
|
76
|
+
return getFileValidationText(file);
|
|
77
|
+
|
|
78
|
+
case 4:
|
|
79
|
+
_context.t0 = _context.sent;
|
|
80
|
+
|
|
81
|
+
case 5:
|
|
82
|
+
validationMessage = _context.t0;
|
|
83
|
+
|
|
84
|
+
if (!validationMessage) {
|
|
85
|
+
isAsync && upload(file);
|
|
86
|
+
} else {
|
|
87
|
+
setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
case 7:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, _callee);
|
|
96
|
+
}));
|
|
97
|
+
|
|
98
|
+
return function (_x) {
|
|
99
|
+
return _ref.apply(this, arguments);
|
|
100
|
+
};
|
|
101
|
+
}());
|
|
102
|
+
}, [upload, error, getFileValidationText, isAsync]);
|
|
103
|
+
/** common part **/
|
|
104
|
+
|
|
105
|
+
var handleChange = useCallback( /*#__PURE__*/function () {
|
|
106
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(newFiles) {
|
|
107
|
+
var filesArray, uploadFiles, selectedFiles, readErrorFiles;
|
|
108
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
109
|
+
while (1) {
|
|
110
|
+
switch (_context2.prev = _context2.next) {
|
|
111
|
+
case 0:
|
|
112
|
+
if (newFiles) {
|
|
113
|
+
_context2.next = 2;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return _context2.abrupt("return");
|
|
118
|
+
|
|
119
|
+
case 2:
|
|
120
|
+
filesArray = Array.from(newFiles);
|
|
121
|
+
|
|
122
|
+
if (isSingleMode) {
|
|
123
|
+
filesArray = [filesArray[0]];
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
_context2.next = 6;
|
|
127
|
+
return readFiles(filesArray);
|
|
128
|
+
|
|
129
|
+
case 6:
|
|
130
|
+
uploadFiles = _context2.sent;
|
|
131
|
+
selectedFiles = uploadFiles.filter(function (v) {
|
|
132
|
+
return !!v.fileInBase64;
|
|
133
|
+
});
|
|
134
|
+
readErrorFiles = uploadFiles.filter(function (v) {
|
|
135
|
+
return !v.fileInBase64;
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
if (isSingleMode && selectedFiles.length && files.length) {
|
|
139
|
+
removeFile(files[0].id);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (selectedFiles.length) {
|
|
143
|
+
setFiles(selectedFiles);
|
|
144
|
+
tryValidateAndUpload(selectedFiles);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
readErrorFiles.length && (onReadError == null ? void 0 : onReadError(readErrorFiles));
|
|
148
|
+
|
|
149
|
+
case 12:
|
|
150
|
+
case "end":
|
|
151
|
+
return _context2.stop();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}, _callee2);
|
|
155
|
+
}));
|
|
156
|
+
|
|
157
|
+
return function (_x2) {
|
|
158
|
+
return _ref2.apply(this, arguments);
|
|
159
|
+
};
|
|
160
|
+
}(), [onReadError, tryValidateAndUpload, setFiles, isSingleMode, files, removeFile]);
|
|
161
|
+
var handleDrop = useCallback(function (event) {
|
|
162
|
+
if (disabled) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
var dataTransfer = event.dataTransfer;
|
|
167
|
+
var files = dataTransfer.files;
|
|
168
|
+
|
|
169
|
+
if ((files == null ? void 0 : files.length) > 0) {
|
|
170
|
+
handleChange(files);
|
|
171
|
+
dataTransfer.clearData();
|
|
172
|
+
}
|
|
173
|
+
}, [handleChange, disabled]);
|
|
174
|
+
|
|
175
|
+
var _useDrop = useDrop({
|
|
176
|
+
onDrop: handleDrop
|
|
177
|
+
}),
|
|
178
|
+
isDraggable = _useDrop.isDraggable,
|
|
179
|
+
labelRef = _useDrop.ref;
|
|
180
|
+
|
|
181
|
+
var _useDrop2 = useDrop(),
|
|
182
|
+
isWindowDraggable = _useDrop2.isDraggable,
|
|
183
|
+
windowRef = _useDrop2.ref;
|
|
184
|
+
|
|
185
|
+
if (isBrowser) {
|
|
186
|
+
windowRef.current = window.document;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
var focus = useCallback(function () {
|
|
190
|
+
var _inputRef$current;
|
|
191
|
+
|
|
192
|
+
keyListener.isTabPressed = true;
|
|
193
|
+
(_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
|
|
194
|
+
}, []);
|
|
195
|
+
var blur = useCallback(function () {
|
|
196
|
+
var _inputRef$current2;
|
|
197
|
+
|
|
198
|
+
(_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.blur();
|
|
199
|
+
}, []);
|
|
200
|
+
useImperativeHandle(ref, function () {
|
|
201
|
+
return {
|
|
202
|
+
focus: focus,
|
|
203
|
+
blur: blur
|
|
204
|
+
};
|
|
205
|
+
}, [ref]);
|
|
206
|
+
|
|
207
|
+
var _useState = useState(false),
|
|
208
|
+
focusedByTab = _useState[0],
|
|
209
|
+
setFocusedByTab = _useState[1];
|
|
210
|
+
|
|
211
|
+
var handleInputChange = useCallback(function (event) {
|
|
212
|
+
handleChange(event.target.files);
|
|
213
|
+
}, [handleChange]);
|
|
214
|
+
var handleFocus = useCallback(function (e) {
|
|
215
|
+
if (!disabled) {
|
|
216
|
+
// focus event fires before keyDown eventlistener
|
|
217
|
+
// so we should check tabPressed in async way
|
|
218
|
+
requestAnimationFrame(function () {
|
|
219
|
+
if (keyListener.isTabPressed) {
|
|
220
|
+
setFocusedByTab(true);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
onFocus == null ? void 0 : onFocus(e);
|
|
224
|
+
}
|
|
225
|
+
}, [disabled, onFocus]);
|
|
226
|
+
var handleBlur = useCallback(function (e) {
|
|
227
|
+
setFocusedByTab(false);
|
|
228
|
+
|
|
229
|
+
if (!disabled) {
|
|
230
|
+
onBlur == null ? void 0 : onBlur(e);
|
|
231
|
+
}
|
|
232
|
+
}, [disabled, onBlur]);
|
|
233
|
+
var uploadButtonClassNames = cx(jsStyles.uploadButton(theme), (_cx = {}, _cx[jsStyles.uploadButtonFocus(theme)] = focusedByTab, _cx[jsStyles.dragOver()] = isDraggable && !disabled, _cx[jsStyles.disabled(theme)] = disabled, _cx[jsStyles.warning(theme)] = !!warning, _cx[jsStyles.error(theme)] = !!error, _cx));
|
|
234
|
+
var uploadButtonWrapperClassNames = cx((_cx2 = {}, _cx2[jsStyles.windowDragOver()] = isWindowDraggable && !disabled, _cx2));
|
|
235
|
+
var uploadButtonIconClassNames = cx(jsStyles.icon(theme), (_cx3 = {}, _cx3[jsStyles.iconDisabled(theme)] = disabled, _cx3));
|
|
236
|
+
var hasOneFile = files.length === 1;
|
|
237
|
+
var hasOneFileForSingle = isSingleMode && hasOneFile;
|
|
238
|
+
var linkClassNames = cx(jsStyles.link(theme), (_cx4 = {}, _cx4[jsStyles.linkDisabled(theme)] = disabled, _cx4));
|
|
239
|
+
return /*#__PURE__*/React.createElement(CommonWrapper, props, /*#__PURE__*/React.createElement("div", {
|
|
240
|
+
className: jsStyles.root(theme),
|
|
241
|
+
style: useMemoObject({
|
|
242
|
+
width: width
|
|
243
|
+
})
|
|
244
|
+
}, !isSingleMode && !!files.length && /*#__PURE__*/React.createElement(FileUploaderFileList, null), /*#__PURE__*/React.createElement("div", {
|
|
245
|
+
className: uploadButtonWrapperClassNames
|
|
246
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
247
|
+
ref: labelRef,
|
|
248
|
+
className: uploadButtonClassNames
|
|
249
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
250
|
+
className: jsStyles.content()
|
|
251
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
252
|
+
"data-tid": 'FileUploader__link',
|
|
253
|
+
className: linkClassNames
|
|
254
|
+
}, hasOneFileForSingle ? locale.choosedFile : locale.chooseFile), "\xA0", /*#__PURE__*/React.createElement("div", {
|
|
255
|
+
className: jsStyles.afterLinkText()
|
|
256
|
+
}, hasOneFileForSingle ? /*#__PURE__*/React.createElement(FileUploaderFile, {
|
|
257
|
+
file: files[0]
|
|
258
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, locale.orDragHere, "\xA0", /*#__PURE__*/React.createElement("div", {
|
|
259
|
+
className: uploadButtonIconClassNames
|
|
260
|
+
}, /*#__PURE__*/React.createElement(UploadIcon, null))))), /*#__PURE__*/React.createElement("input", _extends({}, inputProps, {
|
|
261
|
+
ref: inputRef,
|
|
262
|
+
tabIndex: disabled ? -1 : 0,
|
|
263
|
+
type: "file",
|
|
264
|
+
disabled: disabled,
|
|
265
|
+
multiple: multiple,
|
|
266
|
+
className: jsStyles.fileInput(),
|
|
267
|
+
onClick: stopPropagation,
|
|
268
|
+
onChange: handleInputChange,
|
|
269
|
+
onFocus: handleFocus,
|
|
270
|
+
onBlur: handleBlur // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд
|
|
271
|
+
,
|
|
272
|
+
value: ''
|
|
273
|
+
}))))));
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
export var FileUploader = withFileUploaderControlProvider(_FileUploader);
|
|
277
|
+
FileUploader.displayName = 'FileUploader';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["FileUploader.tsx"],"names":["React","useCallback","useContext","useImperativeHandle","useRef","useState","readFiles","cx","useMemoObject","FileUploaderControlContext","FileUploaderFileValidationResult","useControlLocale","useUpload","useDrop","ThemeContext","UploadIcon","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","isBrowser","CommonWrapper","jsStyles","stopPropagation","e","_FileUploader","forwardRef","props","ref","theme","disabled","error","warning","onBlur","onFocus","onReadError","multiple","width","fileUploaderWidth","request","getFileValidationText","onRequestSuccess","onRequestError","inputProps","files","setFiles","removeFile","setFileValidationResult","locale","inputRef","isAsync","isSingleMode","upload","tryValidateAndUpload","forEach","file","validationMessage","id","handleChange","newFiles","filesArray","Array","from","uploadFiles","selectedFiles","filter","v","fileInBase64","readErrorFiles","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","current","window","document","focus","isTabPressed","blur","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","linkClassNames","link","linkDisabled","root","content","choosedFile","chooseFile","afterLinkText","orDragHere","fileInput","FileUploader","displayName"],"mappings":"uSAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,UAA7B,EAAyCC,mBAAzC,EAA8DC,MAA9D,EAAsEC,QAAtE,QAAsF,OAAtF;;AAEA,SAAmCC,SAAnC,QAAoD,8CAApD;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,aAAT,QAA8B,2BAA9B;AACA,SAASC,0BAAT,QAA2C,+DAA3C;AACA,SAASC,gCAAT,QAAiD,qEAAjD;AACA,SAASC,gBAAT,QAAiC,2DAAjC;AACA,SAASC,SAAT,QAA0B,oDAA1B;AACA,SAASC,OAAT,QAAwB,qBAAxB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,UAAT,QAA2B,2BAA3B;;AAEA,SAASC,+BAAT,QAAgD,oEAAhD;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,gBAAT,QAAiC,sEAAjC;AACA,SAASC,oBAAT,QAAqC,8EAArC;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SAAsBC,aAAtB,QAA2C,8BAA3C;;AAEA,SAASC,QAAT,QAAyB,uBAAzB;;AAEA,IAAMC,eAAwC,GAAG,SAA3CA,eAA2C,CAACC,CAAD,UAAOA,CAAC,CAACD,eAAF,EAAP,EAAjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAME,aAAa,gBAAGzB,KAAK,CAAC0B,UAAN,CAAsD,UAACC,KAAD,EAA4BC,GAA5B,EAAoC;AAC9G,MAAMC,KAAK,GAAG3B,UAAU,CAACY,YAAD,CAAxB,CAD8G;;;AAI5GgB,EAAAA,QAJ4G;;;;;;;;;;;;;AAiB1GH,EAAAA,KAjB0G,CAI5GG,QAJ4G,CAK5GC,KAL4G,GAiB1GJ,KAjB0G,CAK5GI,KAL4G,CAM5GC,OAN4G,GAiB1GL,KAjB0G,CAM5GK,OAN4G,CAO5GC,MAP4G,GAiB1GN,KAjB0G,CAO5GM,MAP4G,CAQ5GC,OAR4G,GAiB1GP,KAjB0G,CAQ5GO,OAR4G,CAS5GC,WAT4G,GAiB1GR,KAjB0G,CAS5GQ,WAT4G,mBAiB1GR,KAjB0G,CAU5GS,QAV4G,CAU5GA,QAV4G,gCAUjG,KAViG,kCAiB1GT,KAjB0G,CAW5GU,KAX4G,CAW5GA,KAX4G,6BAWpGR,KAAK,CAACS,iBAX8F,gBAY5GC,OAZ4G,GAiB1GZ,KAjB0G,CAY5GY,OAZ4G,CAa5GC,qBAb4G,GAiB1Gb,KAjB0G,CAa5Ga,qBAb4G,CAc5GC,gBAd4G,GAiB1Gd,KAjB0G,CAc5Gc,gBAd4G,CAe5GC,cAf4G,GAiB1Gf,KAjB0G,CAe5Ge,cAf4G,CAgBzGC,UAhByG,iCAiB1GhB,KAjB0G;;AAmB7CzB,EAAAA,UAAU,CAACO,0BAAD,CAnBmC,CAmBtGmC,KAnBsG,eAmBtGA,KAnBsG,CAmB/FC,QAnB+F,eAmB/FA,QAnB+F,CAmBrFC,UAnBqF,eAmBrFA,UAnBqF,CAmBzEC,uBAnByE,eAmBzEA,uBAnByE;;AAqB9G,MAAMC,MAAM,GAAGrC,gBAAgB,EAA/B;;AAEA,MAAMsC,QAAQ,GAAG7C,MAAM,CAAmB,IAAnB,CAAvB;;AAEA,MAAM8C,OAAO,GAAG,CAAC,CAACX,OAAlB;AACA,MAAMY,YAAY,GAAG,CAACf,QAAtB;;AAEA,MAAMgB,MAAM,GAAGxC,SAAS,CAAC2B,OAAD,EAAUE,gBAAV,EAA4BC,cAA5B,CAAxB;;AAEA,MAAMW,oBAAoB,GAAGpD,WAAW;AACtC,YAAC2C,KAAD,EAAuC;AACrCA,IAAAA,KAAK,CAACU,OAAN,gGAAc,iBAAOC,IAAP;AACcf,gBAAAA,qBADd,sEAC8CA,qBAAqB,CAACe,IAAD,CADnE,2CACNC,iBADM;;AAGZ,oBAAI,CAACA,iBAAL,EAAwB;AACtBN,kBAAAA,OAAO,IAAIE,MAAM,CAACG,IAAD,CAAjB;AACD,iBAFD,MAEO;AACLR,kBAAAA,uBAAuB,CAACQ,IAAI,CAACE,EAAN,EAAU/C,gCAAgC,CAACqB,KAAjC,CAAuCyB,iBAAvC,CAAV,CAAvB;AACD,iBAPW,wDAAd;;AASD,GAXqC;AAYtC,GAACJ,MAAD,EAASrB,KAAT,EAAgBS,qBAAhB,EAAuCU,OAAvC,CAZsC,CAAxC;;;AAeA;AACA,MAAMQ,YAAY,GAAGzD,WAAW;AAC9B,sBAAO0D,QAAP;AACOA,cAAAA,QADP;;AAGMC,cAAAA,UAHN,GAGmBC,KAAK,CAACC,IAAN,CAAWH,QAAX,CAHnB;;AAKE,kBAAIR,YAAJ,EAAkB;AAChBS,gBAAAA,UAAU,GAAG,CAACA,UAAU,CAAC,CAAD,CAAX,CAAb;AACD,eAPH;;AAS4BtD,gBAAAA,SAAS,CAACsD,UAAD,CATrC,SASQG,WATR;;AAWQC,cAAAA,aAXR,GAWwBD,WAAW,CAACE,MAAZ,CAAmB,UAACC,CAAD,UAAO,CAAC,CAACA,CAAC,CAACC,YAAX,EAAnB,CAXxB;AAYQC,cAAAA,cAZR,GAYyBL,WAAW,CAACE,MAAZ,CAAmB,UAACC,CAAD,UAAO,CAACA,CAAC,CAACC,YAAV,EAAnB,CAZzB;;AAcE,kBAAIhB,YAAY,IAAIa,aAAa,CAACK,MAA9B,IAAwCzB,KAAK,CAACyB,MAAlD,EAA0D;AACxDvB,gBAAAA,UAAU,CAACF,KAAK,CAAC,CAAD,CAAL,CAASa,EAAV,CAAV;AACD;;AAED,kBAAIO,aAAa,CAACK,MAAlB,EAA0B;AACxBxB,gBAAAA,QAAQ,CAACmB,aAAD,CAAR;AACAX,gBAAAA,oBAAoB,CAACW,aAAD,CAApB;AACD;;AAEDI,cAAAA,cAAc,CAACC,MAAf,KAAyBlC,WAAzB,oBAAyBA,WAAW,CAAGiC,cAAH,CAApC,EAvBF,2DAD8B;;AA0B9B,GAACjC,WAAD,EAAckB,oBAAd,EAAoCR,QAApC,EAA8CM,YAA9C,EAA4DP,KAA5D,EAAmEE,UAAnE,CA1B8B,CAAhC;;;AA6BA,MAAMwB,UAAU,GAAGrE,WAAW;AAC5B,YAACsE,KAAD,EAAW;AACT,QAAIzC,QAAJ,EAAc;AACZ;AACD,KAHQ;;AAKD0C,IAAAA,YALC,GAKgBD,KALhB,CAKDC,YALC;AAMD5B,IAAAA,KANC,GAMS4B,YANT,CAMD5B,KANC;;AAQT,QAAI,CAAAA,KAAK,QAAL,YAAAA,KAAK,CAAEyB,MAAP,IAAgB,CAApB,EAAuB;AACrBX,MAAAA,YAAY,CAACd,KAAD,CAAZ;AACA4B,MAAAA,YAAY,CAACC,SAAb;AACD;AACF,GAb2B;AAc5B,GAACf,YAAD,EAAe5B,QAAf,CAd4B,CAA9B,CA3E8G;;;AA4FvEjB,EAAAA,OAAO,CAAmB,EAAE6D,MAAM,EAAEJ,UAAV,EAAnB,CA5FgE,CA4FtGK,WA5FsG,YA4FtGA,WA5FsG,CA4FpFC,QA5FoF,YA4FzFhD,GA5FyF;AA6FnDf,EAAAA,OAAO,EA7F4C,CA6FzFgE,iBA7FyF,aA6FtGF,WA7FsG,CA6FjEG,SA7FiE,aA6FtElD,GA7FsE;;AA+F9G,MAAIR,SAAJ,EAAe;AACb0D,IAAAA,SAAS,CAACC,OAAV,GAAoBC,MAAM,CAACC,QAA3B;AACD;;AAED,MAAMC,KAAK,GAAGjF,WAAW,CAAC,YAAM;AAC9BgB,IAAAA,WAAW,CAACkE,YAAZ,GAA2B,IAA3B;AACA,yBAAAlC,QAAQ,CAAC8B,OAAT,uCAAkBG,KAAlB;AACD,GAHwB,EAGtB,EAHsB,CAAzB;;AAKA,MAAME,IAAI,GAAGnF,WAAW,CAAC,YAAM;AAC7B,0BAAAgD,QAAQ,CAAC8B,OAAT,wCAAkBK,IAAlB;AACD,GAFuB,EAErB,EAFqB,CAAxB;;AAIAjF,EAAAA,mBAAmB,CAACyB,GAAD,EAAM,oBAAO,EAAEsD,KAAK,EAALA,KAAF,EAASE,IAAI,EAAJA,IAAT,EAAP,EAAN,EAA+B,CAACxD,GAAD,CAA/B,CAAnB,CA5G8G;;AA8GtEvB,EAAAA,QAAQ,CAAC,KAAD,CA9G8D,CA8GvGgF,YA9GuG,gBA8GzFC,eA9GyF;AA+G9G,MAAMC,iBAAiB,GAAGtF,WAAW;AACnC,YAACsE,KAAD,EAAgD;AAC9Cb,IAAAA,YAAY,CAACa,KAAK,CAACiB,MAAN,CAAa5C,KAAd,CAAZ;AACD,GAHkC;AAInC,GAACc,YAAD,CAJmC,CAArC;;;AAOA,MAAM+B,WAAW,GAAGxF,WAAW;AAC7B,YAACuB,CAAD,EAA2C;AACzC,QAAI,CAACM,QAAL,EAAe;AACb;AACA;AACA4D,MAAAA,qBAAqB,CAAC,YAAM;AAC1B,YAAIzE,WAAW,CAACkE,YAAhB,EAA8B;AAC5BG,UAAAA,eAAe,CAAC,IAAD,CAAf;AACD;AACF,OAJoB,CAArB;AAKApD,MAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGV,CAAH,CAAP;AACD;AACF,GAZ4B;AAa7B,GAACM,QAAD,EAAWI,OAAX,CAb6B,CAA/B;;;AAgBA,MAAMyD,UAAU,GAAG1F,WAAW;AAC5B,YAACuB,CAAD,EAA2C;AACzC8D,IAAAA,eAAe,CAAC,KAAD,CAAf;AACA,QAAI,CAACxD,QAAL,EAAe;AACbG,MAAAA,MAAM,QAAN,YAAAA,MAAM,CAAGT,CAAH,CAAN;AACD;AACF,GAN2B;AAO5B,GAACM,QAAD,EAAWG,MAAX,CAP4B,CAA9B;;;AAUA,MAAM2D,sBAAsB,GAAGrF,EAAE,CAACe,QAAQ,CAACuE,YAAT,CAAsBhE,KAAtB,CAAD;AAC9BP,EAAAA,QAAQ,CAACwE,iBAAT,CAA2BjE,KAA3B,CAD8B,IACMwD,YADN;AAE9B/D,EAAAA,QAAQ,CAACyE,QAAT,EAF8B,IAERpB,WAAW,IAAI,CAAC7C,QAFR;AAG9BR,EAAAA,QAAQ,CAACQ,QAAT,CAAkBD,KAAlB,CAH8B,IAGHC,QAHG;AAI9BR,EAAAA,QAAQ,CAACU,OAAT,CAAiBH,KAAjB,CAJ8B,IAIJ,CAAC,CAACG,OAJE;AAK9BV,EAAAA,QAAQ,CAACS,KAAT,CAAeF,KAAf,CAL8B,IAKN,CAAC,CAACE,KALI,OAAjC;;;AAQA,MAAMiE,6BAA6B,GAAGzF,EAAE;AACrCe,EAAAA,QAAQ,CAAC2E,cAAT,EADqC,IACTpB,iBAAiB,IAAI,CAAC/C,QADb,QAAxC;;;AAIA,MAAMoE,0BAA0B,GAAG3F,EAAE,CAACe,QAAQ,CAAC6E,IAAT,CAActE,KAAd,CAAD;AAClCP,EAAAA,QAAQ,CAAC8E,YAAT,CAAsBvE,KAAtB,CADkC,IACHC,QADG,QAArC;;;AAIA,MAAMuE,UAAU,GAAGzD,KAAK,CAACyB,MAAN,KAAiB,CAApC;AACA,MAAMiC,mBAAmB,GAAGnD,YAAY,IAAIkD,UAA5C;;AAEA,MAAME,cAAc,GAAGhG,EAAE,CAACe,QAAQ,CAACkF,IAAT,CAAc3E,KAAd,CAAD;AACtBP,EAAAA,QAAQ,CAACmF,YAAT,CAAsB5E,KAAtB,CADsB,IACSC,QADT,QAAzB;;;AAIA;AACE,wBAAC,aAAD,EAAmBH,KAAnB;AACE,iCAAK,SAAS,EAAEL,QAAQ,CAACoF,IAAT,CAAc7E,KAAd,CAAhB,EAAsC,KAAK,EAAErB,aAAa,CAAC,EAAE6B,KAAK,EAALA,KAAF,EAAD,CAA1D;AACG,KAACc,YAAD,IAAiB,CAAC,CAACP,KAAK,CAACyB,MAAzB,iBAAmC,oBAAC,oBAAD,OADtC;AAEE,iCAAK,SAAS,EAAE2B,6BAAhB;AACE,mCAAO,GAAG,EAAEpB,QAAZ,EAAsB,SAAS,EAAEgB,sBAAjC;AACE,iCAAK,SAAS,EAAEtE,QAAQ,CAACqF,OAAT,EAAhB;AACE,kCAAM,YAAU,oBAAhB,EAAsC,SAAS,EAAEJ,cAAjD;AACGD,IAAAA,mBAAmB,GAAGtD,MAAM,CAAC4D,WAAV,GAAwB5D,MAAM,CAAC6D,UADrD,CADF;;;AAKE,iCAAK,SAAS,EAAEvF,QAAQ,CAACwF,aAAT,EAAhB;AACGR,IAAAA,mBAAmB;AAClB,wBAAC,gBAAD,IAAkB,IAAI,EAAE1D,KAAK,CAAC,CAAD,CAA7B,GADkB;;AAGlB;AACGI,IAAAA,MAAM,CAAC+D,UADV;AAEE,iCAAK,SAAS,EAAEb,0BAAhB;AACE,wBAAC,UAAD,OADF,CAFF,CAJJ,CALF,CADF;;;;;;AAmBE;AACMvD,IAAAA,UADN;AAEE,MAAA,GAAG,EAAEM,QAFP;AAGE,MAAA,QAAQ,EAAEnB,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAH5B;AAIE,MAAA,IAAI,EAAC,MAJP;AAKE,MAAA,QAAQ,EAAEA,QALZ;AAME,MAAA,QAAQ,EAAEM,QANZ;AAOE,MAAA,SAAS,EAAEd,QAAQ,CAAC0F,SAAT,EAPb;AAQE,MAAA,OAAO,EAAEzF,eARX;AASE,MAAA,QAAQ,EAAEgE,iBATZ;AAUE,MAAA,OAAO,EAAEE,WAVX;AAWE,MAAA,MAAM,EAAEE;AACR;AAZF,QAaE,KAAK,EAAE,EAbT,IAnBF,CADF,CAFF,CADF,CADF;;;;;;;AA4CD,CAnNqB,CAAtB;;;;AAuNA,OAAO,IAAMsB,YAAY,GAAGjG,+BAA+B,CAAqCS,aAArC,CAApD;AACPwF,YAAY,CAACC,WAAb,GAA2B,cAA3B","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, readFiles } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ninterface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n\n /** Срабатывает при невалидном чтении файла (превращение в base64) */\n onReadError?: (files: FileUploaderAttachedFile[]) => void;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /** Функция валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. */\n getFileValidationText?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n}\n\nexport interface FileUploaderRef {\n focus: () => void;\n blur: () => void;\n}\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n disabled,\n error,\n warning,\n onBlur,\n onFocus,\n onReadError,\n multiple = false,\n width = theme.fileUploaderWidth,\n request,\n getFileValidationText,\n onRequestSuccess,\n onRequestError,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, setFileValidationResult } = useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = getFileValidationText && (await getFileValidationText(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [upload, error, getFileValidationText, isAsync],\n );\n\n /** common part **/\n const handleChange = useCallback(\n async (newFiles: FileList | null) => {\n if (!newFiles) return;\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const uploadFiles = await readFiles(filesArray);\n\n const selectedFiles = uploadFiles.filter((v) => !!v.fileInBase64);\n const readErrorFiles = uploadFiles.filter((v) => !v.fileInBase64);\n\n if (isSingleMode && selectedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (selectedFiles.length) {\n setFiles(selectedFiles);\n tryValidateAndUpload(selectedFiles);\n }\n\n readErrorFiles.length && onReadError?.(readErrorFiles);\n },\n [onReadError, tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur }), [ref]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n handleChange(event.target.files);\n },\n [handleChange],\n );\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n },\n [disabled, onFocus],\n );\n\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n },\n [disabled, onBlur],\n );\n\n const uploadButtonClassNames = cx(jsStyles.uploadButton(theme), {\n [jsStyles.uploadButtonFocus(theme)]: focusedByTab,\n [jsStyles.dragOver()]: isDraggable && !disabled,\n [jsStyles.disabled(theme)]: disabled,\n [jsStyles.warning(theme)]: !!warning,\n [jsStyles.error(theme)]: !!error,\n });\n\n const uploadButtonWrapperClassNames = cx({\n [jsStyles.windowDragOver()]: isWindowDraggable && !disabled,\n });\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.iconDisabled(theme)]: disabled,\n });\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile;\n\n const linkClassNames = cx(jsStyles.link(theme), {\n [jsStyles.linkDisabled(theme)]: disabled,\n });\n\n return (\n <CommonWrapper {...props}>\n <div className={jsStyles.root(theme)} style={useMemoObject({ width })}>\n {!isSingleMode && !!files.length && <FileUploaderFileList />}\n <div className={uploadButtonWrapperClassNames}>\n <label ref={labelRef} className={uploadButtonClassNames}>\n <div className={jsStyles.content()}>\n <span data-tid={'FileUploader__link'} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n \n <div className={jsStyles.afterLinkText()}>\n {hasOneFileForSingle ? (\n <FileUploaderFile file={files[0]} />\n ) : (\n <>\n {locale.orDragHere} \n <div className={uploadButtonIconClassNames}>\n <UploadIcon />\n </div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(_FileUploader);\nFileUploader.displayName = 'FileUploader';\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FileUploaderAttachedFile } from '../../internal/FileUploaderControl/fileUtils';
|
|
3
|
+
import { Nullable } from '../../typings/utility-types';
|
|
4
|
+
import { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';
|
|
5
|
+
import { CommonProps } from '../../internal/CommonWrapper';
|
|
6
|
+
interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
7
|
+
/** Состояние ошибки всего контрола */
|
|
8
|
+
error?: boolean;
|
|
9
|
+
/** Состояние предупреждения всего контрола */
|
|
10
|
+
warning?: boolean;
|
|
11
|
+
/** Свойство ширины. */
|
|
12
|
+
width?: React.CSSProperties['width'];
|
|
13
|
+
/** Срабатывает при невалидном чтении файла (превращение в base64) */
|
|
14
|
+
onReadError?: (files: FileUploaderAttachedFile[]) => void;
|
|
15
|
+
/** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */
|
|
16
|
+
request?: (file: FileUploaderAttachedFile) => Promise<void>;
|
|
17
|
+
/** Срабатывает при удачной попытке отправки через request */
|
|
18
|
+
onRequestSuccess?: (fileId: string) => void;
|
|
19
|
+
/** Срабатывает при неудачной попытке отправки через request */
|
|
20
|
+
onRequestError?: (fileId: string) => void;
|
|
21
|
+
/** Функция валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. */
|
|
22
|
+
getFileValidationText?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;
|
|
23
|
+
}
|
|
24
|
+
export interface FileUploaderRef {
|
|
25
|
+
focus: () => void;
|
|
26
|
+
blur: () => void;
|
|
27
|
+
}
|
|
28
|
+
export interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {
|
|
29
|
+
}
|
|
30
|
+
export declare const FileUploader: React.ForwardRefExoticComponent<FileUploaderProps & FileUploaderControlProviderProps & React.RefAttributes<FileUploaderRef>>;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Контрол загрузки файлов.
|
|
2
|
+
Можно использовать для синхронной отправки данных, например, в форме.
|
|
3
|
+
Или же можно использовать в асинхронном режиме.
|
|
4
|
+
|
|
5
|
+
Синхронный контрол
|
|
6
|
+
```jsx harmony
|
|
7
|
+
import { FileUploader } from '@skbkontur/react-ui';
|
|
8
|
+
|
|
9
|
+
<FileUploader />
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Асинхронный контрол
|
|
13
|
+
```jsx harmony
|
|
14
|
+
import { FileUploader } from '@skbkontur/react-ui';
|
|
15
|
+
|
|
16
|
+
const request = () => Promise.resolve();
|
|
17
|
+
|
|
18
|
+
<FileUploader request={request} />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Multiple контрол
|
|
22
|
+
```jsx harmony
|
|
23
|
+
import { FileUploader } from '@skbkontur/react-ui';
|
|
24
|
+
|
|
25
|
+
const request = () => Promise.reject();
|
|
26
|
+
|
|
27
|
+
<FileUploader request={request} multiple />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Валидация файла в списке
|
|
31
|
+
```jsx harmony
|
|
32
|
+
import { FileUploader } from '@skbkontur/react-ui';
|
|
33
|
+
|
|
34
|
+
<FileUploader multiple getFileValidationText={({originalFile}) => `У файла ${originalFile.name} неверный формат`} />
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Валидация контрола
|
|
38
|
+
```jsx harmony
|
|
39
|
+
import { FileUploader } from '@skbkontur/react-ui';
|
|
40
|
+
|
|
41
|
+
<FileUploader multiple error />
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
#### Локали по умолчанию
|
|
45
|
+
|
|
46
|
+
```typescript static
|
|
47
|
+
interface FileUploaderLocale {
|
|
48
|
+
chooseFile: string;
|
|
49
|
+
choosedFile: string;
|
|
50
|
+
orDragHere: string;
|
|
51
|
+
requestErrorText: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const ru_RU = {
|
|
55
|
+
chooseFile: 'Выберите файл',
|
|
56
|
+
choosedFile: 'Выбран файл',
|
|
57
|
+
orDragHere: 'или перетащите сюда',
|
|
58
|
+
requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже',
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const en_GB = {
|
|
62
|
+
chooseFile: 'Select a file',
|
|
63
|
+
choosedFile: 'File selected',
|
|
64
|
+
orDragHere: 'or drag here',
|
|
65
|
+
requestErrorText: 'The file could not be uploaded to the server, please try again later',
|
|
66
|
+
};
|
|
67
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
|
+
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
|
|
4
|
+
|
|
5
|
+
import { css, keyframes, memoizeStyle } from "../../../lib/theming/Emotion";
|
|
6
|
+
var styles = {
|
|
7
|
+
pulse: function pulse() {
|
|
8
|
+
return keyframes(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n 0% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0.7);\n }\n 95% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 10px rgba(45,164,249,0);\n }\n 100% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0);\n }\n "])));
|
|
9
|
+
},
|
|
10
|
+
root: function root(t) {
|
|
11
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n min-width: 285px;\n position: relative;\n background-color: ", ";\n line-height: ", ";\n font-size: ", ";\n color: ", ";\n "])), t.fileUploaderBg, t.fileUploaderLineHeight, t.fileUploaderFontSize, t.fileUploaderTextColorDefault);
|
|
12
|
+
},
|
|
13
|
+
uploadButton: function uploadButton(t) {
|
|
14
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ", " ", " ", ";\n box-sizing: border-box;\n border-radius: ", ";\n outline: none;\n cursor: pointer;\n padding: ", " ", ";\n transition: box-shadow 0.3s ease;\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderStyle, t.fileUploaderBorderColor, t.fileUploaderBorderRadius, t.fileUploaderPaddingY, t.fileUploaderPaddingX);
|
|
15
|
+
},
|
|
16
|
+
uploadButtonFocus: function uploadButtonFocus(t) {
|
|
17
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorFocus, t.fileUploaderBorderColorFocus);
|
|
18
|
+
},
|
|
19
|
+
dragOver: function dragOver() {
|
|
20
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n border: 1px solid #2da4f9;\n border-radius: 2px;\n box-shadow: 0px 0px 0px 3px #2da4f9, 0px 0px 0px 8px rgba(45, 164, 249, 0.35);\n "])));
|
|
21
|
+
},
|
|
22
|
+
windowDragOver: function windowDragOver() {
|
|
23
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n border-radius: 2px;\n animation: ", " 1.5s infinite;\n "])), styles.pulse());
|
|
24
|
+
},
|
|
25
|
+
content: function content() {
|
|
26
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n display: flex;\n width: 100%;\n align-items: center;\n height: 100%;\n "])));
|
|
27
|
+
},
|
|
28
|
+
fileInput: function fileInput() {
|
|
29
|
+
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n width: 0;\n height: 0;\n "])));
|
|
30
|
+
},
|
|
31
|
+
afterLinkText: function afterLinkText() {
|
|
32
|
+
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n flex: 1 1 auto;\n "])));
|
|
33
|
+
},
|
|
34
|
+
warning: function warning(t) {
|
|
35
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorWarning, t.fileUploaderBorderColorWarning);
|
|
36
|
+
},
|
|
37
|
+
error: function error(t) {
|
|
38
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorError, t.fileUploaderBorderColorError);
|
|
39
|
+
},
|
|
40
|
+
disabled: function disabled(t) {
|
|
41
|
+
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n cursor: default;\n background: ", ";\n border: ", " solid ", ";\n color: ", ";\n box-shadow: none;\n "])), t.fileUploaderDisabledBg, t.fileUploaderBorderWidth, t.fileUploaderDisabledBorderColor, t.fileUploaderDisabledTextColor);
|
|
42
|
+
},
|
|
43
|
+
icon: function icon(t) {
|
|
44
|
+
return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n font-size: ", ";\n color: ", ";\n "])), t.fileUploaderIconSize, t.fileUploaderIconColor);
|
|
45
|
+
},
|
|
46
|
+
iconDisabled: function iconDisabled(t) {
|
|
47
|
+
return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.fileUploaderDisabledIconColor);
|
|
48
|
+
},
|
|
49
|
+
link: function link(t) {
|
|
50
|
+
return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n outline: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: ", ";\n }\n color: ", ";\n "])), t.linkHoverTextDecoration, t.fileUploaderLinkColor);
|
|
51
|
+
},
|
|
52
|
+
linkDisabled: function linkDisabled(t) {
|
|
53
|
+
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: ", ";\n &:hover {\n text-decoration: none;\n }\n "])), t.fileUploaderDisabledLinkColor);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
export var jsStyles = memoizeStyle(styles);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["FileUploader.styles.ts"],"names":["css","keyframes","memoizeStyle","styles","pulse","root","t","fileUploaderBg","fileUploaderLineHeight","fileUploaderFontSize","fileUploaderTextColorDefault","uploadButton","fileUploaderBorderWidth","fileUploaderBorderStyle","fileUploaderBorderColor","fileUploaderBorderRadius","fileUploaderPaddingY","fileUploaderPaddingX","uploadButtonFocus","fileUploaderBorderColorFocus","dragOver","windowDragOver","content","fileInput","afterLinkText","warning","fileUploaderBorderColorWarning","error","fileUploaderBorderColorError","disabled","fileUploaderDisabledBg","fileUploaderDisabledBorderColor","fileUploaderDisabledTextColor","icon","fileUploaderIconSize","fileUploaderIconColor","iconDisabled","fileUploaderDisabledIconColor","link","linkHoverTextDecoration","fileUploaderLinkColor","linkDisabled","fileUploaderDisabledLinkColor","jsStyles"],"mappings":"yYAAA,SAASA,GAAT,EAAcC,SAAd,EAAyBC,YAAzB,QAA6C,2BAA7C;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,KADa,mBACL;AACN,WAAOH,SAAP;;;;;;;;;;;;;;;;;AAiBD,GAnBY;;AAqBbI,EAAAA,IArBa,gBAqBRC,CArBQ,EAqBE;AACb,WAAON,GAAP;;;;AAIsBM,IAAAA,CAAC,CAACC,cAJxB;AAKiBD,IAAAA,CAAC,CAACE,sBALnB;AAMeF,IAAAA,CAAC,CAACG,oBANjB;AAOWH,IAAAA,CAAC,CAACI,4BAPb;;AASD,GA/BY;;AAiCbC,EAAAA,YAjCa,wBAiCAL,CAjCA,EAiCU;AACrB,WAAON,GAAP;;;;;AAKYM,IAAAA,CAAC,CAACM,uBALd,EAKyCN,CAAC,CAACO,uBAL3C,EAKsEP,CAAC,CAACQ,uBALxE;;AAOmBR,IAAAA,CAAC,CAACS,wBAPrB;;;AAUaT,IAAAA,CAAC,CAACU,oBAVf,EAUuCV,CAAC,CAACW,oBAVzC;;;AAaD,GA/CY;;AAiDbC,EAAAA,iBAjDa,6BAiDKZ,CAjDL,EAiDe;AAC1B,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,uBADd,EAC+CN,CAAC,CAACa,4BADjD;AAEgCb,IAAAA,CAAC,CAACa,4BAFlC;;AAID,GAtDY;;AAwDbC,EAAAA,QAxDa,sBAwDF;AACT,WAAOpB,GAAP;;;;;AAKD,GA9DY;;AAgEbqB,EAAAA,cAhEa,4BAgEI;AACf,WAAOrB,GAAP;;AAEeG,IAAAA,MAAM,CAACC,KAAP,EAFf;;AAID,GArEY;;AAuEbkB,EAAAA,OAvEa,qBAuEH;AACR,WAAOtB,GAAP;;;;;;AAMD,GA9EY;;AAgFbuB,EAAAA,SAhFa,uBAgFD;AACV,WAAOvB,GAAP;;;;AAID,GArFY;;AAuFbwB,EAAAA,aAvFa,2BAuFG;AACd,WAAOxB,GAAP;;;;;AAKD,GA7FY;;AA+FbyB,EAAAA,OA/Fa,mBA+FLnB,CA/FK,EA+FK;AAChB,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,uBADd,EAC+CN,CAAC,CAACoB,8BADjD;AAEgCpB,IAAAA,CAAC,CAACoB,8BAFlC;;AAID,GApGY;;AAsGbC,EAAAA,KAtGa,iBAsGPrB,CAtGO,EAsGG;AACd,WAAON,GAAP;AACYM,IAAAA,CAAC,CAACM,uBADd,EAC+CN,CAAC,CAACsB,4BADjD;AAEgCtB,IAAAA,CAAC,CAACsB,4BAFlC;;AAID,GA3GY;;AA6GbC,EAAAA,QA7Ga,oBA6GJvB,CA7GI,EA6GM;AACjB,WAAON,GAAP;;AAEgBM,IAAAA,CAAC,CAACwB,sBAFlB;AAGYxB,IAAAA,CAAC,CAACM,uBAHd,EAG+CN,CAAC,CAACyB,+BAHjD;AAIWzB,IAAAA,CAAC,CAAC0B,6BAJb;;;AAOD,GArHY;;AAuHbC,EAAAA,IAvHa,gBAuHR3B,CAvHQ,EAuHE;AACb,WAAON,GAAP;;AAEeM,IAAAA,CAAC,CAAC4B,oBAFjB;AAGW5B,IAAAA,CAAC,CAAC6B,qBAHb;;AAKD,GA7HY;;AA+HbC,EAAAA,YA/Ha,wBA+HA9B,CA/HA,EA+HU;AACrB,WAAON,GAAP;AACWM,IAAAA,CAAC,CAAC+B,6BADb;;AAGD,GAnIY;;AAqIbC,EAAAA,IArIa,gBAqIRhC,CArIQ,EAqIE;AACb,WAAON,GAAP;;;;;AAKuBM,IAAAA,CAAC,CAACiC,uBALzB;;AAOWjC,IAAAA,CAAC,CAACkC,qBAPb;;AASD,GA/IY;;AAiJbC,EAAAA,YAjJa,wBAiJAnC,CAjJA,EAiJU;AACrB,WAAON,GAAP;AACWM,IAAAA,CAAC,CAACoC,6BADb;;;;;AAMD,GAxJY,EAAf;;;AA2JA,OAAO,IAAMC,QAAQ,GAAGzC,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst styles = {\n pulse() {\n return keyframes`\n 0% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0.7);\n }\n 95% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 10px rgba(45,164,249,0);\n }\n 100% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0);\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n display: inline-block;\n min-width: 285px;\n position: relative;\n background-color: ${t.fileUploaderBg};\n line-height: ${t.fileUploaderLineHeight};\n font-size: ${t.fileUploaderFontSize};\n color: ${t.fileUploaderTextColorDefault};\n `;\n },\n\n uploadButton(t: Theme) {\n return css`\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ${t.fileUploaderBorderWidth} ${t.fileUploaderBorderStyle} ${t.fileUploaderBorderColor};\n box-sizing: border-box;\n border-radius: ${t.fileUploaderBorderRadius};\n outline: none;\n cursor: pointer;\n padding: ${t.fileUploaderPaddingY} ${t.fileUploaderPaddingX};\n transition: box-shadow 0.3s ease;\n `;\n },\n\n uploadButtonFocus(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorFocus};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorFocus};\n `;\n },\n\n dragOver() {\n return css`\n border: 1px solid #2da4f9;\n border-radius: 2px;\n box-shadow: 0px 0px 0px 3px #2da4f9, 0px 0px 0px 8px rgba(45, 164, 249, 0.35);\n `;\n },\n\n windowDragOver() {\n return css`\n border-radius: 2px;\n animation: ${styles.pulse()} 1.5s infinite;\n `;\n },\n\n content() {\n return css`\n display: flex;\n width: 100%;\n align-items: center;\n height: 100%;\n `;\n },\n\n fileInput() {\n return css`\n width: 0;\n height: 0;\n `;\n },\n\n afterLinkText() {\n return css`\n display: flex;\n justify-content: space-between;\n flex: 1 1 auto;\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorWarning};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorError};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n background: ${t.fileUploaderDisabledBg};\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderDisabledBorderColor};\n color: ${t.fileUploaderDisabledTextColor};\n box-shadow: none;\n `;\n },\n\n icon(t: Theme) {\n return css`\n display: inline-block;\n font-size: ${t.fileUploaderIconSize};\n color: ${t.fileUploaderIconColor};\n `;\n },\n\n iconDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledIconColor};\n `;\n },\n\n link(t: Theme) {\n return css`\n outline: none;\n text-decoration: none;\n\n &:hover {\n text-decoration: ${t.linkHoverTextDecoration};\n }\n color: ${t.fileUploaderLinkColor};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledLinkColor};\n &:hover {\n text-decoration: none;\n }\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Theme } from '../../lib/theming/Theme';
|
|
2
|
+
export declare const jsStyles: {
|
|
3
|
+
pulse(): string;
|
|
4
|
+
root(t: Theme): string;
|
|
5
|
+
uploadButton(t: Theme): string;
|
|
6
|
+
uploadButtonFocus(t: Theme): string;
|
|
7
|
+
dragOver(): string;
|
|
8
|
+
windowDragOver(): string;
|
|
9
|
+
content(): string;
|
|
10
|
+
fileInput(): string;
|
|
11
|
+
afterLinkText(): string;
|
|
12
|
+
warning(t: Theme): string;
|
|
13
|
+
error(t: Theme): string;
|
|
14
|
+
disabled(t: Theme): string;
|
|
15
|
+
icon(t: Theme): string;
|
|
16
|
+
iconDisabled(t: Theme): string;
|
|
17
|
+
link(t: Theme): string;
|
|
18
|
+
linkDisabled(t: Theme): string;
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["FileUploaderFileStatus","FileUploaderFileValidationResult"],"mappings":"AAAA,SAASA,sBAAT,QAAuC,8CAAvC;;AAEA,SAASC,gCAAT,QAAiD,qEAAjD;AACA,cAAc,gBAAd","sourcesContent":["export { FileUploaderFileStatus } from '../../internal/FileUploaderControl/fileUtils';\nexport type { FileUploaderAttachedFile, FileUploaderFileInBase64 } from '../../internal/FileUploaderControl/fileUtils';\nexport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nexport * from './FileUploader';\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { FileUploaderFileStatus } from '../../internal/FileUploaderControl/fileUtils';
|
|
2
|
+
export type { FileUploaderAttachedFile, FileUploaderFileInBase64 } from '../../internal/FileUploaderControl/fileUtils';
|
|
3
|
+
export { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';
|
|
4
|
+
export * from './FileUploader';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LocaleHelper } from "../../../../lib/locale/LocaleHelper";
|
|
2
|
+
import { componentsLocales as en_GB } from "../locales/en";
|
|
3
|
+
import { componentsLocales as ru_RU } from "../locales/ru";
|
|
4
|
+
export * from "../types";
|
|
5
|
+
export var FileUploaderLocaleHelper = new LocaleHelper({
|
|
6
|
+
ru_RU: ru_RU,
|
|
7
|
+
en_GB: en_GB
|
|
8
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["LocaleHelper","componentsLocales","en_GB","ru_RU","FileUploaderLocaleHelper"],"mappings":"AAAA,SAASA,YAAT,QAA6B,kCAA7B;;AAEA,SAASC,iBAAiB,IAAIC,KAA9B,QAA2C,cAA3C;AACA,SAASD,iBAAiB,IAAIE,KAA9B,QAA2C,cAA3C;;;AAGA,cAAc,SAAd;;AAEA,OAAO,IAAMC,wBAAwB,GAAG,IAAIJ,YAAJ,CAAqC;AAC3EG,EAAAA,KAAK,EAALA,KAD2E;AAE3ED,EAAAA,KAAK,EAALA,KAF2E,EAArC,CAAjC","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper';\n\nimport { componentsLocales as en_GB } from './locales/en';\nimport { componentsLocales as ru_RU } from './locales/ru';\nimport { FileUploaderLocale } from './types';\n\nexport * from './types';\n\nexport const FileUploaderLocaleHelper = new LocaleHelper<FileUploaderLocale>({\n ru_RU,\n en_GB,\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["en.ts"],"names":["componentsLocales","chooseFile","choosedFile","orDragHere","requestErrorText"],"mappings":";;AAEA,OAAO,IAAMA,iBAAqC,GAAG;AACnDC,EAAAA,UAAU,EAAE,eADuC;AAEnDC,EAAAA,WAAW,EAAE,eAFsC;AAGnDC,EAAAA,UAAU,EAAE,cAHuC;AAInDC,EAAAA,gBAAgB,EAAE,sEAJiC,EAA9C","sourcesContent":["import { FileUploaderLocale } from '../types';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Select a file',\n choosedFile: 'File selected',\n orDragHere: 'or drag here',\n requestErrorText: 'The file could not be uploaded to the server, please try again later',\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ru.ts"],"names":["componentsLocales","chooseFile","choosedFile","orDragHere","requestErrorText"],"mappings":";;AAEA,OAAO,IAAMA,iBAAqC,GAAG;AACnDC,EAAAA,UAAU,EAAE,eADuC;AAEnDC,EAAAA,WAAW,EAAE,aAFsC;AAGnDC,EAAAA,UAAU,EAAE,qBAHuC;AAInDC,EAAAA,gBAAgB,EAAE,8DAJiC,EAA9C","sourcesContent":["import { FileUploaderLocale } from '../types';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Выберите файл',\n choosedFile: 'Выбран файл',\n orDragHere: 'или перетащите сюда',\n requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже',\n};\n"]}
|