@the-story/standard-core 1.0.3

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 (136) hide show
  1. package/README.md +47 -0
  2. package/dist/NextIntlClientInheritor/NextIntlClientInheritor.d.ts +8 -0
  3. package/dist/NextIntlClientInheritor/NextIntlClientInheritor.js +45 -0
  4. package/dist/NextIntlClientInheritor/index.d.ts +1 -0
  5. package/dist/NextIntlClientInheritor/index.js +1 -0
  6. package/dist/ThemeInheritor/ThemeInheritor.d.ts +4 -0
  7. package/dist/ThemeInheritor/ThemeInheritor.js +17 -0
  8. package/dist/ThemeInheritor/index.d.ts +1 -0
  9. package/dist/ThemeInheritor/index.js +1 -0
  10. package/dist/ThemeInheritor/types.d.ts +7 -0
  11. package/dist/ThemeInheritor/types.js +1 -0
  12. package/dist/atoms/Accordion/Accordion.d.ts +6 -0
  13. package/dist/atoms/Accordion/Accordion.js +9 -0
  14. package/dist/atoms/Accordion/AccordionIcon.d.ts +2 -0
  15. package/dist/atoms/Accordion/AccordionIcon.js +19 -0
  16. package/dist/atoms/Accordion/AccordionList.d.ts +10 -0
  17. package/dist/atoms/Accordion/AccordionList.js +45 -0
  18. package/dist/atoms/Accordion/index.d.ts +3 -0
  19. package/dist/atoms/Accordion/index.js +1 -0
  20. package/dist/atoms/Accordion/types.d.ts +12 -0
  21. package/dist/atoms/Accordion/types.js +1 -0
  22. package/dist/atoms/Avatar/Avatar.d.ts +3 -0
  23. package/dist/atoms/Avatar/Avatar.js +30 -0
  24. package/dist/atoms/Avatar/index.d.ts +2 -0
  25. package/dist/atoms/Avatar/index.js +1 -0
  26. package/dist/atoms/Avatar/types.d.ts +5 -0
  27. package/dist/atoms/Avatar/types.js +1 -0
  28. package/dist/atoms/BackToTopButton/BackToTopButton.d.ts +5 -0
  29. package/dist/atoms/BackToTopButton/BackToTopButton.js +53 -0
  30. package/dist/atoms/BackToTopButton/index.d.ts +1 -0
  31. package/dist/atoms/BackToTopButton/index.js +1 -0
  32. package/dist/atoms/Button/Button.d.ts +21 -0
  33. package/dist/atoms/Button/Button.js +9 -0
  34. package/dist/atoms/Button/index.d.ts +1 -0
  35. package/dist/atoms/Button/index.js +1 -0
  36. package/dist/atoms/CmsCroppedImage/CmsCroppedImage.d.ts +18 -0
  37. package/dist/atoms/CmsCroppedImage/CmsCroppedImage.js +41 -0
  38. package/dist/atoms/CmsCroppedImage/index.d.ts +1 -0
  39. package/dist/atoms/CmsCroppedImage/index.js +1 -0
  40. package/dist/atoms/CmsImage/CmsImage.d.ts +18 -0
  41. package/dist/atoms/CmsImage/CmsImage.js +61 -0
  42. package/dist/atoms/CmsImage/index.d.ts +1 -0
  43. package/dist/atoms/CmsImage/index.js +1 -0
  44. package/dist/atoms/CmsRichText/CmsRichText.d.ts +14 -0
  45. package/dist/atoms/CmsRichText/CmsRichText.js +96 -0
  46. package/dist/atoms/CmsRichText/index.d.ts +1 -0
  47. package/dist/atoms/CmsRichText/index.js +1 -0
  48. package/dist/atoms/CopyToClipboard/CopyToClipboard.d.ts +12 -0
  49. package/dist/atoms/CopyToClipboard/CopyToClipboard.js +39 -0
  50. package/dist/atoms/CopyToClipboard/index.d.ts +1 -0
  51. package/dist/atoms/CopyToClipboard/index.js +1 -0
  52. package/dist/atoms/CopyToClipboard/useCopyToClipboard.d.ts +4 -0
  53. package/dist/atoms/CopyToClipboard/useCopyToClipboard.js +70 -0
  54. package/dist/atoms/CroppedImage/CroppedImage.d.ts +16 -0
  55. package/dist/atoms/CroppedImage/CroppedImage.js +65 -0
  56. package/dist/atoms/CroppedImage/index.d.ts +2 -0
  57. package/dist/atoms/CroppedImage/index.js +2 -0
  58. package/dist/atoms/CroppedImage/utils.d.ts +12 -0
  59. package/dist/atoms/CroppedImage/utils.js +16 -0
  60. package/dist/atoms/CtaButton/CtaButton.d.ts +12 -0
  61. package/dist/atoms/CtaButton/CtaButton.js +44 -0
  62. package/dist/atoms/CtaButton/index.d.ts +2 -0
  63. package/dist/atoms/CtaButton/index.js +1 -0
  64. package/dist/atoms/Divider/Divider.d.ts +4 -0
  65. package/dist/atoms/Divider/Divider.js +15 -0
  66. package/dist/atoms/Divider/index.d.ts +1 -0
  67. package/dist/atoms/Divider/index.js +1 -0
  68. package/dist/atoms/Form/Checkbox.d.ts +9 -0
  69. package/dist/atoms/Form/Checkbox.js +44 -0
  70. package/dist/atoms/Form/TermsLabel.d.ts +2 -0
  71. package/dist/atoms/Form/TermsLabel.js +12 -0
  72. package/dist/atoms/Form/TextField.d.ts +7 -0
  73. package/dist/atoms/Form/TextField.js +45 -0
  74. package/dist/atoms/Form/index.d.ts +3 -0
  75. package/dist/atoms/Form/index.js +3 -0
  76. package/dist/atoms/FormatedData/FormatedData.d.ts +4 -0
  77. package/dist/atoms/FormatedData/FormatedData.js +17 -0
  78. package/dist/atoms/FormatedData/index.d.ts +1 -0
  79. package/dist/atoms/FormatedData/index.js +1 -0
  80. package/dist/atoms/Link/Link.d.ts +5 -0
  81. package/dist/atoms/Link/Link.js +59 -0
  82. package/dist/atoms/Link/index.d.ts +2 -0
  83. package/dist/atoms/Link/index.js +2 -0
  84. package/dist/atoms/Map/Map.d.ts +7 -0
  85. package/dist/atoms/Map/Map.js +35 -0
  86. package/dist/atoms/Map/Root.d.ts +6 -0
  87. package/dist/atoms/Map/Root.js +14 -0
  88. package/dist/atoms/Map/index.d.ts +1 -0
  89. package/dist/atoms/Map/index.js +1 -0
  90. package/dist/atoms/Map/types.d.ts +3 -0
  91. package/dist/atoms/Map/types.js +1 -0
  92. package/dist/atoms/Pagination/Pagination.d.ts +9 -0
  93. package/dist/atoms/Pagination/Pagination.js +60 -0
  94. package/dist/atoms/Pagination/index.d.ts +1 -0
  95. package/dist/atoms/Pagination/index.js +1 -0
  96. package/dist/atoms/SvgIcon/SvgIcon.d.ts +31 -0
  97. package/dist/atoms/SvgIcon/SvgIcon.js +65 -0
  98. package/dist/atoms/SvgIcon/index.d.ts +2 -0
  99. package/dist/atoms/SvgIcon/index.js +2 -0
  100. package/dist/atoms/VideoPlayer/VideoPlayer.d.ts +27 -0
  101. package/dist/atoms/VideoPlayer/VideoPlayer.js +146 -0
  102. package/dist/atoms/VideoPlayer/index.d.ts +1 -0
  103. package/dist/atoms/VideoPlayer/index.js +1 -0
  104. package/dist/atoms/exports.d.ts +14 -0
  105. package/dist/atoms/exports.js +14 -0
  106. package/dist/config/i18n.d.ts +5 -0
  107. package/dist/config/i18n.js +5 -0
  108. package/dist/config/index.d.ts +2 -0
  109. package/dist/config/index.js +1 -0
  110. package/dist/config/navigation.d.ts +358 -0
  111. package/dist/config/navigation.js +10 -0
  112. package/dist/exports.d.ts +6 -0
  113. package/dist/exports.js +6 -0
  114. package/dist/molecules/Crumbs/Crumbs.d.ts +12 -0
  115. package/dist/molecules/Crumbs/Crumbs.js +80 -0
  116. package/dist/molecules/Crumbs/index.d.ts +1 -0
  117. package/dist/molecules/Crumbs/index.js +1 -0
  118. package/dist/molecules/LanguageSelector/LanguageSelector.d.ts +5 -0
  119. package/dist/molecules/LanguageSelector/LanguageSelector.js +82 -0
  120. package/dist/molecules/LanguageSelector/index.d.ts +1 -0
  121. package/dist/molecules/LanguageSelector/index.js +1 -0
  122. package/dist/molecules/exports.d.ts +2 -0
  123. package/dist/molecules/exports.js +2 -0
  124. package/dist/types/index.d.ts +5 -0
  125. package/dist/types/index.js +1 -0
  126. package/dist/types/strapi.d.ts +32 -0
  127. package/dist/types/strapi.js +1 -0
  128. package/dist/utils/cmsMediaUrl.d.ts +1 -0
  129. package/dist/utils/cmsMediaUrl.js +5 -0
  130. package/dist/utils/exports.d.ts +2 -0
  131. package/dist/utils/exports.js +2 -0
  132. package/dist/utils/extractUrlFromText.d.ts +1 -0
  133. package/dist/utils/extractUrlFromText.js +11 -0
  134. package/dist/utils/svgFontSizeValues.d.ts +9 -0
  135. package/dist/utils/svgFontSizeValues.js +11 -0
  136. package/package.json +364 -0
