@axa-fr/design-system-apollo-react 1.0.5-alpha.332 → 1.0.5-alpha.334

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.
@@ -0,0 +1,4 @@
1
+ import { type AccordionProps } from "./AccordionCommon";
2
+ import "@axa-fr/design-system-apollo-css/dist/Accordion/AccordionApollo.scss";
3
+ export declare const Accordion: (props: AccordionProps) => import("react/jsx-runtime").JSX.Element;
4
+ export { type AccordionVariants, accordionVariants } from "./AccordionCommon";
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AccordionCore } from "../AccordionCore/AccordionCoreApollo";
3
+ import { AccordionTagDateContainer } from "./AccordionTagDateContainer/AccordionTagDateContainerApollo";
4
+ import { Icon } from "../Icon/IconApollo";
5
+ import { AccordionCommon } from "./AccordionCommon";
6
+ import "@axa-fr/design-system-apollo-css/dist/Accordion/AccordionApollo.scss";
7
+ export const Accordion = (props) => (_jsx(AccordionCommon, { ...props, AccordionCoreComponent: AccordionCore, AccordionTagDateContainerComponent: AccordionTagDateContainer, IconComponent: Icon }));
8
+ export { accordionVariants } from "./AccordionCommon";
@@ -0,0 +1,24 @@
1
+ import { type ComponentProps, type ComponentType } from "react";
2
+ import { AccordionTagDateContainerCommon, type AccordionTagDateContainerProps } from "./AccordionTagDateContainer/AccordionTagDateContainerCommon";
3
+ import { Icon } from "../Icon/IconCommon";
4
+ import { type AccordionCoreProps } from "../AccordionCore/AccordionCoreCommon";
5
+ export declare const accordionVariants: {
6
+ readonly primary: "primary";
7
+ readonly secondary: "secondary";
8
+ };
9
+ export type AccordionVariants = keyof typeof accordionVariants;
10
+ export type AccordionProps = {
11
+ variant?: AccordionVariants;
12
+ title: string;
13
+ subtitle?: string;
14
+ icon?: string;
15
+ info1: string;
16
+ info2: string;
17
+ } & AccordionTagDateContainerProps & Partial<AccordionCoreProps>;
18
+ type AccordionCommonProps = AccordionProps & {
19
+ AccordionCoreComponent: ComponentType<AccordionCoreProps>;
20
+ AccordionTagDateContainerComponent: ComponentType<Omit<ComponentProps<typeof AccordionTagDateContainerCommon>, "TagComponent">>;
21
+ IconComponent: ComponentType<ComponentProps<typeof Icon>>;
22
+ };
23
+ export declare const AccordionCommon: ({ variant, className, children, icon, title, subtitle, tagLabel, tagProps, dateLabel, dateProps, info1, info2, AccordionCoreComponent, AccordionTagDateContainerComponent, IconComponent, ...accordionCoreProps }: AccordionCommonProps) => import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { getComponentClassName } from "../utilities/getComponentClassName";
4
+ export const accordionVariants = {
5
+ primary: "primary",
6
+ secondary: "secondary",
7
+ };
8
+ export const AccordionCommon = ({ variant = accordionVariants.primary, className, children, icon, title, subtitle, tagLabel, tagProps, dateLabel, dateProps, info1, info2, AccordionCoreComponent, AccordionTagDateContainerComponent, IconComponent, ...accordionCoreProps }) => {
9
+ const componentClassName = useMemo(() => getComponentClassName("af-apollo-accordion", className, variant), [className, variant]);
10
+ return (_jsx(AccordionCoreComponent, { className: componentClassName, summary: _jsxs(_Fragment, { children: [icon && (_jsx(IconComponent, { role: "presentation", src: icon, variant: "primary", size: "S", className: "af-accordion__icon" })), title && _jsx("p", { className: "af-accordion__title", children: title }), subtitle && _jsx("p", { className: "af-accordion__subtitle", children: subtitle }), _jsx(AccordionTagDateContainerComponent, { tagLabel: tagLabel, dateLabel: dateLabel, tagProps: tagProps, dateProps: dateProps }), info1 && _jsx("p", { className: "af-accordion__info1", children: info1 }), info2 && _jsx("p", { className: "af-accordion__info2", children: info2 })] }), ...accordionCoreProps, children: children }));
11
+ };
@@ -0,0 +1,4 @@
1
+ import { type AccordionProps } from "./AccordionCommon";
2
+ import "@axa-fr/design-system-apollo-css/dist/Accordion/AccordionLF.scss";
3
+ export declare const Accordion: (props: AccordionProps) => import("react/jsx-runtime").JSX.Element;
4
+ export { type AccordionVariants, accordionVariants } from "./AccordionCommon";
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AccordionCore } from "../AccordionCore/AccordionCoreLF";
3
+ import { AccordionTagDateContainer } from "./AccordionTagDateContainer/AccordionTagDateContainerLF";
4
+ import { AccordionCommon } from "./AccordionCommon";
5
+ import { Icon } from "../Icon/IconCommon";
6
+ import "@axa-fr/design-system-apollo-css/dist/Accordion/AccordionLF.scss";
7
+ export const Accordion = (props) => (_jsx(AccordionCommon, { ...props, AccordionCoreComponent: AccordionCore, AccordionTagDateContainerComponent: AccordionTagDateContainer, IconComponent: Icon }));
8
+ export { accordionVariants } from "./AccordionCommon";
@@ -0,0 +1,3 @@
1
+ import { type AccordionTagDateContainerProps } from "./AccordionTagDateContainerCommon";
2
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreApollo.scss";
3
+ export declare const AccordionTagDateContainer: (props: AccordionTagDateContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Tag } from "../../Tag/TagApollo";
3
+ import { AccordionTagDateContainerCommon, } from "./AccordionTagDateContainerCommon";
4
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreApollo.scss";
5
+ export const AccordionTagDateContainer = (props) => _jsx(AccordionTagDateContainerCommon, { ...props, TagComponent: Tag });
@@ -0,0 +1,12 @@
1
+ import { type ComponentProps, ComponentType } from "react";
2
+ import { Tag } from "../../Tag/TagCommon";
3
+ export type AccordionTagDateContainerProps = {
4
+ dateLabel?: string;
5
+ dateProps?: ComponentProps<"time">;
6
+ tagLabel?: string;
7
+ tagProps?: ComponentProps<typeof Tag>;
8
+ };
9
+ export type AccordionTagDateContainerCommonProps = AccordionTagDateContainerProps & {
10
+ TagComponent: ComponentType<ComponentProps<typeof Tag>>;
11
+ };
12
+ export declare const AccordionTagDateContainerCommon: ({ dateLabel, dateProps, tagLabel, tagProps, TagComponent, }: AccordionTagDateContainerCommonProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ export const AccordionTagDateContainerCommon = ({ dateLabel, dateProps, tagLabel, tagProps, TagComponent, }) => {
4
+ const isShowing = useMemo(() => Boolean(tagLabel) || Boolean(dateLabel), [tagLabel, dateLabel]);
5
+ if (!isShowing) {
6
+ return null;
7
+ }
8
+ return (_jsxs(_Fragment, { children: [tagLabel && (_jsx("div", { className: "af-accordion__tag-container", children: _jsx(TagComponent, { variant: "warning", ...tagProps, children: tagLabel }) })), dateLabel && (_jsx("time", { className: "af-accordion__date", ...dateProps, children: dateLabel }))] }));
9
+ };
@@ -0,0 +1,3 @@
1
+ import { type AccordionTagDateContainerProps } from "./AccordionTagDateContainerCommon";
2
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreLF.scss";
3
+ export declare const AccordionTagDateContainer: (props: AccordionTagDateContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Tag } from "../../Tag/TagLF";
3
+ import { AccordionTagDateContainerCommon, } from "./AccordionTagDateContainerCommon";
4
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreLF.scss";
5
+ export const AccordionTagDateContainer = (props) => _jsx(AccordionTagDateContainerCommon, { ...props, TagComponent: Tag });
@@ -0,0 +1,3 @@
1
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreApollo.scss";
2
+ import { type AccordionCoreProps } from "./AccordionCoreCommon";
3
+ export declare const AccordionCore: (props: AccordionCoreProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreApollo.scss";
3
+ import { AccordionCoreCommon, } from "./AccordionCoreCommon";
4
+ import { Icon } from "../Icon/IconApollo";
5
+ export const AccordionCore = (props) => (_jsx(AccordionCoreCommon, { IconComponent: Icon, ...props }));
@@ -0,0 +1,13 @@
1
+ import { type ComponentProps, ComponentType, type MouseEvent, type ReactNode } from "react";
2
+ import { Icon } from "../Icon/IconCommon";
3
+ export type AccordionCoreProps = {
4
+ summary: ReactNode;
5
+ children: ReactNode;
6
+ isOpen?: boolean;
7
+ summaryProps?: ComponentProps<"summary">;
8
+ onClick?: (event: MouseEvent<HTMLDetailsElement>) => void;
9
+ } & Partial<ComponentProps<"details">>;
10
+ export type AccordionPropsCommonProps = AccordionCoreProps & {
11
+ IconComponent: ComponentType<ComponentProps<typeof Icon>>;
12
+ };
13
+ export declare const AccordionCoreCommon: ({ summary, children, className, summaryProps, isOpen, IconComponent, onClick, ...detailsProps }: AccordionPropsCommonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, } from "react";
3
+ import keyboardUp from "@material-symbols/svg-400/rounded/keyboard_arrow_up-fill.svg";
4
+ export const AccordionCoreCommon = ({ summary, children, className, summaryProps, isOpen = false, IconComponent, onClick, ...detailsProps }) => {
5
+ const handleToggle = useCallback((event) => {
6
+ if (onClick) {
7
+ event.preventDefault();
8
+ onClick(event);
9
+ }
10
+ }, [onClick]);
11
+ return (_jsxs("details", { className: ["af-apollo-accordion", className].filter(Boolean).join(" "), open: isOpen, ...detailsProps, children: [_jsxs("summary", { onClick: handleToggle, role: "button", tabIndex: 0, ...summaryProps, className: ["af-apollo-accordion__summary", summaryProps?.className]
12
+ .filter(Boolean)
13
+ .join(" "), children: [summary, _jsx("div", { className: ["af-accordion__arrow", "af-click-icon"].join(" "), children: _jsx(IconComponent, { src: keyboardUp, role: "presentation" }) })] }), children] }));
14
+ };
@@ -0,0 +1,3 @@
1
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreLF.scss";
2
+ import { type AccordionCoreProps } from "./AccordionCoreCommon";
3
+ export declare const AccordionCore: (props: AccordionCoreProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import "@axa-fr/design-system-apollo-css/dist/AccordionCore/AccordionCoreLF.scss";
3
+ import { AccordionCoreCommon, } from "./AccordionCoreCommon";
4
+ import { Icon } from "../Icon/IconLF";
5
+ export const AccordionCore = (props) => (_jsx(AccordionCoreCommon, { IconComponent: Icon, ...props }));
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ import "@axa-fr/design-system-apollo-css/dist/common/reboot.scss";
2
2
  import "@axa-fr/design-system-apollo-css/dist/common/tokens.scss";
3
3
  import "@axa-fr/design-system-apollo-css/dist/Grid/Grid.scss";
4
4
  import "@fontsource/source-sans-pro";
5
+ export { Accordion, type AccordionVariants, accordionVariants, } from "./Accordion/AccordionApollo";
6
+ export { AccordionCore } from "./AccordionCore/AccordionCoreApollo";
5
7
  export { BasePicture } from "./BasePicture/BasePictureApollo";
6
8
  export { Button, buttonVariants, type ButtonVariants, } from "./Button/ButtonApollo";
7
9
  export { CardMessage, cardMessageVariants, type CardMessageVariants, } from "./CardMessage/CardMessageApollo";
package/dist/index.js CHANGED
@@ -2,6 +2,8 @@ import "@axa-fr/design-system-apollo-css/dist/common/reboot.scss";
2
2
  import "@axa-fr/design-system-apollo-css/dist/common/tokens.scss";
3
3
  import "@axa-fr/design-system-apollo-css/dist/Grid/Grid.scss";
4
4
  import "@fontsource/source-sans-pro";
5
+ export { Accordion, accordionVariants, } from "./Accordion/AccordionApollo";
6
+ export { AccordionCore } from "./AccordionCore/AccordionCoreApollo";
5
7
  export { BasePicture } from "./BasePicture/BasePictureApollo";
6
8
  export { Button, buttonVariants, } from "./Button/ButtonApollo";
7
9
  export { CardMessage, cardMessageVariants, } from "./CardMessage/CardMessageApollo";
package/dist/indexLF.d.ts CHANGED
@@ -2,6 +2,8 @@ import "@axa-fr/design-system-look-and-feel-css/dist/common/reboot.scss";
2
2
  import "@axa-fr/design-system-look-and-feel-css/dist/common/tokens.scss";
3
3
  import "@axa-fr/design-system-apollo-css/dist/Grid/Grid.scss";
4
4
  import "@fontsource/source-sans-pro";
5
+ export { Accordion, type AccordionVariants, accordionVariants, } from "./Accordion/AccordionLF";
6
+ export { AccordionCore } from "./AccordionCore/AccordionCoreLF";
5
7
  export { BasePicture } from "./BasePicture/BasePictureLF";
6
8
  export { Button, buttonVariants, type ButtonVariants } from "./Button/ButtonLF";
7
9
  export { CardMessage, cardMessageVariants, type CardMessageVariants, } from "./CardMessage/CardMessageLF";
package/dist/indexLF.js CHANGED
@@ -2,6 +2,8 @@ import "@axa-fr/design-system-look-and-feel-css/dist/common/reboot.scss";
2
2
  import "@axa-fr/design-system-look-and-feel-css/dist/common/tokens.scss";
3
3
  import "@axa-fr/design-system-apollo-css/dist/Grid/Grid.scss";
4
4
  import "@fontsource/source-sans-pro";
5
+ export { Accordion, accordionVariants, } from "./Accordion/AccordionLF";
6
+ export { AccordionCore } from "./AccordionCore/AccordionCoreLF";
5
7
  export { BasePicture } from "./BasePicture/BasePictureLF";
6
8
  export { Button, buttonVariants } from "./Button/ButtonLF";
7
9
  export { CardMessage, cardMessageVariants, } from "./CardMessage/CardMessageLF";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axa-fr/design-system-apollo-react",
3
- "version": "1.0.5-alpha.332",
3
+ "version": "1.0.5-alpha.334",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -46,8 +46,8 @@
46
46
  },
47
47
  "homepage": "https://github.com/AxaFrance/design-system#readme",
48
48
  "peerDependencies": {
49
- "@axa-fr/design-system-apollo-css": "1.0.5-alpha.332",
50
- "@axa-fr/design-system-look-and-feel-css": "1.0.5-alpha.332",
49
+ "@axa-fr/design-system-apollo-css": "1.0.5-alpha.334",
50
+ "@axa-fr/design-system-look-and-feel-css": "1.0.5-alpha.334",
51
51
  "@material-symbols/svg-400": ">= 0.19.0",
52
52
  "react": ">= 18"
53
53
  },