@blateral/b.kit 2.8.3 → 2.8.4-patch-1.0

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 (109) hide show
  1. package/cjs/{Checkbox-8dccd42f.js → Checkbox-ddc9a87d.js} +2 -2
  2. package/cjs/{Checkbox-8dccd42f.js.map → Checkbox-ddc9a87d.js.map} +1 -1
  3. package/cjs/Copy-2a9d4b5d.js +2 -0
  4. package/cjs/Copy-2a9d4b5d.js.map +1 -0
  5. package/cjs/{EventBlock-4e406696.js → EventBlock-0b0f0dd3.js} +2 -2
  6. package/cjs/{EventBlock-4e406696.js.map → EventBlock-0b0f0dd3.js.map} +1 -1
  7. package/cjs/{FilterBar-0cb49472.js → FilterBar-bfd9db6e.js} +2 -2
  8. package/cjs/{FilterBar-0cb49472.js.map → FilterBar-bfd9db6e.js.map} +1 -1
  9. package/cjs/{FilterField-0ba59002.js → FilterField-d204feb1.js} +2 -2
  10. package/cjs/{FilterField-0ba59002.js.map → FilterField-d204feb1.js.map} +1 -1
  11. package/cjs/{Image-94820dfd.js → Image-69a9c116.js} +2 -2
  12. package/cjs/{Image-94820dfd.js.map → Image-69a9c116.js.map} +1 -1
  13. package/cjs/{InfoList-e416058c.js → InfoList-f040b8fb.js} +2 -2
  14. package/cjs/{InfoList-e416058c.js.map → InfoList-f040b8fb.js.map} +1 -1
  15. package/cjs/{LanguageSwitcher-aa96cc7d.js → LanguageSwitcher-c6fd04df.js} +2 -2
  16. package/cjs/{LanguageSwitcher-aa96cc7d.js.map → LanguageSwitcher-c6fd04df.js.map} +1 -1
  17. package/cjs/{MultiselectDropdown-07d543dc.js → MultiselectDropdown-d46ae36f.js} +2 -2
  18. package/cjs/{MultiselectDropdown-07d543dc.js.map → MultiselectDropdown-d46ae36f.js.map} +1 -1
  19. package/cjs/{Navigation-6abb6213.js → Navigation-6c5d9dee.js} +2 -2
  20. package/cjs/{Navigation-6abb6213.js.map → Navigation-6c5d9dee.js.map} +1 -1
  21. package/cjs/{SocialList-aec9a5c2.js → SocialList-73af56b5.js} +2 -2
  22. package/cjs/{SocialList-aec9a5c2.js.map → SocialList-73af56b5.js.map} +1 -1
  23. package/cjs/{TableBlock-c545ca8d.js → TableBlock-532c7e1e.js} +2 -2
  24. package/cjs/{TableBlock-c545ca8d.js.map → TableBlock-532c7e1e.js.map} +1 -1
  25. package/cjs/{Tag-937849ad.js → Tag-232f7aa9.js} +2 -2
  26. package/cjs/{Tag-937849ad.js.map → Tag-232f7aa9.js.map} +1 -1
  27. package/cjs/{Textarea-599e94a4.js → Textarea-d30682bd.js} +2 -2
  28. package/cjs/{Textarea-599e94a4.js.map → Textarea-d30682bd.js.map} +1 -1
  29. package/cjs/{Textfield-24f468be.js → Textfield-b3769184.js} +2 -2
  30. package/cjs/{Textfield-24f468be.js.map → Textfield-b3769184.js.map} +1 -1
  31. package/cjs/{VideoBlock-1fbf598b.js → VideoBlock-0cae22f0.js} +2 -2
  32. package/cjs/{VideoBlock-1fbf598b.js.map → VideoBlock-0cae22f0.js.map} +1 -1
  33. package/cjs/{VideoCard-905c08d2.js → VideoCard-c9d4f46a.js} +2 -2
  34. package/cjs/{VideoCard-905c08d2.js.map → VideoCard-c9d4f46a.js.map} +1 -1
  35. package/cjs/blocks.js +1 -1
  36. package/cjs/cookies.js +1 -1
  37. package/cjs/fields.js +1 -1
  38. package/cjs/footer.js +1 -1
  39. package/cjs/{formFieldText-046fcbf4.js → formFieldText-21f5f620.js} +2 -2
  40. package/cjs/{formFieldText-046fcbf4.js.map → formFieldText-21f5f620.js.map} +1 -1
  41. package/cjs/headers.js +1 -1
  42. package/cjs/navigation.js +1 -1
  43. package/cjs/sections.dynamicform.js +1 -1
  44. package/cjs/sections.dynamicform.js.map +1 -1
  45. package/cjs/sections.events.js +1 -1
  46. package/cjs/sections.forms.js +1 -1
  47. package/cjs/sections.jobs.js +1 -1
  48. package/cjs/sections.js +1 -1
  49. package/cjs/sections.news.js +1 -1
  50. package/cjs/sections.pois.js +1 -1
  51. package/cjs/typography.js +1 -1
  52. package/esm/{Checkbox-1957067a.js → Checkbox-962fea67.js} +2 -2
  53. package/esm/{Checkbox-1957067a.js.map → Checkbox-962fea67.js.map} +1 -1
  54. package/esm/{Copy-c6786949.js → Copy-fd9e25c0.js} +2 -2
  55. package/esm/Copy-fd9e25c0.js.map +1 -0
  56. package/esm/{EventBlock-8e130f6b.js → EventBlock-12361860.js} +4 -4
  57. package/esm/{EventBlock-8e130f6b.js.map → EventBlock-12361860.js.map} +1 -1
  58. package/esm/{FilterBar-821e43bc.js → FilterBar-8c258534.js} +6 -6
  59. package/esm/{FilterBar-821e43bc.js.map → FilterBar-8c258534.js.map} +1 -1
  60. package/esm/{FilterField-60359bfc.js → FilterField-8e64b355.js} +2 -2
  61. package/esm/{FilterField-60359bfc.js.map → FilterField-8e64b355.js.map} +1 -1
  62. package/esm/{Image-b26692a9.js → Image-c67870d4.js} +2 -2
  63. package/esm/{Image-b26692a9.js.map → Image-c67870d4.js.map} +1 -1
  64. package/esm/{InfoList-b6980a42.js → InfoList-d853db58.js} +2 -2
  65. package/esm/{InfoList-b6980a42.js.map → InfoList-d853db58.js.map} +1 -1
  66. package/esm/{LanguageSwitcher-f9218fdc.js → LanguageSwitcher-c9aa594a.js} +2 -2
  67. package/esm/{LanguageSwitcher-f9218fdc.js.map → LanguageSwitcher-c9aa594a.js.map} +1 -1
  68. package/esm/{MultiselectDropdown-91d0151c.js → MultiselectDropdown-61a5a1a6.js} +4 -4
  69. package/esm/{MultiselectDropdown-91d0151c.js.map → MultiselectDropdown-61a5a1a6.js.map} +1 -1
  70. package/esm/{Navigation-bb79a1eb.js → Navigation-6581bcdf.js} +4 -4
  71. package/esm/{Navigation-bb79a1eb.js.map → Navigation-6581bcdf.js.map} +1 -1
  72. package/esm/{SocialList-336b7f6d.js → SocialList-abaf970d.js} +2 -2
  73. package/esm/{SocialList-336b7f6d.js.map → SocialList-abaf970d.js.map} +1 -1
  74. package/esm/{TableBlock-1ddfd539.js → TableBlock-a65315ca.js} +2 -2
  75. package/esm/{TableBlock-1ddfd539.js.map → TableBlock-a65315ca.js.map} +1 -1
  76. package/esm/{Tag-c3bd6b7f.js → Tag-217cd89b.js} +2 -2
  77. package/esm/{Tag-c3bd6b7f.js.map → Tag-217cd89b.js.map} +1 -1
  78. package/esm/{Textarea-95352f50.js → Textarea-60503eb7.js} +3 -3
  79. package/esm/{Textarea-95352f50.js.map → Textarea-60503eb7.js.map} +1 -1
  80. package/esm/{Textfield-99d91b4e.js → Textfield-e8f48b5f.js} +3 -3
  81. package/esm/{Textfield-99d91b4e.js.map → Textfield-e8f48b5f.js.map} +1 -1
  82. package/esm/{VideoBlock-474e0aa4.js → VideoBlock-3f150172.js} +4 -4
  83. package/esm/{VideoBlock-474e0aa4.js.map → VideoBlock-3f150172.js.map} +1 -1
  84. package/esm/{VideoCard-91438667.js → VideoCard-aa60fbe5.js} +2 -2
  85. package/esm/{VideoCard-91438667.js.map → VideoCard-aa60fbe5.js.map} +1 -1
  86. package/esm/blocks.js +14 -14
  87. package/esm/cookies.js +2 -2
  88. package/esm/fields.js +7 -7
  89. package/esm/footer.js +3 -3
  90. package/esm/{formFieldText-f4188e55.js → formFieldText-c6fcd370.js} +2 -2
  91. package/esm/{formFieldText-f4188e55.js.map → formFieldText-c6fcd370.js.map} +1 -1
  92. package/esm/headers.js +4 -4
  93. package/esm/navigation.js +6 -6
  94. package/esm/sections.dynamicform.js +40 -12
  95. package/esm/sections.dynamicform.js.map +1 -1
  96. package/esm/sections.events.js +5 -5
  97. package/esm/sections.forms.js +3 -3
  98. package/esm/sections.jobs.js +2 -2
  99. package/esm/sections.js +7 -7
  100. package/esm/sections.news.js +5 -5
  101. package/esm/sections.pois.js +10 -10
  102. package/esm/typography.js +1 -1
  103. package/package.json +1 -1
  104. package/types/components/sections/form/DynamicForm.d.ts +7 -0
  105. package/types/components/sections/form/DynamicForm.d.ts.map +1 -1
  106. package/types/components/typography/Copy.d.ts.map +1 -1
  107. package/cjs/Copy-a0bc570d.js +0 -2
  108. package/cjs/Copy-a0bc570d.js.map +0 -1
  109. package/esm/Copy-c6786949.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sections.dynamicform.js","sources":["../src/components/sections/form/renderer/fieldGroupRenderer.tsx","../src/components/sections/form/validators/fieldValidator.ts","../src/components/sections/form/validators/areaValidator.ts","../src/components/sections/form/validators/selectValidator.ts","../src/components/sections/form/validators/datepickerValidator.ts","../src/components/sections/form/validators/locationValidator.ts","../src/components/sections/form/validators/fieldGroupValidator.ts","../src/components/sections/form/validators/uploadValidator.ts","../src/components/sections/form/DynamicForm.tsx","../src/components/sections/form/renderer/fieldRenderer.tsx","../src/components/sections/form/renderer/areaRenderer.tsx","../src/components/sections/form/renderer/datepickerRenderer.tsx","../src/components/sections/form/renderer/locationRenderer.tsx","../src/components/sections/form/renderer/selectRenderer.tsx","../src/components/sections/form/renderer/uploadRenderer.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport RadioButton from 'components/fields/Radio';\nimport { FieldGenerationProps, FieldGroup } from '../DynamicForm';\nimport FieldWrapper from 'components/fields/FormField';\nimport { spacings } from 'utils/styles';\nimport Checkbox from 'components/fields/Checkbox';\n\nconst FieldSet = styled.fieldset`\n display: block;\n border: none;\n background: none;\n outline: none;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n`;\n\nconst Fields = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport const renderRadioGroupField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n info,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string;\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n <Fields>\n {group?.fields?.map((field, fi) => (\n <RadioButton\n key={fi}\n enableMemo\n name={key}\n value={field.text}\n label={field.text}\n isInverted={isInverted}\n isSelected={\n field.text ? groupData === field.text : false\n }\n onChange={(e) => {\n if (field.text) {\n setField({\n key,\n value: e.currentTarget.value,\n });\n }\n }}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n\nexport const renderCheckboxGroupField = ({\n field,\n key,\n isInverted,\n value,\n isTouched,\n error,\n info,\n setTouched,\n validateField,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string[];\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n\n <Fields>\n {group?.fields?.map((field, ci) => (\n <Checkbox\n key={ci}\n enableMemo\n isInverted={isInverted}\n onChange={(ev) => {\n const value = ev.currentTarget.value;\n\n // add key to form data array if not exists. Otherwise remove it\n if (value) {\n const cIndex = groupData.indexOf(value);\n if (cIndex === -1) {\n groupData.push(value);\n } else {\n groupData.splice(cIndex, 1);\n }\n // set formik values\n setField({\n key,\n value: groupData,\n });\n setTouched(key, true);\n validateField(key);\n }\n }}\n isSelected={\n field.text\n ? groupData.indexOf(field.text) !== -1\n : false\n }\n name={key}\n value={field.text}\n label={field.text}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n","import { Field } from '../DynamicForm';\n\nconst fieldValidator = async (key: string, value: string, config: Field) => {\n const inputType = config.inputType;\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n switch (inputType) {\n case 'email':\n if (\n value &&\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)\n ) {\n error = config.errorMsg || 'Invalid Mail format';\n }\n break;\n case 'tel':\n if (value && /[A-Z]/gi.test(value)) {\n error = config.errorMsg || 'Ungültige Telefonnummer';\n }\n break;\n case 'number':\n if (value && !/^[+]?\\d+([.]\\d+)?$/gm.test(value as string)) {\n error = config.errorMsg || 'Zahlenformat ungültig';\n }\n break;\n }\n\n return error;\n};\n\nexport default fieldValidator;\n","import { Area } from '../DynamicForm';\n\nconst areaValidator = async (key: string, value: string, config: Area) => {\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default areaValidator;\n","import { Select } from '../DynamicForm';\n\nconst selectValidator = async (\n key: string,\n selectedItem: string,\n config: Select\n) => {\n let error = '';\n\n if (config.isRequired && !selectedItem) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default selectValidator;\n","import { Datepicker } from '../DynamicForm';\n\nconst datepickerValidator = async (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n) => {\n let error = '';\n const single = config.singleSelect;\n\n if (config.isRequired && !value) {\n error = single\n ? config.singleDateError || 'Please submit date!'\n : config.multiDateError || 'Please submit start- and enddate!';\n } else if (config.isRequired && single && !value[0]) {\n error = config.singleDateError || 'Please submit date!';\n } else if (config.isRequired && !single && (!value[0] || !value[1])) {\n error = config.multiDateError || 'Please submit start- and enddate!';\n }\n\n return error;\n};\n\nexport default datepickerValidator;\n","import { LocationData } from 'components/fields/LocationField';\nimport { Location } from '../DynamicForm';\n\nconst locationValidator = async (\n key: string,\n value: LocationData,\n config: Location\n) => {\n let error = '';\n\n if (\n config.isRequired &&\n !value.description &&\n !value.position?.[0] &&\n !value.position?.[1]\n ) {\n error = config.errorMsg || 'Please submit location info!';\n }\n\n return error;\n};\n\nexport default locationValidator;\n","import { FieldGroup } from '../DynamicForm';\n\nconst fieldGroupValidator = async (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n) => {\n const type = config.groupType;\n let error = '';\n\n if (type === 'Checkbox') {\n const selectValues = value as string[];\n if (config.isRequired && (!selectValues || selectValues?.length < 1)) {\n error = config.errorMsg || 'Please select at least one item!';\n }\n } else if (type === 'Radio') {\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Selection required';\n }\n }\n return error;\n};\n\nexport default fieldGroupValidator;\n","import { FileUpload } from '../DynamicForm';\n\nconst uploadValidator = async (\n key: string,\n files: Array<File>,\n config: FileUpload\n) => {\n let error = '';\n\n if (config.isRequired && (!files || files?.length < 1)) {\n error = config.errorMsg || 'Please submit at least one file!';\n }\n\n return error;\n};\n\nexport default uploadValidator;\n","import React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { Field, FormikErrors, useFormik } from 'formik';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport Button from 'components/buttons/Button';\n\nimport { LocationData } from 'components/fields/LocationField';\n\n/** Field Renderer */\nimport renderLocationField from './renderer/locationRenderer';\nimport renderDatepickerField from './renderer/datepickerRenderer';\nimport {\n renderCheckboxGroupField,\n renderRadioGroupField,\n} from './renderer/fieldGroupRenderer';\nimport renderAreaField from './renderer/areaRenderer';\nimport renderField from './renderer/fieldRenderer';\nimport renderSelectField from './renderer/selectRenderer';\nimport renderUploadField from './renderer/uploadRenderer';\nimport fieldValidator from './validators/fieldValidator';\nimport areaValidator from './validators/areaValidator';\nimport selectValidator from './validators/selectValidator';\nimport datepickerValidator from './validators/datepickerValidator';\nimport locationValidator from './validators/locationValidator';\nimport fieldGroupValidator from './validators/fieldGroupValidator';\nimport uploadValidator from './validators/uploadValidator';\nimport Copy from 'components/typography/Copy';\n\nconst StyledSection = styled(Section)`\n overflow: visible;\n`;\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media ${mq.semilarge} {\n flex-direction: row;\n }\n`;\n\nconst FieldContainer = styled.div`\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst FormFooter = styled.div`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Status = styled(Copy)`\n text-align: left;\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst ActionContainer = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer * 1.5}px;\n text-align: right;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nexport interface FormStructure {\n [key: string]:\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n}\n\nexport interface FormField {\n isRequired?: boolean;\n}\n\nexport interface Field extends FormField {\n type: 'Field';\n inputType?: 'text' | 'number' | 'email' | 'password' | 'tel';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Field) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Area extends FormField {\n type: 'Area';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Area) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Select extends FormField {\n type: 'Select';\n initialOption?: string;\n placeholder?: string;\n dropdownItems: {\n label?: string;\n value?: Record<string, string>;\n }[];\n info?: string;\n validate?: (\n key: string,\n selectedItem: string,\n config: Select\n ) => Promise<string>;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n errorMsg?: string;\n}\n\nexport interface Datepicker extends FormField {\n type: 'Datepicker';\n initialDates?: [Date, Date];\n placeholder?: string;\n minDate?: Date;\n maxDate?: Date;\n singleSelect?: boolean;\n info?: string;\n customIcon?: (props: {\n isInverted?: boolean;\n singleSelect?: boolean;\n }) => React.ReactNode;\n\n singleDateError?: string;\n multiDateError?: string;\n nextCtrlUrl?: React.ReactNode;\n prevCtrlUrl?: React.ReactNode;\n validate?: (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n ) => Promise<string>;\n deleteAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n submitAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n}\n\nexport interface Location extends FormField {\n type: 'Location';\n zoom?: number;\n initialMapCenter?: [number, number];\n placeholder?: string;\n info?: string;\n errorMsg?: string;\n customToggle?: (props: {\n isInverted?: boolean;\n viewState?: 'desc' | 'map';\n handleClick?: () => void;\n }) => React.ReactNode;\n customLocationControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n customResetControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n validate?: (\n key: string,\n value: LocationData,\n config: Location\n ) => Promise<string>;\n toggleLabel?: string;\n trackLocationLabel?: string;\n}\n\nexport interface FieldGroup extends FormField {\n type: 'FieldGroup';\n groupType: 'Radio' | 'Checkbox';\n fields: Array<{ initialChecked?: boolean; text?: string }>;\n validate?: (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n ) => Promise<string>;\n errorMsg?: string;\n infoMsg?: string;\n}\n\nexport interface FileUpload extends FormField {\n type: 'Upload';\n addBtnLabel?: string;\n removeBtnLabel?: string;\n info?: string;\n acceptedFormats?: string;\n customUploadIcon?: (isInverted?: boolean) => React.ReactNode;\n customDeleteIcon?: (isInverted?: boolean) => React.ReactNode;\n validate?: (\n key: string,\n value: Array<File>,\n config: FileUpload\n ) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface FormData {\n [key: string]: FormDataTypes | string;\n}\n\nexport type FormDataTypes =\n | string\n | boolean\n | Record<string, string>\n | Array<string>\n | [Date | null, Date | null]\n | Array<File>\n | LocationData;\n\ntype FieldTypes =\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n\nexport interface FieldGenerationProps<T extends FieldTypes> {\n field: T;\n value: FormDataTypes;\n error: string;\n info?: string;\n isTouched: boolean;\n key: string;\n isInverted: boolean;\n hasBg: boolean;\n theme: DefaultTheme;\n setField: (props: {\n key: string;\n value: any;\n shouldValidate?: boolean;\n }) => Promise<void | FormikErrors<FormData>>;\n validateField: (\n name: string\n ) => Promise<string | undefined> | Promise<void>;\n setTouched: (\n field: string,\n touched?: boolean | undefined,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n handleChange: {\n (e: React.ChangeEvent<any>): void;\n <T_1 = string | React.ChangeEvent<any>>(\n field: T_1\n ): T_1 extends React.ChangeEvent<any>\n ? void\n : (e: string | React.ChangeEvent<any>) => void;\n };\n handleBlur: {\n (e: React.FocusEvent<any>): void;\n <T = any>(fieldOrEvent: T): T extends string ? (e: any) => void : void;\n };\n validateOnBlur?: boolean;\n validateOnChange?: boolean;\n}\n\nexport type FormValues = FormData & {\n targetEmails: string[];\n subjectLine: string;\n};\n\nexport interface SubmitResponse {\n message?: string;\n isError?: boolean;\n}\n\nconst DynamicForm: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Field definitions */\n fields?: FormStructure;\n\n /** Callback on form submit */\n onSubmit?: (values: FormValues) => Promise<SubmitResponse>;\n\n /** Function to inject custom submit button */\n submitAction?: (props: {\n isInverted?: boolean;\n handleSubmit?: () => Promise<any>;\n isSubmitting?: boolean;\n }) => React.ReactNode;\n\n /** List of target emails */\n targetEmails?: string[];\n\n /** E-Mail subject */\n subjectLine?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Functions to inject custom field components (React nodes) */\n definitions?: {\n field?: (props: FieldGenerationProps<Field>) => React.ReactNode;\n area?: (props: FieldGenerationProps<Area>) => React.ReactNode;\n select?: (props: FieldGenerationProps<Select>) => React.ReactNode;\n datepicker?: (\n props: FieldGenerationProps<Datepicker>\n ) => React.ReactNode;\n location?: (props: FieldGenerationProps<Location>) => React.ReactNode;\n checkbox?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n radio?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n upload?: (props: FieldGenerationProps<FileUpload>) => React.ReactNode;\n };\n}> = ({\n anchorId,\n fields,\n onSubmit,\n submitAction,\n definitions,\n subjectLine,\n targetEmails,\n bgMode,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n const [submitReponse, setSubmitResponse] = useState<SubmitResponse>();\n\n // generate initial data and setup yup validation definition\n const initalData: FormData = {};\n\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field':\n initalData[key] = (fields[key] as Field).initialValue || '';\n break;\n case 'Area':\n initalData[key] = (fields[key] as Area).initialValue || '';\n break;\n case 'Select':\n initalData[key] = (fields[key] as Select).initialOption || '';\n break;\n case 'Datepicker':\n initalData[key] = (fields[key] as Datepicker).initialDates || [\n null,\n null,\n ];\n break;\n case 'Location': {\n initalData[key] = {\n description: '',\n position: [0, 0],\n };\n break;\n }\n case 'Upload':\n initalData[key] = [];\n break;\n case 'FieldGroup': {\n const group = fields[key] as FieldGroup;\n const type = (fields[key] as FieldGroup).groupType;\n if (type === 'Checkbox') {\n const initalArray: string[] = [];\n group.fields.forEach((field) => {\n if (field.initialChecked && field.text)\n initalArray.push(field.text);\n });\n initalData[key] = initalArray;\n } else if (type === 'Radio') {\n initalData[key] = '';\n group.fields.every((field) => {\n if (field.initialChecked && field.text) {\n initalData[key] = field.text;\n return false;\n }\n return true;\n });\n }\n break;\n }\n }\n }\n\n const validation = async (values: FormData) => {\n const errors: Partial<FormData> = {};\n\n // search for errors and set them\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field': {\n const config = fields[key] as Field;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Area': {\n const config = fields[key] as Area;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await areaValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Select': {\n const config = fields[key] as Select;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await selectValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Datepicker': {\n const config = fields[key] as Datepicker;\n const value = values[key] as [Date | null, Date | null];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await datepickerValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Location': {\n const config = fields[key] as Location;\n const value = values[key] as LocationData;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await locationValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'FieldGroup': {\n const config = fields[key] as FieldGroup;\n const value = values[key] as Array<string> | string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldGroupValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Upload': {\n const config = fields[key] as FileUpload;\n const files = values[key] as File[];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await uploadValidator(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n }\n }\n\n return errors;\n };\n\n // formik hook\n const {\n handleSubmit,\n handleChange,\n handleBlur,\n setFieldTouched,\n setSubmitting,\n validateField,\n submitForm,\n setValues,\n isSubmitting,\n touched,\n values,\n errors,\n dirty,\n validateOnBlur,\n validateOnChange,\n } = useFormik<FormData>({\n initialValues: {\n ...initalData,\n } as FormData,\n\n onSubmit: async (values, helpers) => {\n const valuesAndMails = {\n ...values,\n targetEmails: targetEmails || [],\n subjectLine: subjectLine || '',\n };\n\n if (!onSubmit) {\n setSubmitting(false);\n return;\n }\n\n const response = await onSubmit(valuesAndMails);\n helpers.resetForm({ values });\n setSubmitResponse(response);\n\n if (response.isError) {\n setSubmitting(false);\n }\n },\n validateOnBlur: true,\n validateOnChange: true,\n validate: validation,\n });\n\n // save last react state\n const latestValuesRef = useRef<FormData>({ ...initalData } as FormData);\n const { theme } = useLibTheme();\n\n // rewrite setFieldValue to prevent loadash feature of Formik: https://github.com/jaredpalmer/formik/issues/2262\n const setField = useCallback(\n (props: {\n key: string;\n value: any;\n prevValues: FormData;\n shouldValidate?: boolean;\n }) => {\n return setValues(\n { ...latestValuesRef.current, [props.key]: props.value },\n props.shouldValidate\n );\n },\n [setValues]\n );\n\n const fieldKeys = fields && Object.keys(fields);\n\n useEffect(() => {\n latestValuesRef.current = { ...values };\n }, [values]);\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : bgMode\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <Form noValidate onSubmit={handleSubmit}>\n <FieldContainer>\n {fields &&\n fieldKeys?.map((label, i) => {\n const props = {\n index: i,\n field: fields[label],\n key: label,\n value: values[label],\n error: errors[label],\n isTouched: touched[label] || false,\n isInverted: isInverted,\n hasBg: hasBg,\n setField: setField,\n setTouched: setFieldTouched,\n validateField: validateField,\n handleChange: handleChange,\n handleBlur: handleBlur,\n validateOnBlur,\n validateOnChange,\n theme: theme,\n } as FieldGenerationProps<any>;\n\n switch (fields[label].type) {\n case 'Field': {\n if (definitions?.field) {\n return definitions.field(props);\n } else {\n return renderField(props);\n }\n }\n\n case 'Area': {\n if (definitions?.area) {\n return definitions.area(props);\n } else {\n return renderAreaField(props);\n }\n }\n\n case 'Datepicker': {\n if (definitions?.datepicker) {\n return definitions.datepicker(\n props\n );\n } else {\n return renderDatepickerField(props);\n }\n }\n\n case 'Location': {\n if (definitions?.location) {\n return definitions.location(props);\n } else {\n return renderLocationField(props);\n }\n }\n\n case 'FieldGroup': {\n if (\n (fields[label] as FieldGroup)\n .groupType === 'Checkbox'\n ) {\n if (definitions?.checkbox) {\n return definitions.checkbox(\n props\n );\n } else {\n return renderCheckboxGroupField(\n props\n );\n }\n } else {\n if (definitions?.radio) {\n return definitions.radio(props);\n } else {\n return renderRadioGroupField(\n props\n );\n }\n }\n }\n\n case 'Select': {\n if (definitions?.select) {\n return definitions.select(props);\n } else {\n return renderSelectField(props);\n }\n }\n\n case 'Upload': {\n if (definitions?.upload) {\n return definitions.upload(props);\n } else {\n return renderUploadField(props);\n }\n }\n default:\n return null;\n }\n })}\n </FieldContainer>\n </Form>\n {(fields || submitReponse?.message) && (\n <FormFooter>\n {submitReponse?.message && !dirty && (\n <Status\n textColor={\n submitReponse?.isError\n ? color(theme).error\n : isInverted\n ? color(theme).text.copyInverted\n : color(theme).text.copy\n }\n >\n {submitReponse.message || ''}\n </Status>\n )}\n {fields && (\n <ActionContainer>\n <Actions\n primary={\n submitAction ? (\n submitAction({\n isInverted,\n isSubmitting,\n handleSubmit: submitForm,\n })\n ) : (\n <Button.View\n as=\"button\"\n onClick={submitForm}\n {...{\n type: 'submit',\n }}\n >\n <Button.Label>\n Send mail\n </Button.Label>\n </Button.View>\n )\n }\n />\n </ActionContainer>\n )}\n </FormFooter>\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const DynamicFormComponent = DynamicForm;\nexport default withLibTheme(DynamicForm);\n","import React from 'react';\n\nimport Textfield from 'components/fields/Textfield';\nimport { Field, FieldGenerationProps } from '../DynamicForm';\n\nconst renderField = ({\n field,\n key,\n value,\n error,\n isTouched,\n handleChange,\n handleBlur,\n isInverted,\n}: FieldGenerationProps<Field>) => (\n <Textfield\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n type={field.inputType}\n isInverted={isInverted}\n value={value as string}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderField;\n","import React from 'react';\n\nimport Textarea from 'components/fields/Textarea';\nimport { Area, FieldGenerationProps } from '../DynamicForm';\n\nconst renderAreaField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n handleChange,\n handleBlur,\n}: FieldGenerationProps<Area>) => (\n <Textarea\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n value={value as string}\n isInverted={isInverted}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderAreaField;\n","import React from 'react';\nimport DatepickerCmp from 'components/fields/Datepicker';\nimport { Datepicker, FieldGenerationProps } from '../DynamicForm';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport Button from 'components/buttons/Button';\n\nconst renderDatepickerField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n}: FieldGenerationProps<Datepicker>) => {\n const dates = value as [Date | null, Date | null];\n\n const handleSubmit = async (start?: Date | null, end?: Date | null) => {\n await setTouched(key, true);\n await setField({\n key,\n value: [start || null, end || null],\n });\n validateField(key);\n };\n\n return (\n <DatepickerCmp\n key={key}\n enableMemo\n onSubmit={handleSubmit}\n onDataChange={handleSubmit}\n values={[dates?.[0] as Date, dates?.[1] as Date]}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n singleSelect={field.singleSelect}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n name={key}\n customIcon={field?.customIcon}\n isInverted={isInverted}\n minDate={field.minDate}\n maxDate={field.maxDate}\n deleteAction={(handleReset) =>\n field?.deleteAction ? (\n field.deleteAction(handleReset)\n ) : (\n <ButtonGhost.View onClick={handleReset}>\n delete\n </ButtonGhost.View>\n )\n }\n submitAction={(handleSubmit) =>\n field?.submitAction ? (\n field.submitAction(handleSubmit)\n ) : (\n <Button.View onClick={handleSubmit}>submit</Button.View>\n )\n }\n nextCtrlUrl={field.nextCtrlUrl}\n prevCtrlUrl={field.prevCtrlUrl}\n />\n );\n};\n\nexport default renderDatepickerField;\n","import React from 'react';\n\nimport LocationField, { LocationData } from 'components/fields/LocationField';\nimport { FieldGenerationProps } from '../DynamicForm';\nimport { Location } from '../DynamicForm';\n\nconst renderLocationField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<Location>) => {\n const locationData = value as LocationData;\n const mappedData = {\n ...locationData,\n position:\n !locationData?.position?.[0] && !locationData?.position?.[1]\n ? undefined\n : locationData.position,\n };\n\n const handleChange = (location: LocationData) => {\n setField({\n key,\n value: { ...location },\n shouldValidate: true,\n });\n };\n\n return (\n <LocationField\n key={key}\n enableMemo\n name={`['${key}']`}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n initialMapCenter={field.initialMapCenter}\n zoom={field.zoom}\n isInverted={isInverted}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n value={mappedData}\n onChange={handleChange}\n customLocationControl={field.customLocationControl}\n customToggle={field.customToggle}\n customResetControl={field.customResetControl}\n toggleLabel={field.toggleLabel}\n trackLocationLabel={field.trackLocationLabel}\n />\n );\n};\n\nexport default renderLocationField;\n","import React from 'react';\n\nimport SelectDropdown from 'components/fields/SelectDropdown';\nimport { Select, FieldGenerationProps } from '../DynamicForm';\n\nconst renderSelectField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n validateOnChange,\n validateOnBlur,\n}: FieldGenerationProps<Select>) => {\n const selectedItem = value as string;\n\n return (\n <SelectDropdown\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n placeholder={field.placeholder}\n errorMessage={error && isTouched ? error : undefined}\n items={field.dropdownItems\n ?.filter((item) => item.label)\n ?.map((item) => ({\n label: item.label || '',\n value: item.value || {},\n }))}\n selectedItem={selectedItem}\n onChange={async (selectedOption) => {\n setField({ key, value: selectedOption });\n await setTouched(key, true);\n if (validateOnChange) validateField(key);\n }}\n onBlur={() => setTouched(key, true, validateOnBlur)}\n indicator={field.indicator}\n isInverted={isInverted}\n />\n );\n};\n\nexport default renderSelectField;\n","import FileUploadCmp from 'components/fields/FileUpload';\nimport React from 'react';\n\nimport { FileUpload, FieldGenerationProps } from '../DynamicForm';\n\nconst renderUploadField = ({\n field,\n key,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<FileUpload>) => (\n <FileUploadCmp\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n infoMessage={field.info}\n uploadLabel={field.addBtnLabel}\n errorMessage={error && isTouched ? error : undefined}\n acceptedFormats={field.acceptedFormats}\n onUploadFiles={(files) => {\n setField({ key, value: files });\n }}\n customUploadIcon={field.customUploadIcon}\n customDeleteIcon={field.customDeleteIcon}\n isInverted={isInverted}\n />\n);\n\nexport default renderUploadField;\n"],"names":["FieldSet","styled","fieldset","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Fields","div","templateObject_2","spacings","nudge","fieldValidator","key","value","config","__awaiter","inputType","error","isRequired","errorMsg","test","areaValidator","selectValidator","selectedItem","datepickerValidator","single","singleSelect","singleDateError","multiDateError","locationValidator","description","position","_a","_b","fieldGroupValidator","type","groupType","selectValues","length","uploadValidator","files","StyledSection","Section","Form","form","mq","semilarge","FieldContainer","templateObject_3","FormFooter","templateObject_4","spacer","Status","Copy","templateObject_5","ActionContainer","templateObject_6","DynamicForm$1","withLibTheme","anchorId","fields","onSubmit","submitAction","definitions","subjectLine","targetEmails","bgMode","isInverted","hasBg","useState","submitReponse","setSubmitResponse","initalData","initialValue","initialOption","initialDates","group","initalArray_1","forEach","field","initialChecked","text","push","every","_c","useFormik","initialValues","__assign","values","helpers","valuesAndMails","setSubmitting","response","sent","resetForm","isError","validateOnBlur","validateOnChange","validate","errors","error_1","_d","error_2","error_3","error_4","error_5","error_6","error_7","handleSubmit","handleChange","handleBlur","setFieldTouched","validateField","submitForm","setValues","isSubmitting","touched","dirty","latestValuesRef","useRef","theme","useLibTheme","setField","useCallback","props","current","shouldValidate","fieldKeys","Object","keys","useEffect","React","createElement","addSeperation","bgColor","color","getColors","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","noValidate","map","label","i","index","isTouched","setTouched","Textfield","enableMemo","concat","placeholder","name","onChange","onBlur","infoMessage","info","errorMessage","undefined","renderField","area","Textarea","renderAreaField","datepicker","dates","start","end","DatepickerCmp","onDataChange","customIcon","minDate","maxDate","deleteAction","handleReset","ButtonGhost","View","onClick","Button","nextCtrlUrl","prevCtrlUrl","renderDatepickerField","location","locationData","mappedData","LocationField","initialMapCenter","zoom","customLocationControl","customToggle","customResetControl","toggleLabel","trackLocationLabel","renderLocationField","checkbox","groupData","FieldWrapper","Head","ci","Checkbox","ev","currentTarget","cIndex","indexOf","splice","isSelected","Messages","renderCheckboxGroupField","radio","fi","RadioButton","e","renderRadioGroupField","select","SelectDropdown","items","dropdownItems","filter","item","selectedOption","indicator","renderSelectField","upload","FileUploadCmp","uploadLabel","addBtnLabel","acceptedFormats","onUploadFiles","customUploadIcon","customDeleteIcon","renderUploadField","message","textColor","copyInverted","copy","Actions","primary","as","Label"],"mappings":"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"}
1
+ {"version":3,"file":"sections.dynamicform.js","sources":["../src/components/sections/form/renderer/fieldGroupRenderer.tsx","../src/components/sections/form/validators/fieldValidator.ts","../src/components/sections/form/validators/areaValidator.ts","../src/components/sections/form/validators/selectValidator.ts","../src/components/sections/form/validators/datepickerValidator.ts","../src/components/sections/form/validators/locationValidator.ts","../src/components/sections/form/validators/fieldGroupValidator.ts","../src/components/sections/form/validators/uploadValidator.ts","../src/components/sections/form/DynamicForm.tsx","../src/components/sections/form/renderer/fieldRenderer.tsx","../src/components/sections/form/renderer/areaRenderer.tsx","../src/components/sections/form/renderer/datepickerRenderer.tsx","../src/components/sections/form/renderer/locationRenderer.tsx","../src/components/sections/form/renderer/selectRenderer.tsx","../src/components/sections/form/renderer/uploadRenderer.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport RadioButton from 'components/fields/Radio';\nimport { FieldGenerationProps, FieldGroup } from '../DynamicForm';\nimport FieldWrapper from 'components/fields/FormField';\nimport { spacings } from 'utils/styles';\nimport Checkbox from 'components/fields/Checkbox';\n\nconst FieldSet = styled.fieldset`\n display: block;\n border: none;\n background: none;\n outline: none;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n`;\n\nconst Fields = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport const renderRadioGroupField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n info,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string;\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n <Fields>\n {group?.fields?.map((field, fi) => (\n <RadioButton\n key={fi}\n enableMemo\n name={key}\n value={field.text}\n label={field.text}\n isInverted={isInverted}\n isSelected={\n field.text ? groupData === field.text : false\n }\n onChange={(e) => {\n if (field.text) {\n setField({\n key,\n value: e.currentTarget.value,\n });\n }\n }}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n\nexport const renderCheckboxGroupField = ({\n field,\n key,\n isInverted,\n value,\n isTouched,\n error,\n info,\n setTouched,\n validateField,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string[];\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n\n <Fields>\n {group?.fields?.map((field, ci) => (\n <Checkbox\n key={ci}\n enableMemo\n isInverted={isInverted}\n onChange={(ev) => {\n const value = ev.currentTarget.value;\n\n // add key to form data array if not exists. Otherwise remove it\n if (value) {\n const cIndex = groupData.indexOf(value);\n if (cIndex === -1) {\n groupData.push(value);\n } else {\n groupData.splice(cIndex, 1);\n }\n // set formik values\n setField({\n key,\n value: groupData,\n });\n setTouched(key, true);\n validateField(key);\n }\n }}\n isSelected={\n field.text\n ? groupData.indexOf(field.text) !== -1\n : false\n }\n name={key}\n value={field.text}\n label={field.text}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n","import { Field } from '../DynamicForm';\n\nconst fieldValidator = async (key: string, value: string, config: Field) => {\n const inputType = config.inputType;\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n switch (inputType) {\n case 'email':\n if (\n value &&\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)\n ) {\n error = config.errorMsg || 'Invalid Mail format';\n }\n break;\n case 'tel':\n if (value && /[A-Z]/gi.test(value)) {\n error = config.errorMsg || 'Ungültige Telefonnummer';\n }\n break;\n case 'number':\n if (value && !/^[+]?\\d+([.]\\d+)?$/gm.test(value as string)) {\n error = config.errorMsg || 'Zahlenformat ungültig';\n }\n break;\n }\n\n return error;\n};\n\nexport default fieldValidator;\n","import { Area } from '../DynamicForm';\n\nconst areaValidator = async (key: string, value: string, config: Area) => {\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default areaValidator;\n","import { Select } from '../DynamicForm';\n\nconst selectValidator = async (\n key: string,\n selectedItem: string,\n config: Select\n) => {\n let error = '';\n\n if (config.isRequired && !selectedItem) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default selectValidator;\n","import { Datepicker } from '../DynamicForm';\n\nconst datepickerValidator = async (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n) => {\n let error = '';\n const single = config.singleSelect;\n\n if (config.isRequired && !value) {\n error = single\n ? config.singleDateError || 'Please submit date!'\n : config.multiDateError || 'Please submit start- and enddate!';\n } else if (config.isRequired && single && !value[0]) {\n error = config.singleDateError || 'Please submit date!';\n } else if (config.isRequired && !single && (!value[0] || !value[1])) {\n error = config.multiDateError || 'Please submit start- and enddate!';\n }\n\n return error;\n};\n\nexport default datepickerValidator;\n","import { LocationData } from 'components/fields/LocationField';\nimport { Location } from '../DynamicForm';\n\nconst locationValidator = async (\n key: string,\n value: LocationData,\n config: Location\n) => {\n let error = '';\n\n if (\n config.isRequired &&\n !value.description &&\n !value.position?.[0] &&\n !value.position?.[1]\n ) {\n error = config.errorMsg || 'Please submit location info!';\n }\n\n return error;\n};\n\nexport default locationValidator;\n","import { FieldGroup } from '../DynamicForm';\n\nconst fieldGroupValidator = async (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n) => {\n const type = config.groupType;\n let error = '';\n\n if (type === 'Checkbox') {\n const selectValues = value as string[];\n if (config.isRequired && (!selectValues || selectValues?.length < 1)) {\n error = config.errorMsg || 'Please select at least one item!';\n }\n } else if (type === 'Radio') {\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Selection required';\n }\n }\n return error;\n};\n\nexport default fieldGroupValidator;\n","import { FileUpload } from '../DynamicForm';\n\nconst uploadValidator = async (\n key: string,\n files: Array<File>,\n config: FileUpload\n) => {\n let error = '';\n\n if (config.isRequired && (!files || files?.length < 1)) {\n error = config.errorMsg || 'Please submit at least one file!';\n }\n\n return error;\n};\n\nexport default uploadValidator;\n","import React, {\n FC,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { Field, FormikErrors, useFormik } from 'formik';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport Button from 'components/buttons/Button';\n\nimport { LocationData } from 'components/fields/LocationField';\n\n/** Field Renderer */\nimport renderLocationField from './renderer/locationRenderer';\nimport renderDatepickerField from './renderer/datepickerRenderer';\nimport {\n renderCheckboxGroupField,\n renderRadioGroupField,\n} from './renderer/fieldGroupRenderer';\nimport renderAreaField from './renderer/areaRenderer';\nimport renderField from './renderer/fieldRenderer';\nimport renderSelectField from './renderer/selectRenderer';\nimport renderUploadField from './renderer/uploadRenderer';\nimport fieldValidator from './validators/fieldValidator';\nimport areaValidator from './validators/areaValidator';\nimport selectValidator from './validators/selectValidator';\nimport datepickerValidator from './validators/datepickerValidator';\nimport locationValidator from './validators/locationValidator';\nimport fieldGroupValidator from './validators/fieldGroupValidator';\nimport uploadValidator from './validators/uploadValidator';\nimport Copy from 'components/typography/Copy';\n\nconst StyledSection = styled(Section)`\n overflow: visible;\n`;\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media ${mq.semilarge} {\n flex-direction: row;\n }\n`;\n\nconst FieldContainer = styled.div`\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst FormFooter = styled.div`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Status = styled(Copy)`\n text-align: left;\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst ActionContainer = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer * 1.5}px;\n text-align: right;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst HpLabel = styled.label`\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n height: 0;\n width: 0;\n z-index: -1;\n`;\n\nexport interface FormStructure {\n [key: string]:\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n}\n\nexport interface FormField {\n isRequired?: boolean;\n}\n\nexport interface Field extends FormField {\n type: 'Field';\n inputType?: 'text' | 'number' | 'email' | 'password' | 'tel';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Field) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Area extends FormField {\n type: 'Area';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Area) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Select extends FormField {\n type: 'Select';\n initialOption?: string;\n placeholder?: string;\n dropdownItems: {\n label?: string;\n value?: Record<string, string>;\n }[];\n info?: string;\n validate?: (\n key: string,\n selectedItem: string,\n config: Select\n ) => Promise<string>;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n errorMsg?: string;\n}\n\nexport interface Datepicker extends FormField {\n type: 'Datepicker';\n initialDates?: [Date, Date];\n placeholder?: string;\n minDate?: Date;\n maxDate?: Date;\n singleSelect?: boolean;\n info?: string;\n customIcon?: (props: {\n isInverted?: boolean;\n singleSelect?: boolean;\n }) => React.ReactNode;\n\n singleDateError?: string;\n multiDateError?: string;\n nextCtrlUrl?: React.ReactNode;\n prevCtrlUrl?: React.ReactNode;\n validate?: (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n ) => Promise<string>;\n deleteAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n submitAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n}\n\nexport interface Location extends FormField {\n type: 'Location';\n zoom?: number;\n initialMapCenter?: [number, number];\n placeholder?: string;\n info?: string;\n errorMsg?: string;\n customToggle?: (props: {\n isInverted?: boolean;\n viewState?: 'desc' | 'map';\n handleClick?: () => void;\n }) => React.ReactNode;\n customLocationControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n customResetControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n validate?: (\n key: string,\n value: LocationData,\n config: Location\n ) => Promise<string>;\n toggleLabel?: string;\n trackLocationLabel?: string;\n}\n\nexport interface FieldGroup extends FormField {\n type: 'FieldGroup';\n groupType: 'Radio' | 'Checkbox';\n fields: Array<{ initialChecked?: boolean; text?: string }>;\n validate?: (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n ) => Promise<string>;\n errorMsg?: string;\n infoMsg?: string;\n}\n\nexport interface FileUpload extends FormField {\n type: 'Upload';\n addBtnLabel?: string;\n removeBtnLabel?: string;\n info?: string;\n acceptedFormats?: string;\n customUploadIcon?: (isInverted?: boolean) => React.ReactNode;\n customDeleteIcon?: (isInverted?: boolean) => React.ReactNode;\n validate?: (\n key: string,\n value: Array<File>,\n config: FileUpload\n ) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface FormData {\n [key: string]: FormDataTypes | string;\n}\n\nexport type FormDataTypes =\n | string\n | boolean\n | Record<string, string>\n | Array<string>\n | [Date | null, Date | null]\n | Array<File>\n | LocationData;\n\ntype FieldTypes =\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n\nexport interface FieldGenerationProps<T extends FieldTypes> {\n field: T;\n value: FormDataTypes;\n error: string;\n info?: string;\n isTouched: boolean;\n key: string;\n isInverted: boolean;\n hasBg: boolean;\n theme: DefaultTheme;\n setField: (props: {\n key: string;\n value: any;\n shouldValidate?: boolean;\n }) => Promise<void | FormikErrors<FormData>>;\n validateField: (\n name: string\n ) => Promise<string | undefined> | Promise<void>;\n setTouched: (\n field: string,\n touched?: boolean | undefined,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n handleChange: {\n (e: React.ChangeEvent<any>): void;\n <T_1 = string | React.ChangeEvent<any>>(\n field: T_1\n ): T_1 extends React.ChangeEvent<any>\n ? void\n : (e: string | React.ChangeEvent<any>) => void;\n };\n handleBlur: {\n (e: React.FocusEvent<any>): void;\n <T = any>(fieldOrEvent: T): T extends string ? (e: any) => void : void;\n };\n validateOnBlur?: boolean;\n validateOnChange?: boolean;\n}\n\nexport type FormValues = FormData & {\n targetEmails: string[];\n subjectLine: string;\n};\n\nexport interface SubmitResponse {\n message?: string;\n isError?: boolean;\n}\n\nexport interface HoneypotConfig {\n fieldName: string;\n fieldLabel?: string;\n placeholder?: string;\n}\n\nconst DynamicForm: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Field definitions */\n fields?: FormStructure;\n\n /** Callback on form submit */\n onSubmit?: (values: FormValues) => Promise<SubmitResponse>;\n\n /** Function to inject custom submit button */\n submitAction?: (props: {\n isInverted?: boolean;\n handleSubmit?: () => Promise<any>;\n isSubmitting?: boolean;\n }) => React.ReactNode;\n\n /** List of target emails */\n targetEmails?: string[];\n\n /** E-Mail subject */\n subjectLine?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Functions to inject custom field components (React nodes) */\n definitions?: {\n field?: (props: FieldGenerationProps<Field>) => React.ReactNode;\n area?: (props: FieldGenerationProps<Area>) => React.ReactNode;\n select?: (props: FieldGenerationProps<Select>) => React.ReactNode;\n datepicker?: (\n props: FieldGenerationProps<Datepicker>\n ) => React.ReactNode;\n location?: (props: FieldGenerationProps<Location>) => React.ReactNode;\n checkbox?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n radio?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n upload?: (props: FieldGenerationProps<FileUpload>) => React.ReactNode;\n };\n\n honeypot?: HoneypotConfig;\n}> = ({\n anchorId,\n fields,\n onSubmit,\n submitAction,\n definitions,\n subjectLine,\n targetEmails,\n bgMode,\n honeypot,\n}) => {\n const id = useId();\n const hpFieldId = `hp-${id}`;\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n const [submitReponse, setSubmitResponse] = useState<SubmitResponse>();\n\n // generate initial data and setup yup validation definition\n const initalData: FormData = {};\n\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field':\n initalData[key] = (fields[key] as Field).initialValue || '';\n break;\n case 'Area':\n initalData[key] = (fields[key] as Area).initialValue || '';\n break;\n case 'Select':\n initalData[key] = (fields[key] as Select).initialOption || '';\n break;\n case 'Datepicker':\n initalData[key] = (fields[key] as Datepicker).initialDates || [\n null,\n null,\n ];\n break;\n case 'Location': {\n initalData[key] = {\n description: '',\n position: [0, 0],\n };\n break;\n }\n case 'Upload':\n initalData[key] = [];\n break;\n case 'FieldGroup': {\n const group = fields[key] as FieldGroup;\n const type = (fields[key] as FieldGroup).groupType;\n if (type === 'Checkbox') {\n const initalArray: string[] = [];\n group.fields.forEach((field) => {\n if (field.initialChecked && field.text)\n initalArray.push(field.text);\n });\n initalData[key] = initalArray;\n } else if (type === 'Radio') {\n initalData[key] = '';\n group.fields.every((field) => {\n if (field.initialChecked && field.text) {\n initalData[key] = field.text;\n return false;\n }\n return true;\n });\n }\n break;\n }\n }\n }\n\n const validation = async (values: FormData) => {\n const errors: Partial<FormData> = {};\n\n // search for errors and set them\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field': {\n const config = fields[key] as Field;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Area': {\n const config = fields[key] as Area;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await areaValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Select': {\n const config = fields[key] as Select;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await selectValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Datepicker': {\n const config = fields[key] as Datepicker;\n const value = values[key] as [Date | null, Date | null];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await datepickerValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Location': {\n const config = fields[key] as Location;\n const value = values[key] as LocationData;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await locationValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'FieldGroup': {\n const config = fields[key] as FieldGroup;\n const value = values[key] as Array<string> | string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldGroupValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Upload': {\n const config = fields[key] as FileUpload;\n const files = values[key] as File[];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await uploadValidator(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n }\n }\n\n return errors;\n };\n\n // formik hook\n const {\n handleSubmit,\n handleChange,\n handleBlur,\n setFieldTouched,\n setSubmitting,\n validateField,\n submitForm,\n setValues,\n isSubmitting,\n touched,\n values,\n errors,\n dirty,\n validateOnBlur,\n validateOnChange,\n } = useFormik<FormData>({\n initialValues: {\n ...initalData,\n } as FormData,\n\n onSubmit: async (values, helpers) => {\n // check of honeypot field is filled\n const hpFieldValue = (\n document.getElementById(hpFieldId) as HTMLInputElement\n )?.value;\n\n if (hpFieldValue) {\n setSubmitting(false);\n console.warn(\n 'Honeypot field is filled. Possible bot submission.'\n );\n return;\n }\n\n const valuesAndMails = {\n ...values,\n targetEmails: targetEmails || [],\n subjectLine: subjectLine || '',\n };\n\n if (!onSubmit) {\n setSubmitting(false);\n return;\n }\n\n const response = await onSubmit(valuesAndMails);\n helpers.resetForm({ values });\n setSubmitResponse(response);\n\n if (response.isError) {\n setSubmitting(false);\n }\n },\n validateOnBlur: true,\n validateOnChange: true,\n validate: validation,\n });\n\n // save last react state\n const latestValuesRef = useRef<FormData>({ ...initalData } as FormData);\n const { theme } = useLibTheme();\n\n // rewrite setFieldValue to prevent loadash feature of Formik: https://github.com/jaredpalmer/formik/issues/2262\n const setField = useCallback(\n (props: {\n key: string;\n value: any;\n prevValues: FormData;\n shouldValidate?: boolean;\n }) => {\n return setValues(\n { ...latestValuesRef.current, [props.key]: props.value },\n props.shouldValidate\n );\n },\n [setValues]\n );\n\n const fieldKeys = fields && Object.keys(fields);\n\n useEffect(() => {\n latestValuesRef.current = { ...values };\n }, [values]);\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : bgMode\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <Form noValidate onSubmit={handleSubmit}>\n <FieldContainer>\n {fields &&\n fieldKeys?.map((label, i) => {\n const props = {\n index: i,\n field: fields[label],\n key: label,\n value: values[label],\n error: errors[label],\n isTouched: touched[label] || false,\n isInverted: isInverted,\n hasBg: hasBg,\n setField: setField,\n setTouched: setFieldTouched,\n validateField: validateField,\n handleChange: handleChange,\n handleBlur: handleBlur,\n validateOnBlur,\n validateOnChange,\n theme: theme,\n } as FieldGenerationProps<any>;\n\n switch (fields[label].type) {\n case 'Field': {\n if (definitions?.field) {\n return definitions.field(props);\n } else {\n return renderField(props);\n }\n }\n\n case 'Area': {\n if (definitions?.area) {\n return definitions.area(props);\n } else {\n return renderAreaField(props);\n }\n }\n\n case 'Datepicker': {\n if (definitions?.datepicker) {\n return definitions.datepicker(\n props\n );\n } else {\n return renderDatepickerField(props);\n }\n }\n\n case 'Location': {\n if (definitions?.location) {\n return definitions.location(props);\n } else {\n return renderLocationField(props);\n }\n }\n\n case 'FieldGroup': {\n if (\n (fields[label] as FieldGroup)\n .groupType === 'Checkbox'\n ) {\n if (definitions?.checkbox) {\n return definitions.checkbox(\n props\n );\n } else {\n return renderCheckboxGroupField(\n props\n );\n }\n } else {\n if (definitions?.radio) {\n return definitions.radio(props);\n } else {\n return renderRadioGroupField(\n props\n );\n }\n }\n }\n\n case 'Select': {\n if (definitions?.select) {\n return definitions.select(props);\n } else {\n return renderSelectField(props);\n }\n }\n\n case 'Upload': {\n if (definitions?.upload) {\n return definitions.upload(props);\n } else {\n return renderUploadField(props);\n }\n }\n default:\n return null;\n }\n })}\n {honeypot && (\n <HpLabel>\n {honeypot.fieldLabel}\n <input\n id={hpFieldId}\n type=\"text\"\n name={honeypot.fieldName}\n placeholder={honeypot.placeholder}\n tabIndex={-1}\n aria-hidden=\"true\"\n autoComplete=\"off\"\n />\n </HpLabel>\n )}\n </FieldContainer>\n </Form>\n {(fields || submitReponse?.message) && (\n <FormFooter>\n {submitReponse?.message && !dirty && (\n <Status\n textColor={\n submitReponse?.isError\n ? color(theme).error\n : isInverted\n ? color(theme).text.copyInverted\n : color(theme).text.copy\n }\n >\n {submitReponse.message || ''}\n </Status>\n )}\n {fields && (\n <ActionContainer>\n <Actions\n primary={\n submitAction ? (\n submitAction({\n isInverted,\n isSubmitting,\n handleSubmit: submitForm,\n })\n ) : (\n <Button.View\n as=\"button\"\n onClick={submitForm}\n {...{\n type: 'submit',\n }}\n >\n <Button.Label>\n Send mail\n </Button.Label>\n </Button.View>\n )\n }\n />\n </ActionContainer>\n )}\n </FormFooter>\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const DynamicFormComponent = DynamicForm;\nexport default withLibTheme(DynamicForm);\n","import React from 'react';\n\nimport Textfield from 'components/fields/Textfield';\nimport { Field, FieldGenerationProps } from '../DynamicForm';\n\nconst renderField = ({\n field,\n key,\n value,\n error,\n isTouched,\n handleChange,\n handleBlur,\n isInverted,\n}: FieldGenerationProps<Field>) => (\n <Textfield\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n type={field.inputType}\n isInverted={isInverted}\n value={value as string}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderField;\n","import React from 'react';\n\nimport Textarea from 'components/fields/Textarea';\nimport { Area, FieldGenerationProps } from '../DynamicForm';\n\nconst renderAreaField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n handleChange,\n handleBlur,\n}: FieldGenerationProps<Area>) => (\n <Textarea\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n value={value as string}\n isInverted={isInverted}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderAreaField;\n","import React from 'react';\nimport DatepickerCmp from 'components/fields/Datepicker';\nimport { Datepicker, FieldGenerationProps } from '../DynamicForm';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport Button from 'components/buttons/Button';\n\nconst renderDatepickerField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n}: FieldGenerationProps<Datepicker>) => {\n const dates = value as [Date | null, Date | null];\n\n const handleSubmit = async (start?: Date | null, end?: Date | null) => {\n await setTouched(key, true);\n await setField({\n key,\n value: [start || null, end || null],\n });\n validateField(key);\n };\n\n return (\n <DatepickerCmp\n key={key}\n enableMemo\n onSubmit={handleSubmit}\n onDataChange={handleSubmit}\n values={[dates?.[0] as Date, dates?.[1] as Date]}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n singleSelect={field.singleSelect}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n name={key}\n customIcon={field?.customIcon}\n isInverted={isInverted}\n minDate={field.minDate}\n maxDate={field.maxDate}\n deleteAction={(handleReset) =>\n field?.deleteAction ? (\n field.deleteAction(handleReset)\n ) : (\n <ButtonGhost.View onClick={handleReset}>\n delete\n </ButtonGhost.View>\n )\n }\n submitAction={(handleSubmit) =>\n field?.submitAction ? (\n field.submitAction(handleSubmit)\n ) : (\n <Button.View onClick={handleSubmit}>submit</Button.View>\n )\n }\n nextCtrlUrl={field.nextCtrlUrl}\n prevCtrlUrl={field.prevCtrlUrl}\n />\n );\n};\n\nexport default renderDatepickerField;\n","import React from 'react';\n\nimport LocationField, { LocationData } from 'components/fields/LocationField';\nimport { FieldGenerationProps } from '../DynamicForm';\nimport { Location } from '../DynamicForm';\n\nconst renderLocationField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<Location>) => {\n const locationData = value as LocationData;\n const mappedData = {\n ...locationData,\n position:\n !locationData?.position?.[0] && !locationData?.position?.[1]\n ? undefined\n : locationData.position,\n };\n\n const handleChange = (location: LocationData) => {\n setField({\n key,\n value: { ...location },\n shouldValidate: true,\n });\n };\n\n return (\n <LocationField\n key={key}\n enableMemo\n name={`['${key}']`}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n initialMapCenter={field.initialMapCenter}\n zoom={field.zoom}\n isInverted={isInverted}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n value={mappedData}\n onChange={handleChange}\n customLocationControl={field.customLocationControl}\n customToggle={field.customToggle}\n customResetControl={field.customResetControl}\n toggleLabel={field.toggleLabel}\n trackLocationLabel={field.trackLocationLabel}\n />\n );\n};\n\nexport default renderLocationField;\n","import React from 'react';\n\nimport SelectDropdown from 'components/fields/SelectDropdown';\nimport { Select, FieldGenerationProps } from '../DynamicForm';\n\nconst renderSelectField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n validateOnChange,\n validateOnBlur,\n}: FieldGenerationProps<Select>) => {\n const selectedItem = value as string;\n\n return (\n <SelectDropdown\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n placeholder={field.placeholder}\n errorMessage={error && isTouched ? error : undefined}\n items={field.dropdownItems\n ?.filter((item) => item.label)\n ?.map((item) => ({\n label: item.label || '',\n value: item.value || {},\n }))}\n selectedItem={selectedItem}\n onChange={async (selectedOption) => {\n setField({ key, value: selectedOption });\n await setTouched(key, true);\n if (validateOnChange) validateField(key);\n }}\n onBlur={() => setTouched(key, true, validateOnBlur)}\n indicator={field.indicator}\n isInverted={isInverted}\n />\n );\n};\n\nexport default renderSelectField;\n","import FileUploadCmp from 'components/fields/FileUpload';\nimport React from 'react';\n\nimport { FileUpload, FieldGenerationProps } from '../DynamicForm';\n\nconst renderUploadField = ({\n field,\n key,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<FileUpload>) => (\n <FileUploadCmp\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n infoMessage={field.info}\n uploadLabel={field.addBtnLabel}\n errorMessage={error && isTouched ? error : undefined}\n acceptedFormats={field.acceptedFormats}\n onUploadFiles={(files) => {\n setField({ key, value: files });\n }}\n customUploadIcon={field.customUploadIcon}\n customDeleteIcon={field.customDeleteIcon}\n isInverted={isInverted}\n />\n);\n\nexport default renderUploadField;\n"],"names":["FieldSet","styled","fieldset","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Fields","div","templateObject_2","spacings","nudge","fieldValidator","key","value","config","__awaiter","inputType","error","isRequired","errorMsg","test","areaValidator","selectValidator","selectedItem","datepickerValidator","single","singleSelect","singleDateError","multiDateError","locationValidator","description","position","_a","_b","fieldGroupValidator","type","groupType","selectValues","length","uploadValidator","files","StyledSection","Section","Form","form","mq","semilarge","FieldContainer","templateObject_3","FormFooter","templateObject_4","spacer","Status","Copy","templateObject_5","ActionContainer","templateObject_6","HpLabel","label","templateObject_7","DynamicForm$1","withLibTheme","anchorId","fields","onSubmit","submitAction","definitions","subjectLine","targetEmails","bgMode","honeypot","id","useId","hpFieldId","concat","isInverted","hasBg","useState","submitReponse","setSubmitResponse","initalData","initialValue","initialOption","initialDates","group","initalArray_1","forEach","field","initialChecked","text","push","every","_c","useFormik","initialValues","__assign","values","helpers","document","getElementById","setSubmitting","console","warn","valuesAndMails","response","sent","resetForm","isError","validateOnBlur","validateOnChange","validate","errors","error_1","_d","error_2","error_3","error_4","error_5","error_6","error_7","handleSubmit","handleChange","handleBlur","setFieldTouched","validateField","submitForm","setValues","isSubmitting","touched","dirty","latestValuesRef","useRef","theme","useLibTheme","setField","useCallback","props","current","shouldValidate","fieldKeys","Object","keys","useEffect","React","createElement","addSeperation","bgColor","color","getColors","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","noValidate","map","i","index","isTouched","setTouched","Textfield","enableMemo","placeholder","name","onChange","onBlur","infoMessage","info","errorMessage","undefined","renderField","area","Textarea","renderAreaField","datepicker","dates","start","end","DatepickerCmp","onDataChange","customIcon","minDate","maxDate","deleteAction","handleReset","ButtonGhost","View","onClick","Button","nextCtrlUrl","prevCtrlUrl","renderDatepickerField","location","locationData","mappedData","LocationField","initialMapCenter","zoom","customLocationControl","customToggle","customResetControl","toggleLabel","trackLocationLabel","renderLocationField","checkbox","groupData","FieldWrapper","Head","ci","Checkbox","ev","currentTarget","cIndex","indexOf","splice","isSelected","Messages","renderCheckboxGroupField","radio","fi","RadioButton","e","renderRadioGroupField","select","SelectDropdown","items","dropdownItems","filter","item","selectedOption","indicator","renderSelectField","upload","FileUploadCmp","uploadLabel","addBtnLabel","acceptedFormats","onUploadFiles","customUploadIcon","customDeleteIcon","renderUploadField","fieldLabel","fieldName","tabIndex","autoComplete","message","textColor","copyInverted","copy","Actions","primary","as","Label"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Filter-89286db9.js"),n=require("react"),t=require("styled-components"),a=require("./Section-c9a16ccc.js"),i=require("./Wrapper-bca9463e.js"),r=require("./EventBlock-4e406696.js"),o=require("./styles-13e5d9ac.js"),l=require("./LibThemeProvider-69109901.js"),d=require("./statusFormatter-0393122b.js"),s=require("./concat-f387d848.js"),c=require("./Tag-937849ad.js"),m=require("./Pointer-0f69256f.js"),p=require("./Copy-a0bc570d.js"),u=require("./arrays-c272ed59.js"),g=require("./urlParams-7525f638.js"),f=require("./useMounted-0bba9869.js"),v=require("./useObserverSupport-5ab320dd.js"),x=require("./useScrollTo-fdd665da.js"),h=require("./useUpdateEffect-4d233e2c.js"),b=require("./Image-94820dfd.js"),y=require("./Grid-1acefee9.js"),w=require("./InfoList-e416058c.js");function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./Link-8951180c.js"),require("react-dom/server"),require("./clamp-bd21d587.js");var E,k,T,I,C,j,q,B,O,F,L,M,S,A,N,D,z,P,U,V=_(n),R=_(t),W=R.default.div.withConfig({displayName:"EventOverview__TagContainer",componentId:"sc-u2afqs-0"})(E||(E=e.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"])),o.spacings.nudge,o.spacings.nudge,6*o.spacings.nudge),G=R.default.div.withConfig({displayName:"EventOverview__TagWrapper",componentId:"sc-u2afqs-1"})(k||(k=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),H=R.default.ul.withConfig({displayName:"EventOverview__Events",componentId:"sc-u2afqs-2"})(T||(T=e.__makeTemplateObject(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),K=R.default(p.Copy).withConfig({displayName:"EventOverview__FilterIcon",componentId:"sc-u2afqs-3"})(I||(I=e.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2,o.spacings.nudge,o.spacings.nudge),J=R.default.li.withConfig({displayName:"EventOverview__EventItem",componentId:"sc-u2afqs-4"})(C||(C=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),Q=R.default.div.withConfig({displayName:"EventOverview__ListFooter",componentId:"sc-u2afqs-5"})(j||(j=e.__makeTemplateObject(["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"],["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"])),6*o.spacings.nudge,o.mq.medium),X=R.default.span.withConfig({displayName:"EventOverview__ShowMore",componentId:"sc-u2afqs-6"})(q||(q=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),Y=l.withLibTheme((function(t){var o=t.tags,b=t.events,y=t.bgMode,w=t.anchorId,_=t.initial,E=t.showMoreText,k=t.onTagClick,T=t.customTag,I="inverted"===y,C="full"===y,j=l.useLibTheme(),q=j.colors,B=j.globals,O=B.sections.eventFilterName,F=V.default.useState((null==_?void 0:_.activeTags)||[]),L=F[0],M=F[1],S=V.default.useState(1)[0],A=V.default.useState((null==_?void 0:_.visibleRows)||3),N=A[0],D=A[1],z=V.default.useRef(null),P=v.useObserverSupport(),U=f.useMounted(),R=(null==b?void 0:b.length)||0,Y=x.useScrollTo(800),Z=n.useCallback((function(){var e=[],n=g.getUrlParams()[O];if(n){var t=null==n?void 0:n.split(",");u.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[O]);n.useEffect((function(){if(!_){var e=Z();u.isValidArray(e,!1)&&M(e)}}),[Z,_]),n.useEffect((function(){var e;_&&!U&&(g.setUrlParam("rows",(null==_?void 0:_.visibleRows)||3),u.isValidArray(null==_?void 0:_.activeTags,!1)?g.setUrlParam(O,null===(e=null==_?void 0:_.activeTags)||void 0===e?void 0:e.join(",")):g.deleteUrlParam(O))}),[O,_,U]),h.useUpdateEffect((function(){g.setUrlParam("rows",N)}),[N]),h.useUpdateEffect((function(){!k&&u.isValidArray(L)&&(L.length>0?g.setUrlParam(O,L.join(",")):g.deleteUrlParam(O))}),[L]);var $=function(n,t){void 0===t&&(t=!0),M((function(a){var i=e.__spreadArray([],a,!0),r=n.name?a.indexOf(n.name):-1;return-1===r&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(r,1),i):a})),D(3)},ee=n.useMemo((function(){var n=u.isValidArray(b)?e.__spreadArray([],b,!0):[];return n=null==n?void 0:n.filter((function(e){if(!u.isValidArray(L,!1))return!0;if(!e.tags)return!1;for(var n=!1,t=0;t<e.tags.length;t++)if(-1!==L.indexOf(e.tags[t].name||"")){n=!0;break}return n}))}),[b,L]),ne=n.useMemo((function(){return(null==ee?void 0:ee.filter((function(e,n){return n<N*S})))||[]}),[ee,S,N]);n.useEffect((function(){if(P){var e,n=z.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&N<Math.ceil(ee.length/S)&&D((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[S,R,N,P,ee.length]);var te=n.useMemo((function(){return null==o?void 0:o.filter((function(e){return e}))}),[o]);return V.default.createElement(a.Section,{addSeperation:!0,anchorId:w,bgColor:I?q.sectionBg.dark:C?q.sectionBg.medium:"transparent",bgMode:a.mapToBgMode(y,!0)},V.default.createElement(i.Wrapper,{addWhitespace:!0},u.isValidArray(te,!1)&&V.default.createElement(W,null,V.default.createElement(K,{size:"small",type:"copy",isInverted:I},V.default.createElement(e.Filter,null),V.default.createElement("span",null,"Filter")),te.map((function(e,n){return V.default.createElement(G,{key:n},T?T({key:n,name:e,isInverted:I,isActive:-1!==L.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),k?k({name:e}):$({name:e})}}):V.default.createElement(c.Tag,{isInverted:I,onClick:function(n){null==n||n.preventDefault(),k?k({name:e},!1):$({name:e})},isActive:-1!==L.indexOf(e)},e))}))),V.default.createElement(H,{hasBg:C},ne.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",B.sections.eventDateFormat(n.date),B.sections.eventTimeFormat(n.date),B.sections.eventLocaleKey).getFormattedTimespan(B.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return V.default.createElement(J,{key:"".concat(t,"_event_").concat(n.title)},V.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===y},n,{text:o,tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:I,onTagClick:function(e){Y(0),k?k({name:e.name},!0):$({name:e.name},!1)},customTag:T})))}))),V.default.createElement("div",{ref:z}),!P&&V.default.createElement(Q,null,b&&b.length>0&&V.default.createElement(p.Copy,{type:"copy",size:"medium",isInverted:I},V.default.createElement(X,{itemCount:b.length,onClick:function(e){e.preventDefault(),N<Math.ceil(ee.length/S)&&D((function(e){return e+1}))}},N<ee.length/S&&V.default.createElement(m.Pointer.View,{as:"button",isInverted:I},V.default.createElement(m.Pointer.Label,null,E||"mehr anzeigen")))))))})),Z=R.default.ul.withConfig({displayName:"EventList__List",componentId:"sc-1ssgszz-0"})(B||(B=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),$=R.default.li.withConfig({displayName:"EventList__ListItem",componentId:"sc-1ssgszz-1"})(O||(O=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),ee=l.withLibTheme((function(n){var t=n.anchorId,o=n.events,c=n.bgMode,m=n.customTag,p=l.useLibTheme(),g=p.colors,f=p.globals,v=p.theme,x="inverted"===c,h="full"===c;return V.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:x?g.sectionBg.dark:c?g.sectionBg.medium:g.sectionBg.light,bgMode:a.mapToBgMode(c,!0)},V.default.createElement(i.Wrapper,{addWhitespace:!0},V.default.createElement(Z,{hasBg:h},null==o?void 0:o.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",f.sections.eventDateFormat(n.date),f.sections.eventTimeFormat(n.date),f.sections.eventLocaleKey).getFormattedTimespan(f.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return V.default.createElement($,{key:t},V.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===c},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(n){var t,a,i=void 0;return n.name&&(null===(t=n.link)||void 0===t?void 0:t.href)&&(i=function(e,n,t){if(void 0===t&&(t=[]),!e||!n)return"";if(!u.isValidArray(t,!1))return e;var a=n.globals.sections.eventFilterName;if(!a)return e;try{var i=new URL(e),r=new URLSearchParams(i.search);return r.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(r.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}}(n.link.href,v,[n.name])),{name:n.name,link:(null===(a=n.link)||void 0===a?void 0:a.href)?e.__assign(e.__assign({},n.link),{href:i}):void 0}})),isInverted:x,text:o,customTag:m})))})))))})),ne=R.default.div.withConfig({displayName:"EventDetail__ImageContainer",componentId:"sc-1ko6neq-0"})(F||(F=e.__makeTemplateObject(["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ",";\n\n overflow: hidden;\n\n margin-bottom: ","px;\n"],["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ",";\n\n overflow: hidden;\n\n margin-bottom: ","px;\n"])),(function(e){switch(e.hAlign){case"center":return"center";case"right":return"flex-end";default:return"flex-start"}}),o.spacings.spacer),te=R.default.div.withConfig({displayName:"EventDetail__ImgWrapper",componentId:"sc-1ko6neq-1"})(L||(L=e.__makeTemplateObject(["\n flex: 0 0 100%;\n margin-bottom: -6px;\n\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n flex: 0 0 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"],["\n flex: 0 0 100%;\n margin-bottom: -6px;\n\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n flex: 0 0 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"])),o.mq.medium,o.spacings.nudge),ae=R.default.div.withConfig({displayName:"EventDetail__ImageBackground",componentId:"sc-1ko6neq-2"})(M||(M=e.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ",";\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ",";\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"])),(function(e){var n=e.theme;return e.isInverted?o.getGlobals(n).sections.imagePlaceholderBg.inverted:o.getGlobals(n).sections.imagePlaceholderBg.default})),ie=R.default(b.Image).withConfig({displayName:"EventDetail__StyledTextImage",componentId:"sc-1ko6neq-3"})(S||(S=e.__makeTemplateObject(["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"],["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"])),3*o.spacings.nudge,o.mq.medium),re=R.default.div.withConfig({displayName:"EventDetail__TagContainer",componentId:"sc-1ko6neq-4"})(A||(A=e.__makeTemplateObject(["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),o.spacings.nudge,o.spacings.nudge),oe=R.default.div.withConfig({displayName:"EventDetail__TagWrapper",componentId:"sc-1ko6neq-5"})(N||(N=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),le=R.default(p.Heading).withConfig({displayName:"EventDetail__EventTitle",componentId:"sc-1ko6neq-6"})(D||(D=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"])),3*o.spacings.nudge,o.mq.semilarge),de=R.default(p.Copy).withConfig({displayName:"EventDetail__EventDateTime",componentId:"sc-1ko6neq-7"})(z||(z=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),se=R.default(p.Copy).withConfig({displayName:"EventDetail__EventAddress",componentId:"sc-1ko6neq-8"})(P||(P=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])),3*o.spacings.nudge,de,o.spacings.nudge,o.mq.semilarge),ce=R.default(p.Copy).withConfig({displayName:"EventDetail__EventText",componentId:"sc-1ko6neq-9"})(U||(U=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),me=l.withLibTheme((function(t){var r,s=t.anchorId,m=t.event,p=t.infos,g=t.useImageAsBg,f=t.bgMode,v=t.customTag,x=l.useLibTheme(),h=x.colors,_=x.globals,E="inverted"===f,k="full"===f,T=n.useMemo((function(){return u.isValidArray(null==p?void 0:p.filter((function(e){return u.isValidArray(e.items,!1)})),!1)}),[p]),I="",C="";if(null==m?void 0:m.date){var j=new d.StatusFormatter(m.date.getTime(),"",_.sections.eventDateFormat(m.date),_.sections.eventTimeFormat(m.date),_.sections.eventLocaleKey);I=j.getFormattedDate(),C=j.getFormattedTimespan(_.sections.eventTimespanFormat(m.date,m.duration),m.duration)}var q=n.useMemo((function(){var e;return null===(e=null==m?void 0:m.images)||void 0===e?void 0:e.slice(0,2)}),[null==m?void 0:m.images]),B=null==q?void 0:q[1];return V.default.createElement(a.Section,{addSeperation:!0,anchorId:s,bgColor:E?h.sectionBg.dark:k?h.sectionBg.medium:h.sectionBg.light,bgMode:a.mapToBgMode(f,!0)},V.default.createElement(i.Wrapper,{addWhitespace:!0},u.isValidArray(q,!1)&&V.default.createElement(ne,{hAlign:g?"center":"left"},q.map((function(n,t){return n.small?V.default.createElement(te,{key:t},V.default.createElement(b.Image,e.__assign({},n,{coverSpace:!0,allowEdgeRadius:!0,isInverted:E,ratios:{small:{w:4,h:3}}}))):null})),V.default.createElement(ae,{isInverted:E,style:{backgroundImage:g&&q.length<2?"url(".concat(null===(r=null==m?void 0:m.images)||void 0===r?void 0:r[0].small,")"):void 0}})),V.default.createElement(y.Grid.Row,{gutter:5*o.spacings.nudge,semilarge:{gutter:o.spacings.spacer}},V.default.createElement(y.Grid.Col,{semilarge:{span:T?5.7/8:1}},(null==m?void 0:m.tags)&&V.default.createElement(re,null,m.tags.map((function(e,n){return V.default.createElement(oe,{key:"tag_"+n},v?v({key:"headtag-".concat(n),name:e.name||"",isInverted:E,isActive:!1,link:e.link}):V.default.createElement(c.Tag,{link:e.link,isInverted:E},e.name))}))),(null==m?void 0:m.title)&&V.default.createElement(le,{size:"heading-2",isInverted:E},m.title),I&&V.default.createElement(de,{size:"big",type:"copy-b",isInverted:E},I||"",I&&C?" | ":"",C),(null==m?void 0:m.address)&&V.default.createElement(se,{size:"big",type:"copy",innerHTML:m.address,isInverted:E}),(null==m?void 0:m.abstract)&&V.default.createElement(ce,{size:"medium",type:"copy-b",isInverted:E},m.abstract),B&&V.default.createElement(ie,e.__assign({},B,{coverSpace:!0,allowEdgeRadius:!0,isInverted:E,ratios:{small:{w:4,h:3}}})),(null==m?void 0:m.text)&&V.default.createElement(ce,{size:"medium",isInverted:E,innerHTML:m.text})),T&&V.default.createElement(y.Grid.Col,{semilarge:{span:2.3/8}},V.default.createElement(w.InfoList,{isInverted:E,items:p})))))}));exports.EventDetail=me,exports.EventList=ee,exports.EventOverview=Y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Filter-89286db9.js"),n=require("react"),t=require("styled-components"),a=require("./Section-c9a16ccc.js"),i=require("./Wrapper-bca9463e.js"),r=require("./EventBlock-0b0f0dd3.js"),o=require("./styles-13e5d9ac.js"),l=require("./LibThemeProvider-69109901.js"),d=require("./statusFormatter-0393122b.js"),s=require("./concat-f387d848.js"),c=require("./Tag-232f7aa9.js"),m=require("./Pointer-0f69256f.js"),p=require("./Copy-2a9d4b5d.js"),u=require("./arrays-c272ed59.js"),g=require("./urlParams-7525f638.js"),f=require("./useMounted-0bba9869.js"),v=require("./useObserverSupport-5ab320dd.js"),x=require("./useScrollTo-fdd665da.js"),h=require("./useUpdateEffect-4d233e2c.js"),b=require("./Image-69a9c116.js"),y=require("./Grid-1acefee9.js"),w=require("./InfoList-f040b8fb.js");function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./Link-8951180c.js"),require("react-dom/server"),require("./clamp-bd21d587.js");var E,k,T,I,C,j,q,B,O,F,L,M,S,A,N,D,z,P,U,V=_(n),R=_(t),W=R.default.div.withConfig({displayName:"EventOverview__TagContainer",componentId:"sc-u2afqs-0"})(E||(E=e.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"])),o.spacings.nudge,o.spacings.nudge,6*o.spacings.nudge),G=R.default.div.withConfig({displayName:"EventOverview__TagWrapper",componentId:"sc-u2afqs-1"})(k||(k=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),H=R.default.ul.withConfig({displayName:"EventOverview__Events",componentId:"sc-u2afqs-2"})(T||(T=e.__makeTemplateObject(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),K=R.default(p.Copy).withConfig({displayName:"EventOverview__FilterIcon",componentId:"sc-u2afqs-3"})(I||(I=e.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2,o.spacings.nudge,o.spacings.nudge),J=R.default.li.withConfig({displayName:"EventOverview__EventItem",componentId:"sc-u2afqs-4"})(C||(C=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),Q=R.default.div.withConfig({displayName:"EventOverview__ListFooter",componentId:"sc-u2afqs-5"})(j||(j=e.__makeTemplateObject(["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"],["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"])),6*o.spacings.nudge,o.mq.medium),X=R.default.span.withConfig({displayName:"EventOverview__ShowMore",componentId:"sc-u2afqs-6"})(q||(q=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),Y=l.withLibTheme((function(t){var o=t.tags,b=t.events,y=t.bgMode,w=t.anchorId,_=t.initial,E=t.showMoreText,k=t.onTagClick,T=t.customTag,I="inverted"===y,C="full"===y,j=l.useLibTheme(),q=j.colors,B=j.globals,O=B.sections.eventFilterName,F=V.default.useState((null==_?void 0:_.activeTags)||[]),L=F[0],M=F[1],S=V.default.useState(1)[0],A=V.default.useState((null==_?void 0:_.visibleRows)||3),N=A[0],D=A[1],z=V.default.useRef(null),P=v.useObserverSupport(),U=f.useMounted(),R=(null==b?void 0:b.length)||0,Y=x.useScrollTo(800),Z=n.useCallback((function(){var e=[],n=g.getUrlParams()[O];if(n){var t=null==n?void 0:n.split(",");u.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[O]);n.useEffect((function(){if(!_){var e=Z();u.isValidArray(e,!1)&&M(e)}}),[Z,_]),n.useEffect((function(){var e;_&&!U&&(g.setUrlParam("rows",(null==_?void 0:_.visibleRows)||3),u.isValidArray(null==_?void 0:_.activeTags,!1)?g.setUrlParam(O,null===(e=null==_?void 0:_.activeTags)||void 0===e?void 0:e.join(",")):g.deleteUrlParam(O))}),[O,_,U]),h.useUpdateEffect((function(){g.setUrlParam("rows",N)}),[N]),h.useUpdateEffect((function(){!k&&u.isValidArray(L)&&(L.length>0?g.setUrlParam(O,L.join(",")):g.deleteUrlParam(O))}),[L]);var $=function(n,t){void 0===t&&(t=!0),M((function(a){var i=e.__spreadArray([],a,!0),r=n.name?a.indexOf(n.name):-1;return-1===r&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(r,1),i):a})),D(3)},ee=n.useMemo((function(){var n=u.isValidArray(b)?e.__spreadArray([],b,!0):[];return n=null==n?void 0:n.filter((function(e){if(!u.isValidArray(L,!1))return!0;if(!e.tags)return!1;for(var n=!1,t=0;t<e.tags.length;t++)if(-1!==L.indexOf(e.tags[t].name||"")){n=!0;break}return n}))}),[b,L]),ne=n.useMemo((function(){return(null==ee?void 0:ee.filter((function(e,n){return n<N*S})))||[]}),[ee,S,N]);n.useEffect((function(){if(P){var e,n=z.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&N<Math.ceil(ee.length/S)&&D((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[S,R,N,P,ee.length]);var te=n.useMemo((function(){return null==o?void 0:o.filter((function(e){return e}))}),[o]);return V.default.createElement(a.Section,{addSeperation:!0,anchorId:w,bgColor:I?q.sectionBg.dark:C?q.sectionBg.medium:"transparent",bgMode:a.mapToBgMode(y,!0)},V.default.createElement(i.Wrapper,{addWhitespace:!0},u.isValidArray(te,!1)&&V.default.createElement(W,null,V.default.createElement(K,{size:"small",type:"copy",isInverted:I},V.default.createElement(e.Filter,null),V.default.createElement("span",null,"Filter")),te.map((function(e,n){return V.default.createElement(G,{key:n},T?T({key:n,name:e,isInverted:I,isActive:-1!==L.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),k?k({name:e}):$({name:e})}}):V.default.createElement(c.Tag,{isInverted:I,onClick:function(n){null==n||n.preventDefault(),k?k({name:e},!1):$({name:e})},isActive:-1!==L.indexOf(e)},e))}))),V.default.createElement(H,{hasBg:C},ne.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",B.sections.eventDateFormat(n.date),B.sections.eventTimeFormat(n.date),B.sections.eventLocaleKey).getFormattedTimespan(B.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return V.default.createElement(J,{key:"".concat(t,"_event_").concat(n.title)},V.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===y},n,{text:o,tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:I,onTagClick:function(e){Y(0),k?k({name:e.name},!0):$({name:e.name},!1)},customTag:T})))}))),V.default.createElement("div",{ref:z}),!P&&V.default.createElement(Q,null,b&&b.length>0&&V.default.createElement(p.Copy,{type:"copy",size:"medium",isInverted:I},V.default.createElement(X,{itemCount:b.length,onClick:function(e){e.preventDefault(),N<Math.ceil(ee.length/S)&&D((function(e){return e+1}))}},N<ee.length/S&&V.default.createElement(m.Pointer.View,{as:"button",isInverted:I},V.default.createElement(m.Pointer.Label,null,E||"mehr anzeigen")))))))})),Z=R.default.ul.withConfig({displayName:"EventList__List",componentId:"sc-1ssgszz-0"})(B||(B=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),$=R.default.li.withConfig({displayName:"EventList__ListItem",componentId:"sc-1ssgszz-1"})(O||(O=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),ee=l.withLibTheme((function(n){var t=n.anchorId,o=n.events,c=n.bgMode,m=n.customTag,p=l.useLibTheme(),g=p.colors,f=p.globals,v=p.theme,x="inverted"===c,h="full"===c;return V.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:x?g.sectionBg.dark:c?g.sectionBg.medium:g.sectionBg.light,bgMode:a.mapToBgMode(c,!0)},V.default.createElement(i.Wrapper,{addWhitespace:!0},V.default.createElement(Z,{hasBg:h},null==o?void 0:o.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",f.sections.eventDateFormat(n.date),f.sections.eventTimeFormat(n.date),f.sections.eventLocaleKey).getFormattedTimespan(f.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return V.default.createElement($,{key:t},V.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===c},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(n){var t,a,i=void 0;return n.name&&(null===(t=n.link)||void 0===t?void 0:t.href)&&(i=function(e,n,t){if(void 0===t&&(t=[]),!e||!n)return"";if(!u.isValidArray(t,!1))return e;var a=n.globals.sections.eventFilterName;if(!a)return e;try{var i=new URL(e),r=new URLSearchParams(i.search);return r.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(r.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}}(n.link.href,v,[n.name])),{name:n.name,link:(null===(a=n.link)||void 0===a?void 0:a.href)?e.__assign(e.__assign({},n.link),{href:i}):void 0}})),isInverted:x,text:o,customTag:m})))})))))})),ne=R.default.div.withConfig({displayName:"EventDetail__ImageContainer",componentId:"sc-1ko6neq-0"})(F||(F=e.__makeTemplateObject(["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ",";\n\n overflow: hidden;\n\n margin-bottom: ","px;\n"],["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ",";\n\n overflow: hidden;\n\n margin-bottom: ","px;\n"])),(function(e){switch(e.hAlign){case"center":return"center";case"right":return"flex-end";default:return"flex-start"}}),o.spacings.spacer),te=R.default.div.withConfig({displayName:"EventDetail__ImgWrapper",componentId:"sc-1ko6neq-1"})(L||(L=e.__makeTemplateObject(["\n flex: 0 0 100%;\n margin-bottom: -6px;\n\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n flex: 0 0 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"],["\n flex: 0 0 100%;\n margin-bottom: -6px;\n\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n flex: 0 0 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"])),o.mq.medium,o.spacings.nudge),ae=R.default.div.withConfig({displayName:"EventDetail__ImageBackground",componentId:"sc-1ko6neq-2"})(M||(M=e.__makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ",";\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"],["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ",";\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"])),(function(e){var n=e.theme;return e.isInverted?o.getGlobals(n).sections.imagePlaceholderBg.inverted:o.getGlobals(n).sections.imagePlaceholderBg.default})),ie=R.default(b.Image).withConfig({displayName:"EventDetail__StyledTextImage",componentId:"sc-1ko6neq-3"})(S||(S=e.__makeTemplateObject(["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"],["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"])),3*o.spacings.nudge,o.mq.medium),re=R.default.div.withConfig({displayName:"EventDetail__TagContainer",componentId:"sc-1ko6neq-4"})(A||(A=e.__makeTemplateObject(["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),o.spacings.nudge,o.spacings.nudge),oe=R.default.div.withConfig({displayName:"EventDetail__TagWrapper",componentId:"sc-1ko6neq-5"})(N||(N=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),le=R.default(p.Heading).withConfig({displayName:"EventDetail__EventTitle",componentId:"sc-1ko6neq-6"})(D||(D=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"])),3*o.spacings.nudge,o.mq.semilarge),de=R.default(p.Copy).withConfig({displayName:"EventDetail__EventDateTime",componentId:"sc-1ko6neq-7"})(z||(z=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),se=R.default(p.Copy).withConfig({displayName:"EventDetail__EventAddress",componentId:"sc-1ko6neq-8"})(P||(P=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])),3*o.spacings.nudge,de,o.spacings.nudge,o.mq.semilarge),ce=R.default(p.Copy).withConfig({displayName:"EventDetail__EventText",componentId:"sc-1ko6neq-9"})(U||(U=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),me=l.withLibTheme((function(t){var r,s=t.anchorId,m=t.event,p=t.infos,g=t.useImageAsBg,f=t.bgMode,v=t.customTag,x=l.useLibTheme(),h=x.colors,_=x.globals,E="inverted"===f,k="full"===f,T=n.useMemo((function(){return u.isValidArray(null==p?void 0:p.filter((function(e){return u.isValidArray(e.items,!1)})),!1)}),[p]),I="",C="";if(null==m?void 0:m.date){var j=new d.StatusFormatter(m.date.getTime(),"",_.sections.eventDateFormat(m.date),_.sections.eventTimeFormat(m.date),_.sections.eventLocaleKey);I=j.getFormattedDate(),C=j.getFormattedTimespan(_.sections.eventTimespanFormat(m.date,m.duration),m.duration)}var q=n.useMemo((function(){var e;return null===(e=null==m?void 0:m.images)||void 0===e?void 0:e.slice(0,2)}),[null==m?void 0:m.images]),B=null==q?void 0:q[1];return V.default.createElement(a.Section,{addSeperation:!0,anchorId:s,bgColor:E?h.sectionBg.dark:k?h.sectionBg.medium:h.sectionBg.light,bgMode:a.mapToBgMode(f,!0)},V.default.createElement(i.Wrapper,{addWhitespace:!0},u.isValidArray(q,!1)&&V.default.createElement(ne,{hAlign:g?"center":"left"},q.map((function(n,t){return n.small?V.default.createElement(te,{key:t},V.default.createElement(b.Image,e.__assign({},n,{coverSpace:!0,allowEdgeRadius:!0,isInverted:E,ratios:{small:{w:4,h:3}}}))):null})),V.default.createElement(ae,{isInverted:E,style:{backgroundImage:g&&q.length<2?"url(".concat(null===(r=null==m?void 0:m.images)||void 0===r?void 0:r[0].small,")"):void 0}})),V.default.createElement(y.Grid.Row,{gutter:5*o.spacings.nudge,semilarge:{gutter:o.spacings.spacer}},V.default.createElement(y.Grid.Col,{semilarge:{span:T?5.7/8:1}},(null==m?void 0:m.tags)&&V.default.createElement(re,null,m.tags.map((function(e,n){return V.default.createElement(oe,{key:"tag_"+n},v?v({key:"headtag-".concat(n),name:e.name||"",isInverted:E,isActive:!1,link:e.link}):V.default.createElement(c.Tag,{link:e.link,isInverted:E},e.name))}))),(null==m?void 0:m.title)&&V.default.createElement(le,{size:"heading-2",isInverted:E},m.title),I&&V.default.createElement(de,{size:"big",type:"copy-b",isInverted:E},I||"",I&&C?" | ":"",C),(null==m?void 0:m.address)&&V.default.createElement(se,{size:"big",type:"copy",innerHTML:m.address,isInverted:E}),(null==m?void 0:m.abstract)&&V.default.createElement(ce,{size:"medium",type:"copy-b",isInverted:E},m.abstract),B&&V.default.createElement(ie,e.__assign({},B,{coverSpace:!0,allowEdgeRadius:!0,isInverted:E,ratios:{small:{w:4,h:3}}})),(null==m?void 0:m.text)&&V.default.createElement(ce,{size:"medium",isInverted:E,innerHTML:m.text})),T&&V.default.createElement(y.Grid.Col,{semilarge:{span:2.3/8}},V.default.createElement(w.InfoList,{isInverted:E,items:p})))))}));exports.EventDetail=me,exports.EventList=ee,exports.EventOverview=Y;
2
2
  //# sourceMappingURL=sections.events.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Filter-89286db9.js"),n=require("react"),t=require("styled-components"),r=require("./LibThemeProvider-69109901.js"),i=require("./Section-c9a16ccc.js"),a=require("./styles-13e5d9ac.js"),l=require("./Wrapper-bca9463e.js"),d=require("./Textfield-24f468be.js"),o=require("formik"),s=require("./Actions-c52a14e4.js"),u=require("./Button-1adf99b8.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./concat-f387d848.js"),require("./arrays-c272ed59.js"),require("react-dom/server"),require("./Copy-a0bc570d.js"),require("./clamp-bd21d587.js"),require("./formFieldText-046fcbf4.js"),require("./hexRgbConverter-91b28aea.js");var m,g,f,p=c(n),h=c(t),v=h.default.form.withConfig({displayName:"NewsletterForm__Form",componentId:"sc-1pmvhu2-0"})(m||(m=e.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"],["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"])),a.mq.semilarge),b=h.default.div.withConfig({displayName:"NewsletterForm__FieldContainer",componentId:"sc-1pmvhu2-1"})(g||(g=e.__makeTemplateObject(["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ","px;\n }\n\n &:last-child {\n padding-left: ","px;\n }\n }\n"],["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ","px;\n }\n\n &:last-child {\n padding-left: ","px;\n }\n }\n"])),3*a.spacings.nudge,3*a.spacings.nudge,a.mq.semilarge,3*a.spacings.nudge,3*a.spacings.nudge),x=h.default.div.withConfig({displayName:"NewsletterForm__ActionContainer",componentId:"sc-1pmvhu2-2"})(f||(f=e.__makeTemplateObject(["\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ","px;\n\n text-align: center;\n"],["\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ","px;\n\n text-align: center;\n"])),2*a.spacings.spacer),_=function(e){var n=e.key,t=e.field,r=e.isInverted,i=e.value,a=e.handleChange,l=e.handleBlur,o=e.error,s=e.isTouched;return p.default.createElement(d.Textfield,{key:n,label:"".concat(t.label||n).concat(t.isRequired?"*":""),placeholder:t.placeholder,name:"".concat(n),isInverted:r,value:i,onChange:a,onBlur:l,infoMessage:t.info,errorMessage:o&&s?o:void 0})},q=r.withLibTheme((function(t){var d=t.anchorId,c=t.bgMode,m=t.fields,g=t.customField,f=t.action,h=t.method,q=t.submitAction,w=t.onSubmit,j=r.useLibTheme().theme,y=n.useRef(null),C="inverted"===c,T={};for(var F in m)T[F]=m[F].initialValue||"";var k=o.useFormik({initialValues:e.__assign({},T),onSubmit:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return y.current?f&&h?(y.current.submit(),[3,4]):[3,1]:[2];case 1:return w?[4,w(n,y.current)]:[3,3];case 2:e.sent(),e.label=3;case 3:e.label=4;case 4:return S(!1),[2]}}))}))},validateOnBlur:!0,validateOnChange:!0,validate:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var t,r,i,a,l,d,o,s;return e.__generator(this,(function(e){switch(e.label){case 0:for(i in t={},r=[],m)r.push(i);a=0,e.label=1;case 1:return a<r.length?(l=r[a],d=m[l],o=d.inputType,m[l].isRequired&&!n[l]&&(t[l]=m[l].errorMsg||"Required field"),d.validate?[4,d.validate(l,n[l],d)]:[3,3]):[3,5];case 2:return(s=e.sent())&&(t[l]=s),[3,5];case 3:switch(o){case"email":n[l]&&!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(n[l])&&(t[l]=m[l].errorMsg||"Invalid Mail format");break;case"tel":n[l]&&/[A-Z]/gi.test(n[l])&&(t[l]=m[l].errorMsg||"Ungültige Telefonnummer");break;case"number":n[l]&&!/^[+]?\d+([.]\d+)?$/gm.test(n[l])&&(t[l]=m[l].errorMsg||"Zahlenformat ungültig")}e.label=4;case 4:return a++,[3,1];case 5:return[2,t]}}))}))}}),B=k.handleSubmit,M=k.handleChange,O=k.handleBlur,I=k.setFieldTouched,S=k.setSubmitting,E=k.validateField,A=k.submitForm,N=k.setValues,R=k.isSubmitting,Z=k.touched,L=k.values,V=k.errors,W=k.dirty,D=k.validateOnBlur,P=k.validateOnChange,$=n.useCallback((function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var i;return e.__generator(this,(function(a){return[2,N(e.__assign(e.__assign({},L),(i={},i[n]=t,i)),r)]}))}))}),[N,L]);return p.default.createElement(i.Section,{addSeperation:!0,anchorId:d,bgColor:C?a.getColors(j).sectionBg.dark:c?a.getColors(j).sectionBg.medium:a.getColors(j).sectionBg.light,bgMode:i.mapToBgMode(c,!0)},p.default.createElement(l.Wrapper,{addWhitespace:!0},p.default.createElement(v,{ref:y,action:f,method:h,onSubmit:B},p.default.createElement(b,null,m&&Object.keys(m).map((function(e,n){var t={index:n,field:m[e],key:e,value:L[e],error:V[e],isTouched:Z[e]||!1,isInverted:C,setField:$,setTouched:I,validateField:E,handleChange:M,handleBlur:O,validateOnBlur:D,validateOnChange:P,theme:j};return g?g(t):_(t)})))),m&&p.default.createElement(x,null,p.default.createElement(s.Actions,{primary:q?q({isInverted:C,isDisabled:R||!W,handleSubmit:A}):p.default.createElement(u.Button.View,e.__assign({as:"button",onClick:A,isDisabled:R||!W},{type:"submit"}),p.default.createElement(u.Button.Label,null,"send"))}))))}));exports.NewsletterForm=q;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Filter-89286db9.js"),n=require("react"),t=require("styled-components"),r=require("./LibThemeProvider-69109901.js"),i=require("./Section-c9a16ccc.js"),a=require("./styles-13e5d9ac.js"),l=require("./Wrapper-bca9463e.js"),d=require("./Textfield-b3769184.js"),o=require("formik"),s=require("./Actions-c52a14e4.js"),u=require("./Button-1adf99b8.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./concat-f387d848.js"),require("./arrays-c272ed59.js"),require("react-dom/server"),require("./Copy-2a9d4b5d.js"),require("./clamp-bd21d587.js"),require("./formFieldText-21f5f620.js"),require("./hexRgbConverter-91b28aea.js");var m,g,f,p=c(n),h=c(t),v=h.default.form.withConfig({displayName:"NewsletterForm__Form",componentId:"sc-1pmvhu2-0"})(m||(m=e.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"],["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"])),a.mq.semilarge),b=h.default.div.withConfig({displayName:"NewsletterForm__FieldContainer",componentId:"sc-1pmvhu2-1"})(g||(g=e.__makeTemplateObject(["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ","px;\n }\n\n &:last-child {\n padding-left: ","px;\n }\n }\n"],["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ","px;\n }\n\n &:last-child {\n padding-left: ","px;\n }\n }\n"])),3*a.spacings.nudge,3*a.spacings.nudge,a.mq.semilarge,3*a.spacings.nudge,3*a.spacings.nudge),x=h.default.div.withConfig({displayName:"NewsletterForm__ActionContainer",componentId:"sc-1pmvhu2-2"})(f||(f=e.__makeTemplateObject(["\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ","px;\n\n text-align: center;\n"],["\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ","px;\n\n text-align: center;\n"])),2*a.spacings.spacer),_=function(e){var n=e.key,t=e.field,r=e.isInverted,i=e.value,a=e.handleChange,l=e.handleBlur,o=e.error,s=e.isTouched;return p.default.createElement(d.Textfield,{key:n,label:"".concat(t.label||n).concat(t.isRequired?"*":""),placeholder:t.placeholder,name:"".concat(n),isInverted:r,value:i,onChange:a,onBlur:l,infoMessage:t.info,errorMessage:o&&s?o:void 0})},q=r.withLibTheme((function(t){var d=t.anchorId,c=t.bgMode,m=t.fields,g=t.customField,f=t.action,h=t.method,q=t.submitAction,w=t.onSubmit,j=r.useLibTheme().theme,y=n.useRef(null),C="inverted"===c,T={};for(var F in m)T[F]=m[F].initialValue||"";var k=o.useFormik({initialValues:e.__assign({},T),onSubmit:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return y.current?f&&h?(y.current.submit(),[3,4]):[3,1]:[2];case 1:return w?[4,w(n,y.current)]:[3,3];case 2:e.sent(),e.label=3;case 3:e.label=4;case 4:return S(!1),[2]}}))}))},validateOnBlur:!0,validateOnChange:!0,validate:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var t,r,i,a,l,d,o,s;return e.__generator(this,(function(e){switch(e.label){case 0:for(i in t={},r=[],m)r.push(i);a=0,e.label=1;case 1:return a<r.length?(l=r[a],d=m[l],o=d.inputType,m[l].isRequired&&!n[l]&&(t[l]=m[l].errorMsg||"Required field"),d.validate?[4,d.validate(l,n[l],d)]:[3,3]):[3,5];case 2:return(s=e.sent())&&(t[l]=s),[3,5];case 3:switch(o){case"email":n[l]&&!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(n[l])&&(t[l]=m[l].errorMsg||"Invalid Mail format");break;case"tel":n[l]&&/[A-Z]/gi.test(n[l])&&(t[l]=m[l].errorMsg||"Ungültige Telefonnummer");break;case"number":n[l]&&!/^[+]?\d+([.]\d+)?$/gm.test(n[l])&&(t[l]=m[l].errorMsg||"Zahlenformat ungültig")}e.label=4;case 4:return a++,[3,1];case 5:return[2,t]}}))}))}}),B=k.handleSubmit,M=k.handleChange,O=k.handleBlur,I=k.setFieldTouched,S=k.setSubmitting,E=k.validateField,A=k.submitForm,N=k.setValues,R=k.isSubmitting,Z=k.touched,L=k.values,V=k.errors,W=k.dirty,D=k.validateOnBlur,P=k.validateOnChange,$=n.useCallback((function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var i;return e.__generator(this,(function(a){return[2,N(e.__assign(e.__assign({},L),(i={},i[n]=t,i)),r)]}))}))}),[N,L]);return p.default.createElement(i.Section,{addSeperation:!0,anchorId:d,bgColor:C?a.getColors(j).sectionBg.dark:c?a.getColors(j).sectionBg.medium:a.getColors(j).sectionBg.light,bgMode:i.mapToBgMode(c,!0)},p.default.createElement(l.Wrapper,{addWhitespace:!0},p.default.createElement(v,{ref:y,action:f,method:h,onSubmit:B},p.default.createElement(b,null,m&&Object.keys(m).map((function(e,n){var t={index:n,field:m[e],key:e,value:L[e],error:V[e],isTouched:Z[e]||!1,isInverted:C,setField:$,setTouched:I,validateField:E,handleChange:M,handleBlur:O,validateOnBlur:D,validateOnChange:P,theme:j};return g?g(t):_(t)})))),m&&p.default.createElement(x,null,p.default.createElement(s.Actions,{primary:q?q({isInverted:C,isDisabled:R||!W,handleSubmit:A}):p.default.createElement(u.Button.View,e.__assign({as:"button",onClick:A,isDisabled:R||!W},{type:"submit"}),p.default.createElement(u.Button.Label,null,"send"))}))))}));exports.NewsletterForm=q;
2
2
  //# sourceMappingURL=sections.forms.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),i=require("./Section-c9a16ccc.js"),a=require("./Wrapper-bca9463e.js"),r=require("./Copy-a0bc570d.js"),o=require("./Link-8951180c.js"),l=require("./arrays-c272ed59.js"),s=require("./styles-13e5d9ac.js"),d=require("./LibThemeProvider-69109901.js"),c=require("./useEqualSheetHeight-f1c10ec5.js"),p=require("./FilterField-0ba59002.js"),u=require("./useUpdateEffect-4d233e2c.js"),m=require("./escape-1ef8dd83.js"),f=require("./urlParams-7525f638.js"),g=require("./useMounted-0bba9869.js"),h=require("./Actions-c52a14e4.js"),b=require("./concat-f387d848.js"),x=require("./structuredData-0b1278a9.js");function y(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}require("./clamp-bd21d587.js"),require("react-dom/server"),require("./useMediaQuery-619d7203.js"),require("./useLazyInput-911b8eda.js"),require("react-schemaorg");var v,_,w,j,I,C,E,L=y(e),T=y(t),k=T.default.div.withConfig({displayName:"JobCard__View",componentId:"sc-rrpaxu-0"})(_||(_=n.__makeTemplateObject(["\n position: relative;\n color: ",";\n background: ",";\n\n padding: ","px;\n\n border-radius: ",";\n\n ","\n\n @media "," {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n"],["\n position: relative;\n color: ",";\n background: ",";\n\n padding: ","px;\n\n border-radius: ",";\n\n ","\n\n @media "," {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n"])),(function(n){var e=n.theme;return s.getColors(e).primary.default}),(function(n){var e=n.theme,t=n.hasBg;return n.isInverted?s.getColors(e).elementBg.medium:t?s.getColors(e).elementBg.light:s.getColors(e).elementBg.medium}),s.spacings.spacer,(function(n){var e=n.theme;return s.getGlobals(e).sections.edgeRadius}),(function(e){var i=e.clickable,a=e.isInverted;return i&&t.css(v||(v=n.__makeTemplateObject(["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ",";\n\n color: ",";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "],["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ",";\n\n color: ",";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "])),a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.35)",(function(n){var e=n.theme;return s.getColors(e).primary.hover}),a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.3)",a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.3)")}),s.mq.medium),q=T.default(r.Copy).withConfig({displayName:"JobCard__JobInfos",componentId:"sc-rrpaxu-1"})(w||(w=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n color: ",";\n\n ",":hover & {\n color: ",";\n }\n"],["\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n color: ",";\n\n ",":hover & {\n color: ",";\n }\n"])),4*s.spacings.nudge,(function(n){var e=n.theme;return s.getColors(e).primary.default}),k,(function(n){var e=n.theme;return s.getColors(e).primary.hover})),A=T.default.div.withConfig({displayName:"JobCard__Info",componentId:"sc-rrpaxu-2"})(j||(j=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*s.spacings.nudge,2*s.spacings.nudge),J=T.default.div.withConfig({displayName:"JobCard__Icon",componentId:"sc-rrpaxu-3"})(I||(I=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"],["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"]))),N=T.default.div.withConfig({displayName:"JobCard__MainLabel",componentId:"sc-rrpaxu-4"})(C||(C=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n"],["\n display: flex;\n align-items: center;\n"]))),O=T.default(o.Link).withConfig({displayName:"JobCard__ViewLink",componentId:"sc-rrpaxu-5"})(E||(E=n.__makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"],["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"]))),M=L.default.forwardRef((function(e,t){var i,a,o=e.isInverted,s=e.hasBackground,d=e.jobTitle,c=e.employmentTypes,p=e.locations,u=e.totalLocations,m=e.allLocationsLabel,f=e.modelIcon,g=e.locationIcon,h=e.className,b=e.link,x=l.isValidArray(c,!1),y=null==p?void 0:p.filter((function(n){return n.name})),v=l.isValidArray(y,!1),_="";return v&&(_=void 0!==u&&y.length>=u&&m?m:null===(i=y.map((function(n){return n.name})))||void 0===i?void 0:i.join(", ")),L.default.createElement(k,{ref:t,isInverted:o,hasBg:s,className:h,clickable:!!b},L.default.createElement(r.Heading,{textColor:"inherit",size:"heading-2","data-sheet":"title",innerHTML:d,hyphens:!0}),(x||v)&&L.default.createElement(q,{type:"copy-b","data-sheet":"info"},x&&L.default.createElement(A,null,L.default.createElement(J,null,f?f():L.default.createElement(n.ClockFilled,null)),L.default.createElement(N,null,null===(a=null==c?void 0:c.filter((function(n){return n.name})).map((function(n){return n.name})))||void 0===a?void 0:a.join(", "))),v&&L.default.createElement(A,null,L.default.createElement(J,null,g?g():L.default.createElement(n.LocationPin,null)),L.default.createElement(N,null,_))),b&&L.default.createElement(O,n.__assign({},b,{ariaLabel:(null==b?void 0:b.href)?d:void 0})))}));M.displayName="JobCard";var B,V,P,S,F,z,H,R,U,W,D=T.default.ul.withConfig({displayName:"JobList__List",componentId:"sc-1b9tzu5-0"})(B||(B=n.__makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -","px;\n margin-left: -","px;\n\n @media "," {\n margin-top: -","px;\n margin-left: -","px;\n }\n"],["\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -","px;\n margin-left: -","px;\n\n @media "," {\n margin-top: -","px;\n margin-left: -","px;\n }\n"])),2*s.spacings.nudge,2*s.spacings.nudge,s.mq.medium,s.spacings.spacer,s.spacings.spacer),Q=T.default.li.withConfig({displayName:"JobList__Item",componentId:"sc-1b9tzu5-1"})(V||(V=n.__makeTemplateObject(["\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ","px;\n padding-left: ","px;\n\n @media "," {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ","px;\n padding-left: ","px;\n }\n\n @media "," {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n"],["\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ","px;\n padding-left: ","px;\n\n @media "," {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ","px;\n padding-left: ","px;\n }\n\n @media "," {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n"])),2*s.spacings.nudge,2*s.spacings.nudge,s.mq.medium,s.spacings.spacer,s.spacings.spacer,s.mq.large),G=T.default(p.FilterField).withConfig({displayName:"JobList__Filter",componentId:"sc-1b9tzu5-2"})(P||(P=n.__makeTemplateObject(["\n margin-top: ","px;\n margin-bottom: ","px;\n\n min-width: 50%;\n"],["\n margin-top: ","px;\n margin-bottom: ","px;\n\n min-width: 50%;\n"])),s.spacings.nudge,5*s.spacings.nudge),K=function(n,e){return e?null==e?void 0:e.filter((function(e){return!n.find((function(n){return n.item.id===e.id}))})):[]},X=function(n,e){var t=[];if(!l.isValidArray(null==e?void 0:e.filter((function(n){return void 0!==n.jobTitle})),!1))return t;var i=null==e?void 0:e.filter(function(n){return function(e){return new RegExp(n).test(e.jobTitle)}}(n));l.isValidArray(i,!1)&&t.push.apply(t,i.map((function(n){return{item:n,priority:1}})));var a=K(t,null==e?void 0:e.filter(function(n){return function(e){var t=n.toLowerCase().replace(/\s/g,""),i=e.jobTitle.toLowerCase().replace(/\s/g,"");return new RegExp(t).test(i)}}(n)));l.isValidArray(a,!1)&&t.push.apply(t,a.map((function(n){return{item:n,priority:2}})));var r=K(t,null==e?void 0:e.filter(function(n){return function(e){if(!l.isValidArray(e.locations,!1))return!1;var t=n.toLowerCase().replace(/\s/g,""),i=new RegExp(t);return!!e.locations.find((function(n){var e,t=null===(e=n.name)||void 0===e?void 0:e.toLowerCase().replace(/\s/g,"");return i.test(t||"")}))}}(n)));l.isValidArray(r,!1)&&t.push.apply(t,r.map((function(n){return{item:n,priority:3}})));var o=K(t,null==e?void 0:e.filter(function(n){return function(e){if(!l.isValidArray(null==e?void 0:e.employmentTypes,!1))return!1;var t=n.toLowerCase().replace(/\s/g,""),i=new RegExp(t);return!!e.employmentTypes.find((function(n){if(!n.name)return!1;var e=n.name.toLowerCase().replace(/\s/g,"");return i.test(e)}))}}(n)));return l.isValidArray(o,!1)&&t.push.apply(t,o.map((function(n){return{item:n,priority:4}}))),t},Y=d.withLibTheme((function(t){var r=t.anchorId,o=t.jobs,l=t.bgMode,s=t.modelIcon,p=t.locationIcon,h=t.totalJobLocations,b=t.allJobLocationsLabel,x=t.initialFilterQuery,y=t.filterPlaceholder,v=t.hasFilter,_=t.filterSubmitIcon,w=t.filterClearIcon,j=d.useLibTheme(),I=j.colors,C=j.globals.sections.jobFilterName,E="inverted"===l,T="full"===l,k=(null==o?void 0:o.length)||0,q=c.useEqualSheetHeight({listLength:k,identifiers:['[data-sheet="title"]','[data-sheet="info"]'],responsive:{small:1,semilarge:2,large:3}}).sheetRefs,A=L.default.useState(x||""),J=A[0],N=A[1],O=g.useMounted(),B=L.default.useMemo((function(){for(var e=void 0!==J?J.split(" ").map((function(n){return n.trim()})):[""],t=[],i=0,a=e;i<a.length;i++)for(var r=a[i],l=function(n){var e=t.findIndex((function(e){return e.match.item.id===n.item.id}));-1!==e?t[e].intersections+=1:t.push({match:n,intersections:1})},s=0,d=X(m.escapeRegExp(r),o||[]);s<d.length;s++){l(d[s])}return t.filter((function(n){return n.intersections>=e.length})).map((function(e){return n.__assign({},e.match)}))}),[J,o]),V=e.useCallback((function(){return f.getUrlParams()[C]}),[C]);return e.useEffect((function(){var n=V();null!=n&&"string"==typeof n&&N(n)}),[V]),e.useEffect((function(){O||(J?f.setUrlParam(C,J):f.deleteUrlParam(C))}),[C,J,O]),u.useUpdateEffect((function(){J?f.setUrlParam(C,J):f.deleteUrlParam(C)}),[J]),L.default.createElement(i.Section,{addSeperation:!0,anchorId:r,bgColor:E?I.sectionBg.dark:l?I.sectionBg.medium:I.sectionBg.light,bgMode:i.mapToBgMode(l,!0)},L.default.createElement(a.Wrapper,{addWhitespace:!0},v&&L.default.createElement(G,{placeholder:y||"Suche",value:J,initialValue:x,onSubmit:N,isInverted:E,submitIcon:_,clearIcon:w}),L.default.createElement(D,null,null==B?void 0:B.sort((function(n,e){return n.priority-e.priority})).map((function(e,t){return L.default.createElement(Q,{key:t},L.default.createElement(M,n.__assign({ref:q[t]},e.item,{isInverted:E,hasBackground:T,modelIcon:s,locationIcon:p,totalLocations:h,allLocationsLabel:b})))})))))})),Z=T.default.div.withConfig({displayName:"JobArticle__ArticleHead",componentId:"sc-1bwhr8-0"})(S||(S=n.__makeTemplateObject(["\n & + * {\n margin-top: ","px;\n }\n"],["\n & + * {\n margin-top: ","px;\n }\n"])),s.spacings.spacer),$=T.default(r.Copy).withConfig({displayName:"JobArticle__JobInfos",componentId:"sc-1bwhr8-1"})(F||(F=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),s.spacings.spacer),nn=T.default.div.withConfig({displayName:"JobArticle__Info",componentId:"sc-1bwhr8-2"})(z||(z=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*s.spacings.nudge,2*s.spacings.nudge),en=T.default.span.withConfig({displayName:"JobArticle__Icon",componentId:"sc-1bwhr8-3"})(H||(H=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"],["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"]))),tn=T.default.span.withConfig({displayName:"JobArticle__MainLabel",componentId:"sc-1bwhr8-4"})(R||(R=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n"],["\n display: flex;\n align-items: center;\n"]))),an=T.default(r.Copy).withConfig({displayName:"JobArticle__Text",componentId:"sc-1bwhr8-5"})(U||(U=n.__makeTemplateObject(["\n & + & {\n margin-top: ","px;\n }\n"],["\n & + & {\n margin-top: ","px;\n }\n"])),3*s.spacings.nudge),rn=T.default(h.Actions).withConfig({displayName:"JobArticle__StyledActions",componentId:"sc-1bwhr8-6"})(W||(W=n.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),s.spacings.spacer),on=d.withLibTheme((function(e){var t,o,s=e.anchorId,c=e.bgMode,p=e.jobTitle,u=e.employmentTypes,m=e.locations,f=e.totalLocations,g=e.allLocationsLabel,h=e.modelIcon,y=e.locationIcon,v=e.abstract,_=e.description,w=e.organization,j=e.datePosted,I=e.primaryAction,C=e.secondaryAction,E=d.useLibTheme().colors,T="inverted"===c,k=l.isValidArray(u,!1),q=null==m?void 0:m.filter((function(n){return n.name})),A=l.isValidArray(q,!1),J="";A&&(J=void 0!==f&&q.length>=f?g||"":null===(t=q.map((function(n){return n.name})))||void 0===t?void 0:t.join(", "));var N={jobTitle:p,locations:m,jobDesc:b.concat([v,_]," - "),organization:w,directApply:!(!I&&!C),employmentTypes:(null==u?void 0:u.filter((function(n){return n.type})).map((function(n){return n.type})))||[],datePosted:j};return L.default.createElement(i.Section,{addSeperation:!0,anchorId:s,bgColor:T?E.sectionBg.dark:c?E.sectionBg.medium:E.sectionBg.light,bgMode:i.mapToBgMode(c,!0)},x.generateJob(N),L.default.createElement(a.Wrapper,{clampWidth:"small",addWhitespace:!0},L.default.createElement(Z,null,L.default.createElement(r.Heading,{size:"heading-2",innerHTML:p,isInverted:T}),(k||A)&&L.default.createElement($,{type:"copy-b","data-sheet":"info",isInverted:T},k&&L.default.createElement(nn,null,L.default.createElement(en,null,h?h():L.default.createElement(n.ClockFilled,null)),L.default.createElement(tn,null,null===(o=null==u?void 0:u.filter((function(n){return n.name})).map((function(n){return n.name})))||void 0===o?void 0:o.join(", "))),A&&L.default.createElement(nn,null,L.default.createElement(en,null,y?y():L.default.createElement(n.LocationPin,null)),L.default.createElement(tn,null,J)))),v&&L.default.createElement(an,{type:"copy-b",isInverted:T},v),_&&L.default.createElement(an,{innerHTML:_,isInverted:T}),(I||C)&&L.default.createElement(rn,{primary:I&&I(T),secondary:C&&C(T)})))}));exports.JobArticle=on,exports.JobList=Y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),i=require("./Section-c9a16ccc.js"),a=require("./Wrapper-bca9463e.js"),r=require("./Copy-2a9d4b5d.js"),o=require("./Link-8951180c.js"),l=require("./arrays-c272ed59.js"),s=require("./styles-13e5d9ac.js"),d=require("./LibThemeProvider-69109901.js"),c=require("./useEqualSheetHeight-f1c10ec5.js"),p=require("./FilterField-d204feb1.js"),u=require("./useUpdateEffect-4d233e2c.js"),m=require("./escape-1ef8dd83.js"),f=require("./urlParams-7525f638.js"),g=require("./useMounted-0bba9869.js"),h=require("./Actions-c52a14e4.js"),b=require("./concat-f387d848.js"),x=require("./structuredData-0b1278a9.js");function y(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}require("./clamp-bd21d587.js"),require("react-dom/server"),require("./useMediaQuery-619d7203.js"),require("./useLazyInput-911b8eda.js"),require("react-schemaorg");var v,_,w,j,I,C,E,L=y(e),T=y(t),k=T.default.div.withConfig({displayName:"JobCard__View",componentId:"sc-rrpaxu-0"})(_||(_=n.__makeTemplateObject(["\n position: relative;\n color: ",";\n background: ",";\n\n padding: ","px;\n\n border-radius: ",";\n\n ","\n\n @media "," {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n"],["\n position: relative;\n color: ",";\n background: ",";\n\n padding: ","px;\n\n border-radius: ",";\n\n ","\n\n @media "," {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n"])),(function(n){var e=n.theme;return s.getColors(e).primary.default}),(function(n){var e=n.theme,t=n.hasBg;return n.isInverted?s.getColors(e).elementBg.medium:t?s.getColors(e).elementBg.light:s.getColors(e).elementBg.medium}),s.spacings.spacer,(function(n){var e=n.theme;return s.getGlobals(e).sections.edgeRadius}),(function(e){var i=e.clickable,a=e.isInverted;return i&&t.css(v||(v=n.__makeTemplateObject(["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ",";\n\n color: ",";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "],["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ",";\n\n color: ",";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "])),a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.35)",(function(n){var e=n.theme;return s.getColors(e).primary.hover}),a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.3)",a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.3)")}),s.mq.medium),q=T.default(r.Copy).withConfig({displayName:"JobCard__JobInfos",componentId:"sc-rrpaxu-1"})(w||(w=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n color: ",";\n\n ",":hover & {\n color: ",";\n }\n"],["\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n color: ",";\n\n ",":hover & {\n color: ",";\n }\n"])),4*s.spacings.nudge,(function(n){var e=n.theme;return s.getColors(e).primary.default}),k,(function(n){var e=n.theme;return s.getColors(e).primary.hover})),A=T.default.div.withConfig({displayName:"JobCard__Info",componentId:"sc-rrpaxu-2"})(j||(j=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*s.spacings.nudge,2*s.spacings.nudge),J=T.default.div.withConfig({displayName:"JobCard__Icon",componentId:"sc-rrpaxu-3"})(I||(I=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"],["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"]))),N=T.default.div.withConfig({displayName:"JobCard__MainLabel",componentId:"sc-rrpaxu-4"})(C||(C=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n"],["\n display: flex;\n align-items: center;\n"]))),O=T.default(o.Link).withConfig({displayName:"JobCard__ViewLink",componentId:"sc-rrpaxu-5"})(E||(E=n.__makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"],["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"]))),M=L.default.forwardRef((function(e,t){var i,a,o=e.isInverted,s=e.hasBackground,d=e.jobTitle,c=e.employmentTypes,p=e.locations,u=e.totalLocations,m=e.allLocationsLabel,f=e.modelIcon,g=e.locationIcon,h=e.className,b=e.link,x=l.isValidArray(c,!1),y=null==p?void 0:p.filter((function(n){return n.name})),v=l.isValidArray(y,!1),_="";return v&&(_=void 0!==u&&y.length>=u&&m?m:null===(i=y.map((function(n){return n.name})))||void 0===i?void 0:i.join(", ")),L.default.createElement(k,{ref:t,isInverted:o,hasBg:s,className:h,clickable:!!b},L.default.createElement(r.Heading,{textColor:"inherit",size:"heading-2","data-sheet":"title",innerHTML:d,hyphens:!0}),(x||v)&&L.default.createElement(q,{type:"copy-b","data-sheet":"info"},x&&L.default.createElement(A,null,L.default.createElement(J,null,f?f():L.default.createElement(n.ClockFilled,null)),L.default.createElement(N,null,null===(a=null==c?void 0:c.filter((function(n){return n.name})).map((function(n){return n.name})))||void 0===a?void 0:a.join(", "))),v&&L.default.createElement(A,null,L.default.createElement(J,null,g?g():L.default.createElement(n.LocationPin,null)),L.default.createElement(N,null,_))),b&&L.default.createElement(O,n.__assign({},b,{ariaLabel:(null==b?void 0:b.href)?d:void 0})))}));M.displayName="JobCard";var B,V,P,S,F,z,H,R,U,W,D=T.default.ul.withConfig({displayName:"JobList__List",componentId:"sc-1b9tzu5-0"})(B||(B=n.__makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -","px;\n margin-left: -","px;\n\n @media "," {\n margin-top: -","px;\n margin-left: -","px;\n }\n"],["\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -","px;\n margin-left: -","px;\n\n @media "," {\n margin-top: -","px;\n margin-left: -","px;\n }\n"])),2*s.spacings.nudge,2*s.spacings.nudge,s.mq.medium,s.spacings.spacer,s.spacings.spacer),Q=T.default.li.withConfig({displayName:"JobList__Item",componentId:"sc-1b9tzu5-1"})(V||(V=n.__makeTemplateObject(["\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ","px;\n padding-left: ","px;\n\n @media "," {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ","px;\n padding-left: ","px;\n }\n\n @media "," {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n"],["\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ","px;\n padding-left: ","px;\n\n @media "," {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ","px;\n padding-left: ","px;\n }\n\n @media "," {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n"])),2*s.spacings.nudge,2*s.spacings.nudge,s.mq.medium,s.spacings.spacer,s.spacings.spacer,s.mq.large),G=T.default(p.FilterField).withConfig({displayName:"JobList__Filter",componentId:"sc-1b9tzu5-2"})(P||(P=n.__makeTemplateObject(["\n margin-top: ","px;\n margin-bottom: ","px;\n\n min-width: 50%;\n"],["\n margin-top: ","px;\n margin-bottom: ","px;\n\n min-width: 50%;\n"])),s.spacings.nudge,5*s.spacings.nudge),K=function(n,e){return e?null==e?void 0:e.filter((function(e){return!n.find((function(n){return n.item.id===e.id}))})):[]},X=function(n,e){var t=[];if(!l.isValidArray(null==e?void 0:e.filter((function(n){return void 0!==n.jobTitle})),!1))return t;var i=null==e?void 0:e.filter(function(n){return function(e){return new RegExp(n).test(e.jobTitle)}}(n));l.isValidArray(i,!1)&&t.push.apply(t,i.map((function(n){return{item:n,priority:1}})));var a=K(t,null==e?void 0:e.filter(function(n){return function(e){var t=n.toLowerCase().replace(/\s/g,""),i=e.jobTitle.toLowerCase().replace(/\s/g,"");return new RegExp(t).test(i)}}(n)));l.isValidArray(a,!1)&&t.push.apply(t,a.map((function(n){return{item:n,priority:2}})));var r=K(t,null==e?void 0:e.filter(function(n){return function(e){if(!l.isValidArray(e.locations,!1))return!1;var t=n.toLowerCase().replace(/\s/g,""),i=new RegExp(t);return!!e.locations.find((function(n){var e,t=null===(e=n.name)||void 0===e?void 0:e.toLowerCase().replace(/\s/g,"");return i.test(t||"")}))}}(n)));l.isValidArray(r,!1)&&t.push.apply(t,r.map((function(n){return{item:n,priority:3}})));var o=K(t,null==e?void 0:e.filter(function(n){return function(e){if(!l.isValidArray(null==e?void 0:e.employmentTypes,!1))return!1;var t=n.toLowerCase().replace(/\s/g,""),i=new RegExp(t);return!!e.employmentTypes.find((function(n){if(!n.name)return!1;var e=n.name.toLowerCase().replace(/\s/g,"");return i.test(e)}))}}(n)));return l.isValidArray(o,!1)&&t.push.apply(t,o.map((function(n){return{item:n,priority:4}}))),t},Y=d.withLibTheme((function(t){var r=t.anchorId,o=t.jobs,l=t.bgMode,s=t.modelIcon,p=t.locationIcon,h=t.totalJobLocations,b=t.allJobLocationsLabel,x=t.initialFilterQuery,y=t.filterPlaceholder,v=t.hasFilter,_=t.filterSubmitIcon,w=t.filterClearIcon,j=d.useLibTheme(),I=j.colors,C=j.globals.sections.jobFilterName,E="inverted"===l,T="full"===l,k=(null==o?void 0:o.length)||0,q=c.useEqualSheetHeight({listLength:k,identifiers:['[data-sheet="title"]','[data-sheet="info"]'],responsive:{small:1,semilarge:2,large:3}}).sheetRefs,A=L.default.useState(x||""),J=A[0],N=A[1],O=g.useMounted(),B=L.default.useMemo((function(){for(var e=void 0!==J?J.split(" ").map((function(n){return n.trim()})):[""],t=[],i=0,a=e;i<a.length;i++)for(var r=a[i],l=function(n){var e=t.findIndex((function(e){return e.match.item.id===n.item.id}));-1!==e?t[e].intersections+=1:t.push({match:n,intersections:1})},s=0,d=X(m.escapeRegExp(r),o||[]);s<d.length;s++){l(d[s])}return t.filter((function(n){return n.intersections>=e.length})).map((function(e){return n.__assign({},e.match)}))}),[J,o]),V=e.useCallback((function(){return f.getUrlParams()[C]}),[C]);return e.useEffect((function(){var n=V();null!=n&&"string"==typeof n&&N(n)}),[V]),e.useEffect((function(){O||(J?f.setUrlParam(C,J):f.deleteUrlParam(C))}),[C,J,O]),u.useUpdateEffect((function(){J?f.setUrlParam(C,J):f.deleteUrlParam(C)}),[J]),L.default.createElement(i.Section,{addSeperation:!0,anchorId:r,bgColor:E?I.sectionBg.dark:l?I.sectionBg.medium:I.sectionBg.light,bgMode:i.mapToBgMode(l,!0)},L.default.createElement(a.Wrapper,{addWhitespace:!0},v&&L.default.createElement(G,{placeholder:y||"Suche",value:J,initialValue:x,onSubmit:N,isInverted:E,submitIcon:_,clearIcon:w}),L.default.createElement(D,null,null==B?void 0:B.sort((function(n,e){return n.priority-e.priority})).map((function(e,t){return L.default.createElement(Q,{key:t},L.default.createElement(M,n.__assign({ref:q[t]},e.item,{isInverted:E,hasBackground:T,modelIcon:s,locationIcon:p,totalLocations:h,allLocationsLabel:b})))})))))})),Z=T.default.div.withConfig({displayName:"JobArticle__ArticleHead",componentId:"sc-1bwhr8-0"})(S||(S=n.__makeTemplateObject(["\n & + * {\n margin-top: ","px;\n }\n"],["\n & + * {\n margin-top: ","px;\n }\n"])),s.spacings.spacer),$=T.default(r.Copy).withConfig({displayName:"JobArticle__JobInfos",componentId:"sc-1bwhr8-1"})(F||(F=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),s.spacings.spacer),nn=T.default.div.withConfig({displayName:"JobArticle__Info",componentId:"sc-1bwhr8-2"})(z||(z=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*s.spacings.nudge,2*s.spacings.nudge),en=T.default.span.withConfig({displayName:"JobArticle__Icon",componentId:"sc-1bwhr8-3"})(H||(H=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"],["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"]))),tn=T.default.span.withConfig({displayName:"JobArticle__MainLabel",componentId:"sc-1bwhr8-4"})(R||(R=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n"],["\n display: flex;\n align-items: center;\n"]))),an=T.default(r.Copy).withConfig({displayName:"JobArticle__Text",componentId:"sc-1bwhr8-5"})(U||(U=n.__makeTemplateObject(["\n & + & {\n margin-top: ","px;\n }\n"],["\n & + & {\n margin-top: ","px;\n }\n"])),3*s.spacings.nudge),rn=T.default(h.Actions).withConfig({displayName:"JobArticle__StyledActions",componentId:"sc-1bwhr8-6"})(W||(W=n.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),s.spacings.spacer),on=d.withLibTheme((function(e){var t,o,s=e.anchorId,c=e.bgMode,p=e.jobTitle,u=e.employmentTypes,m=e.locations,f=e.totalLocations,g=e.allLocationsLabel,h=e.modelIcon,y=e.locationIcon,v=e.abstract,_=e.description,w=e.organization,j=e.datePosted,I=e.primaryAction,C=e.secondaryAction,E=d.useLibTheme().colors,T="inverted"===c,k=l.isValidArray(u,!1),q=null==m?void 0:m.filter((function(n){return n.name})),A=l.isValidArray(q,!1),J="";A&&(J=void 0!==f&&q.length>=f?g||"":null===(t=q.map((function(n){return n.name})))||void 0===t?void 0:t.join(", "));var N={jobTitle:p,locations:m,jobDesc:b.concat([v,_]," - "),organization:w,directApply:!(!I&&!C),employmentTypes:(null==u?void 0:u.filter((function(n){return n.type})).map((function(n){return n.type})))||[],datePosted:j};return L.default.createElement(i.Section,{addSeperation:!0,anchorId:s,bgColor:T?E.sectionBg.dark:c?E.sectionBg.medium:E.sectionBg.light,bgMode:i.mapToBgMode(c,!0)},x.generateJob(N),L.default.createElement(a.Wrapper,{clampWidth:"small",addWhitespace:!0},L.default.createElement(Z,null,L.default.createElement(r.Heading,{size:"heading-2",innerHTML:p,isInverted:T}),(k||A)&&L.default.createElement($,{type:"copy-b","data-sheet":"info",isInverted:T},k&&L.default.createElement(nn,null,L.default.createElement(en,null,h?h():L.default.createElement(n.ClockFilled,null)),L.default.createElement(tn,null,null===(o=null==u?void 0:u.filter((function(n){return n.name})).map((function(n){return n.name})))||void 0===o?void 0:o.join(", "))),A&&L.default.createElement(nn,null,L.default.createElement(en,null,y?y():L.default.createElement(n.LocationPin,null)),L.default.createElement(tn,null,J)))),v&&L.default.createElement(an,{type:"copy-b",isInverted:T},v),_&&L.default.createElement(an,{innerHTML:_,isInverted:T}),(I||C)&&L.default.createElement(rn,{primary:I&&I(T),secondary:C&&C(T)})))}));exports.JobArticle=on,exports.JobList=Y;
2
2
  //# sourceMappingURL=sections.jobs.js.map