@pinuts/bsr-uikit-relaunch 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/.eslintrc.js +80 -0
  2. package/.idea/.name +1 -0
  3. package/.idea/misc.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/vcs.xml +6 -0
  6. package/CHANGELOG.md +3 -0
  7. package/README.md +75 -0
  8. package/bsr-uikit-relaunch.iml +9 -0
  9. package/config-overrides.js +32 -0
  10. package/dist/assets/Icon.js +64 -0
  11. package/dist/assets/IconComponents/getIconAdditionalCostsLarge.js +31 -0
  12. package/dist/assets/IconComponents/getIconAlertCircle.js +31 -0
  13. package/dist/assets/IconComponents/getIconAlertTriangle.js +27 -0
  14. package/dist/assets/IconComponents/getIconArchive.js +31 -0
  15. package/dist/assets/IconComponents/getIconArrowCornerUpLeft.js +25 -0
  16. package/dist/assets/IconComponents/getIconArrowDown.js +36 -0
  17. package/dist/assets/IconComponents/getIconArrowDownNoCircle.js +25 -0
  18. package/dist/assets/IconComponents/getIconArrowLeftNoCircle.js +25 -0
  19. package/dist/assets/IconComponents/getIconArrowRightDown.js +28 -0
  20. package/dist/assets/IconComponents/getIconArrowRightNoCircle.js +19 -0
  21. package/dist/assets/IconComponents/getIconArrowRightUp.js +28 -0
  22. package/dist/assets/IconComponents/getIconArrowUpNoCircle.js +25 -0
  23. package/dist/assets/IconComponents/getIconBarChart.js +40 -0
  24. package/dist/assets/IconComponents/getIconBell.js +25 -0
  25. package/dist/assets/IconComponents/getIconBriefCaseLarge.js +29 -0
  26. package/dist/assets/IconComponents/getIconCalendar.js +40 -0
  27. package/dist/assets/IconComponents/getIconChairman.js +19 -0
  28. package/dist/assets/IconComponents/getIconCheck.js +19 -0
  29. package/dist/assets/IconComponents/getIconCheckCircle.js +23 -0
  30. package/dist/assets/IconComponents/getIconCheckCircleOpen.js +31 -0
  31. package/dist/assets/IconComponents/getIconChevronDown.js +19 -0
  32. package/dist/assets/IconComponents/getIconChevronLeft.js +19 -0
  33. package/dist/assets/IconComponents/getIconChevronRight.js +19 -0
  34. package/dist/assets/IconComponents/getIconChevronUp.js +19 -0
  35. package/dist/assets/IconComponents/getIconCircle.js +21 -0
  36. package/dist/assets/IconComponents/getIconCircleMinus.js +26 -0
  37. package/dist/assets/IconComponents/getIconCirclePause.js +19 -0
  38. package/dist/assets/IconComponents/getIconCirclePlus.js +31 -0
  39. package/dist/assets/IconComponents/getIconCircleX.js +31 -0
  40. package/dist/assets/IconComponents/getIconCity.js +23 -0
  41. package/dist/assets/IconComponents/getIconCross.js +27 -0
  42. package/dist/assets/IconComponents/getIconDocumentLarge.js +28 -0
  43. package/dist/assets/IconComponents/getIconDoubleChevronLeft.js +21 -0
  44. package/dist/assets/IconComponents/getIconDoubleChevronRight.js +21 -0
  45. package/dist/assets/IconComponents/getIconDownload.js +37 -0
  46. package/dist/assets/IconComponents/getIconEdit.js +25 -0
  47. package/dist/assets/IconComponents/getIconEditPen.js +25 -0
  48. package/dist/assets/IconComponents/getIconEuro.js +21 -0
  49. package/dist/assets/IconComponents/getIconExclamationMark.js +21 -0
  50. package/dist/assets/IconComponents/getIconExternalLink.js +26 -0
  51. package/dist/assets/IconComponents/getIconEye.js +31 -0
  52. package/dist/assets/IconComponents/getIconEyeOff.js +34 -0
  53. package/dist/assets/IconComponents/getIconFile.js +25 -0
  54. package/dist/assets/IconComponents/getIconFileAddLarge.js +29 -0
  55. package/dist/assets/IconComponents/getIconFileReport.js +37 -0
  56. package/dist/assets/IconComponents/getIconFileText.js +43 -0
  57. package/dist/assets/IconComponents/getIconFilter.js +35 -0
  58. package/dist/assets/IconComponents/getIconFolder.js +37 -0
  59. package/dist/assets/IconComponents/getIconFolderLarge.js +32 -0
  60. package/dist/assets/IconComponents/getIconFunnel.js +19 -0
  61. package/dist/assets/IconComponents/getIconGraduateCapLarge.js +31 -0
  62. package/dist/assets/IconComponents/getIconInbox.js +25 -0
  63. package/dist/assets/IconComponents/getIconInfo.js +28 -0
  64. package/dist/assets/IconComponents/getIconInfoCircle.js +25 -0
  65. package/dist/assets/IconComponents/getIconInternshipLarge.js +49 -0
  66. package/dist/assets/IconComponents/getIconLeaf.js +21 -0
  67. package/dist/assets/IconComponents/getIconLeftChevron.js +21 -0
  68. package/dist/assets/IconComponents/getIconLineChart.js +24 -0
  69. package/dist/assets/IconComponents/getIconLineChartWithAxis.js +37 -0
  70. package/dist/assets/IconComponents/getIconLineDotChart.js +61 -0
  71. package/dist/assets/IconComponents/getIconLink.js +31 -0
  72. package/dist/assets/IconComponents/getIconList.js +49 -0
  73. package/dist/assets/IconComponents/getIconLock.js +25 -0
  74. package/dist/assets/IconComponents/getIconLogin.js +31 -0
  75. package/dist/assets/IconComponents/getIconLogout.js +19 -0
  76. package/dist/assets/IconComponents/getIconMail.js +25 -0
  77. package/dist/assets/IconComponents/getIconMan.js +36 -0
  78. package/dist/assets/IconComponents/getIconManagement.js +59 -0
  79. package/dist/assets/IconComponents/getIconMap.js +29 -0
  80. package/dist/assets/IconComponents/getIconMapPin.js +19 -0
  81. package/dist/assets/IconComponents/getIconMenu.js +31 -0
  82. package/dist/assets/IconComponents/getIconMessageCircle.js +25 -0
  83. package/dist/assets/IconComponents/getIconMessageSquare.js +39 -0
  84. package/dist/assets/IconComponents/getIconMinus.js +22 -0
  85. package/dist/assets/IconComponents/getIconMinusVertical.js +22 -0
  86. package/dist/assets/IconComponents/getIconMoreHorizontal.js +31 -0
  87. package/dist/assets/IconComponents/getIconNumbers.js +25 -0
  88. package/dist/assets/IconComponents/getIconPauseCircle.js +31 -0
  89. package/dist/assets/IconComponents/getIconPlus.js +31 -0
  90. package/dist/assets/IconComponents/getIconPresentation.js +36 -0
  91. package/dist/assets/IconComponents/getIconRect.js +24 -0
  92. package/dist/assets/IconComponents/getIconRefresh.js +31 -0
  93. package/dist/assets/IconComponents/getIconRefreshRepeatLarge.js +25 -0
  94. package/dist/assets/IconComponents/getIconReportAnalytics.js +31 -0
  95. package/dist/assets/IconComponents/getIconReportMoney.js +29 -0
  96. package/dist/assets/IconComponents/getIconReportOff.js +23 -0
  97. package/dist/assets/IconComponents/getIconReqWizAdditionalFundingLarge.js +28 -0
  98. package/dist/assets/IconComponents/getIconReqWizExtendFundingLarge.js +28 -0
  99. package/dist/assets/IconComponents/getIconReqWizJobLarge.js +32 -0
  100. package/dist/assets/IconComponents/getIconReqWizPauseFundingLarge.js +60 -0
  101. package/dist/assets/IconComponents/getIconReqWizScientificNetworkLarge.js +35 -0
  102. package/dist/assets/IconComponents/getIconReqWizStayAbroadLarge.js +31 -0
  103. package/dist/assets/IconComponents/getIconReqWizStudyDataLarge.js +31 -0
  104. package/dist/assets/IconComponents/getIconReqWizSubsequentFundingLarge.js +26 -0
  105. package/dist/assets/IconComponents/getIconReqWizWorldGraduateCapLarge copy.js +31 -0
  106. package/dist/assets/IconComponents/getIconReqWizWorldGraduateCapLarge.js +31 -0
  107. package/dist/assets/IconComponents/getIconRequestLarge.js +28 -0
  108. package/dist/assets/IconComponents/getIconRingChart.js +25 -0
  109. package/dist/assets/IconComponents/getIconRotate.js +17 -0
  110. package/dist/assets/IconComponents/getIconSearch.js +26 -0
  111. package/dist/assets/IconComponents/getIconSearchLarger.js +25 -0
  112. package/dist/assets/IconComponents/getIconSearchReverse.js +25 -0
  113. package/dist/assets/IconComponents/getIconSetting.js +33 -0
  114. package/dist/assets/IconComponents/getIconSortAscending.js +39 -0
  115. package/dist/assets/IconComponents/getIconSortDescending.js +39 -0
  116. package/dist/assets/IconComponents/getIconStar.js +22 -0
  117. package/dist/assets/IconComponents/getIconSum.js +19 -0
  118. package/dist/assets/IconComponents/getIconSupervisory.js +51 -0
  119. package/dist/assets/IconComponents/getIconThumbDown.js +19 -0
  120. package/dist/assets/IconComponents/getIconThumbUp.js +19 -0
  121. package/dist/assets/IconComponents/getIconTrash.js +37 -0
  122. package/dist/assets/IconComponents/getIconTriangle.js +19 -0
  123. package/dist/assets/IconComponents/getIconTriangleInverted.js +19 -0
  124. package/dist/assets/IconComponents/getIconUpload.js +31 -0
  125. package/dist/assets/IconComponents/getIconUploadCloud.js +37 -0
  126. package/dist/assets/IconComponents/getIconUploadLarge.js +26 -0
  127. package/dist/assets/IconComponents/getIconUser.js +19 -0
  128. package/dist/assets/IconComponents/getIconUserCheck.js +25 -0
  129. package/dist/assets/IconComponents/getIconUserCircle.js +31 -0
  130. package/dist/assets/IconComponents/getIconUserLarge.js +26 -0
  131. package/dist/assets/IconComponents/getIconUserOff.js +26 -0
  132. package/dist/assets/IconComponents/getIconWoman.js +33 -0
  133. package/dist/assets/IconComponents/getIconWriteNote.js +31 -0
  134. package/dist/assets/IconComponents/getIconWriteNoteLarge.js +27 -0
  135. package/dist/assets/IconComponents/getIconX.js +27 -0
  136. package/dist/assets/IconComponents/getIconZoomMoney.js +45 -0
  137. package/dist/assets/IconMapping.js +241 -0
  138. package/dist/hooks/ValidateComponents.js +31 -0
  139. package/dist/hooks/index.js +27 -0
  140. package/dist/hooks/infoPopUp.js +1 -0
  141. package/dist/hooks/useDebounceFunc.js +25 -0
  142. package/dist/hooks/useGetOptionList.js +41 -0
  143. package/dist/hooks/useValidationMessage.js +68 -0
  144. package/dist/hooks/withFieldGroup.js +206 -0
  145. package/dist/icons/AlertTriangle.js +42 -0
  146. package/dist/icons/InfoOutline.js +57 -0
  147. package/dist/icons/Verify.js +40 -0
  148. package/dist/index.js +2 -0
  149. package/dist/index.js.LICENSE.txt +32 -0
  150. package/dist/items/ArrayFieldset/ArrayFieldset.js +178 -0
  151. package/dist/items/BSRAddressSelector/BSRAddressContext.js +95 -0
  152. package/dist/items/BSRAddressSelector/BSRAddressResetButton.js +59 -0
  153. package/dist/items/BSRAddressSelector/BSRAddressSelector.js +100 -0
  154. package/dist/items/BSRAddressSelector/BSRAutocompleteField.js +262 -0
  155. package/dist/items/BSRAddressSelector/BSRStreetPlzSelector.js +127 -0
  156. package/dist/items/BSRAddressSelector/HouseNumberSelectField.js +105 -0
  157. package/dist/items/Badge/Badge.js +33 -0
  158. package/dist/items/BootstrapInputGroupField/BootstrapInputGroupField.js +68 -0
  159. package/dist/items/Button/Button.js +70 -0
  160. package/dist/items/Button/SubmitButton.js +39 -0
  161. package/dist/items/DateInputField/DateInputField.js +105 -0
  162. package/dist/items/DropDownButton/DropDownButton.js +101 -0
  163. package/dist/items/DropzoneUploadField/DropzoneUploadField.js +188 -0
  164. package/dist/items/DropzoneUploadField/acceptedUploadTypeMapping.js +55 -0
  165. package/dist/items/FieldLabel/FieldLabel.js +75 -0
  166. package/dist/items/FieldsetWrapper/FieldsetWrapper.js +51 -0
  167. package/dist/items/FormFieldWrapper/FormFieldChildPropTypes.js +64 -0
  168. package/dist/items/FormFieldWrapper/FormFieldWrapper.js +101 -0
  169. package/dist/items/FormFieldWrapper/FormFieldWrapperComponent.js +6 -0
  170. package/dist/items/Grid/BSRGridColumn.js +34 -0
  171. package/dist/items/Grid/BSRGridRow.js +28 -0
  172. package/dist/items/Grid/BSRGridRowCols.js +36 -0
  173. package/dist/items/GroupInputField/GroupInputField.js +122 -0
  174. package/dist/items/HTMLParserSanitized/HTMLParserSanitized.js +45 -0
  175. package/dist/items/Icon/Icon.js +24 -0
  176. package/dist/items/Modal/FormModal.js +98 -0
  177. package/dist/items/Modal/Modal.js +109 -0
  178. package/dist/items/NumberInputField/NumberInputField.js +142 -0
  179. package/dist/items/PictureUploadRowField/PictureUploadRowField.js +280 -0
  180. package/dist/items/PictureUploadRowField/acceptedUploadTypeMapping.js +55 -0
  181. package/dist/items/SectionSpinner/SectionSpinner.js +49 -0
  182. package/dist/items/SelectField/SelectField.js +67 -0
  183. package/dist/items/StaticAlert/StaticAlert.js +39 -0
  184. package/dist/items/TextAreaField/TextAreaField.js +70 -0
  185. package/dist/items/TextBox/TextBox.js +43 -0
  186. package/dist/items/TextInputField/TextInputField.js +55 -0
  187. package/dist/items/Toast/Toast.js +55 -0
  188. package/dist/items/ToggleSwitchField/ToggleSwitchField.js +84 -0
  189. package/dist/items/index.js +196 -0
  190. package/dist/styles/_ariakit_combobox.scss +279 -0
  191. package/dist/styles/_colors.scss +165 -0
  192. package/dist/styles/bootstrap-customized.scss +815 -0
  193. package/dist/styles/fonts/hbs-fonts/hbs-fonts.css +67 -0
  194. package/dist/styles/fonts/hbs-fonts/simple-bold/SimpleHBSTT-Bold.eot +0 -0
  195. package/dist/styles/fonts/hbs-fonts/simple-bold/SimpleHBSTT-Bold.svg +264 -0
  196. package/dist/styles/fonts/hbs-fonts/simple-bold/SimpleHBSTT-Bold.ttf +0 -0
  197. package/dist/styles/fonts/hbs-fonts/simple-bold/SimpleHBSTT-Bold.woff +0 -0
  198. package/dist/styles/fonts/hbs-fonts/univers/1449347/1f2c3faa-231e-4e71-aba4-b1adb03e0322.svg +4846 -0
  199. package/dist/styles/fonts/hbs-fonts/univers/1449347/51a2e8ba-97c4-47a9-af92-e8b379eeddbd.eot +0 -0
  200. package/dist/styles/fonts/hbs-fonts/univers/1449347/77019bfb-2faa-487f-97aa-b498678dc990.ttf +0 -0
  201. package/dist/styles/fonts/hbs-fonts/univers/1449347/89420d17-2c68-4bb3-b4d4-373b0d0f016b.woff2 +0 -0
  202. package/dist/styles/fonts/hbs-fonts/univers/1449347/e79b121c-bda4-4092-a565-1c29b272ef18.woff +0 -0
  203. package/dist/styles/fonts/hbs-fonts/univers/1449355/6baa7b6e-6971-4b5f-8129-8630113d8cb7.eot +0 -0
  204. package/dist/styles/fonts/hbs-fonts/univers/1449355/aab88c6b-6b75-42f0-aec5-74a5c4ed199d.woff2 +0 -0
  205. package/dist/styles/fonts/hbs-fonts/univers/1449355/ac6c8f47-2d16-43de-96c6-4526ab446296.woff +0 -0
  206. package/dist/styles/fonts/hbs-fonts/univers/1449355/cc2006cf-463d-41db-88b0-24bf58fdf832.ttf +0 -0
  207. package/dist/styles/fonts/hbs-fonts/univers/1449355/f6946e91-a2c4-4793-bcb2-b617d23b3b80.svg +5216 -0
  208. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449383/1df6de95-3b72-4134-8e0f-f250931b1cb1.woff +0 -0
  209. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449383/27bd8c18-1ca0-4a74-a175-108571bab2fc.eot +0 -0
  210. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449383/5667db2e-a3c3-408f-ad82-3ca721a0e2e7.svg +4807 -0
  211. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449383/8282dfe6-2f66-4a8e-bc65-669a3066eee8.ttf +0 -0
  212. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449383/a92a459a-dc32-498f-b2dc-b761713792f4.woff2 +0 -0
  213. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449391/14cd37b6-7bde-488e-bbba-17c5046ee4c3.svg +4666 -0
  214. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449391/308dd9a4-aea8-4532-8c6d-a415a35f0015.woff2 +0 -0
  215. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449391/4414ced7-592d-4fdc-8521-8bf095659b6e.eot +0 -0
  216. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449391/9e1c34e4-257a-478b-9d35-84e680e8d373.ttf +0 -0
  217. package/dist/styles/fonts/hbs-fonts/univers-condensed/1449391/9f5abf71-fdd9-408f-b075-7a8a1b7c9a6e.woff +0 -0
  218. package/dist/styles/form.module.scss +252 -0
  219. package/dist/styles/main.scss +18 -0
  220. package/dist/styles/module-variables.scss +13 -0
  221. package/dist/styles/variables/_borders.scss +26 -0
  222. package/dist/styles/variables/_buttons.scss +147 -0
  223. package/dist/styles/variables/_colors.scss +109 -0
  224. package/dist/styles/variables/_focus.scss +9 -0
  225. package/dist/styles/variables/_fonts.scss +101 -0
  226. package/dist/styles/variables/_gaps.scss +26 -0
  227. package/dist/styles/variables/_images.scss +18 -0
  228. package/dist/styles/variables/_responsive.scss +23 -0
  229. package/dist/styles/variables/_shadows.scss +5 -0
  230. package/dist/styles/variables/_variables.scss +14 -0
  231. package/dist/styles/variables.scss +75 -0
  232. package/dist/utils/getUikitClassNames.js +19 -0
  233. package/dist/utils/index.js +16 -0
  234. package/dist/utils/isWindowAvailable.js +9 -0
  235. package/dist/utils/objectHelpers.js +43 -0
  236. package/notes.txt +5 -0
  237. package/package.json +111 -0
  238. package/webpack.config.js +99 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _formBuilder = require("@pinuts/form-builder");
