allaw-ui 2.2.5 → 2.2.7

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 (42) hide show
  1. package/dist/components/atoms/buttons/IconButton.js +2 -7
  2. package/dist/components/atoms/buttons/TertiaryButton.d.ts +1 -0
  3. package/dist/components/atoms/buttons/TertiaryButton.js +6 -2
  4. package/dist/components/atoms/featureCard/featureCard.js +1 -4
  5. package/dist/components/molecules/banner/Banner.js +11 -2
  6. package/dist/components/molecules/banner/Banner.module.css +13 -6
  7. package/dist/components/molecules/brands/Brands.d.ts +9 -0
  8. package/dist/components/molecules/brands/Brands.js +13 -0
  9. package/dist/components/molecules/brands/Brands.stories.d.ts +8 -0
  10. package/dist/components/molecules/brands/Brands.stories.js +66 -0
  11. package/dist/components/molecules/brands/brands.module.css +74 -0
  12. package/dist/components/molecules/brands/index.d.ts +2 -0
  13. package/dist/components/molecules/brands/index.js +1 -0
  14. package/dist/components/molecules/featureGrid/FeatureGrid.js +2 -2
  15. package/dist/components/molecules/featureGrid/featureGrid.module.css +2 -2
  16. package/dist/components/molecules/flexContent/FlexContent.d.ts +18 -0
  17. package/dist/components/molecules/flexContent/FlexContent.js +21 -0
  18. package/dist/components/molecules/flexContent/FlexContent.stories.d.ts +9 -0
  19. package/dist/components/molecules/flexContent/FlexContent.stories.js +47 -0
  20. package/dist/components/molecules/flexContent/flexContent.module.css +217 -0
  21. package/dist/components/molecules/flexContent/index.d.ts +2 -0
  22. package/dist/components/molecules/flexContent/index.js +1 -0
  23. package/dist/components/molecules/frameCTA/FrameCTA.d.ts +1 -0
  24. package/dist/components/molecules/frameCTA/FrameCTA.js +3 -3
  25. package/dist/components/molecules/frameCTA/FrameCTA.stories.d.ts +1 -0
  26. package/dist/components/molecules/frameCTA/FrameCTA.stories.js +23 -0
  27. package/dist/components/molecules/frameCTA/frameCTA.module.css +27 -8
  28. package/dist/components/molecules/heroSection/HeroSection.d.ts +1 -0
  29. package/dist/components/molecules/heroSection/HeroSection.js +13 -15
  30. package/dist/components/molecules/heroSection/HeroSection.stories.d.ts +2 -0
  31. package/dist/components/molecules/heroSection/HeroSection.stories.js +38 -1
  32. package/dist/components/molecules/heroSection/heroSection.module.css +120 -90
  33. package/dist/components/molecules/questionAnswer/QuestionAnswer.d.ts +9 -0
  34. package/dist/components/molecules/questionAnswer/QuestionAnswer.js +38 -0
  35. package/dist/components/molecules/questionAnswer/QuestionAnswer.stories.d.ts +17 -0
  36. package/dist/components/molecules/questionAnswer/QuestionAnswer.stories.js +48 -0
  37. package/dist/components/molecules/questionAnswer/index.d.ts +2 -0
  38. package/dist/components/molecules/questionAnswer/index.js +1 -0
  39. package/dist/components/molecules/questionAnswer/questionAnswer.module.css +126 -0
  40. package/dist/index.d.ts +18 -10
  41. package/dist/index.js +10 -5
  42. package/package.json +1 -1
@@ -2,18 +2,13 @@ import React from "react";
2
2
  import "./IconButton.css";
3
3
  import "../../../styles/global.css";
