{"version":3,"sources":["../src/components/PageGenerator/PageGenerator.tsx","../src/tokens/PageGeneratorTokens.tsx","../src/components/PageGenerator/PageGeneratorContext.tsx","../src/components/PageGenerator/PageGeneratorProvider.tsx","../src/helpers/isFieldWithValidations.tsx","../src/helpers/isMultiValue.tsx","../src/helpers/isPageGeneratorRow.tsx","../src/helpers/isSectionGeneratorRow.tsx","../src/helpers/PageGeneratorFields.tsx","../src/types/PageGeneratorSupportedFields.tsx","../src/helpers/Validators.tsx","../src/components/Generate/GenerateGridChildren.tsx","../src/components/Generate/GenerateGridChild.tsx","../src/components/Generate/GenerateComponent.tsx","../src/components/Generate/GenerateRow.tsx","../src/components/SectionGenerator/SectionGenerator.tsx"],"sourcesContent":["import { getBaseHTMLProps, Grid } from '@norges-domstoler/dds-components';\nimport { PageGeneratorProps } from '../../types';\nimport { PageGeneratorTokens } from '../../tokens';\nimport { PageGeneratorProvider } from './PageGeneratorProvider';\nimport { GenerateGridChildren } from '../Generate/GenerateGridChildren';\nimport { FormEvent } from 'react';\n\n/**\n * Generer komponenter fra @norges-domstoler/dds-components i et Grid view, basert på `fields` propertien. PageGenerator bruker Grid-komponenten fra @norges-domstoler/dds-components, slik at den håndterer alt av riktige marginer, mellomrom og responsivt design.\n * @param props - `fields` inneholder felter eller rader med felter. `errorsOnChange` er callback for errorhåndtering. `as` setter HTML-element rundt hele PageGenerator.\n */\nexport const PageGenerator = (props: PageGeneratorProps) => {\n  const {\n    id,\n    className,\n    htmlProps,\n    fields = [],\n    formDataOnChange,\n    state,\n    setState,\n    as,\n    onSubmit,\n    ...rest\n  } = props;\n\n  const children = (validateAllFields: (next: () => void) => void) => {\n    return (\n      <Grid\n        {...getBaseHTMLProps(id, className, htmlProps, rest)}\n        as={as}\n        rowGap={PageGeneratorTokens.rowGaps}\n        htmlProps={{\n          ...htmlProps,\n          ...(onSubmit\n            ? {\n                onSubmit: (event: FormEvent) => {\n                  event.preventDefault();\n                  if (onSubmit) {\n                    validateAllFields(onSubmit);\n                  }\n                },\n              }\n            : {}),\n        }}\n      >\n        <GenerateGridChildren />\n      </Grid>\n    );\n  };\n\n  return (\n    <PageGeneratorProvider\n      fields={fields}\n      formDataOnChange={formDataOnChange}\n      state={state}\n      setState={setState}\n      children={children}\n    />\n  );\n};\n\nPageGenerator.displayName = 'PageGenerator';\n","import { ScreenSize } from '@norges-domstoler/dds-components';\nimport { ddsTokens } from '@norges-domstoler/dds-design-tokens';\nimport { PageGeneratorTokens as PageGeneratorTokensType } from '../types';\n\nexport const PageGeneratorTokens: PageGeneratorTokensType = {\n  Stack: {\n    [ScreenSize.XSmall]: 'x1',\n    [ScreenSize.Small]: 'x1',\n    [ScreenSize.Medium]: 'x1',\n    [ScreenSize.Large]: 'x1',\n    [ScreenSize.XLarge]: 'x1.5',\n  },\n  rowGaps: {\n    xs: ddsTokens.core.ddsSpacingX1,\n    sm: ddsTokens.core.ddsSpacingX1,\n    md: ddsTokens.core.ddsSpacingX1,\n    lg: ddsTokens.core.ddsSpacingX1,\n    xl: ddsTokens.core.ddsSpacingX15,\n  },\n};\n","import { ChangeEvent, FocusEvent, createContext } from 'react';\nimport { PageGeneratorProps } from '../../types/PageGeneratorProps';\nimport { SelectOption } from '@norges-domstoler/dds-components';\nimport { SingleValue, MultiValue } from 'react-select';\nimport { CalendarDate } from '@internationalized/date';\nimport { PageGeneratorFormData } from '../../types';\n\nexport interface PageGeneratorContextModel {\n  fields: PageGeneratorProps['fields'];\n  state?: PageGeneratorProps['state'];\n  fieldOnChange: <T extends HTMLInputElement | HTMLTextAreaElement>(\n    event: ChangeEvent<T>,\n  ) => void;\n  selectOnChange: (\n    chosen:\n      | SingleValue<SelectOption<unknown>>\n      | MultiValue<SelectOption<unknown>>,\n    name: string,\n  ) => void;\n  datePickerOnChange: (value: CalendarDate | null, name: string) => void;\n  onBlur: <T extends HTMLInputElement | HTMLTextAreaElement>(\n    event: FocusEvent<T>,\n  ) => void;\n  onBlurSelect: (name: string) => void;\n  formData: PageGeneratorFormData;\n  validateAllFields: (next: () => void) => void;\n}\n\nexport const PageGeneratorContext = createContext<PageGeneratorContextModel>({\n  fields: [],\n  state: {},\n  fieldOnChange: () => {},\n  selectOnChange: () => {},\n  datePickerOnChange: () => {},\n  onBlur: () => {},\n  onBlurSelect: () => {},\n  formData: {\n    errors: null,\n    errorMessages: null,\n    submitted: false,\n    touched: false,\n    valid: false,\n  },\n  validateAllFields: (next: () => void) => {},\n});\n","import { PageGeneratorContext } from './PageGeneratorContext';\nimport {\n  PageGeneratorErrors,\n  PageGeneratorField,\n  PageGeneratorFormData,\n  PageGeneratorProps,\n  PageGeneratorRow,\n  PageGeneratorSelectOption,\n  PageGeneratorValidation,\n  PageGeneratorValidationValue,\n} from '../../types';\nimport { ChangeEvent, FocusEvent, JSX, useEffect, useState } from 'react';\nimport { CalendarDate } from '@internationalized/date';\nimport {\n  isPageGeneratorRow,\n  isFieldWithValidations,\n  isMultiValue,\n} from '../../helpers';\n\ninterface PageGeneratorProviderProps {\n  fields: PageGeneratorProps['fields'];\n  formDataOnChange: PageGeneratorProps['formDataOnChange'];\n  children: (validateAllFields: (next: () => void) => void) => JSX.Element;\n  state?: PageGeneratorProps['state'];\n  setState?: PageGeneratorProps['setState'];\n}\n\nexport const PageGeneratorProvider = ({\n  children,\n  fields,\n  formDataOnChange,\n  state,\n  setState,\n}: PageGeneratorProviderProps) => {\n  const [formData, setFormData] = useState<PageGeneratorFormData>({\n    errors: null,\n    errorMessages: null,\n    submitted: false,\n    touched: false,\n    valid: false,\n  });\n\n  useEffect(() => {\n    setFormData({\n      ...formData,\n      submitted: false,\n    });\n  }, [state]);\n\n  useEffect(() => {\n    let newErrorMessages = { ...formData.errorMessages };\n    if (formData.errors && Object.keys(formData.errors).length > 0) {\n      Object.keys(formData.errors).forEach((key: string) => {\n        if (formData.errors) {\n          const error = formData.errors[key];\n          if (error && error.errors.length > 0) {\n            newErrorMessages = {\n              ...newErrorMessages,\n              [key]: error.errors[0].message,\n            };\n          } else {\n            newErrorMessages = {\n              ...newErrorMessages,\n              [key]: '',\n            };\n          }\n        }\n      });\n      let valid = true;\n      Object.keys(formData.errors).forEach(key => {\n        if (formData.errors && formData.errors[key].errors.length > 0) {\n          valid = false;\n          return;\n        }\n      });\n\n      let newFormData = { ...formData, valid };\n\n      if (newErrorMessages && (formData.touched || formData.submitted)) {\n        newFormData = {\n          ...newFormData,\n          errorMessages: newErrorMessages,\n        };\n      }\n      setFormData(newFormData);\n      if (formDataOnChange) {\n        formDataOnChange(newFormData);\n      }\n    }\n  }, [formData.errors]);\n\n  const findFieldByNameInternal = (\n    name: string,\n    fieldsToSearch: (PageGeneratorField | PageGeneratorRow)[],\n  ): PageGeneratorField | PageGeneratorRow | null => {\n    for (const f of fieldsToSearch) {\n      // Search for fields with validation named name\n      if (isFieldWithValidations(f) && f.props && f.props.name === name) {\n        return f;\n      }\n      // If it's a row, search through it's fields recursively\n      if (isPageGeneratorRow(f) && f.fields && Array.isArray(f.fields)) {\n        const result = findFieldByNameInternal(name, f.fields);\n        if (result) {\n          return result;\n        }\n      }\n    }\n    return null;\n  };\n\n  const getFieldErrors = (\n    name: string,\n    value: PageGeneratorValidationValue,\n  ) => {\n    const field = findFieldByNameInternal(name, fields);\n    if (field && isFieldWithValidations(field)) {\n      const fieldErrors =\n        field.validations?.filter(\n          (v: PageGeneratorValidation) => !v.rule(value),\n        ) ?? [];\n      return fieldErrors;\n    }\n    return [];\n  };\n\n  const validateField = (name: string, value: PageGeneratorValidationValue) => {\n    const field = findFieldByNameInternal(name, fields);\n    if (field && isFieldWithValidations(field)) {\n      const fieldErrors =\n        field.validations?.filter(\n          (v: PageGeneratorValidation) => !v.rule(value),\n        ) ?? [];\n      const newErrors = {\n        ...formData.errors,\n        [name]: {\n          value,\n          errors: fieldErrors,\n        },\n      };\n      setFormData({\n        ...formData,\n        errors: newErrors,\n        touched: true,\n      });\n    }\n  };\n\n  const validateAllFields = (next: () => void) => {\n    let newErrors: PageGeneratorErrors = {};\n    fields.forEach(field => {\n      if (isFieldWithValidations(field) && state && field.props?.name) {\n        const value = state[field.props.name] as PageGeneratorValidationValue;\n        const name = field.props.name;\n        const fieldErrors = getFieldErrors(name, value);\n        newErrors = {\n          ...newErrors,\n          [name]: {\n            value,\n            errors: fieldErrors,\n          },\n        };\n      }\n    });\n\n    let valid = true;\n    Object.keys(newErrors).forEach(key => {\n      if (newErrors[key].errors.length > 0) {\n        valid = false;\n        return;\n      }\n    });\n    setFormData({\n      ...formData,\n      submitted: true,\n      errors: newErrors,\n      valid,\n    });\n    if (valid) {\n      next();\n    }\n  };\n\n  const onBlur = <\n    T extends HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,\n  >(\n    event: FocusEvent<T>,\n  ) => {\n    const { name, value } = event.target;\n    validateField(name, value as PageGeneratorValidationValue);\n  };\n\n  const onBlurSelect = (name: string) => {\n    if (state) {\n      validateField(name, state[name] as PageGeneratorValidationValue);\n    }\n  };\n\n  const fieldOnChange = <T extends HTMLInputElement | HTMLTextAreaElement>(\n    event: ChangeEvent<T>,\n  ) => {\n    const { id, name, value } = event.target;\n    const checked = (event as ChangeEvent<HTMLInputElement>).target?.checked;\n    setFormData({\n      ...formData,\n      touched: true,\n      errorMessages: {\n        ...formData.errorMessages,\n        [name]: '',\n      },\n    });\n    const newState = {\n      ...state,\n      [name || id]: event.target.type === 'checkbox' ? checked : value,\n    };\n    if (setState) {\n      setState(newState);\n    }\n  };\n\n  const selectOnChange = (chosen: PageGeneratorSelectOption, name: string) => {\n    let value = null;\n    if (isMultiValue(chosen)) {\n      value = Array.isArray(chosen) ? chosen : null;\n    } else {\n      value = chosen ?? null;\n    }\n    setFormData({\n      ...formData,\n      touched: true,\n      submitted: false,\n      errorMessages: {\n        ...formData.errorMessages,\n        [name]: '',\n      },\n    });\n    const newState = {\n      ...state,\n      [name]: value,\n    };\n    validateField(name, chosen as PageGeneratorValidationValue);\n    if (setState) {\n      setState(newState);\n    }\n  };\n\n  const datePickerOnChange = (value: CalendarDate | null, name: string) => {\n    const newState = {\n      ...state,\n      [name]: value,\n    };\n    setFormData({\n      ...formData,\n      touched: true,\n      submitted: false,\n      errorMessages: {\n        ...formData.errorMessages,\n        [name]: '',\n      },\n    });\n    validateField(name, value as PageGeneratorValidationValue);\n    if (setState) {\n      setState(newState);\n    }\n  };\n\n  return (\n    <PageGeneratorContext.Provider\n      value={{\n        fields,\n        state,\n        fieldOnChange,\n        selectOnChange,\n        datePickerOnChange,\n        onBlur,\n        onBlurSelect,\n        formData,\n        validateAllFields,\n      }}\n    >\n      {children(validateAllFields)}\n    </PageGeneratorContext.Provider>\n  );\n};\n","import {\n  PageGeneratorField,\n  PageGeneratorRow,\n  FieldWithValidations,\n} from '../types';\n\nexport const isFieldWithValidations = (\n  obj: PageGeneratorField | PageGeneratorRow,\n): obj is FieldWithValidations => {\n  return obj && (obj as FieldWithValidations).validations !== undefined;\n};\n","import { SelectOption } from '@norges-domstoler/dds-components';\nimport { MultiValue, SingleValue } from 'react-select';\n\nexport const isMultiValue = (\n  obj: SingleValue<SelectOption<unknown>> | MultiValue<SelectOption<unknown>>,\n): obj is MultiValue<SelectOption<unknown>> => {\n  return (obj as MultiValue<SelectOption<unknown>>)?.values !== undefined;\n};\n","import { PageGeneratorField, PageGeneratorRow } from '../types';\n\nexport const isPageGeneratorRow = (\n  obj: PageGeneratorField | PageGeneratorRow,\n): obj is PageGeneratorRow => {\n  return (obj as PageGeneratorRow).fields !== undefined;\n};\n","import { PageGeneratorField, SectionGeneratorRow } from '../types';\n\nexport const isSectionGeneratorRow = (\n  obj: PageGeneratorField | SectionGeneratorRow,\n): obj is SectionGeneratorRow => {\n  return (obj as SectionGeneratorRow).fields !== undefined;\n};\n","import {\n  TextInputProps,\n  DatePickerProps,\n  useScreenSize,\n  ScreenSize,\n} from '@norges-domstoler/dds-components';\nimport {\n  DetailListField,\n  PageGeneratorField,\n  PageGeneratorRow,\n  PageGeneratorSupportedFields,\n  TextInputField,\n} from '../types';\nimport { RequiredDatePickerValidator } from './Validators';\n\ninterface TextInputAndFieldProps {\n  props?: TextInputProps;\n  fieldProps?: Pick<TextInputField, 'validations' | 'hide'>;\n}\n\n/** COMMON FIELDS **/\n\nexport const NinInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Fødselsnummer',\n      type: 'text',\n      name: 'nin',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const FirstNameInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Fornavn',\n      type: 'text',\n      name: 'firstName',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const LastNameInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Etternavn',\n      type: 'text',\n      name: 'lastName',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const DateOfBirthDatepicker = (\n  props?: DatePickerProps,\n): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.DatePicker,\n    props: {\n      label: 'Fødselsdato',\n      name: 'dateOfBirth',\n      ...props,\n    },\n    name: 'dateOfBirth',\n  };\n};\n\nexport const EmailInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'E-post',\n      name: 'email',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const StreetNameInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Gatenavn',\n      type: 'text',\n      name: 'streetName',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const HouseNumberInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Husnummer',\n      width: '90px',\n      type: 'text',\n      name: 'houseNumber',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const CountryCodeInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Landkode',\n      width: '90px',\n      name: 'countryCode',\n      tip: 'Husk + foran landkoden',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const PhoneNumberInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  const actualScreenSize = useScreenSize();\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Telefon',\n      width: actualScreenSize >= ScreenSize.XLarge ? '206px' : '214px',\n      name: 'phoneNumber',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const PostalNumberInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Postnummer',\n      width: '90px',\n      name: 'postalNumber',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\nexport const PostalCodeInput = ({\n  props,\n  fieldProps,\n}: TextInputAndFieldProps): PageGeneratorField => {\n  const actualScreenSize = useScreenSize();\n  return {\n    component: PageGeneratorSupportedFields.TextInput,\n    props: {\n      label: 'Poststed',\n      type: 'text',\n      width: actualScreenSize >= ScreenSize.XLarge ? '206px' : '214px',\n      name: 'postalCode',\n      ...props,\n    },\n    ...fieldProps,\n  };\n};\n\n/** COMBINED FIELDS (into Rows) **/\n\nexport const NameRow = (\n  firstNameProps?: TextInputAndFieldProps,\n  lastNameProps?: TextInputAndFieldProps,\n  rowProps?: Pick<PageGeneratorRow, 'hide'>,\n) => {\n  return {\n    fields: [\n      FirstNameInput(firstNameProps || {}),\n      LastNameInput(lastNameProps || {}),\n    ],\n    ...rowProps,\n  };\n};\n\nexport const StreetAddressRow = (\n  streetNameProps?: TextInputAndFieldProps,\n  houseNumberProps?: TextInputAndFieldProps,\n  rowProps?: Pick<PageGeneratorRow, 'hide'>,\n) => {\n  return {\n    fields: [\n      StreetNameInput(streetNameProps || {}),\n      HouseNumberInput(houseNumberProps || {}),\n    ],\n    ...rowProps,\n  };\n};\n\nexport const PhoneNumberRow = (\n  countryCodeProps?: TextInputAndFieldProps,\n  phoneNumberProps?: TextInputAndFieldProps,\n  rowProps?: PageGeneratorRow,\n) => {\n  return {\n    fields: [\n      CountryCodeInput(countryCodeProps || {}),\n      PhoneNumberInput(phoneNumberProps || {}),\n    ],\n    ...rowProps,\n  };\n};\n\nexport const PostalRow = (\n  postalNumberProps?: TextInputAndFieldProps,\n  postalCodeProps?: TextInputAndFieldProps,\n  rowProps?: Pick<PageGeneratorRow, 'hide'>,\n) => {\n  return {\n    fields: [\n      PostalNumberInput(postalNumberProps || {}),\n      PostalCodeInput(postalCodeProps || {}),\n    ],\n    ...rowProps,\n  };\n};\n\n/* DetailList */\n\nexport const DetailList = (\n  rows: { term: string; desc: string }[],\n): DetailListField => {\n  return {\n    component: PageGeneratorSupportedFields.DetailList,\n    props: {\n      striped: false,\n      size: 'small',\n    },\n    children: rows.map(row => {\n      return {\n        component: PageGeneratorSupportedFields.DetailListRow,\n        props: {},\n        children: [\n          {\n            component: PageGeneratorSupportedFields.DetailListTerm,\n            props: {},\n            innerHTML: row.term,\n          },\n          {\n            component: PageGeneratorSupportedFields.DetailListDesc,\n            props: {\n              style: {\n                textAlign: 'right',\n              },\n            },\n            innerHTML: row.desc,\n          },\n        ],\n      };\n    }),\n  };\n};\n\nexport const DetailListRow = (term: string, desc?: string | null) => {\n  return {\n    term,\n    desc: desc || '-',\n  };\n};\n","export enum PageGeneratorSupportedFields {\n  Button = 'Button',\n  Card = 'Card',\n  Checkbox = 'Checkbox',\n  CheckboxGroup = 'CheckboxGroup',\n  DatePicker = 'DatePicker',\n  DescriptionList = 'DescriptionList',\n  DescriptionListGroup = 'DescriptionListGroup',\n  DescriptionListDesc = 'DescriptionListDesc',\n  DescriptionListTerm = 'DescriptionListTerm',\n  DetailList = 'DetailList',\n  DetailListRow = 'DetailListRow',\n  DetailListTerm = 'DetailListTerm',\n  DetailListDesc = 'DetailListDesc',\n  Divider = 'Divider',\n  Drawer = 'Drawer',\n  DrawerGroup = 'DrawerGroup',\n  Fieldset = 'Fieldset',\n  GlobalMessage = 'GlobalMessage',\n  Heading = 'Heading',\n  HStack = 'HStack',\n  InputMessage = 'InputMessage',\n  Label = 'Label',\n  Legend = 'Legend',\n  Link = 'Link',\n  List = 'List',\n  ListItem = 'ListItem',\n  LocalMessage = 'LocalMessage',\n  Paragraph = 'Paragraph',\n  RadioButton = 'RadioButton',\n  RadioButtonGroup = 'RadioButtonGroup',\n  Select = 'Select',\n  Spinner = 'Spinner',\n  TextArea = 'TextArea',\n  TextInput = 'TextInput',\n  ToggleBar = 'ToggleBar',\n  ToggleRadio = 'ToggleRadio',\n  ToggleButton = 'ToggleButton',\n  ToggleButtonGroup = 'ToggleButtonGroup',\n  Typography = 'Typography',\n  VisuallyHidden = 'VisuallyHidden',\n  VStack = 'VStack',\n}\n","import { idnr } from '@navikt/fnrvalidator';\nimport {\n  PageGeneratorErrors,\n  PageGeneratorSelectOption,\n  PageGeneratorValidation,\n} from '../types';\nimport { Paragraph, List, ListItem } from '@norges-domstoler/dds-components';\nimport { CalendarDate } from '@internationalized/date';\nimport { JSX } from 'react';\n\nexport const RequiredValidator = (\n  message?: string,\n  formMessage?: string,\n): PageGeneratorValidation => {\n  return {\n    message: message || 'Feltet er påkrevd',\n    formMessage: formMessage || 'Feltet er påkrevd',\n    rule: (value: string) => !!value && value.length > 0,\n  };\n};\n\nexport const RequiredSelectValidator = (\n  message?: string,\n  formMessage?: string,\n): PageGeneratorValidation => {\n  return {\n    message: message || 'Feltet er påkrevd',\n    formMessage: formMessage || 'Feltet er påkrevd',\n    rule: (value: PageGeneratorSelectOption) => {\n      if (Array.isArray(value)) {\n        return value.length > 0;\n      }\n      return !!value;\n    },\n  };\n};\n\nexport const RequiredDatePickerValidator = (\n  message?: string,\n  formMessage?: string,\n): PageGeneratorValidation => {\n  return {\n    message: message || 'Feltet er påkrevd',\n    formMessage: formMessage || 'Feltet er påkrevd',\n    rule: (value: CalendarDate) => !!value,\n  };\n};\n\nexport const NumbersOnlyValidator = (\n  message?: string,\n  formMessage?: string,\n): PageGeneratorValidation => {\n  return {\n    message: message || 'Feltet kan bare inneholde tall',\n    formMessage: formMessage || 'Feltet kan bare inneholde tall',\n    rule: (value: string) =>\n      value.length > 0 ? value.match(/^\\d+$/) !== null : true,\n  };\n};\n\nexport const NinValidator: PageGeneratorValidation = {\n  message: 'Fødselsnummer er ugyldig',\n  formMessage: 'Fødselsnummer er ugyldig',\n  rule: (value: string) => {\n    if (value.length > 0) {\n      const result = idnr(value);\n      return result.status === 'valid';\n    }\n    return true;\n  },\n};\n\nexport const PhoneNumberValidator: PageGeneratorValidation = {\n  message: 'Kan bare inneholde tall',\n  formMessage: 'Telefonnummer kan bare inneholde tall',\n  rule: (value: string) =>\n    value.length > 0 ? value.match(/^\\d+$/) !== null : true,\n};\n\nexport const EmailValidator: PageGeneratorValidation = {\n  message: 'E-post er ugyldig',\n  formMessage: 'E-post er ugyldig',\n  rule: (value: string) =>\n    value.length > 0\n      ? value.match(/^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,4}$/) !== null\n      : true,\n};\n\nexport const getFormErrorMessage = (\n  errors: PageGeneratorErrors,\n  leadText?: string,\n): JSX.Element => {\n  const actualErrors = Object.keys(errors).filter(\n    key => errors[key].errors.length > 0,\n  );\n  const formMessages = actualErrors.map(e => {\n    const obj = errors[e];\n    return obj.errors[0].formMessage || obj.errors[0].message;\n  });\n\n  return (\n    <>\n      <Paragraph>\n        {leadText || 'Disse feilene må rettes før du kan lagre:'}\n      </Paragraph>\n      <List>\n        {formMessages.map((formMessage, index) => {\n          return <ListItem key={index}>{formMessage}</ListItem>;\n        })}\n      </List>\n    </>\n  );\n};\n","import { useContext } from 'react';\nimport { PageGeneratorContext } from '../PageGenerator/PageGeneratorContext';\nimport { GenerateGridChild } from './GenerateGridChild';\nimport { PageGeneratorRow } from '../../types/PageGeneratorRow';\nimport { PageGeneratorField } from '../../types';\n\nexport const GenerateGridChildren = () => {\n  const { fields } = useContext(PageGeneratorContext);\n  return (\n    <>\n      {fields.map((obj: PageGeneratorField | PageGeneratorRow, index) => (\n        <GenerateGridChild key={index} obj={obj} index={index} />\n      ))}\n    </>\n  );\n};\n","import {\n  GridChild,\n  ScreenSize,\n  useScreenSize,\n} from '@norges-domstoler/dds-components';\nimport { isFieldWithValidations, isPageGeneratorRow } from '../../helpers';\nimport { PageGeneratorField, PageGeneratorRow } from '../../types';\nimport { GenerateComponent } from './GenerateComponent';\nimport { GenerateRow } from './GenerateRow';\nimport { useContext } from 'react';\nimport {\n  PageGeneratorContext,\n  PageGeneratorContextModel,\n} from '../PageGenerator/PageGeneratorContext';\n\nexport interface GenerateGridChildProperties {\n  fieldOnChange: PageGeneratorContextModel['fieldOnChange'];\n  selectOnChange: PageGeneratorContextModel['selectOnChange'];\n  datePickerOnChange: PageGeneratorContextModel['datePickerOnChange'];\n  onBlur: PageGeneratorContextModel['onBlur'];\n  onBlurSelect: PageGeneratorContextModel['onBlurSelect'];\n  screenSize: ScreenSize;\n}\n\ninterface GenerateGridChildProps {\n  obj: PageGeneratorField | PageGeneratorRow;\n  index: number;\n}\n\nexport const GenerateGridChild = (props: GenerateGridChildProps) => {\n  const isRow = isPageGeneratorRow(props.obj);\n  const {\n    fieldOnChange,\n    selectOnChange,\n    datePickerOnChange,\n    onBlur,\n    onBlurSelect,\n    formData,\n  } = useContext(PageGeneratorContext);\n  const screenSize = useScreenSize();\n  const { obj, index } = props;\n\n  const gridChildProps: GenerateGridChildProperties = {\n    fieldOnChange,\n    selectOnChange,\n    datePickerOnChange,\n    onBlur,\n    onBlurSelect,\n    screenSize,\n  };\n  if (isFieldWithValidations(obj) && obj.props.name && formData.errorMessages) {\n    obj.props = {\n      ...obj.props,\n      errorMessage: formData.errorMessages[obj.props.name],\n    };\n  }\n  return (\n    !obj.hide && (\n      <GridChild columnsOccupied=\"all\" key={index}>\n        {isRow && (\n          <GenerateRow\n            index={index}\n            fields={(obj as PageGeneratorRow).fields}\n            gridChildProps={gridChildProps}\n          />\n        )}\n        {!isRow && (\n          <GenerateComponent\n            index={index}\n            field={obj as PageGeneratorField}\n            gridChildProps={gridChildProps}\n          />\n        )}\n      </GridChild>\n    )\n  );\n};\n","import {\n  Button,\n  Card,\n  Checkbox,\n  CheckboxGroup,\n  DatePicker,\n  DescriptionList,\n  DescriptionListGroup,\n  DescriptionListDesc,\n  DescriptionListTerm,\n  Divider,\n  Drawer,\n  DrawerGroup,\n  Fieldset,\n  GlobalMessage,\n  InputMessage,\n  Legend,\n  List,\n  ListItem,\n  LocalMessage,\n  RadioButton,\n  ScreenSize,\n  RadioButtonGroup,\n  Select,\n  Spinner,\n  TextArea,\n  TextInput,\n  ToggleButton,\n  ToggleButtonGroup,\n  VisuallyHidden,\n  HStack,\n  VStack,\n  Heading,\n  Label,\n  Link,\n  Paragraph,\n  Typography,\n  ToggleBar,\n  ToggleRadio,\n  DetailList,\n  DetailListRow,\n  DetailListDesc,\n  DetailListTerm,\n} from '@norges-domstoler/dds-components';\nimport { PageGeneratorField, PageGeneratorSupportedFields } from '../../types';\nimport { ChangeEvent } from 'react';\nimport { SectionGenerator } from '../../components';\nimport {\n  GenerateGridChild,\n  GenerateGridChildProperties,\n} from './GenerateGridChild';\nimport '../../styles/page-generator-fieldset.css';\n\ninterface GenerateComponentProps {\n  index: number;\n  field: PageGeneratorField;\n  gridChildProps: GenerateGridChildProperties;\n}\n\nexport const GenerateComponent = (props: GenerateComponentProps) => {\n  const { index, field, gridChildProps } = props;\n  const {\n    fieldOnChange,\n    selectOnChange,\n    datePickerOnChange,\n    onBlur,\n    onBlurSelect,\n    screenSize,\n  } = gridChildProps;\n\n  const inputFieldOnChange = (\n    event: ChangeEvent<HTMLInputElement & Record<string, never>>,\n  ) => fieldOnChange(event);\n  const textAreaFieldOnChange = (\n    event: ChangeEvent<HTMLTextAreaElement & Record<string, never>>,\n  ) => fieldOnChange(event);\n\n  const GridStyling = {\n    marginLeft: undefined,\n    marginRight: undefined,\n  };\n\n  switch (field.component) {\n    case PageGeneratorSupportedFields.Button:\n      return (\n        <Button {...field.props} key={index}>\n          {field.innerHTML}\n        </Button>\n      );\n    case PageGeneratorSupportedFields.Card:\n      if (field.innerHTML) {\n        return (\n          <Card {...field.props} key={index}>\n            {field.innerHTML}\n          </Card>\n        );\n      } else if (field.children) {\n        <Card {...field.props} key={index}>\n          <SectionGenerator as=\"fragment\" fields={field.children} />\n        </Card>;\n      }\n      return <></>;\n    case PageGeneratorSupportedFields.Checkbox:\n      return (\n        <Checkbox {...field.props} key={index} onChange={inputFieldOnChange} />\n      );\n    case PageGeneratorSupportedFields.CheckboxGroup:\n      return (\n        <CheckboxGroup {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </CheckboxGroup>\n      );\n    case PageGeneratorSupportedFields.DatePicker:\n      return (\n        <DatePicker\n          {...field.props}\n          key={index}\n          onChange={value => datePickerOnChange(value, field.name)}\n          onBlur={_event => {\n            onBlurSelect(field.name);\n          }}\n        />\n      );\n    case PageGeneratorSupportedFields.DescriptionList:\n      return (\n        <DescriptionList {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </DescriptionList>\n      );\n    case PageGeneratorSupportedFields.DescriptionListGroup:\n      return (\n        <DescriptionListGroup {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </DescriptionListGroup>\n      );\n    case PageGeneratorSupportedFields.DescriptionListDesc:\n      return (\n        <DescriptionListDesc {...field.props} key={index}>\n          {field.innerHTML}\n        </DescriptionListDesc>\n      );\n    case PageGeneratorSupportedFields.DescriptionListTerm:\n      return (\n        <DescriptionListTerm {...field.props} key={index}>\n          {field.innerHTML}\n        </DescriptionListTerm>\n      );\n    case PageGeneratorSupportedFields.DetailList:\n      return (\n        <DetailList {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </DetailList>\n      );\n    case PageGeneratorSupportedFields.DetailListRow:\n      return (\n        <DetailListRow {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </DetailListRow>\n      );\n    case PageGeneratorSupportedFields.DetailListDesc:\n      return (\n        <DetailListDesc {...field.props} key={index}>\n          {field.innerHTML}\n        </DetailListDesc>\n      );\n    case PageGeneratorSupportedFields.DetailListTerm:\n      return (\n        <DetailListTerm {...field.props} key={index}>\n          {field.innerHTML}\n        </DetailListTerm>\n      );\n    case PageGeneratorSupportedFields.Divider:\n      return <Divider {...field.props} key={index} />;\n    case PageGeneratorSupportedFields.Drawer:\n      return (\n        <Drawer {...field.props} key={index}>\n          {field.innerHTML}\n        </Drawer>\n      );\n    case PageGeneratorSupportedFields.DrawerGroup:\n      return (\n        <DrawerGroup {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </DrawerGroup>\n      );\n    case PageGeneratorSupportedFields.Fieldset:\n      return (\n        <Fieldset\n          {...field.props}\n          htmlProps={{\n            ...field.props.htmlProps,\n            className: 'page-generator-fieldset',\n            style: {\n              ...GridStyling,\n            },\n          }}\n          key={index}\n        >\n          {field.children.map((child, childIndex) => {\n            if ((child as PageGeneratorField).component === 'Legend') {\n              return (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child as PageGeneratorField}\n                  gridChildProps={props.gridChildProps}\n                />\n              );\n            } else {\n              return (\n                <GenerateGridChild\n                  key={childIndex}\n                  obj={child}\n                  index={childIndex}\n                />\n              );\n            }\n          })}\n        </Fieldset>\n      );\n    case PageGeneratorSupportedFields.GlobalMessage:\n      return (\n        <GlobalMessage {...field.props} key={index}>\n          {field.innerHTML}\n        </GlobalMessage>\n      );\n    case PageGeneratorSupportedFields.Heading:\n      return (\n        <Heading {...field.props} key={index}>\n          {field.innerHTML}\n        </Heading>\n      );\n    case PageGeneratorSupportedFields.HStack:\n      return (\n        <HStack {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </HStack>\n      );\n    case PageGeneratorSupportedFields.InputMessage:\n      return <InputMessage {...field.props} key={index} />;\n    case PageGeneratorSupportedFields.Label:\n      return (\n        <Label {...field.props} key={index}>\n          {field.innerHTML}\n        </Label>\n      );\n    case PageGeneratorSupportedFields.Legend:\n      return (\n        <Legend {...field.props} key={index}>\n          {field.innerHTML}\n        </Legend>\n      );\n    case PageGeneratorSupportedFields.Link:\n      return (\n        <Link {...field.props} key={index}>\n          {field.innerHTML}\n        </Link>\n      );\n    case PageGeneratorSupportedFields.List:\n      return (\n        <List {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </List>\n      );\n    case PageGeneratorSupportedFields.ListItem:\n      return (\n        <ListItem {...field.props} key={index}>\n          {field.innerHTML}\n        </ListItem>\n      );\n    case PageGeneratorSupportedFields.LocalMessage:\n      return (\n        <LocalMessage {...field.props} key={index}>\n          {field.innerHTML}\n        </LocalMessage>\n      );\n    case PageGeneratorSupportedFields.Paragraph:\n      return (\n        <Paragraph {...field.props} key={index}>\n          {field.innerHTML}\n        </Paragraph>\n      );\n    case PageGeneratorSupportedFields.RadioButton:\n      return (\n        <RadioButton\n          {...field.props}\n          key={index}\n          onChange={inputFieldOnChange}\n        />\n      );\n    case PageGeneratorSupportedFields.RadioButtonGroup:\n      field.props.direction = screenSize > ScreenSize.XSmall ? 'row' : 'column';\n      return (\n        <RadioButtonGroup {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </RadioButtonGroup>\n      );\n    case PageGeneratorSupportedFields.Select:\n      return (\n        <Select\n          {...field.props}\n          key={index}\n          onChange={option => selectOnChange(option, field.name)}\n          onBlur={_event => {\n            onBlurSelect(field.name);\n          }}\n        />\n      );\n    case PageGeneratorSupportedFields.Spinner:\n      return <Spinner {...field.props} key={index} />;\n    case PageGeneratorSupportedFields.TextArea:\n      return (\n        <TextArea\n          {...field.props}\n          key={index}\n          onChange={textAreaFieldOnChange}\n          onBlur={onBlur}\n        />\n      );\n    case PageGeneratorSupportedFields.TextInput:\n      return (\n        <TextInput\n          {...field.props}\n          key={index}\n          onChange={inputFieldOnChange}\n          onBlur={onBlur}\n        />\n      );\n    case PageGeneratorSupportedFields.ToggleBar:\n      return (\n        <ToggleBar {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </ToggleBar>\n      );\n    case PageGeneratorSupportedFields.ToggleButton:\n      return (\n        <ToggleButton\n          {...field.props}\n          key={index}\n          onChange={inputFieldOnChange}\n        />\n      );\n    case PageGeneratorSupportedFields.ToggleButtonGroup:\n      return (\n        <ToggleButtonGroup {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </ToggleButtonGroup>\n      );\n    case PageGeneratorSupportedFields.ToggleRadio:\n      return (\n        <ToggleRadio\n          {...field.props}\n          key={index}\n          onChange={inputFieldOnChange}\n        />\n      );\n    case PageGeneratorSupportedFields.Typography:\n      return (\n        <Typography {...field.props} key={index}>\n          {field.innerHTML}\n        </Typography>\n      );\n    case PageGeneratorSupportedFields.VisuallyHidden:\n      return (\n        <VisuallyHidden {...field.props} key={index}>\n          {field.innerHTML}\n        </VisuallyHidden>\n      );\n    case PageGeneratorSupportedFields.VStack:\n      return (\n        <VStack {...field.props} key={index}>\n          {field.children.map((child, childIndex) => {\n            return (\n              !child.hide && (\n                <GenerateComponent\n                  key={childIndex}\n                  index={childIndex}\n                  field={child}\n                  gridChildProps={props.gridChildProps}\n                />\n              )\n            );\n          })}\n        </VStack>\n      );\n    default:\n      return <></>;\n  }\n};\n","import { HStack } from '@norges-domstoler/dds-components';\nimport { PageGeneratorField } from '../../types';\nimport { PageGeneratorTokens } from '../../tokens';\nimport { GenerateComponent } from './GenerateComponent';\nimport { GenerateGridChildProperties } from './GenerateGridChild';\nimport { isFieldWithValidations } from '../../helpers';\nimport { useContext } from 'react';\nimport { PageGeneratorContext } from '../PageGenerator/PageGeneratorContext';\n\ninterface GenerateRowProps {\n  index: number;\n  fields: PageGeneratorField[];\n  gridChildProps: GenerateGridChildProperties;\n}\n\nexport const GenerateRow = (props: GenerateRowProps) => {\n  const { index, fields, gridChildProps } = props;\n  const { formData } = useContext(PageGeneratorContext);\n  return (\n    <HStack\n      gap={PageGeneratorTokens.Stack[gridChildProps.screenSize] || 0}\n      align=\"flex-start\"\n      htmlProps={{ style: { flexWrap: 'wrap' } }}\n      key={index}\n    >\n      {fields.map((field, childIndex) => {\n        if (\n          isFieldWithValidations(field) &&\n          field.props.name &&\n          formData.errorMessages\n        ) {\n          field.props = {\n            ...field.props,\n            errorMessage: formData.errorMessages[field.props.name],\n          };\n        }\n        return (\n          !field.hide && (\n            <GenerateComponent\n              key={childIndex}\n              index={childIndex}\n              field={field}\n              gridChildProps={gridChildProps}\n            />\n          )\n        );\n      })}\n    </HStack>\n  );\n};\n","import {\n  getBaseHTMLProps,\n  useScreenSize,\n} from '@norges-domstoler/dds-components';\nimport {\n  PageGeneratorField,\n  PageGeneratorRow,\n  SectionGeneratorProps,\n} from '../../types';\nimport React, { JSX, useContext } from 'react';\nimport { isSectionGeneratorRow } from '../../helpers';\nimport { GenerateRow } from '../Generate/GenerateRow';\nimport { GenerateComponent } from '../Generate/GenerateComponent';\nimport { PageGeneratorProvider } from '../PageGenerator/PageGeneratorProvider';\nimport { PageGeneratorContext } from '../PageGenerator/PageGeneratorContext';\nimport { GenerateGridChildProperties } from '../Generate/GenerateGridChild';\n\n/**\n * Generer komponenter fra @norges-domstoler/dds-components, basert på `fields` propertien. SectionGenerator legger på en wrapper, basert på `as` propertien.\n * @param props - `fields` inneholder felter eller rader med felter. `errorsOnChange` er callback for statehåndtering. `as` setter HTML-element rundt hele SectionGenerator.\n */\nexport const SectionGenerator = (props: SectionGeneratorProps) => {\n  const {\n    fields = [],\n    formDataOnChange,\n    state,\n    setState,\n    as,\n    id,\n    className,\n    htmlProps,\n    ...rest\n  } = props;\n  const {\n    fieldOnChange,\n    selectOnChange,\n    datePickerOnChange,\n    onBlur,\n    onBlurSelect,\n    validateAllFields,\n  } = useContext(PageGeneratorContext);\n  const screenSize = useScreenSize();\n  const generateGridChildProps: GenerateGridChildProperties = {\n    fieldOnChange,\n    selectOnChange,\n    datePickerOnChange,\n    onBlur,\n    onBlurSelect,\n    screenSize,\n  };\n\n  const Parent = (props: { children: (false | JSX.Element)[] }) => {\n    if (as === 'div') {\n      return (\n        <div {...getBaseHTMLProps(id, className, htmlProps, rest)}>\n          {props.children}\n        </div>\n      );\n    } else if (as === 'form') {\n      return (\n        <form {...getBaseHTMLProps(id, className, htmlProps, rest)}>\n          {props.children}\n        </form>\n      );\n    } else if (as === 'fragment') {\n      return <React.Fragment>{props.children}</React.Fragment>;\n    } else {\n      return <></>;\n    }\n  };\n\n  const children = (validateAllFields: (next: () => void) => void) => {\n    return (\n      <Parent>\n        {fields.map((obj, index) => {\n          const isRow = isSectionGeneratorRow(obj);\n          return (\n            !obj.hide && (\n              <React.Fragment key={index}>\n                {isRow && (\n                  <GenerateRow\n                    index={index}\n                    fields={(obj as PageGeneratorRow).fields}\n                    gridChildProps={generateGridChildProps}\n                  />\n                )}\n                {!isRow && (\n                  <GenerateComponent\n                    index={index}\n                    field={obj as PageGeneratorField}\n                    gridChildProps={generateGridChildProps}\n                  />\n                )}\n              </React.Fragment>\n            )\n          );\n        })}\n      </Parent>\n    );\n  };\n\n  return (\n    <PageGeneratorProvider\n      fields={fields}\n      formDataOnChange={formDataOnChange}\n      state={state}\n      setState={setState}\n      children={children}\n    />\n  );\n};\n\nSectionGenerator.displayName = 'SectionGenerator';\n"],"mappings":"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","names":["ScreenSize","PageGeneratorSupportedFields","ScreenSize","jsx","useContext","useScreenSize","List","ListItem","ScreenSize","Paragraph","DetailList","DetailListRow","Fragment","jsx","DetailList","DetailListRow","List","ListItem","Paragraph","ScreenSize","HStack","jsx","HStack","useContext","jsx","jsxs","useContext","useScreenSize","Fragment","jsx","useContext","jsx","getBaseHTMLProps","useScreenSize","useContext","Fragment","jsx","jsxs","useContext","useScreenSize","props","getBaseHTMLProps","validateAllFields"]}