10
+ var _Modal = _interopRequireDefault(require("react-bootstrap/Modal"));
11
+ var _reactI18next = require("react-i18next");
12
+ var _Button = _interopRequireDefault(require("../Button/Button.jsx"));
13
+ var _ModalModule = _interopRequireDefault(require("./Modal.module.scss"));
14
+ var _Icon = _interopRequireDefault(require("../Icon/Icon.jsx"));
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
17
+ const {
18
+ getClassNames
19
+ } = _formBuilder.utils;
20
+ const {
21
+ useUniqueIds
22
+ } = _formBuilder.hooks;
23
+ const Modal = (_ref, props) => {
24
+ let {
25
+ isOpen,
26
+ isAlert = false,
27
+ onHide,
28
+ onSubmit,
29
+ submitButtonText,
30
+ closeButtonText,
31
+ headerProps,
32
+ bodyProps,
33
+ footerProps,
34
+ noClose = false
35
+ } = _ref;
36
+ const {
37
+ t
38
+ } = (0, _reactI18next.useTranslation)();
39
+ const uniqueId = useUniqueIds('modal');
40
+ return /*#__PURE__*/_react.default.createElement(_Modal.default, _extends({}, props, {
41
+ show: isOpen,
42
+ size: "lg"
43
+ }, headerProps.title && {
44
+ 'aria-labelledby': uniqueId.fieldId
45
+ }, {
46
+ centered: true,
47
+ onEscapeKeyDown: noClose ? undefined : onHide,
48
+ className: _ModalModule.default.modalOuter,
49
+ backdrop: "static",
50
+ role: isAlert ? ' ' : 'dialog'
51
+ }), /*#__PURE__*/_react.default.createElement("div", null, headerProps.title && /*#__PURE__*/_react.default.createElement(_Modal.default.Header, {
52
+ className: getClassNames([headerProps.className, noClose ? '' : 'd-flex ', 'p-relative w-100'])
53
+ }, /*#__PURE__*/_react.default.createElement("div", {
54
+ className: _ModalModule.default.headerInnerWrap
55
+ }, /*#__PURE__*/_react.default.createElement("h2", {
56
+ id: uniqueId.fieldId,
57
+ className: "w-100"
58
+ }, headerProps.title), !noClose && /*#__PURE__*/_react.default.createElement(_Button.default, {
59
+ ariaLabel: t('bsrModal.closeButton'),
60
+ onClick: onHide,
61
+ color: "hbs-white",
62
+ rounded: true
63
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
64
+ color: "white",
65
+ className: _ModalModule.default.closeButtonIcon,
66
+ icon: "x"
67
+ }))))), /*#__PURE__*/_react.default.createElement(_Modal.default.Body, {
68
+ className: getClassNames([bodyProps.className])
69
+ }, bodyProps.children), footerProps && /*#__PURE__*/_react.default.createElement(_Modal.default.Footer, {
70
+ className: getClassNames([footerProps.className])
71
+ }, footerProps.children ? /*#__PURE__*/_react.default.createElement("div", {
72
+ className: "row justify-content-center w-100"
73
+ }, footerProps.children) : /*#__PURE__*/_react.default.createElement("div", {
74
+ className: "row justify-content-center w-100"
75
+ }, closeButtonText && /*#__PURE__*/_react.default.createElement(_Button.default, {
76
+ className: "col-4 m-1",
77
+ color: "tuerkis-20",
78
+ onClick: onHide,
79
+ ariaLabel: t(closeButtonText)
80
+ }, t(closeButtonText)), submitButtonText && /*#__PURE__*/_react.default.createElement(_Button.default, {
81
+ className: "col-4 m-1",
82
+ color: "hbs-blau",
83
+ onClick: onSubmit || onHide,
84
+ ariaLabel: t(submitButtonText)
85
+ }, t(submitButtonText)))));
86
+ };
87
+ Modal.propTypes = {
88
+ noClose: _propTypes.default.bool,
89
+ closeButtonText: _propTypes.default.string,
90
+ submitButtonText: _propTypes.default.string,
91
+ headerProps: _propTypes.default.shape({
92
+ title: _propTypes.default.string.isRequired,
93
+ children: _propTypes.default.node,
94
+ className: _propTypes.default.string
95
+ }),
96
+ bodyProps: _propTypes.default.shape({
97
+ children: _propTypes.default.node,
98
+ className: _propTypes.default.string
99
+ }),
100
+ footerProps: _propTypes.default.shape({
101
+ children: _propTypes.default.node,
102
+ className: _propTypes.default.string
103
+ }),
104
+ isAlert: _propTypes.default.bool,
105
+ isOpen: _propTypes.default.bool,
106
+ onHide: _propTypes.default.func,
107
+ onSubmit: _propTypes.default.func
108
+ };
109
+ var _default = exports.default = Modal;
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _formBuilder = require("@pinuts/form-builder");
10
+ var _getUikitClassNames = require("../../utils/getUikitClassNames.js");
11
+ var _FormFieldChildPropTypes = _interopRequireDefault(require("../FormFieldWrapper/FormFieldChildPropTypes.jsx"));
12
+ var _FormFieldWrapper = _interopRequireDefault(require("../FormFieldWrapper/FormFieldWrapper.jsx"));
13
+ var _withFieldGroup = _interopRequireDefault(require("../../hooks/withFieldGroup.jsx"));
14
+ var _Button = _interopRequireDefault(require("../Button/Button.jsx"));
15
+ var _Icon = _interopRequireDefault(require("../Icon/Icon.jsx"));
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } // form-builder
20
+ const {
21
+ getClassNames
22
+ } = _formBuilder.utils;
23
+ const countDecimalPlaces = number => {
24
+ if (Math.floor(number) === number) return 0; // Wenn die Zahl eine ganze Zahl ist, gibt es keine Nachkommastellen
25
+
26
+ // Konvertiere die Zahl in einen String und finde die Stelle des Dezimaltrennzeichens
27
+ const decimalString = number.toString();
28
+ const decimalIndex = decimalString.indexOf('.');
29
+
30
+ // Wenn das Dezimaltrennzeichen nicht gefunden wurde, gibt es keine Nachkommastellen
31
+ if (decimalIndex === -1) return 0;
32
+
33
+ // Ansonsten berechne die Anzahl der Nachkommastellen
34
+ return decimalString.length - decimalIndex - 1;
35
+ };
36
+ const getCorrectNumberWithStep = (newValue, step) => Number.isInteger(step) ? newValue : newValue.toFixed(countDecimalPlaces(step));
37
+ const NumberInputField = _ref => {
38
+ let {
39
+ className,
40
+ inputProps = {},
41
+ value,
42
+ field,
43
+ onChange = () => {},
44
+ ariaAttributes,
45
+ isInvalid,
46
+ readOnly,
47
+ disabled,
48
+ viewMode,
49
+ step = 1,
50
+ min = 0,
51
+ max = 1000
52
+ } = _ref;
53
+ const [numberValue, setNumberValue] = (0, _react.useState)(() => parseFloat(value || 0, 10));
54
+ (0, _react.useEffect)(() => setNumberValue(parseFloat(value || 0, 10)), [value]);
55
+ const usedChangeHandler = (0, _react.useMemo)(() => readOnly || disabled ? () => {} : newValue => {
56
+ const usedNewValue = getCorrectNumberWithStep(parseFloat(newValue, 10), step);
57
+ if (newValue >= parseFloat(min, 10) && newValue <= parseFloat(max, 10)) {
58
+ // Wenn value nicht rein gereicht wird, müssen wir den State selbst setzen, ansonsten übernimmt dies der useEffect
59
+ if (value === undefined) {
60
+ setNumberValue(usedNewValue);
61
+ }
62
+ onChange(usedNewValue);
63
+ }
64
+ }, [readOnly, disabled, onChange, value, step, min, max]);
65
+ const increment = (0, _react.useCallback)(event => {
66
+ event.preventDefault();
67
+ event.stopPropagation();
68
+ usedChangeHandler(parseFloat(numberValue, 10) + parseFloat(step, 10));
69
+ }, [numberValue, usedChangeHandler, step]);
70
+ const decrement = (0, _react.useCallback)(event => {
71
+ event.preventDefault();
72
+ event.stopPropagation();
73
+ usedChangeHandler(parseFloat(numberValue, 10) - parseFloat(step, 10));
74
+ }, [numberValue, usedChangeHandler, step]);
75
+ const handleInputChange = event => usedChangeHandler(event.target.value);
76
+ if (viewMode) {
77
+ return numberValue;
78
+ }
79
+ const formControlClassNames = (0, _getUikitClassNames.getFormControlClassNames)(isInvalid, readOnly, disabled, className);
80
+ const buttonInputProps = {
81
+ tabIndex: -1,
82
+ 'aria-hidden': true,
83
+ style: {
84
+ width: '40px',
85
+ height: '40px'
86
+ },
87
+ disabled,
88
+ 'aria-disabled': disabled,
89
+ readOnly,
90
+ 'aria-readonly': readOnly
91
+ };
92
+ return /*#__PURE__*/_react.default.createElement("div", {
93
+ className: "d-flex flex-row"
94
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
95
+ color: "tuerkis-20",
96
+ circular: true,
97
+ onClick: decrement,
98
+ ariaLabel: "" // Button is hidden from screenreaders
99
+ ,
100
+ inputProps: buttonInputProps
101
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
102
+ icon: "minus",
103
+ height: "16",
104
+ width: "16"
105
+ })), /*#__PURE__*/_react.default.createElement("input", _extends({
106
+ className: getClassNames(['mx-2 ps-4', formControlClassNames]),
107
+ type: "number",
108
+ step: step
109
+ }, field, ariaAttributes, inputProps, {
110
+ value: value === '' ? '' : numberValue,
111
+ min: min,
112
+ max: max,
113
+ onChange: handleInputChange,
114
+ inputMode: "numeric"
115
+ })), /*#__PURE__*/_react.default.createElement(_Button.default, {
116
+ color: "tuerkis-20",
117
+ circular: true,
118
+ onClick: increment,
119
+ ariaLabel: "" // Button is hidden from screenreaders
120
+ ,
121
+ inputProps: buttonInputProps
122
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
123
+ icon: "plus",
124
+ height: "16",
125
+ width: "16"
126
+ })));
127
+ };
128
+ NumberInputField.propTypes = {
129
+ ..._FormFieldChildPropTypes.default,
130
+ step: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
131
+ max: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
132
+ min: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
133
+ };
134
+ const HigherOrderNumberInputField = (0, _withFieldGroup.default)(NumberInputField);
135
+
136
+ // wrap the field label, error message help text and more
137
+ const WrappedNumberInputField = props => {
138
+ return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(HigherOrderNumberInputField, props));
139
+ };
140
+ (0, _formBuilder.registerComponent)('NumberInputField', WrappedNumberInputField);
141
+ (0, _formBuilder.registerComponent)('NumberInputFieldBasic', HigherOrderNumberInputField);
142
+ var _default = exports.default = HigherOrderNumberInputField;
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactDropzone = require("react-dropzone");
10
+ var _formBuilder = require("@pinuts/form-builder");
11
+ var _reactI18next = require("react-i18next");
12
+ var _FormFieldChildPropTypes = _interopRequireDefault(require("../FormFieldWrapper/FormFieldChildPropTypes.jsx"));
13
+ var _FormFieldWrapper = _interopRequireDefault(require("../FormFieldWrapper/FormFieldWrapper.jsx"));
14
+ var _withFieldGroup = _interopRequireDefault(require("../../hooks/withFieldGroup.jsx"));
15
+ var _Icon = _interopRequireDefault(require("../Icon/Icon.jsx"));
16
+ var _PictureUploadRowFieldModule = _interopRequireDefault(require("./PictureUploadRowField.module.scss"));
17
+ var _acceptedUploadTypeMapping = require("./acceptedUploadTypeMapping.js");
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } // form-builder
22
+ const {
23
+ useField,
24
+ useFormikContext
25
+ } = _formBuilder.formik;
26
+ const {
27
+ getClassNames
28
+ } = _formBuilder.utils;
29
+
30
+ //accept-prop needs an object mit mimeType as keys and an array of file extensions as values
31
+ const getFormattedAcceptesFileTypes = acceptedFileTypes => acceptedFileTypes?.reduce((newObj, type) => _acceptedUploadTypeMapping.ACCEPTED_UPLOAD_TYPE_MAPPING?.[type] ? {
32
+ ...newObj,
33
+ [type]: _acceptedUploadTypeMapping.ACCEPTED_UPLOAD_TYPE_MAPPING[type] || []
34
+ } : newObj, {});
35
+ const PictureUploadRowField = _ref => {
36
+ let {
37
+ viewMode,
38
+ field,
39
+ ariaAttributes,
40
+ isInvalid,
41
+ readOnly,
42
+ disabled,
43
+ fieldIds,
44
+ uploadConfig
45
+ } = _ref;
46
+ // eslint-disable-next-line no-unused-vars
47
+ const [formikField, _meta, helpers] = useField(field.name);
48
+ const [t] = (0, _reactI18next.useTranslation)();
49
+ const usedViewMode = (0, _react.useMemo)(() => readOnly || disabled || viewMode, [readOnly, disabled, viewMode]);
50
+ const {
51
+ status,
52
+ setStatus
53
+ } = useFormikContext();
54
+ const [previewFiles, setPreviewFiles] = (0, _react.useState)([]); // State to hold the files and previews
55
+
56
+ (0, _react.useEffect)(() => {
57
+ if (formikField.value && formikField.value.length > 0 && previewFiles.length === 0) {
58
+ const initFiles = formikField.value.map(file => Object.assign(file, {
59
+ preview: URL.createObjectURL(file)
60
+ }));
61
+ setPreviewFiles(initFiles);
62
+ }
63
+ }, [formikField.value, previewFiles.length]);
64
+ const uploadFilesToUM = (0, _react.useCallback)(async uploadFiles => {
65
+ const successfulUploads = [];
66
+ for (const file of uploadFiles) {
67
+ const formData = new FormData();
68
+ formData.append(file.name, file);
69
+ if (uploadConfig) {
70
+ formData.append('uploadConfig', JSON.stringify(uploadConfig));
71
+ }
72
+ try {
73
+ // eslint-disable-next-line no-await-in-loop
74
+ const response = await fetch(uploadConfig.uploadPath, {
75
+ method: 'POST',
76
+ body: formData,
77
+ headers: {
78
+ 'X-CSRF-Safe': 'Yes'
79
+ }
80
+ });
81
+ if (response.ok) {
82
+ // eslint-disable-next-line no-await-in-loop
83
+ const data = await response.json();
84
+ if (data && data.success && data.files && data.files.length > 0) {
85
+ successfulUploads.push(...data.files);
86
+ }
87
+ }
88
+ } catch (error) {
89
+ console.error('Upload error for file:', file.name, error);
90
+ }
91
+ }
92
+ return successfulUploads;
93
+ }, [uploadConfig]);
94
+ const onChange = (0, _react.useCallback)(async acceptedFiles => {
95
+ const uploadableFiles = [...previewFiles, ...acceptedFiles.map(file => Object.assign(file, {
96
+ preview: URL.createObjectURL(file)
97
+ }))];
98
+ const uploadedFiles = await uploadFilesToUM(uploadableFiles);
99
+ if (uploadedFiles) {
100
+ const filteredUploadableFiles = uploadableFiles.map(uploadableFile => {
101
+ const found = uploadedFiles.find(uploadedFile => uploadedFile.name === uploadableFile.name);
102
+ if (found) {
103
+ const mergedObject = uploadableFile;
104
+ mergedObject.uuid = found.uuid;
105
+ return mergedObject;
106
+ }
107
+ return uploadableFile;
108
+ }).filter(uploadableFile => {
109
+ return uploadedFiles.some(uploadedFile => uploadedFile.name === uploadableFile.name);
110
+ });
111
+ setPreviewFiles(filteredUploadableFiles);
112
+ helpers.setTouched(true);
113
+ helpers.setValue(filteredUploadableFiles);
114
+ setStatus({
115
+ ...status,
116
+ [formikField.name]: uploadedFiles
117
+ });
118
+ }
119
+ }, [previewFiles, formikField.name, helpers, setStatus, status, uploadFilesToUM]);
120
+ const onDrop = (0, _react.useCallback)(acceptedFiles => {
121
+ onChange(acceptedFiles);
122
+ }, [onChange]);
123
+ const {
124
+ fileRejections,
125
+ getRootProps,
126
+ getInputProps
127
+ } = (0, _reactDropzone.useDropzone)({
128
+ onDrop: !usedViewMode ? onDrop : () => {},
129
+ noClick: usedViewMode || previewFiles.length >= uploadConfig.maxFiles,
130
+ // Disable click if view mode is used or maxFiles limit is reached
131
+ noKeyboard: usedViewMode,
132
+ accept: getFormattedAcceptesFileTypes(uploadConfig.acceptedFileTypes || []) || {},
133
+ maxFiles: uploadConfig.maxFiles,
134
+ maxSize: uploadConfig.maxSize
135
+ });
136
+ const removeFile = async (e, index, uuid) => {
137
+ e.preventDefault();
138
+ e.stopPropagation();
139
+ try {
140
+ const response = await fetch(`${uploadConfig.deletePath}/${uuid}`, {
141
+ method: 'DELETE',
142
+ headers: {
143
+ 'X-CSRF-Safe': 'Yes'
144
+ }
145
+ });
146
+ if (response.ok) {
147
+ const data = await response.json();
148
+ if (data && data.success) {
149
+ setPreviewFiles(previewFiles.filter((file, i) => i !== index));
150
+ helpers.setTouched(true);
151
+ if (status[formikField.name]) {
152
+ setStatus({
153
+ ...status,
154
+ [formikField.name]: null
155
+ });
156
+ } else {
157
+ helpers.setValue('');
158
+ }
159
+ }
160
+ }
161
+ } catch (error) {
162
+ console.error('Error removing file by uuid:', uuid, error);
163
+ }
164
+ };
165
+ const fileRejectionItems = fileRejections.map(_ref2 => {
166
+ let {
167
+ file,
168
+ errors
169
+ } = _ref2;
170
+ return /*#__PURE__*/_react.default.createElement("li", {
171
+ key: file.path,
172
+ className: 'filename'
173
+ }, file.name, ' ', "-", Math.floor(file.size / 1024), ' ', "kb", /*#__PURE__*/_react.default.createElement("ul", null, errors.map(e => /*#__PURE__*/_react.default.createElement("li", {
174
+ key: e.code,
175
+ className: 'errorMsg'
176
+ }, t(`bsrItems.DropzoneUploadField.${e.code}`, {
177
+ maxFiles: uploadConfig.maxFiles,
178
+ maxFileSize: uploadConfig.maxSize / 1000000
179
+ })))));
180
+ });
181
+ const createThumbs = () => {
182
+ if (viewMode && field.value.length > 0) {
183
+ const uuids = field.value.map(file => file.uuid);
184
+ return uuids.map(uuid => {
185
+ return /*#__PURE__*/_react.default.createElement("div", {
186
+ className: _PictureUploadRowFieldModule.default.thumb,
187
+ key: uuid
188
+ }, /*#__PURE__*/_react.default.createElement("div", {
189
+ className: _PictureUploadRowFieldModule.default.thumbInner
190
+ }, /*#__PURE__*/_react.default.createElement("img", {
191
+ src: uploadConfig.previewPath.replace(':uuid', uuid),
192
+ alt: '',
193
+ className: _PictureUploadRowFieldModule.default.img
194
+ })));
195
+ });
196
+ }
197
+ return previewFiles.map((file, index) => {
198
+ return /*#__PURE__*/_react.default.createElement("div", {
199
+ className: _PictureUploadRowFieldModule.default.thumb,
200
+ key: file.name
201
+ }, /*#__PURE__*/_react.default.createElement("div", {
202
+ className: _PictureUploadRowFieldModule.default.thumbInner
203
+ }, /*#__PURE__*/_react.default.createElement("img", {
204
+ src: file.preview,
205
+ alt: '',
206
+ className: _PictureUploadRowFieldModule.default.img,
207
+ onLoad: () => {
208
+ URL.revokeObjectURL(file.preview);
209
+ }
210
+ }), /*#__PURE__*/_react.default.createElement("button", {
211
+ type: "button",
212
+ "aria-label": 'Ausgewählte Datei entfernen',
213
+ className: `${_PictureUploadRowFieldModule.default.deleteBtn}`,
214
+ onClick: e => removeFile(e, index, file.uuid)
215
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
216
+ icon: "trash",
217
+ height: "12",
218
+ width: "12",
219
+ stroke: '#fff'
220
+ }))));
221
+ });
222
+ };
223
+
224
+ // Cleanup previews on unmount
225
+ (0, _react.useEffect)(() => {
226
+ return () => previewFiles.forEach(file => URL.revokeObjectURL(file.preview));
227
+ }, [previewFiles]);
228
+ return /*#__PURE__*/_react.default.createElement("section", {
229
+ className: getClassNames(['container-fluid', _PictureUploadRowFieldModule.default.dropZoneWrapper, isInvalid && _PictureUploadRowFieldModule.default.isInvalid
230
+ // usedViewMode && styles.disabled,
231
+ ]),
232
+ "aria-labelledby": fieldIds.label
233
+ }, /*#__PURE__*/_react.default.createElement("div", {
234
+ className: "d-flex justify-content-between"
235
+ }, /*#__PURE__*/_react.default.createElement("div", getRootProps({
236
+ onDrop,
237
+ className: getClassNames(['dropzone', 'flex-fill', _PictureUploadRowFieldModule.default.fakeButton]),
238
+ role: 'button',
239
+ 'aria-disabled': usedViewMode || previewFiles.length >= uploadConfig.maxFiles,
240
+ // Reflect disabled state in ARIA attributes
241
+ tabIndex: usedViewMode ? '-1' : '0',
242
+ ...ariaAttributes,
243
+ 'aria-controls': fieldIds.fieldId,
244
+ 'aria-labelledby': ''
245
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("input", _extends({}, getInputProps({
246
+ id: fieldIds.fieldId
247
+ }), {
248
+ accept: uploadConfig.acceptedFileTypes?.join(',')
249
+ })), /*#__PURE__*/_react.default.createElement("aside", {
250
+ className: `${_PictureUploadRowFieldModule.default.thumbsContainer} d-flex`
251
+ }, createThumbs(), previewFiles.length < uploadConfig.maxFiles && /*#__PURE__*/_react.default.createElement("div", {
252
+ className: _PictureUploadRowFieldModule.default.addBtnContainer
253
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
254
+ icon: usedViewMode ? 'lock' : 'circlePlus',
255
+ height: "24",
256
+ width: "24",
257
+ className: ""
258
+ }))))))), /*#__PURE__*/_react.default.createElement("ul", null, fileRejectionItems));
259
+ };
260
+ PictureUploadRowField.propTypes = {
261
+ ..._FormFieldChildPropTypes.default,
262
+ acceptedFileTypes: _propTypes.default.arrayOf(_propTypes.default.string),
263
+ localeRejected: _propTypes.default.string,
264
+ onChange: _propTypes.default.func,
265
+ key: _propTypes.default.string,
266
+ maxFiles: _propTypes.default.number
267
+ };
268
+ PictureUploadRowField.formFieldConfig = {
269
+ labelIsLegend: true,
270
+ isFieldset: true
271
+ };
272
+ const HigherOrderDropzoneUploadField = (0, _withFieldGroup.default)(PictureUploadRowField);
273
+
274
+ // wrap the field label, error message help text and more
275
+ const WrappedPictureUploadRowField = props => {
276
+ return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(HigherOrderDropzoneUploadField, props));
277
+ };
278
+ (0, _formBuilder.registerComponent)('PictureUploadRowField', WrappedPictureUploadRowField);
279
+ (0, _formBuilder.registerComponent)('PictureUploadRowFieldBasic', HigherOrderDropzoneUploadField);
280
+ var _default = exports.default = HigherOrderDropzoneUploadField;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ACCEPTED_UPLOAD_TYPE_MAPPING = void 0;
7
+ const ACCEPTED_UPLOAD_TYPE_MAPPING = exports.ACCEPTED_UPLOAD_TYPE_MAPPING = {
8
+ // General file formats
9
+ 'text/plain': ['.txt', '.text', '.log'],
10
+ 'text/html': ['.html', '.htm'],
11
+ 'text/css': ['.css'],
12
+ 'text/csv': ['.csv'],
13
+ 'application/pdf': ['.pdf'],
14
+ 'application/rtf': ['.rtf'],
15
+ 'application/xml': ['.xml'],
16
+ 'application/json': ['.json'],
17
+ 'application/zip': ['.zip'],
18
+ 'application/x-7z-compressed': ['.7z'],
19
+ 'application/x-rar-compressed': ['.rar'],
20
+ 'application/msword': ['.doc'],
21
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': ['.docx', '.docm'],
22
+ 'application/vnd.ms-excel': ['.xls'],
23
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['.xlsx', '.xlsm'],
24
+ 'application/vnd.ms-powerpoint': ['.ppt'],
25
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation': ['.pptx', '.pptm'],
26
+ 'application/vnd.oasis.opendocument.text': ['.odt'],
27
+ 'application/vnd.oasis.opendocument.spreadsheet': ['.ods'],
28
+ 'application/vnd.oasis.opendocument.presentation': ['.odp'],
29
+ 'application/vnd.ms-outlook': ['.msg'],
30
+ 'message/rfc822': ['.eml'],
31
+ // Image formats
32
+ 'image/png': ['.png'],
33
+ 'image/jpeg': ['.jpeg', '.jpg'],
34
+ 'image/gif': ['.gif'],
35
+ 'image/webp': ['.webp'],
36
+ 'image/bmp': ['.bmp'],
37
+ 'image/svg+xml': ['.svg'],
38
+ 'image/tiff': ['.tiff', '.tif'],
39
+ // Audio formats
40
+ 'audio/mpeg': ['.mp3'],
41
+ 'audio/wav': ['.wav'],
42
+ 'audio/ogg': ['.ogg'],
43
+ 'audio/flac': ['.flac'],
44
+ 'audio/aac': ['.aac'],
45
+ 'audio/x-ms-wma': ['.wma'],
46
+ // Video formats
47
+ 'video/mp4': ['.mp4'],
48
+ 'video/x-msvideo': ['.avi'],
49
+ 'video/x-matroska': ['.mkv'],
50
+ 'video/quicktime': ['.mov'],
51
+ 'video/webm': ['.webm'],
52
+ 'video/x-flv': ['.flv'],
53
+ 'video/x-ms-wmv': ['.wmv']
54
+ };
55
+ var _default = exports.default = ACCEPTED_UPLOAD_TYPE_MAPPING;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Spinner = _interopRequireDefault(require("react-bootstrap/Spinner"));
10
+ var _formBuilder = require("@pinuts/form-builder");
11
+ var _reactI18next = require("react-i18next");
12
+ var _FormFieldChildPropTypes = _interopRequireDefault(require("../FormFieldWrapper/FormFieldChildPropTypes.jsx"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
+ const SectionSpinner = _ref => {
16
+ let {
17
+ className,
18
+ inputProps = {},
19
+ label = 'Lädt gerade',
20
+ variant = 'primary',
21
+ animation = 'grow',
22
+ size = ''
23
+ } = _ref;
24
+ const {
25
+ t
26
+ } = (0, _reactI18next.useTranslation)();
27
+ return /*#__PURE__*/_react.default.createElement("div", _extends({
28
+ className: _formBuilder.utils.getClassNames(['container', className])
29
+ }, inputProps), /*#__PURE__*/_react.default.createElement("div", {
30
+ className: "row justify-content-center"
31
+ }, /*#__PURE__*/_react.default.createElement("div", {
32
+ className: "col-auto"
33
+ }, /*#__PURE__*/_react.default.createElement(_Spinner.default, {
34
+ animation: animation,
35
+ variant: variant,
36
+ role: "status",
37
+ size: size
38
+ }, /*#__PURE__*/_react.default.createElement("span", {
39
+ className: "sr-only"
40
+ }, t(label), "...")))));
41
+ };
42
+ SectionSpinner.propTypes = {
43
+ ..._FormFieldChildPropTypes.default,
44
+ variant: _propTypes.default.string,
45
+ animation: _propTypes.default.string,
46
+ size: _propTypes.default.string
47
+ };
48
+ (0, _formBuilder.registerComponent)('SectionSpinner', SectionSpinner);
49
+ var _default = exports.default = SectionSpinner;