@axa-fr/design-system-look-and-feel-react 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/Accordion/Accordion.d.ts +12 -0
  2. package/dist/Accordion/Accordion.js +11 -0
  3. package/dist/Accordion/AccordionTagDateContainer.d.ts +10 -0
  4. package/dist/Accordion/AccordionTagDateContainer.js +10 -0
  5. package/dist/Accordion/index.d.ts +3 -0
  6. package/dist/Accordion/index.js +3 -0
  7. package/dist/AccordionCore/AccordionCore.d.ts +12 -0
  8. package/dist/AccordionCore/AccordionCore.js +13 -0
  9. package/dist/AccordionCore/index.d.ts +2 -0
  10. package/dist/AccordionCore/index.js +2 -0
  11. package/dist/Alert/Alert.d.ts +22 -0
  12. package/dist/Alert/Alert.js +27 -0
  13. package/dist/Button/Button.d.ts +17 -0
  14. package/dist/Button/Button.js +15 -0
  15. package/dist/Card/Card.d.ts +6 -0
  16. package/dist/Card/Card.js +9 -0
  17. package/dist/Card/index.d.ts +2 -0
  18. package/dist/Card/index.js +2 -0
  19. package/dist/Form/Checkbox/Checkbox.d.ts +7 -0
  20. package/dist/Form/Checkbox/Checkbox.js +15 -0
  21. package/dist/Form/Checkbox/CheckboxSelect.d.ts +15 -0
  22. package/dist/Form/Checkbox/CheckboxSelect.js +7 -0
  23. package/dist/Form/Checkbox/index.d.ts +2 -0
  24. package/dist/Form/Checkbox/index.js +2 -0
  25. package/dist/Form/FileUpload/FileUpload.d.ts +32 -0
  26. package/dist/Form/FileUpload/FileUpload.js +51 -0
  27. package/dist/Form/FileUpload/index.d.ts +1 -0
  28. package/dist/Form/FileUpload/index.js +1 -0
  29. package/dist/Form/InputError/InputError.d.ts +7 -0
  30. package/dist/Form/InputError/InputError.js +5 -0
  31. package/dist/Form/InputError/index.d.ts +1 -0
  32. package/dist/Form/InputError/index.js +1 -0
  33. package/dist/Form/Radio/Radio.d.ts +7 -0
  34. package/dist/Form/Radio/Radio.js +14 -0
  35. package/dist/Form/Radio/RadioSelect.d.ts +20 -0
  36. package/dist/Form/Radio/RadioSelect.js +16 -0
  37. package/dist/Form/Radio/index.d.ts +2 -0
  38. package/dist/Form/Radio/index.js +2 -0
  39. package/dist/Form/Select/CustomOption.d.ts +4 -0
  40. package/dist/Form/Select/CustomOption.js +8 -0
  41. package/dist/Form/Select/DropdownIndicator.d.ts +4 -0
  42. package/dist/Form/Select/DropdownIndicator.js +11 -0
  43. package/dist/Form/Select/Select.d.ts +27 -0
  44. package/dist/Form/Select/Select.js +27 -0
  45. package/dist/Form/Select/index.d.ts +1 -0
  46. package/dist/Form/Select/index.js +1 -0
  47. package/dist/Form/Text/Text.d.ts +13 -0
  48. package/dist/Form/Text/Text.js +16 -0
  49. package/dist/Form/Text/index.d.ts +1 -0
  50. package/dist/Form/Text/index.js +1 -0
  51. package/dist/Form/core/Field.d.ts +16 -0
  52. package/dist/Form/core/Field.js +12 -0
  53. package/dist/Form/core/FieldError.d.ts +7 -0
  54. package/dist/Form/core/FieldError.js +8 -0
  55. package/dist/Form/core/FieldForm.d.ts +59 -0
  56. package/dist/Form/core/FieldForm.js +151 -0
  57. package/dist/Form/core/FieldInput.d.ts +9 -0
  58. package/dist/Form/core/FieldInput.js +9 -0
  59. package/dist/Form/core/FormClassManager.d.ts +7 -0
  60. package/dist/Form/core/FormClassManager.js +33 -0
  61. package/dist/Form/core/HelpMessage.d.ts +7 -0
  62. package/dist/Form/core/HelpMessage.js +2 -0
  63. package/dist/Form/core/InputList.d.ts +8 -0
  64. package/dist/Form/core/InputList.js +4 -0
  65. package/dist/Form/core/MessageTypes.d.ts +5 -0
  66. package/dist/Form/core/MessageTypes.js +6 -0
  67. package/dist/Form/core/getComponentClassName.d.ts +1 -0
  68. package/dist/Form/core/getComponentClassName.js +27 -0
  69. package/dist/Form/core/getFirstId.d.ts +2 -0
  70. package/dist/Form/core/getFirstId.js +1 -0
  71. package/dist/Form/core/getOptionClassName.d.ts +1 -0
  72. package/dist/Form/core/getOptionClassName.js +10 -0
  73. package/dist/Form/core/index.d.ts +31 -0
  74. package/dist/Form/core/index.js +13 -0
  75. package/dist/Form/core/useInputClassModifier.d.ts +4 -0
  76. package/dist/Form/core/useInputClassModifier.js +12 -0
  77. package/dist/Form/core/useOptionsWithId.d.ts +2 -0
  78. package/dist/Form/core/useOptionsWithId.js +13 -0
  79. package/dist/IconBg/IconBg.d.ts +9 -0
  80. package/dist/IconBg/IconBg.js +13 -0
  81. package/dist/IconBg/index.d.ts +2 -0
  82. package/dist/IconBg/index.js +2 -0
  83. package/dist/Layout/Footer/DynamicIcons.d.ts +4 -0
  84. package/dist/Layout/Footer/DynamicIcons.js +20 -0
  85. package/dist/Layout/Footer/Footer.d.ts +14 -0
  86. package/dist/Layout/Footer/Footer.js +16 -0
  87. package/dist/Layout/Footer/MenuIcons.d.ts +9 -0
  88. package/dist/Layout/Footer/MenuIcons.js +8 -0
  89. package/dist/Layout/Footer/MenuLink.d.ts +11 -0
  90. package/dist/Layout/Footer/MenuLink.js +10 -0
  91. package/dist/Layout/Header/Header.d.ts +9 -0
  92. package/dist/Layout/Header/Header.js +11 -0
  93. package/dist/Layout/Header/NavBar/NavBar.d.ts +8 -0
  94. package/dist/Layout/Header/NavBar/NavBar.js +13 -0
  95. package/dist/Layout/Header/NavBar/index.d.ts +1 -0
  96. package/dist/Layout/Header/NavBar/index.js +1 -0
  97. package/dist/Layout/Header/PreviousLink/PreviousLink.d.ts +7 -0
  98. package/dist/Layout/Header/PreviousLink/PreviousLink.js +14 -0
  99. package/dist/Layout/Header/PreviousLink/index.d.ts +1 -0
  100. package/dist/Layout/Header/PreviousLink/index.js +1 -0
  101. package/dist/Layout/Header/index.d.ts +1 -0
  102. package/dist/Layout/Header/index.js +1 -0
  103. package/dist/Link/Link.d.ts +7 -0
  104. package/dist/Link/Link.js +11 -0
  105. package/dist/List/ClickList/ClickItem/ClickItem.d.ts +11 -0
  106. package/dist/List/ClickList/ClickItem/ClickItem.js +17 -0
  107. package/dist/List/ClickList/ClickItem/index.d.ts +1 -0
  108. package/dist/List/ClickList/ClickItem/index.js +1 -0
  109. package/dist/List/ClickList/ClickList.d.ts +8 -0
  110. package/dist/List/ClickList/ClickList.js +4 -0
  111. package/dist/List/ClickList/index.d.ts +3 -0
  112. package/dist/List/ClickList/index.js +3 -0
  113. package/dist/List/ContentItemDuo/ContentItemDuo.d.ts +13 -0
  114. package/dist/List/ContentItemDuo/ContentItemDuo.js +18 -0
  115. package/dist/List/ContentItemDuo/index.d.ts +2 -0
  116. package/dist/List/ContentItemDuo/index.js +2 -0
  117. package/dist/List/ContentItemMono/ContentItemMono.d.ts +16 -0
  118. package/dist/List/ContentItemMono/ContentItemMono.js +16 -0
  119. package/dist/List/ContentItemMono/constants.d.ts +4 -0
  120. package/dist/List/ContentItemMono/constants.js +5 -0
  121. package/dist/List/ContentItemMono/index.d.ts +3 -0
  122. package/dist/List/ContentItemMono/index.js +3 -0
  123. package/dist/List/ContentTabList/ContentTabItem/ContentTabItem.d.ts +6 -0
  124. package/dist/List/ContentTabList/ContentTabItem/ContentTabItem.js +6 -0
  125. package/dist/List/ContentTabList/ContentTabItem/index.d.ts +2 -0
  126. package/dist/List/ContentTabList/ContentTabItem/index.js +1 -0
  127. package/dist/List/ContentTabList/ContentTabList.d.ts +8 -0
  128. package/dist/List/ContentTabList/ContentTabList.js +9 -0
  129. package/dist/List/ContentTabList/index.d.ts +1 -0
  130. package/dist/List/ContentTabList/index.js +1 -0
  131. package/dist/List/List.d.ts +6 -0
  132. package/dist/List/List.js +9 -0
  133. package/dist/List/index.d.ts +1 -0
  134. package/dist/List/index.js +1 -0
  135. package/dist/Loader/Loader.d.ts +11 -0
  136. package/dist/Loader/Loader.js +10 -0
  137. package/dist/Loader/index.d.ts +1 -0
  138. package/dist/Loader/index.js +1 -0
  139. package/dist/ModalClient/Modal.d.ts +24 -0
  140. package/dist/ModalClient/Modal.js +53 -0
  141. package/dist/Pagination/Pagination.d.ts +9 -0
  142. package/dist/Pagination/Pagination.js +14 -0
  143. package/dist/Pagination/PaginationDesktop.d.ts +9 -0
  144. package/dist/Pagination/PaginationDesktop.js +31 -0
  145. package/dist/Pagination/PaginationMobile.d.ts +9 -0
  146. package/dist/Pagination/PaginationMobile.js +10 -0
  147. package/dist/Stepper/Stepper.d.ts +12 -0
  148. package/dist/Stepper/Stepper.js +22 -0
  149. package/dist/Svg/Svg.d.ts +7 -0
  150. package/dist/Svg/Svg.js +47 -0
  151. package/dist/Svg/index.d.ts +1 -0
  152. package/dist/Svg/index.js +1 -0
  153. package/dist/Svg/svgInjector.d.ts +12 -0
  154. package/dist/Svg/svgInjector.js +28 -0
  155. package/dist/Tabs/Tabs.d.ts +16 -0
  156. package/dist/Tabs/Tabs.js +48 -0
  157. package/dist/Tag/Tag.d.ts +6 -0
  158. package/dist/Tag/Tag.js +7 -0
  159. package/dist/Tag/index.d.ts +2 -0
  160. package/dist/Tag/index.js +2 -0
  161. package/dist/Title/Title.d.ts +14 -0
  162. package/dist/Title/Title.js +11 -0
  163. package/dist/Title/TitleWithSubtitles.d.ts +10 -0
  164. package/dist/Title/TitleWithSubtitles.js +6 -0
  165. package/dist/Title/constants.d.ts +5 -0
  166. package/dist/Title/constants.js +5 -0
  167. package/dist/Title/index.d.ts +3 -0
  168. package/dist/Title/index.js +3 -0
  169. package/dist/assets/svg/facebook.svg +1 -0
  170. package/dist/assets/svg/linkedin.svg +1 -0
  171. package/dist/assets/svg/twitterx.svg +1 -0
  172. package/dist/assets/svg/youtube.svg +1 -0
  173. package/dist/index.d.ts +30 -0
  174. package/dist/index.js +28 -0
  175. package/dist/utilities/constants.d.ts +6 -0
  176. package/dist/utilities/constants.js +7 -0
  177. package/dist/utilities/helpers/getComponentClassName.d.ts +1 -0
  178. package/dist/utilities/helpers/getComponentClassName.js +27 -0
  179. package/dist/utilities/hooks/useIsSmallScreen.d.ts +1 -0
  180. package/dist/utilities/hooks/useIsSmallScreen.js +14 -0
  181. package/dist/utilities.d.ts +3 -0
  182. package/dist/utilities.js +3 -0
  183. package/package.json +123 -0
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from "classnames";
3
+ import { BREAKPOINT, useIsSmallScreen } from "../../utilities";
4
+ export const MenuLink = ({ links, isAboutOpen = false }) => {
5
+ const isSmallScreen = useIsSmallScreen(BREAKPOINT.MD);
6
+ if (links.length === 0) {
7
+ return null;
8
+ }
9
+ return (_jsx("div", { className: classNames("af-footer__menuLinks", isAboutOpen && "af-footer__menuLinks--display"), children: links.map((menuItem) => (_jsx("a", { className: "af-footer__linkItem", href: menuItem.link, target: menuItem.openInCurrentTab ? "_top" : "_blank", rel: "noreferrer", tabIndex: isSmallScreen && !isAboutOpen ? -1 : undefined, children: menuItem.text }, menuItem.text))) }));
10
+ };
@@ -0,0 +1,9 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/Layout/Header/Header.scss";
2
+ import { ComponentPropsWithoutRef } from "react";
3
+ type HeaderProps = {
4
+ defaultActiveLink?: number;
5
+ previousLink?: JSX.Element;
6
+ rightItem?: JSX.Element[];
7
+ } & ComponentPropsWithoutRef<"header">;
8
+ export declare const Header: ({ children, defaultActiveLink, previousLink, rightItem, }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Layout/Header/Header.scss";
3
+ import logo from "@axa-fr/design-system-look-and-feel-css/dist/common/assets/logo-axa.svg";
4
+ import { useCallback, useState } from "react";
5
+ import { NavBar } from "./NavBar";
6
+ import { PreviousLink } from "./PreviousLink/PreviousLink";
7
+ export const Header = ({ children, defaultActiveLink, previousLink, rightItem, }) => {
8
+ const [activeLink, setActiveLink] = useState(defaultActiveLink);
9
+ const resetActiveLink = useCallback(() => setActiveLink(defaultActiveLink), [defaultActiveLink]);
10
+ return (_jsxs(_Fragment, { children: [_jsx("header", { className: "af-header", children: _jsxs("div", { className: "af-header-container", children: [_jsxs("div", { className: "af-header-left-item", children: [_jsx("img", { className: "af-logo", src: logo, alt: "" }), children && (_jsx(NavBar, { activeLink: activeLink, setActiveLink: setActiveLink, children: children }))] }), rightItem && _jsx("div", { className: "af-header-right-item", children: rightItem })] }) }), previousLink && (_jsx(PreviousLink, { handleClick: resetActiveLink, children: previousLink }))] }));
11
+ };
@@ -0,0 +1,8 @@
1
+ import React, { ComponentPropsWithoutRef, PropsWithChildren } from "react";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Layout/Header/NavBar/NavBar.scss";
3
+ type NavBarProps = {
4
+ activeLink?: number;
5
+ setActiveLink: React.Dispatch<React.SetStateAction<number | undefined>>;
6
+ } & ComponentPropsWithoutRef<"nav">;
7
+ declare const NavBar: ({ activeLink, children, setActiveLink, ...otherProps }: PropsWithChildren<NavBarProps>) => import("react/jsx-runtime").JSX.Element;
8
+ export { NavBar };
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React, { isValidElement, useMemo, } from "react";
3
+ import "@axa-fr/design-system-look-and-feel-css/dist/Layout/Header/NavBar/NavBar.scss";
4
+ const NavBar = ({ activeLink, children, setActiveLink, ...otherProps }) => {
5
+ const validChildren = useMemo(() => (React.Children.map(children, (child) => isValidElement(child) && child) ?? []).filter((c) => Boolean(c)), [children]);
6
+ return (_jsx("nav", { role: "navigation", "aria-label": "Menu principal", ...otherProps, children: _jsx("ul", { className: "af-navbar-container", role: "menubar", children: React.Children.map(validChildren, (child, index) => (_jsx("li", { className: "af-navbar-item", role: "none", children: React.cloneElement(child, {
7
+ className: `af-navbar-item__link ${index === activeLink ? "af-navbar-item__link--active" : ""}`.trim(),
8
+ onClick: () => setActiveLink(index),
9
+ onFocus: () => setActiveLink(index),
10
+ role: "menuitem",
11
+ }) }))) }) }));
12
+ };
13
+ export { NavBar };
@@ -0,0 +1 @@
1
+ export { NavBar } from "./NavBar";
@@ -0,0 +1 @@
1
+ export { NavBar } from "./NavBar";
@@ -0,0 +1,7 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/Layout/Header/PreviousLink/PreviousLink.scss";
2
+ import { ComponentPropsWithoutRef, PropsWithChildren } from "react";
3
+ type PreviousLinkProps = {
4
+ handleClick: () => void;
5
+ } & ComponentPropsWithoutRef<"div">;
6
+ declare const PreviousLink: ({ handleClick, children, ...otherProps }: PropsWithChildren<PreviousLinkProps>) => import("react/jsx-runtime").JSX.Element;
7
+ export { PreviousLink };
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import arrowBack from "@material-symbols/svg-400/outlined/arrow_back.svg";
3
+ import "@axa-fr/design-system-look-and-feel-css/dist/Layout/Header/PreviousLink/PreviousLink.scss";
4
+ import React, { isValidElement, useMemo, } from "react";
5
+ import { Svg } from "../../../Svg";
6
+ const PreviousLink = ({ handleClick, children, ...otherProps }) => {
7
+ const validChildren = useMemo(() => (React.Children.map(children, (child) => isValidElement(child) && child) ?? []).filter((c) => Boolean(c)), [children]);
8
+ return (_jsx("div", { className: "af-header-previous-link-container", ...otherProps, children: React.Children.map(validChildren, (child) => React.cloneElement(child, {
9
+ children: (_jsxs(_Fragment, { children: [_jsx(Svg, { className: "af-header-previous-link__icon", src: arrowBack }), _jsx("span", { className: "af-header-previous-link__text", children: child.props.children })] })),
10
+ className: "af-header-previous-link",
11
+ onClick: handleClick,
12
+ })) }));
13
+ };
14
+ export { PreviousLink };
@@ -0,0 +1 @@
1
+ export { PreviousLink } from "./PreviousLink";
@@ -0,0 +1 @@
1
+ export { PreviousLink } from "./PreviousLink";
@@ -0,0 +1 @@
1
+ export { Header } from "./Header";
@@ -0,0 +1 @@
1
+ export { Header } from "./Header";
@@ -0,0 +1,7 @@
1
+ import { ComponentPropsWithoutRef, PropsWithChildren } from "react";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Link/Link.scss";
3
+ type LinkProps = {
4
+ openInNewTab?: boolean;
5
+ } & ComponentPropsWithoutRef<"a">;
6
+ export declare const Link: ({ href, openInNewTab, children, ...props }: PropsWithChildren<LinkProps>) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Link/Link.scss";
3
+ import openInNew from "@material-symbols/svg-400/outlined/open_in_new.svg";
4
+ import { Svg } from "../Svg";
5
+ export const Link = ({ href, openInNewTab, children, ...props }) => {
6
+ const newTabProps = openInNewTab && {
7
+ target: "_blank",
8
+ rel: "noopener noreferrer",
9
+ };
10
+ return (_jsxs("a", { className: `af-link ${openInNewTab ? " af-link--openInNewTab" : ""}`, href: href, ...newTabProps, ...props, children: [children, newTabProps && _jsx(Svg, { src: openInNew })] }));
11
+ };
@@ -0,0 +1,11 @@
1
+ import { type ComponentProps, type ReactNode } from "react";
2
+ type TClickItem = {
3
+ classModifier?: string;
4
+ isDisabled?: boolean;
5
+ } & Omit<ComponentProps<"button">, "disabled"> & ComponentProps<"a"> & {
6
+ label?: ReactNode;
7
+ children?: ReactNode;
8
+ icon?: ReactNode;
9
+ };
10
+ export declare const ClickItem: ({ label, children, icon, href, isDisabled, className, classModifier, ...otherProps }: TClickItem) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import chevron from "@material-symbols/svg-400/outlined/chevron_right.svg";
3
+ import { useMemo } from "react";
4
+ import { Svg } from "../../../Svg";
5
+ import { getComponentClassName } from "../../../utilities";
6
+ export const ClickItem = ({ label, children, icon, href, isDisabled = false, className, classModifier = "", ...otherProps }) => {
7
+ const componentClassName = useMemo(() => getComponentClassName(className, `${classModifier}${isDisabled ? " disabled" : ""}`, "af-click-item"), [className, classModifier, isDisabled]);
8
+ const ClickComponent = useMemo(() => (href ? "a" : "button"), [href]);
9
+ const clickComponentProps = useMemo(() => href
10
+ ? { href, "aria-disabled": isDisabled, ...otherProps }
11
+ : {
12
+ type: "button",
13
+ disabled: isDisabled,
14
+ ...otherProps,
15
+ }, [isDisabled, href, otherProps]);
16
+ return (_jsxs(ClickComponent, { className: componentClassName, ...clickComponentProps, children: [_jsxs("div", { className: "af-click-item__content", children: [icon && _jsx("div", { className: "af-click-item__icon", children: icon }), _jsx("div", { className: "af-click-item__label", children: children || label })] }), _jsx("div", { className: "af-click-item__action", children: _jsx(Svg, { src: chevron }) })] }));
17
+ };
@@ -0,0 +1 @@
1
+ export { ClickItem } from "./ClickItem";
@@ -0,0 +1 @@
1
+ export { ClickItem } from "./ClickItem";
@@ -0,0 +1,8 @@
1
+ import type { ComponentProps } from "react";
2
+ import { ClickItem } from "./ClickItem";
3
+ type TClickList = {
4
+ items: Array<ComponentProps<typeof ClickItem>>;
5
+ classModifier?: string;
6
+ };
7
+ export declare const ClickList: ({ items, classModifier }: TClickList) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { List } from "..";
3
+ import { ClickItem } from "./ClickItem";
4
+ export const ClickList = ({ items, classModifier }) => (_jsx(List, { classModifier: `click-list ${classModifier}`, tabIndex: -1, children: items.map(({ id, ...props }) => (_jsx(ClickItem, { id: id, ...props }, id))) }));
@@ -0,0 +1,3 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ClickList/ClickList.scss";
2
+ export { ClickItem } from "./ClickItem";
3
+ export { ClickList } from "./ClickList";
@@ -0,0 +1,3 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ClickList/ClickList.scss";
2
+ export { ClickItem } from "./ClickItem";
3
+ export { ClickList } from "./ClickList";
@@ -0,0 +1,13 @@
1
+ type ContentItemDuoProps = {
2
+ label: string;
3
+ value: string;
4
+ isVertical?: boolean;
5
+ className?: string;
6
+ classModifier?: string;
7
+ isShowingDoneIcon?: boolean;
8
+ isShowingCloseIcon?: boolean;
9
+ buttonText?: string;
10
+ onButtonClick?: () => void;
11
+ };
12
+ export declare const ContentItemDuo: ({ label, value, isVertical, className, classModifier, isShowingDoneIcon, isShowingCloseIcon, buttonText, onButtonClick, }: ContentItemDuoProps) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import checkIcon from "@material-symbols/svg-400/outlined/check.svg";
3
+ import closeIcon from "@material-symbols/svg-400/outlined/close.svg";
4
+ import { useMemo } from "react";
5
+ import { Variants } from "../../Button/Button";
6
+ import { getComponentClassName } from "../../utilities";
7
+ import { Button, Svg } from "../..";
8
+ export const ContentItemDuo = ({ label, value, isVertical = false, className, classModifier, isShowingDoneIcon = false, isShowingCloseIcon = false, buttonText, onButtonClick, }) => {
9
+ const componentClassName = useMemo(() => {
10
+ const classModifiers = [classModifier];
11
+ if (isVertical) {
12
+ classModifiers.push("vertical");
13
+ }
14
+ return getComponentClassName(className, classModifiers.filter(Boolean).join(" "), "af-content-item-duo");
15
+ }, [classModifier, className, isVertical]);
16
+ const iconContainerModifier = useMemo(() => ` af-content-item-duo__icon--${isShowingDoneIcon ? "done" : "close"}`, [isShowingDoneIcon]);
17
+ return (_jsxs("div", { className: componentClassName, children: [(isShowingDoneIcon || isShowingCloseIcon) && (_jsxs("div", { className: `af-content-item-duo__icon${iconContainerModifier}`, children: [isShowingDoneIcon && _jsx(Svg, { src: checkIcon }), isShowingCloseIcon && _jsx(Svg, { src: closeIcon })] })), _jsx("p", { className: "af-content-item-duo__label", children: label }), _jsx("p", { className: "af-content-item-duo__value", children: value }), buttonText && (_jsx("div", { className: "af-content-item-duo__button", children: _jsx(Button, { variant: Variants.ghost, onClick: onButtonClick, children: buttonText }) }))] }));
18
+ };
@@ -0,0 +1,2 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ContentItemDuo/ContentItemDuo.scss";
2
+ export { ContentItemDuo } from "./ContentItemDuo";
@@ -0,0 +1,2 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ContentItemDuo/ContentItemDuo.scss";
2
+ export { ContentItemDuo } from "./ContentItemDuo";
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from "react";
2
+ import { ContentItemMonoSize } from "./constants";
3
+ type ContentItemMonoProps = {
4
+ children: ReactNode;
5
+ className?: string;
6
+ classModifier?: string;
7
+ secondaryText?: string;
8
+ tertiaryText?: string;
9
+ leftElement?: ReactNode;
10
+ size?: ContentItemMonoSize;
11
+ isDisabled?: boolean;
12
+ isLeftElementCentered?: boolean;
13
+ hasStick?: boolean;
14
+ };
15
+ export declare const ContentItemMono: ({ children, className, classModifier, secondaryText, tertiaryText, leftElement, size, isDisabled, isLeftElementCentered, hasStick, }: ContentItemMonoProps) => import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { getComponentClassName } from "../../utilities";
4
+ import { ContentItemMonoSize } from "./constants";
5
+ export const ContentItemMono = ({ children, className, classModifier, secondaryText, tertiaryText, leftElement, size = ContentItemMonoSize.M, isDisabled = false, isLeftElementCentered = false, hasStick = false, }) => {
6
+ const componentClassName = useMemo(() => {
7
+ const classModifiers = [size, classModifier];
8
+ if (isDisabled) {
9
+ classModifiers.push("disabled");
10
+ }
11
+ return getComponentClassName(className, classModifiers.filter(Boolean).join(" "), "af-content-item-mono");
12
+ }, [classModifier, isDisabled, size, className]);
13
+ return (_jsxs("div", { className: componentClassName, children: [hasStick && (_jsx("div", { className: "af-content-item-mono__stick", role: "presentation" })), leftElement && (_jsx("div", { className: `af-content-item-mono__left-container${isLeftElementCentered
14
+ ? " af-content-item-mono__left-container--center"
15
+ : ""}`, children: leftElement })), _jsxs("div", { className: "af-content-item-mono__text-container", children: [_jsx("p", { className: "af-content-item-mono__main-text", children: children }), secondaryText && (_jsx("p", { className: "af-content-item-mono__secondary-text", children: secondaryText })), tertiaryText && size !== ContentItemMonoSize.XL && (_jsx("p", { className: "af-content-item-mono__tertiary-text", children: tertiaryText }))] })] }));
16
+ };
@@ -0,0 +1,4 @@
1
+ export declare enum ContentItemMonoSize {
2
+ XL = "xl",
3
+ M = "m"
4
+ }
@@ -0,0 +1,5 @@
1
+ export var ContentItemMonoSize;
2
+ (function (ContentItemMonoSize) {
3
+ ContentItemMonoSize["XL"] = "xl";
4
+ ContentItemMonoSize["M"] = "m";
5
+ })(ContentItemMonoSize || (ContentItemMonoSize = {}));
@@ -0,0 +1,3 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ContentItemMono/ContentItemMono.scss";
2
+ export { ContentItemMonoSize } from "./constants";
3
+ export { ContentItemMono } from "./ContentItemMono";
@@ -0,0 +1,3 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ContentItemMono/ContentItemMono.scss";
2
+ export { ContentItemMonoSize } from "./constants";
3
+ export { ContentItemMono } from "./ContentItemMono";
@@ -0,0 +1,6 @@
1
+ import type { TContentTabItem } from "./types";
2
+ type TContentTabItemProps = TContentTabItem & {
3
+ isMobile?: boolean;
4
+ };
5
+ export declare const ContentTabItem: ({ title, subtitle, tag, tagProps, date, buttons, value, isMobile, }: TContentTabItemProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, Tag } from "../../..";
3
+ export const ContentTabItem = ({ title, subtitle, tag, tagProps, date, buttons = [], value, isMobile = false, }) => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "af-list-item__left-container", children: [Boolean(value) && (Boolean(tag) || Boolean(date)) && (_jsxs("div", { className: "af-list-item__additional-data-container", children: [Boolean(tag) && (_jsx(Tag, { classModifier: "warning", ...tagProps, children: tag })), Boolean(date) && _jsx("span", { className: "af-list-item__date", children: date })] })), _jsxs("div", { className: "af-list-item__label", children: [_jsx("span", { className: "af-list-item-label__title", children: title }), Boolean(subtitle) && (_jsx("span", { className: "af-list-item-label__subtitle", children: subtitle }))] }), !value && isMobile && (Boolean(tag) || Boolean(date)) && (_jsxs("div", { className: "af-list-item__additional-data-container", children: [Boolean(tag) && (_jsx(Tag, { classModifier: "warning", ...tagProps, children: tag })), Boolean(date) && _jsx("span", { className: "af-list-item__date", children: date })] }))] }), (buttons.length > 0 ||
4
+ Boolean(tag) ||
5
+ Boolean(date) ||
6
+ Boolean(value)) && (_jsxs("div", { className: "af-list-item__right-container", children: [!value && (Boolean(tag) || Boolean(date)) && !isMobile && (_jsxs("div", { className: "af-list-item__additional-data-container", children: [Boolean(tag) && (_jsx(Tag, { classModifier: "warning", ...tagProps, children: tag })), Boolean(date) && (_jsx("span", { className: "af-list-item__date", children: date }))] })), buttons.map((button) => (_jsx("div", { className: "af-list-item__button-container", children: _jsx(Button, { ...button }) }, button?.id))), Boolean(value) && _jsx("span", { className: "af-list-item__value", children: value })] }))] }));
@@ -0,0 +1,2 @@
1
+ export { ContentTabItem } from "./ContentTabItem";
2
+ export type { TContentTabItem } from "./types";
@@ -0,0 +1 @@
1
+ export { ContentTabItem } from "./ContentTabItem";
@@ -0,0 +1,8 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ContentTabList/ContentTabList.scss";
2
+ import { type TContentTabItem } from "./ContentTabItem";
3
+ type ContentTabListProps = {
4
+ items: TContentTabItem[];
5
+ classModifier?: string;
6
+ };
7
+ export declare const ContentTabList: ({ items, classModifier, }: ContentTabListProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { List } from "../List";
3
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/ContentTabList/ContentTabList.scss";
4
+ import { BREAKPOINT, useIsSmallScreen } from "../../utilities";
5
+ import { ContentTabItem } from "./ContentTabItem";
6
+ export const ContentTabList = ({ items, classModifier, }) => {
7
+ const isMobile = useIsSmallScreen(BREAKPOINT.SM);
8
+ return (_jsx(List, { classModifier: `list large extra-padding content-tab-list ${classModifier}`, tabIndex: -1, children: items.map(({ id, ...item }) => (_jsx(ContentTabItem, { ...item, isMobile: isMobile }, id ?? item.title))) }));
9
+ };
@@ -0,0 +1 @@
1
+ export { ContentTabList } from "./ContentTabList";
@@ -0,0 +1 @@
1
+ export { ContentTabList } from "./ContentTabList";
@@ -0,0 +1,6 @@
1
+ import { type ComponentProps } from "react";
2
+ import { Card } from "..";
3
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/List.scss";
4
+ type TList = ComponentProps<typeof Card>;
5
+ export declare const List: ({ children, classModifier, ...cardProps }: TList) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { Children, isValidElement, useMemo, } from "react";
3
+ import { Card } from "..";
4
+ import "@axa-fr/design-system-look-and-feel-css/dist/List/List.scss";
5
+ const defaultClassName = "af-list";
6
+ export const List = ({ children, classModifier, ...cardProps }) => {
7
+ const validChildren = useMemo(() => (Children.map(children, (child) => isValidElement(child) && child) ?? []).filter(Boolean), [children]);
8
+ return (_jsx(Card, { classModifier: `list ${classModifier}`, ...cardProps, children: _jsx("ul", { className: defaultClassName, children: Children.map(validChildren, (child, index) => (_jsxs(React.Fragment, { children: [_jsx("li", { className: `${defaultClassName}__item`, children: child }), index < validChildren.length - 1 && (_jsx("hr", { className: `${defaultClassName}__separator` }))] }, child.key))) }) }));
9
+ };
@@ -0,0 +1 @@
1
+ export { List } from "./List";
@@ -0,0 +1 @@
1
+ export { List } from "./List";
@@ -0,0 +1,11 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/Loader/Loader.scss";
2
+ type LoaderProps = {
3
+ border?: number;
4
+ size?: number;
5
+ text?: string;
6
+ };
7
+ declare const Loader: {
8
+ ({ border, size, text, }: LoaderProps): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ export { Loader };
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Loader/Loader.scss";
3
+ const Loader = ({ border = 5, size = 60, text = "Chargement en cours", }) => (_jsx("div", { role: "alert", "aria-busy": true, "aria-label": text, "aria-live": "assertive", className: "af-loader__container", style: {
4
+ width: `${size}px`,
5
+ height: `${size}px`,
6
+ border: `${border}px solid #f3f3f3`,
7
+ borderTop: `${border}px solid #00008f`,
8
+ }, children: _jsx("div", { className: "af-loader__container-spin", "aria-hidden": "true" }) }));
9
+ Loader.displayName = "Loader";
10
+ export { Loader };
@@ -0,0 +1 @@
1
+ export { Loader } from "./Loader";
@@ -0,0 +1 @@
1
+ export { Loader } from "./Loader";
@@ -0,0 +1,24 @@
1
+ import { PropsWithChildren, ReactNode } from "react";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Modal/Modal.scss";
3
+ export type ButtonAction = {
4
+ text: string;
5
+ disabled?: boolean;
6
+ callback: () => void;
7
+ };
8
+ type ModalProps = {
9
+ isOpen: boolean;
10
+ hasCloseBtn?: boolean;
11
+ onClose?: () => void;
12
+ onClickOutside?: () => void;
13
+ title: string;
14
+ subtitle?: string;
15
+ iconTitle?: ReactNode;
16
+ fullWidthButtons?: boolean;
17
+ actions?: {
18
+ primary?: ButtonAction;
19
+ secondary?: ButtonAction;
20
+ tertiary?: ButtonAction;
21
+ };
22
+ };
23
+ export declare const Modal: ({ isOpen, hasCloseBtn, onClose, onClickOutside, children, title, subtitle, iconTitle, actions, fullWidthButtons, }: PropsWithChildren<ModalProps>) => import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef, useState, } from "react";
3
+ import close from "@material-symbols/svg-400/outlined/close.svg";
4
+ import { ButtonClient as Button, Variants as ButtonVariants, } from "../Button/Button";
5
+ import "@axa-fr/design-system-look-and-feel-css/dist/Modal/Modal.scss";
6
+ import { Svg } from "../Svg";
7
+ export const Modal = ({ isOpen, hasCloseBtn = true, onClose, onClickOutside, children, title, subtitle, iconTitle, actions, fullWidthButtons, }) => {
8
+ const [isModalOpen, setIsModalOpen] = useState(isOpen);
9
+ const modalRef = useRef(null);
10
+ const idTitle = useId();
11
+ const idContent = useId();
12
+ useEffect(() => {
13
+ setIsModalOpen(isOpen);
14
+ }, [isOpen]);
15
+ useEffect(() => {
16
+ const modalElement = modalRef.current;
17
+ if (!modalRef.current) {
18
+ return;
19
+ }
20
+ if (isModalOpen) {
21
+ document.body.style.overflow = "hidden";
22
+ modalElement.showModal();
23
+ }
24
+ else {
25
+ document.body.style.overflow = "inherit";
26
+ modalElement.close();
27
+ }
28
+ }, [isModalOpen]);
29
+ useEffect(() => {
30
+ return () => {
31
+ document.body.style.overflow = "inherit";
32
+ };
33
+ }, []);
34
+ const handleCloseModal = () => {
35
+ onClose?.();
36
+ setIsModalOpen(false);
37
+ };
38
+ const handleClickOutside = () => {
39
+ if (onClickOutside) {
40
+ onClickOutside();
41
+ setIsModalOpen(false);
42
+ }
43
+ else {
44
+ handleCloseModal();
45
+ }
46
+ };
47
+ const handleKeyDown = (event) => {
48
+ if (event.key === "Escape") {
49
+ handleCloseModal();
50
+ }
51
+ };
52
+ return (_jsxs("dialog", { ref: modalRef, onKeyDown: handleKeyDown, onClick: (e) => e.target === modalRef.current && handleClickOutside(), className: "af-modal", "aria-labelledby": idTitle, "aria-describedby": idContent, children: [_jsxs("div", { id: idTitle, className: "af-modal__top", children: [iconTitle, _jsxs("h2", { className: "af-modal__top-title", children: [_jsxs("div", { children: [_jsx("div", { className: "af-modal__top-title-text", children: title }), subtitle && (_jsx("span", { className: "af-modal__top-title-subtitle", children: subtitle }))] }), hasCloseBtn && (_jsx(Button, { className: "af-modal__top-title-close-btn", onClick: handleCloseModal, type: "button", "aria-label": "close", children: _jsx(Svg, { src: close, width: 32, height: 32 }) }))] })] }), _jsxs("div", { id: idContent, className: "af-modal__content", children: [children, actions && (_jsxs("div", { className: `af-modal__actions${fullWidthButtons ? " af-modal__actions--fullWidth" : ""} `, children: [actions?.primary && (_jsx(Button, { variant: ButtonVariants.primary, onClick: actions?.primary.callback, disabled: actions?.primary.disabled, children: actions?.primary.text })), actions?.secondary && (_jsx(Button, { variant: ButtonVariants.secondary, onClick: actions?.secondary.callback, disabled: actions?.secondary.disabled, children: actions?.secondary.text })), actions?.tertiary && (_jsx(Button, { variant: ButtonVariants.tertiary, onClick: actions?.tertiary.callback, disabled: actions?.tertiary.disabled, children: actions?.tertiary.text }))] }))] })] }));
53
+ };
@@ -0,0 +1,9 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/Pagination/Pagination.scss";
2
+ import { ComponentPropsWithoutRef } from "react";
3
+ type PaginationProps = {
4
+ numberPage: number;
5
+ onChangePage: (page: number) => void;
6
+ defaultPage?: number;
7
+ } & ComponentPropsWithoutRef<"div">;
8
+ export declare const Pagination: ({ numberPage, onChangePage, defaultPage, }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Pagination/Pagination.scss";
3
+ import { useEffect, useState } from "react";
4
+ import { BREAKPOINT, useIsSmallScreen } from "../utilities";
5
+ import { PaginationDesktop } from "./PaginationDesktop";
6
+ import { PaginationMobile } from "./PaginationMobile";
7
+ export const Pagination = ({ numberPage, onChangePage, defaultPage, }) => {
8
+ const isMobile = useIsSmallScreen(BREAKPOINT.MD);
9
+ const [currentPage, setCurrentPage] = useState(defaultPage || 1);
10
+ useEffect(() => {
11
+ onChangePage(currentPage);
12
+ }, [currentPage, onChangePage]);
13
+ return (_jsx("div", { className: "af-container-pagination", children: isMobile ? (_jsx(PaginationMobile, { numberPage: numberPage, currentPage: currentPage, setCurrentPage: setCurrentPage })) : (_jsx(PaginationDesktop, { numberPage: numberPage, currentPage: currentPage, setCurrentPage: setCurrentPage })) }));
14
+ };
@@ -0,0 +1,9 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/Pagination/PaginationDesktop.scss";
2
+ import { ComponentPropsWithoutRef } from "react";
3
+ type PropsPaginationDesktop = {
4
+ numberPage: number;
5
+ currentPage: number;
6
+ setCurrentPage: React.Dispatch<React.SetStateAction<number>>;
7
+ } & ComponentPropsWithoutRef<"div">;
8
+ export declare const PaginationDesktop: ({ numberPage, currentPage, setCurrentPage, }: PropsPaginationDesktop) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Pagination/PaginationDesktop.scss";
3
+ const SEVEN_PAGE = 7;
4
+ const LAST_FOUR_PAGE = 4;
5
+ const FIVE_PAGE = 5;
6
+ export const PaginationDesktop = ({ numberPage, currentPage, setCurrentPage, }) => {
7
+ const pages = Array.from({ length: numberPage }, (_, index) => index + 1);
8
+ let filteredNumbers = [...pages];
9
+ let classNamePagination = "";
10
+ if (numberPage > SEVEN_PAGE) {
11
+ if (currentPage < FIVE_PAGE) {
12
+ classNamePagination = "first";
13
+ filteredNumbers = [...pages.slice(0, FIVE_PAGE), pages[pages.length - 1]];
14
+ }
15
+ else if (currentPage > numberPage - LAST_FOUR_PAGE) {
16
+ classNamePagination = "last";
17
+ filteredNumbers = [pages[0], ...pages.slice(-FIVE_PAGE)];
18
+ }
19
+ else {
20
+ classNamePagination = "between";
21
+ filteredNumbers = [
22
+ pages[0],
23
+ currentPage - 1,
24
+ currentPage,
25
+ currentPage + 1,
26
+ pages[pages.length - 1],
27
+ ];
28
+ }
29
+ }
30
+ return (_jsx("div", { className: "af-pagination-desktop", children: _jsx("ul", { className: classNamePagination, children: filteredNumbers.map((page) => (_jsx("li", { "aria-label": `page-${page}`, "aria-current": currentPage === page ? "page" : undefined, children: _jsx("button", { type: "button", onClick: () => setCurrentPage(page), children: page }) }, `page-${page}`))) }) }));
31
+ };
@@ -0,0 +1,9 @@
1
+ import "@axa-fr/design-system-look-and-feel-css/dist/Pagination/PaginationMobile.scss";
2
+ import { ComponentPropsWithoutRef } from "react";
3
+ type PropsPaginationMobile = {
4
+ numberPage: number;
5
+ currentPage: number;
6
+ setCurrentPage: React.Dispatch<React.SetStateAction<number>>;
7
+ } & ComponentPropsWithoutRef<"div">;
8
+ export declare const PaginationMobile: ({ numberPage, currentPage, setCurrentPage, }: PropsPaginationMobile) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Pagination/PaginationMobile.scss";
3
+ import arrowBackIos from "@material-symbols/svg-400/outlined/arrow_back_ios.svg";
4
+ import arrowForwardIos from "@material-symbols/svg-400/outlined/arrow_forward_ios.svg";
5
+ import { Svg } from "../Svg";
6
+ export const PaginationMobile = ({ numberPage, currentPage, setCurrentPage, }) => {
7
+ const isFirstPage = currentPage === 1;
8
+ const isLastPage = currentPage === numberPage;
9
+ return (_jsxs("div", { className: "af-pagination-mobile", children: [_jsx("button", { type: "button", onClick: () => setCurrentPage(currentPage - 1), disabled: isFirstPage, "aria-label": "Page pr\u00E9c\u00E9dente", children: _jsx(Svg, { src: arrowBackIos, className: "arrow" }) }), _jsxs("span", { children: [currentPage, " sur ", numberPage] }), _jsx("button", { type: "button", onClick: () => setCurrentPage(currentPage + 1), disabled: isLastPage, "aria-label": "Page suivant", children: _jsx(Svg, { src: arrowForwardIos, className: "arrow" }) })] }));
10
+ };
@@ -0,0 +1,12 @@
1
+ import { HTMLAttributes } from "react";
2
+ import "@axa-fr/design-system-look-and-feel-css/dist/Stepper/Stepper.scss";
3
+ export type StepperProps = {
4
+ currentStepProgress?: number;
5
+ currentStep: number;
6
+ currentSubtitle?: string;
7
+ currentTitle?: string;
8
+ nbSteps: 2 | 3 | 4 | 5 | 6;
9
+ isTitleVisible?: boolean;
10
+ isSubtitleVisible?: boolean;
11
+ } & Omit<HTMLAttributes<HTMLDivElement>, "role">;
12
+ export declare const Stepper: ({ currentStepProgress, currentTitle, nbSteps, currentStep, currentSubtitle, isTitleVisible, isSubtitleVisible, className, ...props }: StepperProps) => import("react/jsx-runtime").JSX.Element;