4
4
  var IconButton = function (_a) {
5
- var style = _a.style, iconName = _a.iconName, color = _a.color, onClick = _a.onClick;
5
+ var _b = _a.style, style = _b === void 0 ? "smallFilled" : _b, _c = _a.iconName, iconName = _c === void 0 ? "allaw-icon-calendar" : _c, color = _a.color, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d;
6
6
  var customStyle = color
7
7
  ? {
8
8
  "--custom-background-color": color,
9
9
  }
10
10
  : {};
11
- return (React.createElement("button", { className: "icon-button ".concat(style), onClick: onClick, style: customStyle },
11
+ return (React.createElement("button", { className: "icon-button ".concat(style), onClick: onClick, style: customStyle, "aria-label": iconName.replace("allaw-icon-", "").replace("-", " ") },
12
12
  React.createElement("i", { className: "icon ".concat(iconName), style: { color: color ? color : "inherit" } })));
13
13
  };
14
- IconButton.defaultProps = {
15
- style: "smallFilled",
16
- iconName: "allaw-icon-calendar",
17
- onClick: function () { },
18
- };
19
14
  export default IconButton;
@@ -5,6 +5,7 @@ export interface TertiaryButtonProps {
5
5
  startIcon?: string;
6
6
  label: string;
7
7
  variant?: boolean;
8
+ href?: string;
8
9
  onClick?: () => void;
9
10
  }
10
11
  declare const TertiaryButton: React.FC<TertiaryButtonProps>;
@@ -1,9 +1,13 @@
1
1
  import React from "react";
2
+ import Link from "next/link";
2
3
  import "./TertiaryButton.css";
3
4
  import "../../../styles/global.css";
4
5
  var TertiaryButton = function (_a) {
5
- var startIcon = _a.startIcon, label = _a.label, _b = _a.variant, variant = _b === void 0 ? false : _b, onClick = _a.onClick;
6
- return (React.createElement("button", { type: "button", className: "tertiary-button ".concat(variant ? "tertiary-button-variant" : "tertiary-button-default"), onClick: onClick },
6
+ var startIcon = _a.startIcon, label = _a.label, _b = _a.variant, variant = _b === void 0 ? false : _b, href = _a.href, onClick = _a.onClick;
7
+ var buttonClass = "tertiary-button ".concat(variant ? "tertiary-button-variant" : "tertiary-button-default");
8
+ return href ? (React.createElement(Link, { href: href, className: buttonClass },
9
+ startIcon && React.createElement("span", { className: "tertiary-button-icon ".concat(startIcon) }),
10
+ React.createElement("span", { className: "tertiary-button-label" }, label))) : (React.createElement("button", { type: "button", className: buttonClass, onClick: onClick },
7
11
  startIcon && React.createElement("span", { className: "tertiary-button-icon ".concat(startIcon) }),
8
12
  React.createElement("span", { className: "tertiary-button-label" }, label)));
9
13
  };
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import styles from "./featureCard.module.css";
3
3
  import { TertiaryButton } from "../buttons";
4
4
  import Image from "next/image";
5
- import Link from "next/link";
6
5
  var FeatureCard = function (_a) {
7
6
  var title = _a.title, image = _a.image, content = _a.content, action = _a.action;
8
7
  return (React.createElement("article", { className: styles.featureCardContainer },
@@ -12,8 +11,6 @@ var FeatureCard = function (_a) {
12
11
  React.createElement("h3", null, title)),
13
12
  React.createElement("div", { className: styles.featureCardDescription },
14
13
  React.createElement("p", null, content))),
15
- action && (React.createElement("div", { className: styles.actionButton },
16
- React.createElement(Link, { href: action.href, passHref: true },
17
- React.createElement(TertiaryButton, { label: action.label }))))));
14
+ action && React.createElement(TertiaryButton, { href: action.href, label: action.label })));
18
15
  };
19
16
  export default FeatureCard;
@@ -1,10 +1,19 @@
1
- import React from "react";
1
+ "use client";
2
+ import React, { useState, useEffect } from "react";
2
3
  import Image from "next/image";
3
4
  import styles from "./Banner.module.css";
4
5
  import Link from "next/link";
5
6
  var Banner = function (_a) {
6
7
  var tag = _a.tag, title = _a.title, content = _a.content, image = _a.image, action = _a.action, highlightColor = _a.highlightColor, backgroundColor = _a.backgroundColor;
7
- var isMobile = typeof window !== "undefined" && window.innerWidth <= 995;
8
+ var _b = useState(false), isMobile = _b[0], setIsMobile = _b[1];
9
+ useEffect(function () {
10
+ var updateIsMobile = function () {
11
+ setIsMobile(window.innerWidth <= 995);
12
+ };
13
+ updateIsMobile(); // Vérifie à l'initialisation
14
+ window.addEventListener("resize", updateIsMobile); // Met à jour au resize
15
+ return function () { return window.removeEventListener("resize", updateIsMobile); };
16
+ }, []);
8
17
  return (React.createElement("section", { className: styles.bannerContainer, style: { backgroundColor: backgroundColor } },
9
18
  image && (React.createElement("figure", { className: "".concat(styles.imageContainer, " ").concat(isMobile ? styles[image.verticalSide] : styles[image.horizontalSide]) },
10
19
  React.createElement(Image, { src: image.src || "", alt: image.alt || "", fill: true, sizes: "(max-width: 995px) 100vw, 400px", className: styles.bannerImageContent }))),
@@ -8,6 +8,7 @@
8
8
  border-radius: 32px;
9
9
  width: 100%;
10
10
  height: auto;
11
+ min-height: 400px;
11
12
  max-width: 100%;
12
13
  background: #edf3f4;
13
14
  }
@@ -16,6 +17,7 @@
16
17
  display: flex;
17
18
  flex-direction: column;
18
19
  align-items: flex-start;
20
+ justify-content: space-between;
19
21
  gap: 24px;
20
22
  width: 100%;
21
23
  height: auto;
@@ -29,14 +31,19 @@
29
31
  position: relative;
30
32
  width: 100%;
31
33
  height: auto;
34
+ max-height: 100%;
32
35
  display: flex;
33
36
  align-items: stretch;
34
37
  max-width: 400px;
38
+ object-position: center;
39
+ overflow: hidden;
35
40
  }
36
41
 
37
42
  .bannerImageContent {
38
43
  object-fit: cover;
39
- object-position: center;
44
+ object-position: center center;
45
+ width: 100%;
46
+ height: 100%;
40
47
  border-radius: 24px;
41
48
  }
42
49
 
@@ -69,7 +76,7 @@
69
76
  white-space: normal;
70
77
  color: var(--Primary-Mid-black, #171e25);
71
78
  font-family: Poppins, sans-serif;
72
- font-size: 30px;
79
+ font-size: 28px;
73
80
  font-weight: 600;
74
81
  max-width: 100%;
75
82
  line-height: 1.4;
@@ -106,8 +113,7 @@
106
113
  }
107
114
 
108
115
  .action:hover {
109
- filter: brightness(95%);
110
- transform: scale(1.005);
116
+ filter: brightness(90%);
111
117
  }
112
118
 
113
119
  .actionLabel {
@@ -137,7 +143,7 @@
137
143
  width: auto;
138
144
  gap: 40px;
139
145
  padding: 40px;
140
- height: 750px;
146
+ height: auto;
141
147
  }
142
148
 
143
149
  .bannerDescription {
@@ -146,6 +152,7 @@
146
152
  -webkit-line-clamp: 6;
147
153
  line-clamp: 6;
148
154
  font-size: 14px;
155
+ font-weight: 500;
149
156
  }
150
157
 
151
158
  .bannerContent {
@@ -170,7 +177,7 @@
170
177
  }
171
178
 
172
179
  .bannerTitle {
173
- font-size: 22px;
180
+ font-size: 24px;
174
181
  }
175
182
 
176
183
  .imageContainer.top {
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export type BrandsProps = {
3
+ images: {
4
+ src: string;
5
+ alt: string;
6
+ }[];
7
+ };
8
+ declare const Brands: React.FC<BrandsProps>;
9
+ export default Brands;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import styles from "./brands.module.css";
3
+ import Image from "next/image";
4
+ var Brands = function (_a) {
5
+ var images = _a.images;
6
+ var limitedImages = images.slice(0, 7);
7
+ return (React.createElement("section", { className: styles.brandsContainer, "aria-labelledby": "brands-title" },
8
+ React.createElement("div", { className: styles.brandsContent },
9
+ React.createElement("h2", { className: styles.brandsTitle, id: "brands-title" }, "Ils parlent de nous dans la presse"),
10
+ React.createElement("ul", { className: styles.brandsList }, limitedImages.map(function (image, index) { return (React.createElement("li", { key: index, className: styles.brandItem },
11
+ React.createElement(Image, { src: image.src, alt: image.alt, className: styles.brandImage, width: 100, height: 100 }))); })))));
12
+ };
13
+ export default Brands;
@@ -0,0 +1,8 @@
1
+ declare namespace _default {
2
+ export let title: string;
3
+ export { Brands as component };
4
+ }
5
+ export default _default;
6
+ export const Default: any;
7
+ export const WithExtraImages: any;
8
+ import Brands from "./Brands";
@@ -0,0 +1,66 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from "react";
13
+ import { Meta, StoryFn } from "@storybook/react";
14
+ import Brands, { BrandsProps } from "./Brands";
15
+ export default {
16
+ title: "Components/Molecules/Brands",
17
+ component: Brands,
18
+ };
19
+ var Template = function (args) { return React.createElement(Brands, __assign({}, args)); };
20
+ export var Default = Template.bind({});
21
+ Default.args = {
22
+ images: [
23
+ {
24
+ src: "https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8bWVkaWF8ZW58MHx8MHx8fDA%3D",
25
+ alt: "Logo Brand 1",
26
+ },
27
+ {
28
+ src: "https://plus.unsplash.com/premium_photo-1689701711439-e54f039f8d97?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8NXx8bWVkaWF8ZW58MHx8MHx8fDA%3D",
29
+ alt: "Logo Brand 2",
30
+ },
31
+ {
32
+ src: "https://images.unsplash.com/photo-1424223022789-26fd8f34bba2?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTB8fG1lZGlhfGVufDB8fDB8fHww",
33
+ alt: "Logo Brand 3",
34
+ },
35
+ {
36
+ src: "https://images.unsplash.com/photo-1563986768494-4dee2763ff3f?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MjB8fG1lZGlhfGVufDB8fDB8fHww",
37
+ alt: "Logo Brand 4",
38
+ },
39
+ {
40
+ src: "https://images.unsplash.com/photo-1611162617213-7d7a39e9b1d7?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTl8fG1lZGlhfGVufDB8fDB8fHww",
41
+ alt: "Logo Brand 5",
42
+ },
43
+ {
44
+ src: "https://images.unsplash.com/photo-1597075095308-0b47fc649175?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Nnx8ZGVzJTIwbSVDMyVBOWRpYXMlMjBzb2NpYXV4fGVufDB8fDB8fHww",
45
+ alt: "Logo Brand 6",
46
+ },
47
+ {
48
+ src: "https://images.unsplash.com/photo-1517292987719-0369a794ec0f?q=80&w=1974&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
49
+ alt: "Logo Brand 7",
50
+ },
51
+ ],
52
+ };
53
+ export var WithExtraImages = Template.bind({});
54
+ WithExtraImages.args = {
55
+ images: [
56
+ { src: "/images/brand1.png", alt: "Logo Brand 1" },
57
+ { src: "/images/brand2.png", alt: "Logo Brand 2" },
58
+ { src: "/images/brand3.png", alt: "Logo Brand 3" },
59
+ { src: "/images/brand4.png", alt: "Logo Brand 4" },
60
+ { src: "/images/brand5.png", alt: "Logo Brand 5" },
61
+ { src: "/images/brand6.png", alt: "Logo Brand 6" },
62
+ { src: "/images/brand7.png", alt: "Logo Brand 7" },
63
+ { src: "/images/brand8.png", alt: "Logo Brand 8 (Ignorée)" }, // Ignorée
64
+ { src: "/images/brand9.png", alt: "Logo Brand 9 (Ignorée)" }, // Ignorée
65
+ ],
66
+ };
@@ -0,0 +1,74 @@
1
+ .brandsContainer {
2
+ display: flex;
3
+ width: 100%;
4
+ height: auto;
5
+ padding: 64px 40px;
6
+ justify-content: center;
7
+ align-items: center;
8
+ gap: 40px;
9
+ }
10
+
11
+ .brandsContent {
12
+ display: flex;
13
+ flex-direction: column;
14
+ justify-content: center;
15
+ align-items: center;
16
+ gap: 48px;
17
+ }
18
+
19
+ .brandsTitle {
20
+ color: var(--Primary-Mid-black, #171e25);
21
+ text-align: center;
22
+ font-family: Poppins;
23
+ font-size: 30px;
24
+ font-style: normal;
25
+ font-weight: 600;
26
+ line-height: normal;
27
+ }
28
+
29
+ .brandsList {
30
+ display: flex;
31
+ align-items: flex-start;
32
+ gap: 30px;
33
+ justify-content: center;
34
+ }
35
+
36
+ .brandItem {
37
+ width: 130px;
38
+ height: 87px;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ overflow: hidden;
43
+ }
44
+
45
+ .brandImage {
46
+ max-width: 100%;
47
+ height: auto;
48
+ width: auto;
49
+ object-fit: contain;
50
+ }
51
+
52
+ @media (max-width: 1200px) {
53
+ .brandsList {
54
+ flex-wrap: wrap;
55
+ justify-content: center;
56
+ align-items: center;
57
+ align-content: center;
58
+ }
59
+
60
+ .brandItem {
61
+ min-width: 120px;
62
+ width: 120px;
63
+ }
64
+ }
65
+
66
+ @media (max-width: 995px) {
67
+ .brandsTitle {
68
+ font-size: 26px;
69
+ }
70
+
71
+ .brandItem {
72
+ min-width: 110px;
73
+ }
74
+ }
@@ -0,0 +1,2 @@
1
+ export { default as Brands } from "./Brands";
2
+ export type { BrandsProps } from "./Brands";
@@ -0,0 +1 @@
1
+ export { default as Brands } from "./Brands";
@@ -19,8 +19,8 @@ var FeatureGrid = function (_a) {
19
19
  React.createElement("div", { className: styles.featureGridItem },
20
20
  React.createElement(FeatureCard, { key: currentIndex, title: features[currentIndex].title, image: features[currentIndex].image, content: features[currentIndex].content, action: features[currentIndex].action })),
21
21
  React.createElement("div", { className: styles.navigationButtons },
22
- React.createElement(IconButton, { style: "iconCircle", iconName: "allaw-icon-arrow-left", onClick: handlePrevious }),
23
- React.createElement(IconButton, { style: "iconCircle", iconName: "allaw-icon-arrow-right", onClick: handleNext }))),
22
+ React.createElement(IconButton, { style: "iconCircle", iconName: "allaw-icon-arrow-left", onClick: handlePrevious, "aria-label": "Voir l'\u00E9l\u00E9ment pr\u00E9c\u00E9dent" }),
23
+ React.createElement(IconButton, { style: "iconCircle", iconName: "allaw-icon-arrow-right", onClick: handleNext, "aria-label": "Voir l'\u00E9l\u00E9ment suivant" }))),
24
24
  React.createElement("ul", { className: "".concat(styles.featureGridContainer, " ").concat(styles.gridView) }, features.map(function (feature, index) { return (React.createElement("li", { className: styles.featureGridItem, key: index },
25
25
  React.createElement(FeatureCard, { title: feature.title, image: feature.image, content: feature.content, action: feature.action }))); }))));
