@anoki/fse-marche-ui
Version:
FSE UI components library
1,403 lines (1,139 loc) • 46.3 kB
TypeScript
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 { }