@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,39 @@
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 _Button = _interopRequireDefault(require("./Button.jsx"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ 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); }
13
+ const SubmitButton = _ref => {
14
+ let {
15
+ inputProps = {},
16
+ ...otherProps
17
+ } = _ref;
18
+ return /*#__PURE__*/_react.default.createElement(_Button.default, _extends({}, otherProps, {
19
+ inputProps: {
20
+ ...inputProps,
21
+ type: 'submit'
22
+ }
23
+ }));
24
+ };
25
+ SubmitButton.propTypes = {
26
+ inputProps: _propTypes.default.object
27
+ };
28
+ const FormBuilderSubmitButton = _ref2 => {
29
+ let {
30
+ config = {},
31
+ ...otherProps
32
+ } = _ref2;
33
+ return /*#__PURE__*/_react.default.createElement(SubmitButton, _extends({}, otherProps, config));
34
+ };
35
+ FormBuilderSubmitButton.propTypes = {
36
+ config: _propTypes.default.shape(SubmitButton.propTypes)
37
+ };
38
+ (0, _formBuilder.registerComponent)('SubmitButton', FormBuilderSubmitButton);
39
+ var _default = exports.default = SubmitButton;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var dayjs = _interopRequireWildcard(require("dayjs"));
10
+ var _formBuilder = require("@pinuts/form-builder");
11
+ var _getUikitClassNames = require("../../utils/getUikitClassNames.js");
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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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 _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
19
+ // Ansonsten setzt dateJs das Jahr auf 1900
20
+ const isValidDate = value => value?.split('-')?.[0] > 1900 && dayjs(value).isValid();
21
+ const getToday = () => dayjs().format('YYYY-MM-DD');
22
+ const DateInputField = _ref => {
23
+ let {
24
+ minDate,
25
+ maxDate,
26
+ className,
27
+ readOnly,
28
+ inputProps,
29
+ onChange = () => {},
30
+ field = {},
31
+ value,
32
+ isRequired,
33
+ isInvalid,
34
+ ariaAttributes,
35
+ disabled,
36
+ viewMode,
37
+ dateFormat,
38
+ monthView = false,
39
+ dayOfMonth = 'first',
40
+ valueFormat = 'YYYY-MM-DD'
41
+ } = _ref;
42
+ const handleChange = event => {
43
+ if (monthView && isValidDate(event.target.value)) {
44
+ const selectedDate = dayjs(event.target.value);
45
+ onChange((dayOfMonth === 'first' ? selectedDate.startOf('month') : selectedDate.endOf('month')).format(valueFormat));
46
+ } else {
47
+ onChange(event.target.value);
48
+ }
49
+ };
50
+ const formControlClassNames = (0, _getUikitClassNames.getFormControlClassNames)(isInvalid, readOnly, disabled, className);
51
+ const usedValue = (0, _react.useMemo)(() => {
52
+ if (monthView && isValidDate(value)) {
53
+ return dayjs(value).format('YYYY-MM');
54
+ }
55
+ return value;
56
+ }, [value, monthView]);
57
+ if (viewMode) {
58
+ if (!value) {
59
+ return '';
60
+ }
61
+ return DateInputField.formFieldConfig.formatViewMode(value, dateFormat);
62
+ }
63
+ const maxDateToUse = maxDate === 'today' ? getToday() : maxDate;
64
+ const minDateToUse = minDate === 'today' ? getToday() : minDate;
65
+ return /*#__PURE__*/_react.default.createElement("div", {
66
+ className: "date-input-container"
67
+ }, /*#__PURE__*/_react.default.createElement("input", _extends({
68
+ type: monthView ? 'month' : 'date',
69
+ className: formControlClassNames,
70
+ required: isRequired,
71
+ pattern: monthView ? '' : '\\d{4}-\\d{2}-\\d{2}',
72
+ max: maxDateToUse,
73
+ min: minDateToUse
74
+ }, field, ariaAttributes, inputProps, {
75
+ value: usedValue || '',
76
+ onChange: handleChange
77
+ })));
78
+ };
79
+ DateInputField.propTypes = {
80
+ ..._FormFieldChildPropTypes.default,
81
+ minDate: _propTypes.default.string,
82
+ maxDate: _propTypes.default.string,
83
+ monthView: _propTypes.default.bool,
84
+ dayOfMonth: _propTypes.default.oneOf(['first', 'last']),
85
+ valueFormat: _propTypes.default.string,
86
+ className: _propTypes.default.string,
87
+ onChange: _propTypes.default.func,
88
+ key: _propTypes.default.string,
89
+ dateFormat: _propTypes.default.string
90
+ };
91
+ DateInputField.formFieldConfig = {
92
+ formatViewMode: function (value) {
93
+ let dateFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'DD.MM.YYYY';
94
+ return value ? dayjs(value).format(dateFormat) : '';
95
+ }
96
+ };
97
+ const HigherOrderDateInputField = (0, _withFieldGroup.default)(DateInputField);
98
+
99
+ // wrap the field label, error message help text and more
100
+ const WrappedDateInputField = props => {
101
+ return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(HigherOrderDateInputField, props));
102
+ };
103
+ (0, _formBuilder.registerComponent)('DateInputField', WrappedDateInputField);
104
+ (0, _formBuilder.registerComponent)('DateInputFieldbasic', HigherOrderDateInputField);
105
+ var _default = exports.default = HigherOrderDateInputField;
@@ -0,0 +1,101 @@
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 _Icon = _interopRequireDefault(require("../Icon/Icon.jsx"));
11
+ 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); }
12
+ 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; }
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 DropDownButton = _ref => {
16
+ let {
17
+ id,
18
+ className = '',
19
+ icon,
20
+ label = '',
21
+ ariaLabel,
22
+ style,
23
+ inputProps,
24
+ options = [],
25
+ color = 'orange'
26
+ } = _ref;
27
+ const [isOpen, setIsOpen] = (0, _react.useState)(false);
28
+ if (!options?.length) {
29
+ return null;
30
+ }
31
+ return /*#__PURE__*/_react.default.createElement("div", {
32
+ style: style,
33
+ role: "group"
34
+ }, /*#__PURE__*/_react.default.createElement("div", {
35
+ className: "btn-group",
36
+ role: "group"
37
+ }, /*#__PURE__*/_react.default.createElement("button", _extends({
38
+ type: "button",
39
+ id: id,
40
+ "aria-label": ariaLabel || label,
41
+ onClick: () => setIsOpen(state => !state),
42
+ className: _formBuilder.utils.getClassNames(['drop-down-toggle btn', color && `btn-${color}`, className]),
43
+ "aria-expanded": isOpen ? 'true' : 'false',
44
+ "data-bs-toggle": 'dropdown',
45
+ "aria-haspopup": 'true'
46
+ }, inputProps), label && /*#__PURE__*/_react.default.createElement("span", null, label), icon && /*#__PURE__*/_react.default.createElement(_Icon.default, {
47
+ config: {
48
+ ...icon
49
+ }
50
+ }), icon && !label && !ariaLabel ? 'no aria-label provided' : ''), /*#__PURE__*/_react.default.createElement("ul", {
51
+ "aria-labelledby": id,
52
+ className: 'dropdown-menu'
53
+ }, options?.map(_ref2 => {
54
+ let {
55
+ label,
56
+ value,
57
+ className,
58
+ ...otherProps
59
+ } = _ref2;
60
+ return /*#__PURE__*/_react.default.createElement("li", {
61
+ className: "dropdown-item",
62
+ key: `${label}-dropdown-item`
63
+ }, /*#__PURE__*/_react.default.createElement("button", _extends({
64
+ type: "button",
65
+ id: `dropdown-btn-${value}`
66
+ }, otherProps, {
67
+ "aria-disabled": otherProps.disabled && 'true',
68
+ className: _formBuilder.utils.getClassNames(['dropdown-btn', className])
69
+ }), label));
70
+ }))));
71
+ };
72
+ DropDownButton.propTypes = {
73
+ onClick: _propTypes.default.func,
74
+ color: _propTypes.default.string,
75
+ ariaDisabled: _propTypes.default.bool,
76
+ ariaExpanded: _propTypes.default.string,
77
+ components: _propTypes.default.array,
78
+ children: _propTypes.default.node,
79
+ value: _propTypes.default.string,
80
+ ariaLabel: _propTypes.default.string.isRequired,
81
+ className: _propTypes.default.string,
82
+ style: _propTypes.default.object,
83
+ inputProps: _propTypes.default.object,
84
+ label: _propTypes.default.string,
85
+ icon: _propTypes.default.object,
86
+ id: _propTypes.default.string,
87
+ options: _propTypes.default.array,
88
+ defaultValue: _propTypes.default.string
89
+ };
90
+ const FormBuilderDropDownButton = _ref3 => {
91
+ let {
92
+ config = {},
93
+ ...otherProps
94
+ } = _ref3;
95
+ return /*#__PURE__*/_react.default.createElement(DropDownButton, _extends({}, otherProps, config));
96
+ };
97
+ FormBuilderDropDownButton.propTypes = {
98
+ config: _propTypes.default.shape(DropDownButton.propTypes)
99
+ };
100
+ (0, _formBuilder.registerComponent)('DropDownButton', FormBuilderDropDownButton);
101
+ var _default = exports.default = DropDownButton;
@@ -0,0 +1,188 @@
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 _reactI18next = require("react-i18next");
10
+ var _reactDropzone = require("react-dropzone");
11
+ var _formBuilder = require("@pinuts/form-builder");
12
+ var _reactBootstrap = require("react-bootstrap");
13
+ var _FormFieldChildPropTypes = _interopRequireDefault(require("../FormFieldWrapper/FormFieldChildPropTypes.jsx"));
14
+ var _FormFieldWrapper = _interopRequireDefault(require("../FormFieldWrapper/FormFieldWrapper.jsx"));
15
+ var _withFieldGroup = _interopRequireDefault(require("../../hooks/withFieldGroup.jsx"));
16
+ var _Icon = _interopRequireDefault(require("../Icon/Icon.jsx"));
17
+ var _DropzoneUploadFieldModule = _interopRequireDefault(require("./DropzoneUploadField.module.scss"));
18
+ var _acceptedUploadTypeMapping = require("./acceptedUploadTypeMapping.js");
19
+ 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); }
20
+ 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; }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ 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
23
+ const {
24
+ useField,
25
+ useFormikContext
26
+ } = _formBuilder.formik;
27
+ const {
28
+ getClassNames
29
+ } = _formBuilder.utils;
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 DropzoneUploadField = _ref => {
36
+ let {
37
+ viewMode,
38
+ field,
39
+ onChange = () => {},
40
+ ariaAttributes,
41
+ isInvalid,
42
+ readOnly,
43
+ disabled,
44
+ fieldIds,
45
+ label,
46
+ localeRejected,
47
+ acceptedFileTypes
48
+ } = _ref;
49
+ const [t] = (0, _reactI18next.useTranslation)();
50
+ // eslint-disable-next-line no-unused-vars
51
+ const [formikField, _meta, helpers] = useField(field.name);
52
+ const usedViewMode = (0, _react.useMemo)(() => readOnly || disabled || viewMode, [readOnly, disabled, viewMode]);
53
+ const {
54
+ status,
55
+ setStatus
56
+ } = useFormikContext();
57
+ const onDrop = (0, _react.useCallback)(acceptedFiles => {
58
+ helpers.setTouched(true);
59
+ helpers.setValue('');
60
+ setStatus({
61
+ ...status,
62
+ [formikField.name]: {
63
+ file: acceptedFiles[0]
64
+ }
65
+ });
66
+ onChange(acceptedFiles[0]);
67
+ }, [status, formikField.name, helpers, onChange, setStatus]);
68
+ const {
69
+ fileRejections,
70
+ getRootProps,
71
+ getInputProps
72
+ } = (0, _reactDropzone.useDropzone)({
73
+ onDrop: !usedViewMode ? onDrop : () => {},
74
+ noClick: usedViewMode,
75
+ noKeyboard: usedViewMode,
76
+ accept: getFormattedAcceptesFileTypes(acceptedFileTypes || []) || {}
77
+ });
78
+ const removeFile = e => {
79
+ e.preventDefault();
80
+ e.stopPropagation();
81
+ helpers.setTouched(true);
82
+ if (status[formikField.name]) {
83
+ setStatus({
84
+ ...status,
85
+ [formikField.name]: null
86
+ });
87
+ } else {
88
+ helpers.setValue('');
89
+ }
90
+ onChange('');
91
+ };
92
+ return /*#__PURE__*/_react.default.createElement("section", {
93
+ className: getClassNames([!usedViewMode && 'container-fluid', _DropzoneUploadFieldModule.default.dropZoneWrapper, isInvalid && _DropzoneUploadFieldModule.default.isInvalid, usedViewMode && _DropzoneUploadFieldModule.default.disabled]),
94
+ "aria-labelledby": fieldIds.label
95
+ }, /*#__PURE__*/_react.default.createElement("div", {
96
+ className: "d-flex justify-content-between"
97
+ }, /*#__PURE__*/_react.default.createElement("div", getRootProps({
98
+ onDrop,
99
+ className: getClassNames(['dropzone', 'flex-fill', _DropzoneUploadFieldModule.default.fakeButton]),
100
+ role: 'button',
101
+ 'aria-disabled': usedViewMode,
102
+ tabIndex: usedViewMode ? '-1' : '0',
103
+ ...ariaAttributes,
104
+ 'aria-controls': fieldIds.fieldId,
105
+ 'aria-labelledby': ''
106
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("input", _extends({}, getInputProps({
107
+ id: fieldIds.fieldId
108
+ }), {
109
+ accept: acceptedFileTypes?.join(',')
110
+ })), /*#__PURE__*/_react.default.createElement("div", {
111
+ className: getClassNames([_DropzoneUploadFieldModule.default.insideDropzone, usedViewMode && _DropzoneUploadFieldModule.default.disabled, 'flex-fill', (status[formikField.name] || formikField.value || usedViewMode) && 'd-flex justify-content-start'])
112
+ }, /*#__PURE__*/_react.default.createElement("span", {
113
+ className: "sr-only"
114
+ }, label), !status[formikField.name] && !formikField.value ? /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "text-hbs-schwarz-60"
116
+ }, /*#__PURE__*/_react.default.createElement("div", {
117
+ className: "d-flex justify-content-center align-items-center text-gray"
118
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
119
+ icon: usedViewMode ? 'lock' : 'circlePlus',
120
+ height: "32",
121
+ width: "32",
122
+ className: "me-2"
123
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", null, usedViewMode ? 'Kein Dokument hochgeladen' : 'Datei auswählen oder in dieses Feld ziehen'), localeRejected && fileRejections.length > 0 && /*#__PURE__*/_react.default.createElement("div", {
124
+ className: "text-danger"
125
+ }, t(`${localeRejected}.${fileRejections[0]?.errors[0].code}`, {
126
+ filename: fileRejections[0]?.file.path
127
+ }))))) : /*#__PURE__*/_react.default.createElement("div", {
128
+ className: "d-flex mw-100 align-items-center"
129
+ }, /*#__PURE__*/_react.default.createElement("div", {
130
+ className: getClassNames(['flex-shrink-0 flex-grow-0 align-items center me-0 pe-2', usedViewMode && 'ps-0'])
131
+ }, status[formikField.name] ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.Spinner, {
132
+ animation: "grow",
133
+ role: "status",
134
+ variant: "secondary",
135
+ style: {
136
+ width: '48px',
137
+ height: '48px'
138
+ }
139
+ }, /*#__PURE__*/_react.default.createElement("span", {
140
+ className: "sr-only"
141
+ }, t(label), "...")) : /*#__PURE__*/_react.default.createElement(_Icon.default, {
142
+ icon: "fileText",
143
+ height: "48",
144
+ width: "48"
145
+ })), /*#__PURE__*/_react.default.createElement("div", {
146
+ className: "flex-fill"
147
+ }, /*#__PURE__*/_react.default.createElement("div", {
148
+ className: "d-flex justify-content-between"
149
+ }, /*#__PURE__*/_react.default.createElement("div", {
150
+ className: "flex-fill text-truncate",
151
+ title: status[formikField.name]?.file?.name || formikField?.value?.name
152
+ }, status[formikField.name]?.file?.name || formikField?.value?.name)), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: "text-gray"
154
+ }, [(status[formikField.name]?.file?.size || formikField?.value?.size) && `${(parseInt(status[formikField.name]?.file?.size || formikField?.value?.size, 10) / (1024 * 1024)).toFixed(2)}MB`, status[formikField.name]?.file?.type || formikField?.value?.type].filter(Boolean).join(', '))))))), !usedViewMode && (status[formikField.name] || formikField?.value) && /*#__PURE__*/_react.default.createElement("aside", {
155
+ className: "flex-shrink-0 flex-grow-0 d-flex align-items-center"
156
+ }, /*#__PURE__*/_react.default.createElement("div", {
157
+ className: "p-1"
158
+ }, /*#__PURE__*/_react.default.createElement("button", {
159
+ type: "button",
160
+ "aria-label": 'Ausgewählte Datei entfernen',
161
+ className: "btn btn-tuerkis-20 btn-circular",
162
+ onClick: removeFile
163
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
164
+ icon: "trash",
165
+ height: "16",
166
+ width: "16"
167
+ }))))));
168
+ };
169
+ DropzoneUploadField.propTypes = {
170
+ ..._FormFieldChildPropTypes.default,
171
+ acceptedFileTypes: _propTypes.default.arrayOf(_propTypes.default.string),
172
+ localeRejected: _propTypes.default.string,
173
+ onChange: _propTypes.default.func,
174
+ key: _propTypes.default.string
175
+ };
176
+ DropzoneUploadField.formFieldConfig = {
177
+ labelIsLegend: true,
178
+ isFieldset: true
179
+ };
180
+ const HigherOrderDropzoneUploadField = (0, _withFieldGroup.default)(DropzoneUploadField);
181
+
182
+ // wrap the field label, error message help text and more
183
+ const WrappedDropzoneUploadField = props => {
184
+ return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(HigherOrderDropzoneUploadField, props));
185
+ };
186
+ (0, _formBuilder.registerComponent)('DropzoneUploadField', WrappedDropzoneUploadField);
187
+ (0, _formBuilder.registerComponent)('DropzoneUploadFieldBasic', HigherOrderDropzoneUploadField);
188
+ 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,75 @@
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 _reactI18next = require("react-i18next");
11
+ var _reactRouterDom = require("react-router-dom");
12
+ var _Icon = _interopRequireDefault(require("../../assets/Icon.jsx"));
13
+ var _HTMLParserSanitized = require("../HTMLParserSanitized/HTMLParserSanitized.jsx");
14
+ var _formModule = _interopRequireDefault(require("../../styles/form.module.scss"));
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 FieldLabel = _ref => {
18
+ let {
19
+ id,
20
+ targetId,
21
+ labelText,
22
+ isRequired,
23
+ isInvalid,
24
+ isLegend,
25
+ isFocused,
26
+ viewMode,
27
+ stepId
28
+ } = _ref;
29
+ const [t] = (0, _reactI18next.useTranslation)();
30
+ // Doppelpunkte und HTML-Tags zerstören das i18n?
31
+ const usedLabelText = labelText && !labelText.includes(':') && !labelText.includes('<') ? t(labelText) : labelText;
32
+ const children = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_HTMLParserSanitized.HTMLParserSanitized, null, usedLabelText), isRequired && /*#__PURE__*/_react.default.createElement("span", {
33
+ "aria-hidden": "true",
34
+ className: _formBuilder.utils.getClassNames([_formModule.default.required, isInvalid && 'is-invalid'])
35
+ }, "*"));
36
+ if (viewMode) {
37
+ const ErrorTag = stepId ? _reactRouterDom.Link : 'div';
38
+ return !isInvalid ? /*#__PURE__*/_react.default.createElement("div", {
39
+ className: "form-label"
40
+ }, /*#__PURE__*/_react.default.createElement(_HTMLParserSanitized.HTMLParserSanitized, null, usedLabelText)) : /*#__PURE__*/_react.default.createElement(ErrorTag, _extends({
41
+ className: "form-label"
42
+ }, stepId ? {
43
+ to: `../${stepId}`
44
+ } : {}), usedLabelText, stepId && /*#__PURE__*/_react.default.createElement(_Icon.default, {
45
+ icon: "chevronRight",
46
+ className: "my-1",
47
+ height: "16",
48
+ width: "16"
49
+ }));
50
+ }
51
+ const labelClassNames = _formBuilder.utils.getClassNames([_formModule.default.label, isFocused && _formModule.default.labelFocused]);
52
+ const outerComponentProps = {
53
+ id,
54
+ className: labelClassNames,
55
+ children
56
+ };
57
+ if (isLegend) {
58
+ return /*#__PURE__*/_react.default.createElement("legend", outerComponentProps);
59
+ }
60
+ return /*#__PURE__*/_react.default.createElement("label", _extends({}, outerComponentProps, {
61
+ htmlFor: targetId
62
+ }));
63
+ };
64
+ FieldLabel.propTypes = {
65
+ id: _propTypes.default.string,
66
+ targetId: _propTypes.default.string.isRequired,
67
+ isRequired: _propTypes.default.bool,
68
+ isFocused: _propTypes.default.bool,
69
+ isInvalid: _propTypes.default.bool,
70
+ labelText: _propTypes.default.string.isRequired,
71
+ isLegend: _propTypes.default.bool,
72
+ viewMode: _propTypes.default.bool,
73
+ stepId: _propTypes.default.string
74
+ };
75
+ var _default = exports.default = FieldLabel;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _uuid = require("uuid");
10
+ var _reactI18next = require("react-i18next");
11
+ var _formBuilder = require("@pinuts/form-builder");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ 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); }
14
+ 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; }
15
+ // FormBuilder
16
+
17
+ const FieldsetWrapper = _ref => {
18
+ let {
19
+ config,
20
+ components
21
+ } = _ref;
22
+ const {
23
+ label,
24
+ helpText,
25
+ headingLevel = '2'
26
+ } = config;
27
+ const [t] = (0, _reactI18next.useTranslation)();
28
+ const formId = (0, _react.useMemo)(() => (0, _uuid.v4)().slice(0, 6), []);
29
+ const HeadingTag = `h${headingLevel}`;
30
+ // Doppelpunkte und HTML-Tags zerstören das i18n?
31
+ const usedLabel = label && !label.includes(':') && !label.includes('<') ? t(label) : label;
32
+ const usedHelpText = helpText && !helpText.includes(':') && !helpText.includes('<') ? t(helpText) : helpText;
33
+ return /*#__PURE__*/_react.default.createElement("fieldset", {
34
+ className: "mb-4"
35
+ }, /*#__PURE__*/_react.default.createElement("legend", null, /*#__PURE__*/_react.default.createElement(HeadingTag, null, usedLabel), helpText && /*#__PURE__*/_react.default.createElement("p", {
36
+ className: "helper-text"
37
+ }, usedHelpText)), /*#__PURE__*/_react.default.createElement(_formBuilder.ComponentPopulator, {
38
+ formId: `${formId}-${label.replaceAll(' ', '')}-fieldset-wrapper`,
39
+ components: components
40
+ }));
41
+ };
42
+ FieldsetWrapper.propTypes = {
43
+ components: _propTypes.default.instanceOf(Array).isRequired,
44
+ config: _propTypes.default.shape({
45
+ label: _propTypes.default.string.isRequired,
46
+ helpText: _propTypes.default.string,
47
+ headingLevel: _propTypes.default.string
48
+ }).isRequired
49
+ };
50
+ (0, _formBuilder.registerComponent)('FieldsetWrapper', FieldsetWrapper);
51
+ var _default = exports.default = FieldsetWrapper;