26
26
  };
@@ -14,7 +14,7 @@
14
14
  color: var(--Primary-Mid-black, #171e25);
15
15
  text-align: center;
16
16
  font-family: Poppins;
17
- font-size: 46px;
17
+ font-size: 30px;
18
18
  font-style: normal;
19
19
  font-weight: 600;
20
20
  line-height: normal;
@@ -98,7 +98,7 @@
98
98
 
99
99
  .featureGridTitle {
100
100
  margin-bottom: 24px;
101
- font-size: 28px;
101
+ font-size: 26px;
102
102
  }
103
103
 
104
104
  .featureGridContainer {
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ export type FlexContentProps = {
3
+ reverse?: boolean;
4
+ title?: string;
5
+ sectionTitle: string;
6
+ content: string;
7
+ action?: {
8
+ href: string;
9
+ label: string;
10
+ };
11
+ imageContent?: {
12
+ src: string;
13
+ alt: string;
14
+ };
15
+ imageWidthPercentage?: number;
16
+ };
17
+ declare const FlexContent: React.FC<FlexContentProps>;
18
+ export default FlexContent;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import styles from "./flexContent.module.css";
3
+ import Image from "next/image";
4
+ import Link from "next/link";
5
+ var FlexContent = function (_a) {
6
+ var _b = _a.reverse, reverse = _b === void 0 ? false : _b, title = _a.title, sectionTitle = _a.sectionTitle, content = _a.content, action = _a.action, imageContent = _a.imageContent, _c = _a.imageWidthPercentage, imageWidthPercentage = _c === void 0 ? 60 : _c;
7
+ var safeImageWidth = Math.max(10, Math.min(imageWidthPercentage, 90));
8
+ var textWidth = 100 - safeImageWidth;
9
+ return (React.createElement("section", { className: styles.flexContentContainer, "aria-labelledby": sectionTitle },
10
+ title && (React.createElement("h2", { className: styles.flexContentTitle, id: "flex-content-title" }, title)),
11
+ React.createElement("article", { className: "".concat(styles.flexContentWrapper, " ").concat(reverse ? styles.reverse : "", " ").concat(!(imageContent === null || imageContent === void 0 ? void 0 : imageContent.src) ? styles.fullWidth : "") },
12
+ React.createElement("div", { className: "".concat(styles.flexContentLeftWrapper, " ").concat(styles.desktopWidth), style: { width: "".concat(textWidth, "%") } },
13
+ React.createElement("div", { className: styles.flexContentLeft },
14
+ React.createElement("h3", { className: styles.flexContentSectionTitle }, sectionTitle),
15
+ React.createElement("p", { className: styles.flexContentDescription }, content),
16
+ action && (React.createElement(Link, { href: action.href, className: styles.flexContentButton },
17
+ React.createElement("span", { className: styles.flexContentButtonLabel }, action.label))))),
18
+ (imageContent === null || imageContent === void 0 ? void 0 : imageContent.src) && (React.createElement("div", { className: styles.flexContentRight, style: { width: "".concat(safeImageWidth, "%") } },
19
+ React.createElement(Image, { src: imageContent.src, alt: imageContent.alt, className: styles.flexContentImage, width: 1240, height: 550 }))))));
20
+ };
21
+ export default FlexContent;
@@ -0,0 +1,9 @@
1
+ declare namespace _default {
2
+ export let title: string;
3
+ export { FlexContent as component };
4
+ }
5
+ export default _default;
6
+ export const Default: any;
7
+ export const Reverse: any;
8
+ export const NoImage: any;
9
+ import FlexContent from "./FlexContent";
@@ -0,0 +1,47 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React from "react";
13
+ import { Meta, StoryFn } from "@storybook/react";
14
+ import FlexContent, { FlexContentProps } from "./FlexContent";
15
+ export default {
16
+ title: "Components/Molecules/FlexContent",
17
+ component: FlexContent,
18
+ };
19
+ var Template = function (args) { return React.createElement(FlexContent, __assign({}, args)); };
20
+ export var Default = Template.bind({});
21
+ Default.args = {
22
+ reverse: false,
23
+ title: "Découvrez notre solution",
24
+ sectionTitle: "Une solution adaptée à vos besoins",
25
+ content: "Notre solution est conçue pour vous offrir des résultats concrets et durables. Avec des fonctionnalités adaptées à vos besoins, elle vous permet de gérer vos projets plus efficacement et d'atteindre vos objectifs. Découvrez comment nos outils innovants, combinés à une approche personnalisée, peuvent transformer votre vision en réalité et vous aider à vous démarquer dans votre domaine. Nous vous accompagnons pas à pas pour garantir des résultats à la hauteur de vos attentes.",
26
+ action: {
27
+ href: "/learn-more",
28
+ label: "En savoir plus",
29
+ },
30
+ imageContent: {
31
+ src: "https://images.unsplash.com/photo-1737405555489-78b3755eaa81?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
32
+ alt: "Image illustrant la solution",
33
+ },
34
+ };
35
+ export var Reverse = Template.bind({});
36
+ Reverse.args = __assign(__assign({}, Default.args), { reverse: true, sectionTitle: "Une nouvelle perspective", content: "Avec notre approche innovante, nous renversons les codes pour vous offrir des opportunités uniques et avant-gardistes." });
37
+ export var NoImage = Template.bind({});
38
+ NoImage.args = {
39
+ reverse: false,
40
+ title: "Découvrez notre solution sans image",
41
+ sectionTitle: "Pas d'image, juste du contenu",
42
+ content: "Parfois, une image n'est pas nécessaire. Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action. Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action Ce mode vous permet de mettre l'accent uniquement sur le texte et l'action ",
43
+ action: {
44
+ href: "/no-image",
45
+ label: "En savoir plus",
46
+ },
47
+ };