UNPKG

@anoki/fse-marche-ui

Version:

FSE UI components library

1,403 lines (1,139 loc) 46.3 kB
import { AddressSchema } from '@anoki/fse-marche-common'; import { ComponentPropsWithoutRef } from 'react'; import { ComponentType } from 'react'; import { CSSProperties } from 'react'; import { DayHours } from '@anoki/fse-marche-common'; import { default as default_2 } from 'react'; import { ElementType } from 'react'; import { FC } from 'react'; import { GeneralPractitionerResponse } from '@anoki/fse-marche-common/dist/types/general-practitioner-service'; import { JSX } from 'react/jsx-runtime'; import { OfficeResponse } from '@anoki/fse-marche-common/dist/types/general-practitioner-service'; import { OpeningHours } from '@anoki/fse-marche-common'; import { PropsWithChildren } from 'react'; import * as React_2 from 'react'; import { ReactNode } from 'react'; import { SectionLink } from '@anoki/fse-marche-common'; import { Service } from '@anoki/fse-marche-common'; import { Structure } from '@anoki/fse-marche-common'; export declare interface ActionData { label: string; ariaLabel: string; type: "link" | "button"; link?: string; action?: () => void; } export declare const ActionIconText: ({ iconColor, icon, noIcon, textLabel, handleAction, handleIconAction, classNameComponent, classNameText, disablePointer, iconPosition, popupInfo, }: ActionIconTextProps) => JSX.Element; declare type ActionIconTextProps = PropsWithChildren<{ icon?: ReactNode; noIcon?: boolean; textLabel?: string; handleAction?: () => void; handleIconAction?: () => void; classNameComponent?: string; classNameText?: string; disablePointer?: boolean; iconPosition?: "left" | "right"; popupInfo?: InfoPopupProps; iconColor?: ColorKeys; }>; declare type ActionItem = PropsWithChildren<{ label: string; icon: ReactNode; onClick: () => void; loading?: boolean; }>; export declare const Actions: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Add: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const AggregationItems: ({ title, description, goToLabel, href, asLink, items, layout, className, }: AggregationItemsProps) => JSX.Element; export declare type AggregationItemsProps = { title: React.ReactNode; description?: React.ReactNode; goToLabel?: string; href?: string; asLink?: "a" | React.ComponentType<any>; items: any[]; layout?: Layout; className?: string; }; export declare const ArrowDown: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const ArrowLeft: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const ArrowLink: ({ href, asLink, isExternal, fs, children, className, onClick, type, asButton, ...props }: ArrowLinkProps) => JSX.Element; declare type ArrowLinkAsButtonProps = BaseArrowLinkProps & { onClick?: () => void; type?: "button"; asButton?: true; asLink?: never; href?: never; }; declare type ArrowLinkAsLinkProps = BaseArrowLinkProps & { href: string; asLink?: "a" | default_2.ComponentType<any>; onClick?: never; type?: never; asButton?: never; }; declare type ArrowLinkProps = ArrowLinkAsLinkProps | ArrowLinkAsButtonProps; export declare const ArrowRight: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Attachment: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Avatar: ({ initials, bg, textColor, size, className, }: AvatarProps) => JSX.Element; declare type AvatarProps = { initials: string; bg?: ColorKeys; textColor?: ColorKeys; size?: AvatarSize; className?: string; }; declare type AvatarSize = "1" | "2" | "3"; declare type BaseArrowLinkProps = { isExternal?: boolean; fs?: TypographyKeys; children: default_2.ReactNode; className?: string; }; declare type BaseButtonProps = { children: React.ReactNode; variant?: ButtonVariant; bg?: ColorKeys; textColor?: ColorKeys; border?: ColorKeys; size?: ButtonSize; className?: string; disabled?: boolean; loading?: boolean; form?: string; rel?: string; target?: string; }; export declare const BaseModal: { ({ open, setOpen, overrideClassNames, id, children, }: BaseModalProps): JSX.Element; Header: ({ labels, onCloseClick, onBackClick, showBackButton, children, }: { labels?: { closeButton?: string; backButton?: string; }; onCloseClick?: () => void; onBackClick?: () => void; showBackButton?: boolean; children?: React.ReactNode; }) => JSX.Element; HeaderBack: ({ onBackClick, backButton, children, }: { onBackClick: () => void; backButton: string; children?: React.ReactNode; }) => JSX.Element; Content: ({ className, children, }: { className?: string; children: React.ReactNode; }) => JSX.Element; Footer: ({ children, className, }: { className?: string; children: React.ReactNode; }) => JSX.Element; }; declare type BaseModalProps = { open: boolean; setOpen: (open: boolean) => void; overrideClassNames?: string; id?: string; children: React.ReactNode; }; export declare const BottomNavigation: ({ className, title, removeLabel, applyLabel, selectedFilters, onApplyFilters, onClearFilters, }: BottomNavigationProps) => JSX.Element; declare type BottomNavigationProps = { className?: string; title: string; removeLabel: string; applyLabel: string; selectedFilters: Record<string, string[]>; onApplyFilters: () => void; onClearFilters: () => void; }; export declare const Breadcrumb: ({ items, }: BreadcrumbProps) => JSX.Element; declare type BreadcrumbItemProps = { label: string; href?: string; isClickable?: boolean; asLink?: "a" | ComponentType<any>; }; export declare type BreadcrumbProps = { items: BreadcrumbItemProps[]; }; declare type BreakpointSpace = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12"; export declare const Button: ({ children, variant, bg, textColor, border, size, className, disabled, loading, onClick, type, form, asLink, href, target, rel, ...props }: ButtonProps) => JSX.Element; declare type ButtonAsButtonProps = BaseButtonProps & { onClick?: () => void; type?: "button" | "submit" | "reset"; asLink?: never; href?: never; }; declare type ButtonAsLinkProps = BaseButtonProps & { href: string; onClick?: never; type?: never; asLink?: "a" | React.ComponentType<any>; }; declare type ButtonProps = ButtonAsButtonProps | ButtonAsLinkProps; declare type ButtonSize = "2" | "3" | "4"; declare type ButtonVariant = "primary" | "secondary"; export declare const Calendar: ({ width, height, className, filled, color, }: IconProps) => JSX.Element; export declare const CardCategory: ({ image, title, titleTag: TitleTag, href, description, description2, isExternal, showIcon, goToLabel, asLink, asImage, className, classNameTitle, classNameDescription, handleOnClick, }: CardCategoryProps) => JSX.Element; declare type CardCategoryProps = { image?: Image_2; title: string; titleTag?: HeadingLevel; href?: string; description?: string; description2?: string; isExternal?: boolean; showIcon?: boolean; goToLabel?: string; asImage?: "img"; asLink?: "a" | React.ComponentType<any>; className?: string; classNameTitle?: string; classNameDescription?: string; handleOnClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void; }; export declare const CardDoctor: ({ titleTag: TitleTag, doctorName, specialties, contactInfo, schedule, avatar, button, }: CardDoctorProps) => JSX.Element; export declare const CardDoctorInfo: ({ titleTag: TitleTag, doctorName, specialties, contactInfo, avatar, className, officesInfo, officeLabel, }: CardDoctorInfoProps) => JSX.Element; declare type CardDoctorInfoProps = { titleTag?: HeadingLevel_8; doctorName: string; specialties?: string[]; contactInfo?: Info_2[]; avatar?: { initials: string; bg?: ColorKeys; textColor?: ColorKeys; }; className?: string; officesInfo?: Info_2[][]; officeLabel?: string; }; declare type CardDoctorProps = { titleTag?: HeadingLevel_11; doctorName: string; specialties?: string[]; contactInfo?: Info_3[]; schedule?: { label: string; days: ScheduleDay[]; }; avatar?: { initials: string; bg?: ColorKeys; textColor?: ColorKeys; }; button?: { label: string; onClick: () => void; }; }; export declare const CardDocument: ({ eventNumber, date, documentType, documentTitle, label, subtitle, action, CTA, handleDownloadDocument, hrefDocument, isLoading, openDocumentLabel, releaseDateLabel, eventLabel, }: CardDocumentProps) => JSX.Element; declare type CardDocumentProps = { eventNumber?: string; date?: string | number; documentType?: string; documentTitle: string; label?: string; subtitle?: string; action?: string; CTA?: string; iconView?: "attachments" | "obscured"; favorite?: boolean; handleDownloadDocument?: () => void; hrefDocument?: string; isLoading?: boolean; openDocumentLabel?: string; releaseDateLabel?: string; eventLabel?: string; }; export declare const CardExemption: ({ information, className, exemptionCode, isOpen, onToggle, hasBorder, exemptionLabel, }: CardExemptionProps) => JSX.Element; declare type CardExemptionProps = { information?: { label: string; value: string; }[]; className?: string; exemptionCode: string; isOpen: boolean; onToggle: () => void; selectedStructures?: string[]; hasBorder?: boolean; exemptionLabel?: string; }; export declare const CardMap: ({ id, title, titleTag: TitleTag, href, description, isExternal, asLink, className, address, setSelectedCard, }: CardMapProps) => JSX.Element; export declare const CardMapDoctor: ({ titleTag: TitleTag, availableLabel, specialization, href, addressLabel, linkLabel, asLink, className, doctor, setSelectedCard, keepSelectionOnNavigation, }: CardMapDoctorProps) => JSX.Element; declare type CardMapDoctorProps = { titleTag: HeadingLevel_3; availableLabel: string; specialization?: string; href?: string; addressLabel?: string; linkLabel?: string; asLink?: "a"; className?: string; doctor: DoctorMock; setSelectedCard?: (id: string) => void; keepSelectionOnNavigation?: boolean; }; declare type CardMapProps = { id: string; title: string; titleTag: HeadingLevel_2; href?: string; description?: string; isExternal?: boolean; showIcon?: boolean; asLink?: "a"; className?: string; address?: AddressSchema; setSelectedCard?: (id: string) => void; }; export declare const CardNotification: ({ type, onClickEdit, onClickRightManage, showExpired, buttonMaxWidth, onClickGoToDetails, icon, variant, onClickManage, date, title, showBadge, text, }: CardNotificationProps) => JSX.Element; declare type CardNotificationProps = { type: string; date: string; icon: NotificationIcon; showBadge?: boolean; title: string; text: string; variant?: Variant; onClickEdit?: () => void; onClickManage?: () => void; onClickGoToDetails?: () => void; showExpired?: boolean; buttonMaxWidth?: boolean; onClickRightManage?: () => void; }; export declare const CardOpeningHours: ({ title, titleTag: TitleTag, openingHours, weekDaysMap, openLabel, todayLabel, closeLabel, open24Label, opensSoonLabel, opensAtLabel, opensTomorrowLabel, opensOnLabel, atLabel, closesAtLabel, }: CardOpeningHoursProps) => JSX.Element; declare type CardOpeningHoursProps = { title: string; titleTag: HeadingLevel_4; openingHours: OpeningHours; weekDaysMap: WeekDaysMap; openLabel?: string; todayLabel?: string; closeLabel?: string; open24Label?: string; opensSoonLabel?: string; opensAtLabel?: string; opensTomorrowLabel?: string; opensOnLabel?: string; atLabel?: string; closesAtLabel?: string; }; export declare const CardReminder: ({ icon, titleTag: TitleTag, title, description, footer, }: CardReminderProps) => JSX.Element; declare type CardReminderProps = { icon?: React.ReactNode; title: string; description?: React.ReactNode; titleTag?: HeadingLevel_10; footer?: React.ReactNode; }; export declare const CardSelectDoctor: ({ id, title, titleTag: TitleTag, description, className, setSelectedCard, description2, keepSelectionOnNavigation, disabled, }: CardSelectDoctorProps) => JSX.Element; declare type CardSelectDoctorProps = { id: string; title: string; titleTag?: HeadingLevel_7; href?: string; description?: string; isExternal?: boolean; showIcon?: boolean; asLink?: "a"; className?: string; setSelectedCard?: (id: string) => void; description2?: string; keepSelectionOnNavigation?: boolean; disabled?: boolean; }; export declare const CardService: ({ title, href, titleTag: TitleTag, asLink, className, iconType, }: CardServiceProps) => JSX.Element; export declare type CardServiceProps = { title: string; href?: string; titleTag: "h3"; asLink?: "a" | ComponentType<any>; className?: string; iconType?: "icon1" | "icon2" | "icon3"; }; export declare const CardUser: ({ titleTag: TitleTag, userName, avatar, information, }: CardUserProps) => JSX.Element; declare type CardUserProps = { titleTag?: HeadingLevel_12; userName: string; avatar?: { initials: string; bg?: ColorKeys; textColor?: ColorKeys; }; information?: { label: string; value: string; }[]; }; export declare const CategoryContent: ({ className, items, selectedItems, onChange, }: CategoryContentProps) => JSX.Element; declare type CategoryContentProps = { className?: string; items: { id: string; label: string; checked: boolean; }[]; selectedItems: string[]; onChange: (selected: string[]) => void; }; export declare const CategoryHeader: ({ className, title, isOpen, onToggle, selectedStructures, hasBorder, }: CategoryHeaderProps) => JSX.Element; declare type CategoryHeaderProps = { className?: string; title: string; isOpen: boolean; onToggle: () => void; selectedStructures?: string[]; hasBorder?: boolean; }; export declare const Checkbox: ({ id, label, checked, onChange, classNameText, }: CheckboxProps) => JSX.Element; export declare const CheckboxFilter: ({ id, label, checked, onChange, classNameText, }: CheckboxFilterProps) => JSX.Element; declare type CheckboxFilterProps = PropsWithChildren<{ id: string; label?: ReactNode; checked: boolean; onChange: (checked: boolean) => void; classNameText?: string; }>; declare type CheckboxProps = { id: string; label?: React.ReactNode; checked: boolean; onChange: (checked: boolean) => void; classNameText?: string; }; export declare const Close: ({ width, height, className, color, onClick, }: IconProps) => JSX.Element; export declare const Col: <E extends ElementType = "div">({ as, className, justifyContent, alignItems, flexWrap, ref, style, ...rest }: PolymorphicProps_4<E>) => JSX.Element; declare type ColorKeys = "primary" | "white" | "status-success" | "warning" | "error" | "muted" | "emphasis" | "slate-20" | "slate-28" | "border-divider" | "transparent" | "blue-30" | "disabled" | "lightblue-a01" | "lightblue-a02" | "lightblue-a03" | "secondary"; declare type ColorProps = { bg?: ColorKeys; text?: ColorKeys; color?: ColorKeys; border?: ColorKeys; }; export declare interface ColumnConfig { label: string; ariaLabel: string; sortable: boolean; action?: () => void; iconAction?: () => void; popupInfo?: InfoPopupProps; icon?: React_2.ReactNode | CommonIconsType; iconPosition?: "left" | "right"; key?: string; type?: "string" | "date" | "number"; } declare type CommonIconsType = "info" | "download"; declare type Config = { REGION: "marche" | "lazio" | "nazionale"; }; export declare const Confirm: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const ConsentModal: { ({ open, overrideClassNames, setOpen, children, }: ConsentModalProps): JSX.Element; Header: ({ closeButton, onCloseClick, children, }: { closeButton?: string; onCloseClick?: () => void; children?: React.ReactNode; }) => JSX.Element; Content: ({ overrideClassNames, children, }: { overrideClassNames?: string; children?: React.ReactNode; }) => JSX.Element; Footer: ({ children }: { children?: React.ReactNode; }) => JSX.Element; }; declare type ConsentModalProps = { open: boolean; overrideClassNames?: string; setOpen: (open: boolean) => void; children: React.ReactNode; }; export declare const Container: ({ as, children, className, display, justifyContent, alignItems, flexWrap, ...rest }: ContainerProps) => JSX.Element; export declare type ContainerProps = { as?: React.ElementType; children: React.ReactNode; className?: string; display?: CSSProperties["display"]; justifyContent?: CSSProperties["justifyContent"]; alignItems?: CSSProperties["alignItems"]; flexWrap?: CSSProperties["flexWrap"]; } & SpacingProps; declare type ctaLevel = "link" | "button" | "outlineButton"; export declare const DatePicker: ({ label, value, maxValue, minValue, className, disabled, onClick, onChange, error, required, id, }: DatePickerProps) => JSX.Element; declare type DatePickerProps = { label: string; value?: Date | null; maxValue?: Date; minValue?: Date; className?: string; disabled?: boolean; onClick?: () => void; onChange: (date: Date) => void; error?: string; required?: boolean; id?: string; }; export declare const DatePickerRange: ({ label, startDateLabel, endDateLabel, startDate, endDate, className, disabled, required, error, onStartDateChange, onEndDateChange, onStartDateClick, onEndDateClick, }: DatePickerRangeProps) => JSX.Element; declare type DatePickerRangeProps = { label?: string; startDateLabel?: string; endDateLabel?: string; startDate?: Date; endDate?: Date; className?: string; disabled?: boolean; required?: boolean; error?: string; onStartDateChange: (date: Date) => void; onEndDateChange: (date: Date) => void; onStartDateClick?: () => void; onEndDateClick?: () => void; }; declare const Description: ({ fs, color, className, children, }: DescriptionProps) => JSX.Element; declare type DescriptionProps = PropsWithChildren<{ fs?: TypographyKeys; color?: ColorKeys; className?: string; }>; export declare const Doctor: ({ width, height, className, filled, color, }: IconProps) => JSX.Element; export declare const DoctorConfirmModal: { ({ open, overrideClassNames, setOpen, children, }: DoctorConfirmModalProps): JSX.Element; Header: ({ closeButton, onCloseClick, children, }: { closeButton?: string; onCloseClick?: () => void; children?: React.ReactNode; }) => JSX.Element; Content: ({ overrideClassNames, children, }: { overrideClassNames?: string; children?: React.ReactNode; }) => JSX.Element; Footer: ({ children, }: { children?: React.ReactNode; }) => JSX.Element; }; declare type DoctorConfirmModalProps = { open: boolean; overrideClassNames?: string; setOpen: (open: boolean) => void; children: React.ReactNode; }; export declare type DoctorMock = { offices: OfficeResponseMock[]; } & GeneralPractitionerResponse; export declare const DoctorModal: { ({ open, overrideClassNames, setOpen, children, }: DoctorModalProps): JSX.Element; Content: ({ overrideClassNames, children, }: { overrideClassNames?: string; children?: React.ReactNode; }) => JSX.Element; Footer: ({ children }: { children?: React.ReactNode; }) => JSX.Element; }; declare type DoctorModalHeaderProps = PropsWithChildren<{ closeButton?: string; onCloseClick?: () => void; children?: ReactNode; title?: string; stepLabel?: string; currentStep?: number; totalSteps?: number; }>; declare type DoctorModalProps = { open: boolean; overrideClassNames?: string; setOpen: (open: boolean) => void; children: React.ReactNode; }; declare const Document_2: ({ width, height, className, filled, color, }: IconProps) => JSX.Element; export { Document_2 as Document } export declare const DocumentUploadComponent: ({ onFileUpload, isLoading, title, description, titleTag: TitleTag, actionText, className, classNameTitle, classNameDescription, id, name, fileSizeLabel, removeLabel, }: DocumentUploadProps) => JSX.Element; export declare const DocumentUploadModal: { ({ open, overrideClassNames, setOpen, children, }: DocumentUploadModalProps): JSX.Element; Header: ({ closeButton, onCloseClick, children, }: { closeButton?: string; onCloseClick?: () => void; children?: ReactNode; } & { children?: ReactNode | undefined; }) => JSX.Element; Content: ({ overrideClassNames, children, }: { overrideClassNames?: string; children?: React.ReactNode; }) => JSX.Element; Footer: ({ children, }: { children?: React.ReactNode; }) => JSX.Element; }; declare type DocumentUploadModalProps = PropsWithChildren<{ open: boolean; overrideClassNames?: string; setOpen: (open: boolean) => void; children: ReactNode; }>; declare interface DocumentUploadProps { onFileUpload: (base64File: string, fileName: string, fileType: string) => void; isLoading: boolean; title: string; description?: string; titleTag: HeadingLevel_9; actionText?: string; className?: string; classNameTitle?: string; classNameDescription?: string; id?: string; name?: string; fileSizeLabel?: string; removeLabel?: string; } export declare interface DoubleLineData { firstLine: string; secondLine: string; } export declare const Download: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Dropdown: ({ text, leftIcon, options, asLinkItem, textColor, }: DropdownProps) => JSX.Element; declare type DropdownOption = { label: string; href?: string; onClick?: () => void; active?: boolean; }; declare type DropdownProps = { text: string; leftIcon?: React.ReactNode; options: DropdownOption[]; asLinkItem?: "a" | React.ComponentType<any>; textColor?: ColorKeys; }; export declare const EditPencil: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Ellipse: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Ellipse2: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Ellipse3: ({ width, height, className, color, }: IconProps) => JSX.Element; declare type EnhancedSectionLink = SectionLink & { isNewTab?: boolean; }; export declare const EntryButton: ({ href, asLink, showIcon, ariaLabel, children, }: EntryButtonProps) => JSX.Element; declare type EntryButtonProps = { href: string; asLink?: "a" | React.ComponentType<any>; showIcon?: boolean; ariaLabel: string; children: React.ReactNode; }; export declare const ExternalLink: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Favourite: ({ width, height, className, color, filled, }: IconProps) => JSX.Element; export declare const FilterDropDown: ({ size, items, className, filter, setFilter, allStructuresLabel, }: FilterDropdownProps) => JSX.Element; declare type FilterDropdownProps = { size: "small" | "large"; items: string[]; className?: string; filter: string; setFilter: (filter: string) => void; allStructuresLabel: string; }; export declare const FiltersChips: ({ chips, id, additionalClassName, onChange, selectedChip, }: FiltersChipsProps) => JSX.Element; declare type FiltersChipsProps = PropsWithChildren<{ chips: string[]; id: string; additionalClassName?: string; onChange: (selectedChip: string) => void; selectedChip?: string; }>; export declare const Footer: ({ footerLinks, version, asLink, className, }: FooterProps) => JSX.Element; declare type FooterLink = { label: string; href: string; target?: "_blank" | "_self"; }; declare type FooterProps = { footerLinks?: FooterLink[]; version?: string; asLink?: "a" | React.ComponentType<any>; className?: string; }; export declare const Fse: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const FseDGT: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const FseMEF: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const FseMS: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const FseUE: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const GridContainer: <E extends ElementType = "div">({ as, className, style, ...rest }: PolymorphicProps<E>) => JSX.Element; export declare const GridItem: <E extends ElementType = "div">({ as, className, style, md, sm, xs, ...rest }: PolymorphicProps_2<E>) => JSX.Element; export declare const Hamburguer: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const Header: ({ title, region, shortTitle, asLink, navigatonItems, labels, supportLink, loginLink, headerTitleClassname, children, }: HeaderProps) => JSX.Element; declare type HeaderDesktopProps = { title: React.ReactNode | string; region: Region; asLink?: "a" | React.ComponentType<any>; children?: React.ReactNode; labels: NavigationLabels_2; navigatonItems: NavigationItem_4[]; supportLink?: NavigationItem_4; loginLink?: string; shortTitle?: React.ReactNode; headerTitleClassname?: string; }; declare type HeaderMobileProps = HeaderTopBannerProps & { shortTitle: React.ReactNode; menuTitle?: string; region: Region; navigatonItems: NavigationItem_3[]; labels: NavigationLabels; loginLink?: string; }; export declare const HeaderNavigation: ({ className, title, closeButton, onCloseClick, }: HeaderNavigationProps) => JSX.Element; declare type HeaderNavigationProps = { className?: string; title: string; closeButton: string; onCloseClick?: () => void; }; export declare const HeaderPostLogin: ({ shortTitle, region, asLink, navigatonItems, }: HeaderPostLoginProps) => JSX.Element; export declare type HeaderPostLoginProps = { shortTitle: ReactNode; region: Region; navigatonItems: NavigationItem[]; loginLink?: string; asLink?: "a" | ComponentType<any>; }; declare type HeaderProps = HeaderMobileProps & HeaderDesktopProps & { children?: ReactNode; }; export declare const HeaderSlim: ({ as, className, hasContainer, display, justifyContent, alignItems, flexWrap, children, }: HeaderSlimProps) => JSX.Element; declare type HeaderSlimProps = { as?: "div" | "header"; className?: string; hasContainer?: boolean; display?: CSSProperties["display"]; justifyContent?: CSSProperties["justifyContent"]; alignItems?: CSSProperties["alignItems"]; flexWrap?: CSSProperties["flexWrap"]; children: React.ReactNode; } & SpacingProps; export declare const HeaderTopBanner: ({ asLink, shortTitle, region, className, }: HeaderTopBannerProps) => JSX.Element; export declare type HeaderTopBannerProps = { asLink?: "a" | React.ComponentType<any>; shortTitle: React.ReactNode; region?: Region; className?: string; }; declare type HeadingLevel = "h2" | "h3" | "h4"; declare type HeadingLevel_10 = "h2" | "h3" | "h4"; declare type HeadingLevel_11 = "h2" | "h3" | "h4"; declare type HeadingLevel_12 = "h2" | "h3" | "h4"; declare type HeadingLevel_2 = "h2" | "h3" | "h4"; declare type HeadingLevel_3 = "h2" | "h3" | "h4"; declare type HeadingLevel_4 = "h2" | "h3" | "h4"; declare type HeadingLevel_5 = "h2" | "h3" | "h4"; declare type HeadingLevel_6 = "h2" | "h3" | "h4"; declare type HeadingLevel_7 = "h2" | "h3" | "h4"; declare type HeadingLevel_8 = "h2" | "h3" | "h4"; declare type HeadingLevel_9 = "h2" | "h3" | "h4"; export declare const Home: ({ width, height, className, filled, color, }: IconProps) => JSX.Element; declare type IconProps = Pick<ColorProps, "color"> & { width?: number; height?: number; className?: string; filled?: boolean; onClick?: () => void; decorative?: boolean; }; declare type Image_2 = { alt: string; src: string; title: string; }; declare type Image_3 = { alt: string; src: string; title: string; }; export declare const Info: ({ width, height, className, filled, color, decorative, }: IconProps) => JSX.Element; declare type Info_2 = { label: string; value: string; }; declare type Info_3 = { label: string; value: string; }; export declare const InfoPopup: ({ title, description, isOpen, onClickCloseBtn, className, }: InfoPopupProps) => JSX.Element | null; export declare type InfoPopupProps = PropsWithChildren<{ title: string; description: string | React.ReactNode; isOpen: boolean; onClickCloseBtn?: () => void; className?: string; }>; declare type Layout = (typeof LAYOUTS)[keyof typeof LAYOUTS]; export declare const LAYOUTS: { readonly HomeServices: "HomeServices"; readonly ServicesByEntityType: "ServicesByEntityType"; }; export declare const Lazio: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const ListStructures: ({ width, height, className, }: IconProps) => JSX.Element; export declare const Loader: ({ loading, className, }: { loading?: boolean; className?: string; }) => JSX.Element; export declare const Login: ({ title, description, loginTitle, loginDescription, buttonLabel, buttonAriaLabel, buttonHref, asImage, region, authSrc, }: LoginProps) => JSX.Element; export declare type LoginProps = { title: React.ReactNode; description?: React.ReactNode; loginTitle: string; loginDescription: React.ReactNode; buttonLabel: string; buttonAriaLabel: string; buttonHref: string; asImage?: "img"; region?: Config["REGION"]; authSrc?: string; }; export declare const LOGOS: Record<Region, ComponentType<IconProps>>; export declare const Marche: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const MedicHistory: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const More: ({ width, height, className, filled, color, }: IconProps) => JSX.Element; export declare const MoreActions: ({ width, height, className, color, }: IconProps) => JSX.Element; declare type NavigationItem = { label: string; href: string; icon?: ComponentType<any>; active?: boolean; isNewTab?: boolean; }; declare type NavigationItem_2 = { label: string; href: string; icon?: React.ComponentType<any>; active?: boolean; shortLabel?: string; }; declare type NavigationItem_3 = { label: string; href: string; active?: boolean; isNewTab?: boolean; }; declare type NavigationItem_4 = { label: string; href: string; active?: boolean; isNewTab?: boolean; }; declare type NavigationLabels = { closeMenu: string; login: string; }; declare type NavigationLabels_2 = { closeMenu: string; login: string; }; export declare const NavList: ({ links, asLink, onClick }: NavListProps) => JSX.Element; declare type NavListProps = { links: { value: string; href: string; icon?: React.ComponentType<any>; }[]; asLink?: "a" | React.ComponentType<any>; onClick?: () => void; }; export declare const NotChecked: ({ width, height, className, color, }: IconProps) => JSX.Element; declare const Notification_2: ({ width, height, className, color, }: IconProps) => JSX.Element; export { Notification_2 as Notification } declare type NotificationIcon = "calendar" | "actions"; export declare const NotificationsSettingsHeader: ({ className, ...props }: TableHeaderProps_2) => JSX.Element; export declare const Obscured: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare type OfficeResponseMock = { position: { coordinates: [number, number]; }; } & OfficeResponse; export declare const Pagination: React_2.FC<PaginationProps>; export declare interface PaginationProps { currentPage: number; totalResults: number; resultsPerPage: number; setCurrentPage: (page: number) => void; onPageChange?: (page: number) => void; className?: string; } declare type PolymorphicProps<E extends ElementType> = { as?: E; } & SpacingProps & Omit<ComponentPropsWithoutRef<E>, keyof SpacingProps>; declare type PolymorphicProps_2<E extends ElementType> = { as?: E; md?: BreakpointSpace; sm?: BreakpointSpace; xs?: BreakpointSpace; } & SpacingProps & Omit<ComponentPropsWithoutRef<E>, keyof SpacingProps>; declare type PolymorphicProps_3<E extends ElementType> = { as?: E; display?: CSSProperties["display"]; justifyContent?: CSSProperties["justifyContent"]; alignItems?: CSSProperties["alignItems"]; flexWrap?: CSSProperties["flexWrap"]; ref?: React.Ref<HTMLDivElement>; } & SpacingProps & ColorProps & TypographyProps & Omit<ComponentPropsWithoutRef<E>, keyof SpacingProps | keyof ColorProps | keyof TypographyProps>; declare type PolymorphicProps_4<E extends ElementType> = { as?: E; justifyContent?: CSSProperties["justifyContent"]; alignItems?: CSSProperties["alignItems"]; flexWrap?: CSSProperties["flexWrap"]; ref?: React.Ref<HTMLDivElement>; } & SpacingProps & ColorProps & TypographyProps & Omit<ComponentPropsWithoutRef<E>, keyof SpacingProps | keyof ColorProps | keyof TypographyProps>; export declare const ProgressBar: ({ closeButton, onCloseClick, title, stepLabel, currentStep, totalSteps, }: DoctorModalHeaderProps) => JSX.Element; export declare const RadioCard: ({ id, name, value, checked, label, description, onChange, }: RadioCardProps) => JSX.Element; declare type RadioCardProps = { id: string; name: string; value: string; checked: boolean; label: string; description?: string; onChange: (event: React.ChangeEvent<HTMLInputElement>) => void; }; export declare type Region = "marche" | "lazio" | "nazionale"; export declare const RichText: ({ title, description, children }: RichTextProps) => JSX.Element; declare type RichTextProps = PropsWithChildren<{ title: ReactNode; description?: ReactNode; links?: SectionLink[]; asLink?: "a" | ComponentType<any>; }>; export declare const Row: <E extends ElementType = "div">({ as, className, display, justifyContent, alignItems, flexWrap, style, ref, ...rest }: PolymorphicProps_3<E>) => JSX.Element; declare type ScheduleDay = { label: string; slots: DayHours[]; }; export declare const Search: ({ btnText, helperText, value }: SearchProps_2) => JSX.Element; export declare const SearchDocument: ({ btnText, helperText, value, items, setValue, }: SearchDocumentProps) => JSX.Element; export declare type SearchDocumentProps = { btnText: string; helperText: string; value: string; items: any; setValue: (value: string) => void; }; export declare function SearchGeneric<T extends object>({ btnText, helperText, mobileHelperText, value, items, setValue, setTypedValue, getSearchField, getDisplayField, onItemSelect, minCharsToSearch, className, }: SearchGenericProps<T>): JSX.Element; export declare type SearchGenericProps<T extends object> = { btnText: string; helperText: string; mobileHelperText?: string; value: string; items: T[]; setValue: (value: string) => void; setTypedValue?: (value: string) => void; getSearchField: (item: T) => string; getDisplayField?: (item: T) => string; onItemSelect?: (item: T) => void; minCharsToSearch?: number; className?: string; }; export declare type SearchProps = { btnText: string; helperText: string; mobileHelperText?: string; value: string; items: Structure[]; setValue: (value: string) => void; }; declare type SearchProps_2 = { btnText: string; helperText: string; value: string; }; export declare const SearchService: ({ btnText, helperText, value, items, setValue, }: SearchServiceProps) => JSX.Element; export declare type SearchServiceProps = { btnText: string; helperText: string; value: string; items: Service[]; setValue: (value: string) => void; }; export declare const SearchStructure: ({ btnText, helperText, mobileHelperText, value, items, setValue, }: SearchProps) => JSX.Element; export declare const Section: SectionComponent; declare interface SectionComponent extends FC<SectionProps> { Title: typeof Title; Description: typeof Description; } declare type SectionProps = PropsWithChildren<{ className?: string; }>; export declare const Shape: ({ width, height, className, color, }: IconProps) => JSX.Element; declare type SpacingKey = "x4" | "x8" | "x12" | "x16" | "x20" | "x24" | "x28" | "x32" | "x36" | "x40" | "x44" | "x48" | "x52" | "x56" | "x60" | "x64" | "x68" | "x72" | "x76" | "x80" | "x84" | "x88" | "x92" | "x96" | "x100" | "x104"; declare type SpacingProps = { gap?: SpacingKey; m?: SpacingKey; mx?: SpacingKey; my?: SpacingKey; mt?: SpacingKey; mr?: SpacingKey; mb?: SpacingKey; ml?: SpacingKey; p?: SpacingKey; px?: SpacingKey; py?: SpacingKey; pt?: SpacingKey; pr?: SpacingKey; pb?: SpacingKey; pl?: SpacingKey; br?: SpacingKey; "br-t"?: SpacingKey; "br-r"?: SpacingKey; "br-b"?: SpacingKey; "br-l"?: SpacingKey; "min-h"?: SpacingKey; "min-w"?: SpacingKey; "max-h"?: SpacingKey; "max-w"?: SpacingKey; }; export declare const Spinner: () => JSX.Element; export declare const Support: ({ width, height, className }: IconProps) => JSX.Element; export declare const SupportBanner: ({ cta, bannerType, title, description, titleTag: TitleTag, href, icon, linkText, mainLayout, className, classNameTitle, classNameDescription, handleAction, }: SupportBannerProps) => JSX.Element; declare type SupportBannerProps = { cta: ctaLevel; bannerType: "filled" | "outline"; title: string; description?: string; titleTag: HeadingLevel_5; href?: string | string[]; icon?: boolean; linkText?: string | string[]; mainLayout?: "layout1" | "layout2"; className?: string; classNameTitle?: string; classNameDescription?: string; handleAction?: () => void; }; export declare const Switch: ({ id, label, checked, setValue, name, disabled, }: SwitchProps) => JSX.Element; declare type SwitchProps = { id?: string; label?: string; checked?: boolean; name?: string; disabled?: boolean; setValue: (name: string, value: boolean) => void; }; export declare const TabBar: ({ navigatonItems, asLink, className, }: TabBarProps) => JSX.Element; export declare type TabBarProps = { navigatonItems: NavigationItem_2[]; asLink?: "a" | React.ComponentType<any>; className?: string; }; declare type TabItem = { label: string; disabled?: boolean; }; export declare const Table: React_2.ForwardRefExoticComponent<TableProps & React_2.RefAttributes<HTMLTableElement>>; export declare const TableBody: React_2.ForwardRefExoticComponent<TableBodyProps & React_2.RefAttributes<HTMLTableSectionElement>>; export declare interface TableBodyProps extends React_2.HTMLAttributes<HTMLTableSectionElement> { className?: string; children?: React_2.ReactNode; } export declare const TableCell: React_2.ForwardRefExoticComponent<TableCellProps & React_2.RefAttributes<HTMLTableCellElement>>; export declare interface TableCellBaseProps extends Omit<React_2.TdHTMLAttributes<HTMLTableCellElement>, "content"> { type?: "double-line" | "action"; } export declare interface TableCellProps extends TableCellBaseProps { content: string | DoubleLineData | ActionData; } export declare const TableHead: React_2.ForwardRefExoticComponent<TableHeadProps & { config: ColumnConfig; sortConfig: { key: string; direction: "asc" | "desc"; }; onSort?: () => void; } & React_2.RefAttributes<HTMLTableCellElement>>; export declare const TableHeader: React_2.ForwardRefExoticComponent<TableHeaderProps & React_2.RefAttributes<HTMLTableSectionElement>>; export declare interface TableHeaderProps extends React_2.HTMLAttributes<HTMLTableSectionElement> { className?: string; children?: React_2.ReactNode; } declare type TableHeaderProps_2 = { className?: string; }; export declare interface TableHeadProps extends React_2.ThHTMLAttributes<HTMLTableCellElement> { className?: string; children?: React_2.ReactNode; } export declare interface TableProps extends React_2.TableHTMLAttributes<HTMLTableElement> { className?: string; columns: ColumnConfig[]; data: TableRowData[]; pagination?: boolean; initialCurrentPage?: number; resultsPerPage?: number; defaultSortDirection?: "asc" | "desc"; } export declare const TableRow: React_2.ForwardRefExoticComponent<TableRowProps & React_2.RefAttributes<HTMLTableRowElement>>; export declare interface TableRowData { [key: string]: string | DoubleLineData | ActionData; } export declare interface TableRowProps extends React_2.HTMLAttributes<HTMLTableRowElement> { className?: string; children?: React_2.ReactNode; } export declare const TabsGlossary: ({ CTA, navigationItems, children, activeIndex, onTabChange, actions, }: TabsGlossaryProps) => JSX.Element; declare type TabsGlossaryProps = { CTA?: "link" | "primary"; navigationItems: TabItem[]; activeIndex: number; onTabChange: (index: number) => void; actions?: ActionItem[]; children?: ReactNode; }; declare const Title: ({ className, fs, mdFs, color, as, children, }: TitleProps) => JSX.Element; declare type TitleProps = { className?: string; fs?: TypographyKeys; mdFs?: TypographyKeys; color?: ColorKeys; as?: "h2" | "h3" | "h4" | "h5" | "h6"; children: React.ReactNode; }; export declare const TitleSection: ({ action1, action2, mainButton, secondaryButton, titleSection, classNameTitle, isMoreOption, handleMoreOption, titleTag: TitleTag, }: TitleSectionProps) => JSX.Element; declare type TitleSectionProps = PropsWithChildren<{ action1?: ReactNode; action2?: ReactNode; mainButton?: ReactNode; secondaryButton?: ReactNode; titleSection: string; classNameTitle?: string; isMoreOption?: boolean; handleMoreOption?: () => void; titleTag?: "h2" | "h3" | "h4"; }>; export declare const Tool: ({ width, height, className, color, }: IconProps) => JSX.Element; export declare const TriangleDown: ({ width, height, className, filled, color, decorative, }: IconProps) => JSX.Element; export declare const TriangleUp: ({ width, height, className, filled, color, decorative, }: IconProps) => JSX.Element; declare type TypographyKeys = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "custom"; declare type TypographyProps = { fs?: TypographyKeys; fw?: "regular" | "medium" | "semibold" | "bold"; }; declare type Variant = "primary" | "secondary"; export declare const VideoPlayer: ({ btnText, sizeComp, titleTag: TitleTag, image, asImage, }: VideoPlayerProps) => JSX.Element; declare type VideoPlayerProps = { btnText: string; sizeComp?: "small" | "medium" | "large"; titleTag: HeadingLevel_6; image?: Image_3; asImage?: "img"; }; export declare const Visible: ({ width, height, className, color, }: IconProps) => JSX.Element; declare type WeekDaysMap = Record<keyof OpeningHours, string>; export declare const WhatDoYouNeed: ({ title, description, links, asLink, }: WhatDoYouNeedProps) => JSX.Element; declare type WhatDoYouNeedProps = PropsWithChildren<{ title: ReactNode; description?: ReactNode; links: EnhancedSectionLink[]; asLink?: "a" | ComponentType<any>; }>; export declare const World: ({ width, height, className, color, }: IconProps) => JSX.Element; export { }