@@ -0,0 +1,96 @@
1
+ "use client";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import Box from "@mui/material/Box";
15
+ import Link from "@mui/material/Link";
16
+ import List from "@mui/material/List";
17
+ import ListItem from "@mui/material/ListItem";
18
+ import Paper from "@mui/material/Paper";
19
+ import Typography from "@mui/material/Typography";
20
+ import { BlocksRenderer, } from "@strapi/blocks-react-renderer";
21
+ import slugify from "slugify";
22
+ var generateId = function (children) {
23
+ return slugify(children[0].props.text, {
24
+ lower: true,
25
+ });
26
+ };
27
+ var resetMarginsSx = {
28
+ "&:first-child": {
29
+ mt: 0,
30
+ },
31
+ "&:last-child": {
32
+ mb: 0,
33
+ },
34
+ };
35
+ var CmsRichText = function (_a) {
36
+ var blocks = _a.blocks, _b = _a.globalDisableHeadings, globalDisableHeadings = _b === void 0 ? false : _b, componentProps = _a.componentProps, exclude = _a.exclude;
37
+ if (!blocks)
38
+ return null;
39
+ return (_jsx(Box, { sx: {
40
+ "& > *": { margin: "0px!important" },
41
+ "& .MuiTypography-root:first-child": { pt: 0 },
42
+ "& .MuiTypography-root:last-child": { pb: 0 },
43
+ "& > h2.MuiTypography-h2, & > h3.MuiTypography-h3, & > h4.MuiTypography-h4, & > h5.MuiTypography-h5, & > h6.MuiTypography-h6": { pb: 3 },
44
+ "& > ol.MuiList-root, & > ul.MuiList-root": { pt: 0.5, pb: 3, m: 0 },
45
+ "& > p.MuiTypography-body1": { pb: 2 },
46
+ }, children: _jsx(BlocksRenderer, { content: blocks, blocks: {
47
+ paragraph: function (_a) {
48
+ var _b;
49
+ var children = _a.children;
50
+ if (exclude === null || exclude === void 0 ? void 0 : exclude.includes("p"))
51
+ return null;
52
+ return (_jsx(Typography, __assign({ component: globalDisableHeadings ? "" : "p", variant: "body1", sx: __assign(__assign({ mb: 4 }, (componentProps ? (_b = componentProps["p"]) === null || _b === void 0 ? void 0 : _b.sx : {})), resetMarginsSx) }, (componentProps ? componentProps["p"] : {}), { children: children })));
53
+ },
54
+ heading: function (_a) {
55
+ var _b;
56
+ var children = _a.children, level = _a.level;
57
+ var targetElement = level === 1 ? "h2" : "h".concat(level);
58
+ if (exclude === null || exclude === void 0 ? void 0 : exclude.includes(targetElement))
59
+ return null;
60
+ return (_jsx(Typography, __assign({ component: targetElement, variant: targetElement, sx: __assign(__assign({ mb: 3 }, (componentProps
61
+ ? (_b = componentProps["".concat(targetElement)]) === null || _b === void 0 ? void 0 : _b.sx
62
+ : {})), resetMarginsSx), id: targetElement === "h2" ? generateId(children) : "" }, (componentProps ? componentProps["".concat(targetElement)] : {}), { children: children })));
63
+ },
64
+ code: function (_a) {
65
+ var children = _a.children;
66
+ return (_jsx(Paper, { component: "code", sx: __assign({ p: 1, my: { xs: 3, lg: 6 }, whiteSpace: "pre", display: "block" }, resetMarginsSx), children: children }));
67
+ },
68
+ quote: function (_a) {
69
+ var children = _a.children;
70
+ if (exclude === null || exclude === void 0 ? void 0 : exclude.includes("blockquote"))
71
+ return null;
72
+ return (_jsx(Typography, { variant: "h5", component: "blockquote", sx: __assign({ my: 6, pl: { xs: 2, lg: 3 }, borderLeft: "2px solid", borderColor: "secondary.main" }, resetMarginsSx), children: children }));
73
+ },
74
+ link: function (_a) {
75
+ var children = _a.children, url = _a.url;
76
+ var props = url.startsWith("http")
77
+ ? { rel: "noopener nofollow", target: "_blank" }
78
+ : {};
79
+ return (_jsx(Link, __assign({ href: url }, props, { children: children })));
80
+ },
81
+ list: function (_a) {
82
+ var children = _a.children, format = _a.format;
83
+ if (exclude === null || exclude === void 0 ? void 0 : exclude.includes("list"))
84
+ return null;
85
+ if (!children)
86
+ return null;
87
+ return (_jsx(List, { component: format === "ordered" ? "ol" : "ul", dense: true, sx: __assign({ py: 0, pl: 3, mt: -3, mb: 4, listStyle: format === "ordered" ? "decimal" : "disc", listStylePosition: "outside" }, resetMarginsSx), children: children }));
88
+ },
89
+ "list-item": function (_a) {
90
+ var children = _a.children;
91
+ return (_jsx(ListItem, { sx: { display: "list-item", pl: 1 }, children: children }));
92
+ },
93
+ image: function () { return null; },
94
+ } }) }));
95
+ };
96
+ export default CmsRichText;
@@ -0,0 +1 @@
1
+ export { default as CmsRichText } from "./CmsRichText";
@@ -0,0 +1 @@
1
+ export { default as CmsRichText } from "./CmsRichText";
@@ -0,0 +1,12 @@
1
+ import type { SvgIconOwnProps } from "@mui/material/SvgIcon";
2
+ import { type TooltipProps } from "@mui/material/Tooltip";
3
+ interface CopyToClipboardProps {
4
+ text: string;
5
+ placement?: "top" | "bottom" | "left" | "right";
6
+ iconSize?: SvgIconOwnProps["fontSize"];
7
+ color?: string;
8
+ tooltipProps?: TooltipProps;
9
+ slotProps?: TooltipProps["slotProps"];
10
+ }
11
+ declare const CopyToClipboard: ({ text, placement, iconSize, color, tooltipProps, slotProps, }: CopyToClipboardProps) => import("react/jsx-runtime").JSX.Element;
12
+ export default CopyToClipboard;
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { SvgIcon } from "../SvgIcon";
15
+ import CheckIcon from "@mui/icons-material/Check";
16
+ import Box from "@mui/material/Box";
17
+ import Tooltip from "@mui/material/Tooltip";
18
+ import { svgFontSizeValues } from "@the-story/standard-core/utils/svgFontSizeValues";
19
+ import { useTranslations } from "next-intl";
20
+ import { useCopyToClipboard } from "./useCopyToClipboard";
21
+ var CopyToClipboard = function (_a) {
22
+ var text = _a.text, _b = _a.placement, placement = _b === void 0 ? "top" : _b, _c = _a.iconSize, iconSize = _c === void 0 ? "small" : _c, _d = _a.color, color = _d === void 0 ? "text.primary" : _d, tooltipProps = _a.tooltipProps, slotProps = _a.slotProps;
23
+ var _e = useCopyToClipboard(), copiedText = _e[0], copy = _e[1];
24
+ var t = useTranslations("settings.utils");
25
+ return (_jsx(Tooltip, __assign({}, tooltipProps, { title: copiedText ? t("copySuccess") : t("copyIcon"), placement: placement, onClick: function () { return copy(text); }, slotProps: slotProps, children: _jsx(Box, { sx: {
26
+ display: "flex",
27
+ alignItems: "center",
28
+ justifyContent: "center",
29
+ height: svgFontSizeValues[iconSize] ||
30
+ svgFontSizeValues.small,
31
+ }, children: copiedText ? (_jsx(CheckIcon, { sx: {
32
+ fontSize: iconSize,
33
+ color: color,
34
+ } })) : (_jsx(SvgIcon, { fontSize: iconSize, iconName: "ContentCopy", sx: {
35
+ cursor: "pointer",
36
+ color: color,
37
+ } })) }) })));
38
+ };
39
+ export default CopyToClipboard;
@@ -0,0 +1 @@
1
+ export { default as CopyToClipboard } from "./CopyToClipboard";
@@ -0,0 +1 @@
1
+ export { default as CopyToClipboard } from "./CopyToClipboard";
@@ -0,0 +1,4 @@
1
+ type CopiedValue = string | null;
2
+ type CopyFn = (text: string) => Promise<boolean>;
3
+ export declare function useCopyToClipboard(time?: number): [CopiedValue, CopyFn];
4
+ export {};
@@ -0,0 +1,70 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useCallback, useState } from "react";
38
+ export function useCopyToClipboard(time) {
39
+ var _this = this;
40
+ if (time === void 0) { time = 2500; }
41
+ var _a = useState(null), copiedText = _a[0], setCopiedText = _a[1];
42
+ var copy = useCallback(function (text) { return __awaiter(_this, void 0, void 0, function () {
43
+ var error_1;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ if (!(navigator === null || navigator === void 0 ? void 0 : navigator.clipboard)) {
48
+ console.warn("Clipboard not supported");
49
+ return [2 /*return*/, false];
50
+ }
51
+ _a.label = 1;
52
+ case 1:
53
+ _a.trys.push([1, 3, , 4]);
54
+ return [4 /*yield*/, navigator.clipboard.writeText(text)];
55
+ case 2:
56
+ _a.sent();
57
+ setCopiedText(text);
58
+ setTimeout(function () { return setCopiedText(null); }, time);
59
+ return [2 /*return*/, true];
60
+ case 3:
61
+ error_1 = _a.sent();
62
+ console.warn("Copy failed", error_1);
63
+ setCopiedText(null);
64
+ return [2 /*return*/, false];
65
+ case 4: return [2 /*return*/];
66
+ }
67
+ });
68
+ }); }, [setCopiedText, time]);
69
+ return [copiedText, copy];
70
+ }
@@ -0,0 +1,16 @@
1
+ import { type BoxProps } from "@mui/material/Box";
2
+ import type { ImageResizeOption } from "@the-story/standard-core/types";
3
+ import type { APIString } from "@the-story/standard-core/types";
4
+ interface CroppedImageProps extends BoxProps {
5
+ src: string;
6
+ width?: number;
7
+ height?: number;
8
+ cover?: boolean;
9
+ desktopOnly?: boolean;
10
+ mobileOnly?: boolean;
11
+ alt?: APIString;
12
+ loading?: "lazy" | "eager";
13
+ resizingType?: ImageResizeOption;
14
+ }
15
+ declare const CroppedImage: ({ src, width, height, cover, desktopOnly, mobileOnly, loading, resizingType, sx, ...props }: CroppedImageProps) => import("react/jsx-runtime").JSX.Element;
16
+ export default CroppedImage;
@@ -0,0 +1,65 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import Box from "@mui/material/Box";
25
+ import { constructCroppedImageUrl } from "./utils";
26
+ var CroppedImage = function (_a) {
27
+ var src = _a.src, width = _a.width, height = _a.height, _b = _a.cover, cover = _b === void 0 ? false : _b, _c = _a.desktopOnly, desktopOnly = _c === void 0 ? false : _c, _d = _a.mobileOnly, mobileOnly = _d === void 0 ? false : _d, _e = _a.loading, loading = _e === void 0 ? "lazy" : _e, _f = _a.resizingType, resizingType = _f === void 0 ? "fill" : _f, sx = _a.sx, props = __rest(_a, ["src", "width", "height", "cover", "desktopOnly", "mobileOnly", "loading", "resizingType", "sx"]);
28
+ // eslint-disable-next-line @next/next/no-img-element
29
+ return (_jsx(Box, __assign({ component: "img", loading: loading }, (resizingType !== "fit" && {
30
+ srcSet: "".concat(constructCroppedImageUrl({
31
+ url: src,
32
+ width: width,
33
+ height: height,
34
+ dpr: 2,
35
+ resizingType: resizingType,
36
+ }), " 2x, ").concat(constructCroppedImageUrl({
37
+ url: src,
38
+ width: width,
39
+ height: height,
40
+ dpr: 3,
41
+ resizingType: resizingType,
42
+ }), " 3x"),
43
+ }), { src: constructCroppedImageUrl({
44
+ url: src,
45
+ width: width,
46
+ height: height,
47
+ dpr: 1,
48
+ resizingType: resizingType,
49
+ }) }, (resizingType !== "fit" && { width: width, height: height }), { sx: __assign(__assign(__assign(__assign({ maxWidth: "100%", display: "block", margin: 0, border: 0 }, (cover
50
+ ? {
51
+ objectFit: "cover",
52
+ width: "100%",
53
+ height: "100%",
54
+ }
55
+ : {})), (desktopOnly
56
+ ? {
57
+ display: { xs: "none", lg: "block" },
58
+ }
59
+ : {})), (mobileOnly
60
+ ? {
61
+ display: { xs: "block", lg: "none" },
62
+ }
63
+ : {})), sx) }, props)));
64
+ };
65
+ export default CroppedImage;
@@ -0,0 +1,2 @@
1
+ export { default as CroppedImage } from "./CroppedImage";
2
+ export * from "./utils";
@@ -0,0 +1,2 @@
1
+ export { default as CroppedImage } from "./CroppedImage";
2
+ export * from "./utils";
@@ -0,0 +1,12 @@
1
+ import type { Format } from "@imgproxy/imgproxy-js-core";
2
+ import type { ImageResizeOption } from "@the-story/standard-core/types";
3
+ interface ConstructCroppedImageUrlParams {
4
+ url: string;
5
+ width?: number;
6
+ height?: number;
7
+ dpr?: number;
8
+ resizingType?: ImageResizeOption;
9
+ format?: Format | undefined;
10
+ }
11
+ export declare const constructCroppedImageUrl: ({ url, width, height, dpr, resizingType, format, }: ConstructCroppedImageUrlParams) => string;
12
+ export {};
@@ -0,0 +1,16 @@
1
+ import { generateImageUrl } from "@imgproxy/imgproxy-node";
2
+ export var constructCroppedImageUrl = function (_a) {
3
+ var url = _a.url, width = _a.width, height = _a.height, _b = _a.dpr, dpr = _b === void 0 ? 1 : _b, _c = _a.resizingType, resizingType = _c === void 0 ? "fill" : _c, _d = _a.format, format = _d === void 0 ? "webp" : _d;
4
+ return generateImageUrl({
5
+ endpoint: "".concat(process.env.NEXT_PUBLIC_IMAGE_PROXY, "/"),
6
+ url: url,
7
+ options: {
8
+ resizing_type: resizingType,
9
+ width: width,
10
+ height: height,
11
+ enlarge: resizingType !== "fit",
12
+ format: format,
13
+ dpr: dpr,
14
+ },
15
+ });
16
+ };
@@ -0,0 +1,12 @@
1
+ import type { SxProps } from "@mui/material/styles";
2
+ import type { APINullable, APIString } from "@the-story/standard-core/types";
3
+ export interface CtaButtonProps {
4
+ button?: {
5
+ label?: APIString;
6
+ overline?: APIString;
7
+ url?: APIString;
8
+ sx?: SxProps;
9
+ } | APINullable;
10
+ }
11
+ declare const CtaButton: ({ button }: CtaButtonProps) => APINullable | import("react/jsx-runtime").JSX.Element;
12
+ export default CtaButton;
@@ -0,0 +1,44 @@
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 { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import ArrowForward from "@mui/icons-material/ArrowForward";
14
+ import Box from "@mui/material/Box";
15
+ import Stack from "@mui/material/Stack";
16
+ import Typography from "@mui/material/Typography";
17
+ import { Button } from "@the-story/standard-core/atoms/Button";
18
+ var CtaButton = function (_a) {
19
+ var button = _a.button;
20
+ return button && (_jsx(Box, { sx: __assign({}, button.sx), children: _jsxs(Button, { size: "large", href: button.url || undefined, sx: {
21
+ color: "text.primary",
22
+ width: "fit-content",
23
+ backgroundColor: "secondary.main",
24
+ textTransform: "none",
25
+ display: "flex",
26
+ flexDirection: "column",
27
+ alignItems: "start",
28
+ py: 1,
29
+ px: 2.5,
30
+ fontSize: 15,
31
+ boxShadow: "none",
32
+ "& .arrow": {
33
+ transition: "transform 0.3s",
34
+ },
35
+ "&:hover": {
36
+ backgroundColor: "secondary.dark",
37
+ boxShadow: "none",
38
+ "& .arrow": {
39
+ transform: "translateX(5px)",
40
+ },
41
+ },
42
+ }, children: [button.overline && (_jsx(Typography, { variant: "overline", color: "text.secondary", sx: { display: "block", fontSize: 12 }, children: button.overline })), _jsxs(Stack, { direction: "row", spacing: 2, alignItems: "center", gap: 4, children: [button.label, _jsx(ArrowForward, { className: "arrow", fontSize: "small" })] })] }) }));
43
+ };
44
+ export default CtaButton;
@@ -0,0 +1,2 @@
1
+ export { default as CtaButton } from "./CtaButton";
2
+ export type { CtaButtonProps } from "./CtaButton";
@@ -0,0 +1 @@
1
+ export { default as CtaButton } from "./CtaButton";
@@ -0,0 +1,4 @@
1
+ import { type DividerProps as MuiDividerProps } from "@mui/material/Divider";
2
+ type DividerProps = {} & MuiDividerProps;
3
+ declare const Divider: (props: DividerProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default Divider;
@@ -0,0 +1,15 @@
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 { jsx as _jsx } from "react/jsx-runtime";
13
+ import MuiDivider from "@mui/material/Divider";
14
+ var Divider = function (props) { return (_jsx(MuiDivider, __assign({}, props, { sx: __assign({ backgroundColor: "rgba(0, 0, 0, 0.12)" }, props === null || props === void 0 ? void 0 : props.sx) }))); };
15
+ export default Divider;
@@ -0,0 +1 @@
1
+ export { default as Divider } from "./Divider";
@@ -0,0 +1 @@
1
+ export { default as Divider } from "./Divider";
@@ -0,0 +1,9 @@
1
+ import { type CheckboxProps } from "@mui/material/Checkbox";
2
+ import type { ReactElement } from "react";
3
+ import { type FieldValues, type UseControllerProps } from "react-hook-form";
4
+ interface FormCheckboxProps<T extends FieldValues> extends UseControllerProps<T> {
5
+ label: string | ReactElement;
6
+ muiProps?: Omit<CheckboxProps, "name" | "defaultValue">;
7
+ }
8
+ declare const FormCheckbox: <T extends FieldValues>({ label, name, disabled, control, muiProps, ...controllerProps }: FormCheckboxProps<T>) => import("react/jsx-runtime").JSX.Element;
9
+ export default FormCheckbox;
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
25
+ import Checkbox from "@mui/material/Checkbox";
26
+ import FormControlLabel from "@mui/material/FormControlLabel";
27
+ import { Controller, } from "react-hook-form";
28
+ var FormCheckbox = function (_a) {
29
+ var label = _a.label, name = _a.name, disabled = _a.disabled, control = _a.control, muiProps = _a.muiProps, controllerProps = __rest(_a, ["label", "name", "disabled", "control", "muiProps"]);
30
+ return (_jsx(FormControlLabel, { control: _jsx(Controller, __assign({ name: name, control: control }, controllerProps, { render: function (_a) {
31
+ var _b = _a.field, ref = _b.ref, rest = __rest(_b, ["ref"]), error = _a.fieldState.error;
32
+ return (_jsx(_Fragment, { children: _jsx(Checkbox, __assign({ sx: {
33
+ height: "fit-content",
34
+ mt: -1,
35
+ ml: 1,
36
+ color: !!error ? "error.main" : "text.secondary",
37
+ "& + .MuiTypography-caption": {
38
+ color: !!error ? "error.main" : "text.secondary",
39
+ },
40
+ alignSelf: "flex-start",
41
+ }, checked: !!rest.value, inputRef: ref, disabled: disabled }, rest, muiProps)) }));
42
+ } })), label: label }));
43
+ };
44
+ export default FormCheckbox;
@@ -0,0 +1,2 @@
1
+ declare const TermsLabel: () => import("react/jsx-runtime").JSX.Element;
2
+ export default TermsLabel;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Link } from "../Link";
3
+ import Typography from "@mui/material/Typography";
4
+ import { useTranslations } from "next-intl";
5
+ var TermsLabel = function () {
6
+ var t = useTranslations("contact.form");
7
+ return (_jsx(Typography, { mb: "6px", children: t.rich("terms.label", {
8
+ linkPrivacy: function (chunks) { return (_jsx(Link, { href: "/privacy-policy", sx: { textTransform: "capitalize" }, children: chunks })); },
9
+ linkCookies: function (chunks) { return (_jsx(Link, { href: "/cookies-policy", sx: { textTransform: "capitalize" }, children: chunks })); },
10
+ }) }));
11
+ };
12
+ export default TermsLabel;
@@ -0,0 +1,7 @@
1
+ import { type TextFieldProps as MuiTextFieldProps } from "@mui/material/TextField";
2
+ import { type FieldValues, type UseControllerProps } from "react-hook-form";
3
+ interface TextFieldProps<T extends FieldValues> extends UseControllerProps<T>, Required<Pick<MuiTextFieldProps, "label">> {
4
+ muiProps?: Omit<MuiTextFieldProps, "label" | "name" | "defaultValue" | "disabled">;
5
+ }
6
+ declare const FormTextField: <T extends FieldValues>({ name, disabled, label, control, muiProps, ...ControllerProps }: TextFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
7
+ export default FormTextField;
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import TextField from "@mui/material/TextField";
26
+ import Typography from "@mui/material/Typography";
27
+ import { Controller, } from "react-hook-form";
28
+ var TextFieldError = function (_a) {
29
+ var message = _a.message;
30
+ return (_jsx(Typography, { color: "error", variant: "caption", children: message }));
31
+ };
32
+ var FormTextField = function (_a) {
33
+ var name = _a.name, disabled = _a.disabled, label = _a.label, control = _a.control, muiProps = _a.muiProps, ControllerProps = __rest(_a, ["name", "disabled", "label", "control", "muiProps"]);
34
+ return (_jsx(Controller, __assign({ name: name, control: control }, ControllerProps, { render: function (_a) {
35
+ var _b = _a.field, ref = _b.ref, rest = __rest(_b, ["ref"]), error = _a.fieldState.error;
36
+ return (_jsx(TextField, __assign({ helperText: error ? _jsx(TextFieldError, { message: error.message || "" }) : "", size: "small", label: label, error: !!error, variant: "outlined", inputRef: ref, disabled: disabled, slotProps: {
37
+ inputLabel: {
38
+ sx: {
39
+ color: "text.primary",
40
+ },
41
+ },
42
+ } }, rest, muiProps)));
43
+ } })));
44
+ };
45
+ export default FormTextField;
@@ -0,0 +1,3 @@
1
+ export { default as Checkbox } from "./Checkbox";
2
+ export { default as TextField } from "./TextField";
3
+ export { default as TermsLabel } from "./TermsLabel";
@@ -0,0 +1,3 @@
1
+ export { default as Checkbox } from "./Checkbox";
2
+ export { default as TextField } from "./TextField";
3
+ export { default as TermsLabel } from "./TermsLabel";
@@ -0,0 +1,4 @@
1
+ declare const FormattedDate: ({ value }: {
2
+ value?: Date | string | null;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default FormattedDate;
@@ -0,0 +1,17 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Box from "@mui/material/Box";
3
+ import { useFormatter, useTranslations } from "next-intl";
4
+ var FormattedDate = function (_a) {
5
+ var value = _a.value;
6
+ var t = useTranslations("common");
7
+ var f = useFormatter();
8
+ var formatDate = function () {
9
+ if (value === undefined || value === null)
10
+ return "-";
11
+ return f.dateTime(new Date(value), {
12
+ dateStyle: "medium",
13
+ });
14
+ };
15
+ return (_jsxs(Box, { component: "span", sx: { whiteSpace: "nowrap" }, children: [formatDate(), " ", t("year")] }));
16
+ };
17
+ export default FormattedDate;
@@ -0,0 +1 @@
1
+ export { default as FormatedData } from "./FormatedData";
@@ -0,0 +1 @@
1
+ export { default as FormatedData } from "./FormatedData";
@@ -0,0 +1,5 @@
1
+ import type { LinkProps as MuiLinkProps } from "@mui/material/Link";
2
+ import { type LinkProps as LocalizedLinkProps } from "@the-story/standard-core/config/navigation";
3
+ type LinkType = LocalizedLinkProps & MuiLinkProps;
4
+ declare const Link: ({ children, href, onClick, ...props }: LinkType) => import("react/jsx-runtime").JSX.Element;
5
+ export default Link;