@consumidor-positivo/aurora 0.11.0 → 0.12.0
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.
- package/dist/{BadgeWhite-DwzVEF3U.js → BadgeWhite-CkZPPGmT.js} +43 -42
- package/dist/BadgeWhite-CkZPPGmT.js.map +1 -0
- package/dist/components/AdBox/AdBox.test.d.ts +1 -0
- package/dist/components/AdBox/index.d.ts +7 -0
- package/dist/components/AdBox/index.es.js +22 -0
- package/dist/components/AdBox/index.es.js.map +1 -0
- package/dist/components/AdBox/styles.css +1 -0
- package/dist/components/Alert/index.d.ts +2 -1
- package/dist/components/Alert/index.es.js +9 -4
- package/dist/components/Alert/index.es.js.map +1 -1
- package/dist/components/Alert/styles.css +1 -1
- package/dist/components/BadgeInfo/index.d.ts +2 -1
- package/dist/components/BadgeInfo/index.es.js +4 -3
- package/dist/components/BadgeInfo/index.es.js.map +1 -1
- package/dist/components/BadgeState/index.d.ts +3 -2
- package/dist/components/BadgeState/index.es.js +9 -3
- package/dist/components/BadgeState/index.es.js.map +1 -1
- package/dist/components/BadgeState/styles.css +1 -1
- package/dist/components/Calendar/index.es.js +2 -2
- package/dist/components/CalendarHeader/index.es.js +2 -2
- package/dist/components/Card/Container/index.d.ts +2 -1
- package/dist/components/Card/Emphasis/index.d.ts +2 -1
- package/dist/components/Card/Image/index.d.ts +2 -1
- package/dist/components/Card/Root/index.d.ts +2 -1
- package/dist/components/Card/Tag/index.d.ts +2 -1
- package/dist/components/Card/index.es.js +2 -2
- package/dist/components/Card/index.es.js.map +1 -1
- package/dist/components/Carousel/index.es.js +3 -2
- package/dist/components/Carousel/index.es.js.map +1 -1
- package/dist/components/Checkbox/index.es.js +4 -3
- package/dist/components/Checkbox/index.es.js.map +1 -1
- package/dist/components/Chip/index.d.ts +4 -3
- package/dist/components/Chip/index.es.js +12 -5
- package/dist/components/Chip/index.es.js.map +1 -1
- package/dist/components/Chip/styles.css +1 -1
- package/dist/components/ChipBanner/ChipBanner.test.d.ts +1 -0
- package/dist/components/ChipBanner/index.d.ts +12 -0
- package/dist/components/ChipBanner/index.es.js +99 -0
- package/dist/components/ChipBanner/index.es.js.map +1 -0
- package/dist/components/ChipBanner/styles.css +1 -0
- package/dist/components/Container/index.d.ts +2 -1
- package/dist/components/Container/index.es.js +13 -2
- package/dist/components/Container/index.es.js.map +1 -1
- package/dist/components/Datepicker/index.es.js +3 -3
- package/dist/components/Divider/index.d.ts +6 -0
- package/dist/components/Divider/index.es.js +17 -0
- package/dist/components/Divider/index.es.js.map +1 -0
- package/dist/components/Divider/styles.css +1 -0
- package/dist/components/Drawer/index.d.ts +2 -1
- package/dist/components/Drawer/index.es.js +3 -1
- package/dist/components/Drawer/index.es.js.map +1 -1
- package/dist/components/Emphasis/index.es.js +3 -2
- package/dist/components/Emphasis/index.es.js.map +1 -1
- package/dist/components/Footer/index.d.ts +1 -1
- package/dist/components/Footer/index.es.js +4 -3
- package/dist/components/Footer/index.es.js.map +1 -1
- package/dist/components/Footer/types.d.ts +1 -0
- package/dist/components/Group/index.es.js +3 -2
- package/dist/components/Group/index.es.js.map +1 -1
- package/dist/components/Header/index.es.js +53 -16
- package/dist/components/Header/index.es.js.map +1 -1
- package/dist/components/Header/parts/HeaderActions.d.ts +2 -1
- package/dist/components/Header/parts/HeaderBadges.d.ts +2 -1
- package/dist/components/Header/parts/HeaderButton.d.ts +2 -1
- package/dist/components/Header/parts/HeaderHamburger.d.ts +2 -1
- package/dist/components/Header/parts/HeaderLogo.d.ts +2 -1
- package/dist/components/Header/parts/HeaderNavbar.d.ts +2 -1
- package/dist/components/Header/parts/HeaderNavigation.d.ts +2 -1
- package/dist/components/Header/parts/HeaderProfile.d.ts +2 -1
- package/dist/components/Header/parts/HeaderWrap.d.ts +2 -1
- package/dist/components/Header/types.d.ts +1 -0
- package/dist/components/Icon/index.es.js +3 -1
- package/dist/components/Icon/index.es.js.map +1 -1
- package/dist/components/Image/index.es.js +1 -1
- package/dist/components/Label/index.es.js +1 -1
- package/dist/components/LazyImage/index.d.ts +2 -1
- package/dist/components/LazyImage/index.es.js +4 -2
- package/dist/components/LazyImage/index.es.js.map +1 -1
- package/dist/components/LazyImage/types.d.ts +1 -0
- package/dist/components/Logo/Logo.d.ts +6 -1
- package/dist/components/Logo/ac/BadgeFullWhite.d.ts +2 -1
- package/dist/components/Logo/ac/BadgeWhite.d.ts +2 -1
- package/dist/components/Logo/ac/BadgeWhiteStroke.d.ts +2 -1
- package/dist/components/Logo/ac/BadgeWhiteStrokeDefault.d.ts +2 -1
- package/dist/components/Logo/ac/Badget.d.ts +2 -1
- package/dist/components/Logo/ac/Primary.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryFillWhite.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryFullWhite.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryNegative.d.ts +2 -1
- package/dist/components/Logo/ac/PrimaryWhite.d.ts +2 -1
- package/dist/components/Logo/ac/Tertiary.d.ts +2 -1
- package/dist/components/Logo/ac/TertiaryWhite.d.ts +2 -1
- package/dist/components/Logo/cp/BadgeWhiteStroke.d.ts +2 -1
- package/dist/components/Logo/cp/Badget.d.ts +2 -1
- package/dist/components/Logo/cp/Primary.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryFillWhite.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryFullWhite.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryLogoWhite.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryNegative.d.ts +2 -1
- package/dist/components/Logo/cp/PrimaryWhite.d.ts +2 -1
- package/dist/components/Logo/index.es.js +1 -1
- package/dist/components/Modal/index.d.ts +2 -1
- package/dist/components/Modal/index.es.js +3 -1
- package/dist/components/Modal/index.es.js.map +1 -1
- package/dist/components/NavbarVertical/index.d.ts +4 -2
- package/dist/components/NavbarVertical/index.es.js +6 -3
- package/dist/components/NavbarVertical/index.es.js.map +1 -1
- package/dist/components/NotificationsBar/index.d.ts +9 -6
- package/dist/components/NotificationsBar/index.es.js +21 -9
- package/dist/components/NotificationsBar/index.es.js.map +1 -1
- package/dist/components/PartnerBanner/PartnerBanner.test.d.ts +1 -0
- package/dist/components/PartnerBanner/index.d.ts +11 -0
- package/dist/components/PartnerBanner/index.es.js +45 -0
- package/dist/components/PartnerBanner/index.es.js.map +1 -0
- package/dist/components/PartnerBanner/styles.css +1 -0
- package/dist/components/PortalHolder/index.es.js +1 -1
- package/dist/components/ProfileNav/index.d.ts +2 -1
- package/dist/components/ProfileNav/index.es.js +6 -2
- package/dist/components/ProfileNav/index.es.js.map +1 -1
- package/dist/components/ProgressBar/index.d.ts +1 -0
- package/dist/components/ProgressBar/index.es.js +3 -1
- package/dist/components/ProgressBar/index.es.js.map +1 -1
- package/dist/components/Prototype/Carousel/index.d.ts +1 -1
- package/dist/components/Prototype/Carousel/types.d.ts +1 -0
- package/dist/components/Pure/index.es.js +3 -2
- package/dist/components/Pure/index.es.js.map +1 -1
- package/dist/components/Segment/index.es.js +1 -1
- package/dist/components/SelectField/index.es.js +4 -2
- package/dist/components/SelectField/index.es.js.map +1 -1
- package/dist/components/SelectField/styles.css +1 -1
- package/dist/components/Skeleton/Skeleton.stories.d.ts +2 -0
- package/dist/components/Skeleton/index.d.ts +2 -1
- package/dist/components/Skeleton/index.es.js +3 -2
- package/dist/components/Skeleton/index.es.js.map +1 -1
- package/dist/components/Spinner/index.d.ts +1 -0
- package/dist/components/Spinner/index.es.js +6 -1
- package/dist/components/Spinner/index.es.js.map +1 -1
- package/dist/components/SubHeader/index.d.ts +2 -1
- package/dist/components/SubHeader/index.es.js +3 -1
- package/dist/components/SubHeader/index.es.js.map +1 -1
- package/dist/components/Switch/Card/types.d.ts +1 -0
- package/dist/components/Switch/Pure/types.d.ts +1 -0
- package/dist/components/Tabs/index.d.ts +2 -1
- package/dist/components/Tabs/index.es.js +4 -2
- package/dist/components/Tabs/index.es.js.map +1 -1
- package/dist/components/Tabs/styles.css +1 -1
- package/dist/components/Tag/index.d.ts +2 -1
- package/dist/components/Tag/index.es.js +4 -3
- package/dist/components/Tag/index.es.js.map +1 -1
- package/dist/components/Text/styles.css +1 -1
- package/dist/components/Text/types.d.ts +1 -1
- package/dist/components/TokenField/index.es.js +3 -2
- package/dist/components/TokenField/index.es.js.map +1 -1
- package/dist/components/Tooltip/index.d.ts +2 -1
- package/dist/components/Tooltip/index.es.js +3 -2
- package/dist/components/Tooltip/index.es.js.map +1 -1
- package/dist/components/Transition/Transition.test.d.ts +1 -0
- package/dist/components/Transition/hooks.d.ts +11 -0
- package/dist/components/Transition/index.d.ts +11 -0
- package/dist/components/Transition/index.es.js +131 -0
- package/dist/components/Transition/index.es.js.map +1 -0
- package/dist/components/Transition/styles.css +1 -0
- package/dist/components/dataTestId.test.d.ts +1 -0
- package/dist/components/default/index.es.js +4 -0
- package/dist/components/default/index.es.js.map +1 -1
- package/dist/components/form/Checkbox/Group/index.d.ts +1 -1
- package/dist/components/form/Checkbox/types.d.ts +1 -0
- package/dist/components/form/Radio/Group/index.d.ts +1 -1
- package/dist/components/form/Radio/types.d.ts +1 -0
- package/dist/components/form/SelectField/index.d.ts +1 -1
- package/dist/components/form/SelectField/types.d.ts +1 -0
- package/dist/components/form/TokenField/index.d.ts +2 -1
- package/dist/components/icons/Icon.d.ts +1 -0
- package/dist/components/icons/IconCollapseClose/index.es.js +16 -0
- package/dist/components/icons/IconCollapseClose/index.es.js.map +1 -0
- package/dist/components/icons/IconCollapseOpen/index.es.js +16 -0
- package/dist/components/icons/IconCollapseOpen/index.es.js.map +1 -0
- package/dist/components/icons/default/IconCollapseClose.d.ts +2 -0
- package/dist/components/icons/default/IconCollapseOpen.d.ts +2 -0
- package/dist/components/icons/default/index.d.ts +2 -0
- package/dist/components/icons/index.es.js +4 -0
- package/dist/components/icons/index.es.js.map +1 -1
- package/dist/{index-NIxlEyxx.js → index-CnXw6SB7.js} +3 -3
- package/dist/{index-NIxlEyxx.js.map → index-CnXw6SB7.js.map} +1 -1
- package/dist/{index-vsYzka4t.js → index-Dws33tXs.js} +2 -2
- package/dist/{index-vsYzka4t.js.map → index-Dws33tXs.js.map} +1 -1
- package/dist/{index-BvQw_Wgb.js → index-fyDB87KK.js} +2 -2
- package/dist/{index-BvQw_Wgb.js.map → index-fyDB87KK.js.map} +1 -1
- package/dist/main.d.ts +6 -1
- package/dist/main.es.js +76 -52
- package/dist/main.es.js.map +1 -1
- package/dist/{tokens-eEtvWiuX.js → tokens-CKZdIZ5O.js} +44 -44
- package/dist/{tokens-eEtvWiuX.js.map → tokens-CKZdIZ5O.js.map} +1 -1
- package/package.json +1 -1
- package/dist/BadgeWhite-DwzVEF3U.js.map +0 -1
|
@@ -5,7 +5,8 @@ import './styles.css';const Tooltip = ({
|
|
|
5
5
|
text,
|
|
6
6
|
position = "top",
|
|
7
7
|
open,
|
|
8
|
-
children
|
|
8
|
+
children,
|
|
9
|
+
"data-testid": dataTestId
|
|
9
10
|
}) => {
|
|
10
11
|
const tooltipId = useId();
|
|
11
12
|
const tooltipClasses = classNames(
|
|
@@ -15,7 +16,7 @@ import './styles.css';const Tooltip = ({
|
|
|
15
16
|
"tooltip-open": open
|
|
16
17
|
}
|
|
17
18
|
);
|
|
18
|
-
return /* @__PURE__ */ jsxs("div", { className: tooltipClasses, "aria-describedby": tooltipId, children: [
|
|
19
|
+
return /* @__PURE__ */ jsxs("div", { className: tooltipClasses, "aria-describedby": tooltipId, "data-testid": dataTestId, children: [
|
|
19
20
|
children,
|
|
20
21
|
/* @__PURE__ */ jsx("div", { id: tooltipId, className: "tooltip", role: "tooltip", children: text })
|
|
21
22
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Tooltip/index.tsx"],"sourcesContent":["import { useId } from 'react'\nimport classNames from 'classnames'\nimport './styles.scss'\n\nexport type TooltipProps = {\n text: string\n position?: 'top' | 'bottom' | 'left' | 'right'\n open?: boolean\n children: React.ReactNode\n}\n\nexport const Tooltip = ({\n text,\n position = 'top',\n open,\n children,\n}: TooltipProps) => {\n const tooltipId = useId()\n\n const tooltipClasses = classNames(\n 'tooltip-container',\n `tooltip-${position}`,\n {\n 'tooltip-open': open,\n },\n )\n\n return (\n <div className={tooltipClasses} aria-describedby={tooltipId}>\n {children}\n <div id={tooltipId} className=\"tooltip\" role=\"tooltip\">{text}</div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Tooltip/index.tsx"],"sourcesContent":["import { useId } from 'react'\nimport classNames from 'classnames'\nimport './styles.scss'\n\nexport type TooltipProps = {\n text: string\n position?: 'top' | 'bottom' | 'left' | 'right'\n open?: boolean\n children: React.ReactNode\n 'data-testid'?: string\n}\n\nexport const Tooltip = ({\n text,\n position = 'top',\n open,\n children,\n 'data-testid': dataTestId,\n}: TooltipProps) => {\n const tooltipId = useId()\n\n const tooltipClasses = classNames(\n 'tooltip-container',\n `tooltip-${position}`,\n {\n 'tooltip-open': open,\n },\n )\n\n return (\n <div className={tooltipClasses} aria-describedby={tooltipId} data-testid={dataTestId}>\n {children}\n <div id={tooltipId} className=\"tooltip\" role=\"tooltip\">{text}</div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;AAYO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAoB;AAClB,QAAM,YAAY,MAAA;AAElB,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB;AAAA,MACE,gBAAgB;AAAA,IAAA;AAAA,EAClB;AAGF,8BACG,OAAA,EAAI,WAAW,gBAAgB,oBAAkB,WAAW,eAAa,YACvE,UAAA;AAAA,IAAA;AAAA,IACD,oBAAC,SAAI,IAAI,WAAW,WAAU,WAAU,MAAK,WAAW,UAAA,KAAA,CAAK;AAAA,EAAA,GAC/D;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type UseTransitionProps = {
|
|
2
|
+
totalMessages: number;
|
|
3
|
+
messageDuration: number;
|
|
4
|
+
isLoading?: boolean;
|
|
5
|
+
onFinish?: () => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const useTransition: ({ totalMessages, messageDuration, isLoading, onFinish, }: UseTransitionProps) => {
|
|
8
|
+
currentStep: number;
|
|
9
|
+
progress: number;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type TransitionAlign = 'left' | 'center';
|
|
2
|
+
export type TransitionProps = {
|
|
3
|
+
messages: string[];
|
|
4
|
+
messageDuration?: number;
|
|
5
|
+
align?: TransitionAlign;
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
onFinish?: () => void;
|
|
8
|
+
className?: string;
|
|
9
|
+
'data-testid'?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const Transition: ({ messages, messageDuration, align, isLoading, onFinish, className, "data-testid": dataTestId, }: TransitionProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { c as classNames } from "../../index-C6Q03EyZ.js";
|
|
3
|
+
import { Text } from "../Text/index.es.js";
|
|
4
|
+
import { useState, useRef, useEffect } from "react";
|
|
5
|
+
import './styles.css';const useTransition = ({
|
|
6
|
+
totalMessages,
|
|
7
|
+
messageDuration,
|
|
8
|
+
isLoading,
|
|
9
|
+
onFinish
|
|
10
|
+
}) => {
|
|
11
|
+
const [currentStep, setCurrentStep] = useState(0);
|
|
12
|
+
const [mounted, setMounted] = useState(false);
|
|
13
|
+
const hasFinished = useRef(false);
|
|
14
|
+
const onFinishRef = useRef(onFinish);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
onFinishRef.current = onFinish;
|
|
17
|
+
}, [onFinish]);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
setMounted(true);
|
|
20
|
+
}, []);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
setCurrentStep(0);
|
|
23
|
+
hasFinished.current = false;
|
|
24
|
+
}, [totalMessages, messageDuration]);
|
|
25
|
+
const isLast = currentStep >= totalMessages - 1;
|
|
26
|
+
const holdIndex = Math.max(0, totalMessages - 2);
|
|
27
|
+
const shouldHold = isLoading === true && currentStep >= holdIndex;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (isLast || shouldHold) return;
|
|
30
|
+
const timer = setTimeout(() => {
|
|
31
|
+
setCurrentStep((step) => Math.min(step + 1, totalMessages - 1));
|
|
32
|
+
}, messageDuration);
|
|
33
|
+
return () => clearTimeout(timer);
|
|
34
|
+
}, [currentStep, shouldHold, isLast, messageDuration, totalMessages]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (!isLast || hasFinished.current) return;
|
|
37
|
+
hasFinished.current = true;
|
|
38
|
+
const timer = setTimeout(() => {
|
|
39
|
+
var _a;
|
|
40
|
+
(_a = onFinishRef.current) == null ? void 0 : _a.call(onFinishRef);
|
|
41
|
+
}, messageDuration);
|
|
42
|
+
return () => clearTimeout(timer);
|
|
43
|
+
}, [isLast, messageDuration]);
|
|
44
|
+
const progress = mounted && totalMessages > 0 ? (currentStep + 1) / totalMessages * 100 : 0;
|
|
45
|
+
return { currentStep, progress };
|
|
46
|
+
};
|
|
47
|
+
const Transition = ({
|
|
48
|
+
messages,
|
|
49
|
+
messageDuration = 2e3,
|
|
50
|
+
align = "left",
|
|
51
|
+
isLoading,
|
|
52
|
+
onFinish,
|
|
53
|
+
className,
|
|
54
|
+
"data-testid": dataTestId
|
|
55
|
+
}) => {
|
|
56
|
+
const { currentStep, progress } = useTransition({
|
|
57
|
+
totalMessages: messages.length,
|
|
58
|
+
messageDuration,
|
|
59
|
+
isLoading,
|
|
60
|
+
onFinish
|
|
61
|
+
});
|
|
62
|
+
const currentMessage = messages[currentStep] ?? "";
|
|
63
|
+
const previousMessage = currentStep > 0 ? messages[currentStep - 1] : null;
|
|
64
|
+
return /* @__PURE__ */ jsxs(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
className: classNames(
|
|
68
|
+
"au-transition",
|
|
69
|
+
`au-transition--align-${align}`,
|
|
70
|
+
className
|
|
71
|
+
),
|
|
72
|
+
"data-testid": dataTestId,
|
|
73
|
+
children: [
|
|
74
|
+
/* @__PURE__ */ jsxs("div", { className: "au-transition__messages", children: [
|
|
75
|
+
/* @__PURE__ */ jsx(
|
|
76
|
+
Text,
|
|
77
|
+
{
|
|
78
|
+
as: "p",
|
|
79
|
+
variant: "heading-medium",
|
|
80
|
+
weight: "semibold",
|
|
81
|
+
"aria-hidden": "true",
|
|
82
|
+
className: classNames(
|
|
83
|
+
"au-transition__message",
|
|
84
|
+
"au-transition__message--previous",
|
|
85
|
+
{ "au-transition__message--hidden": !previousMessage }
|
|
86
|
+
),
|
|
87
|
+
children: previousMessage || " "
|
|
88
|
+
}
|
|
89
|
+
),
|
|
90
|
+
/* @__PURE__ */ jsx(
|
|
91
|
+
Text,
|
|
92
|
+
{
|
|
93
|
+
as: "p",
|
|
94
|
+
variant: "heading-medium",
|
|
95
|
+
weight: "semibold",
|
|
96
|
+
"aria-live": "polite",
|
|
97
|
+
className: "au-transition__message au-transition__message--current",
|
|
98
|
+
children: currentMessage
|
|
99
|
+
},
|
|
100
|
+
currentStep
|
|
101
|
+
)
|
|
102
|
+
] }),
|
|
103
|
+
/* @__PURE__ */ jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
className: "au-transition__bar",
|
|
107
|
+
role: "progressbar",
|
|
108
|
+
"aria-valuenow": Math.round(progress),
|
|
109
|
+
"aria-valuemin": 0,
|
|
110
|
+
"aria-valuemax": 100,
|
|
111
|
+
"aria-label": currentMessage,
|
|
112
|
+
children: /* @__PURE__ */ jsx(
|
|
113
|
+
"div",
|
|
114
|
+
{
|
|
115
|
+
className: "au-transition__bar-filled",
|
|
116
|
+
style: {
|
|
117
|
+
width: `${progress}%`,
|
|
118
|
+
transitionDuration: `${messageDuration}ms`
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
};
|
|
128
|
+
export {
|
|
129
|
+
Transition
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../lib/components/Transition/hooks.ts","../../../lib/components/Transition/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\ntype UseTransitionProps = {\n totalMessages: number\n messageDuration: number\n isLoading?: boolean\n onFinish?: () => void\n}\n\nexport const useTransition = ({\n totalMessages,\n messageDuration,\n isLoading,\n onFinish,\n}: UseTransitionProps) => {\n const [currentStep, setCurrentStep] = useState(0)\n const [mounted, setMounted] = useState(false)\n const hasFinished = useRef(false)\n const onFinishRef = useRef(onFinish)\n\n useEffect(() => {\n onFinishRef.current = onFinish\n }, [onFinish])\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n useEffect(() => {\n setCurrentStep(0)\n hasFinished.current = false\n }, [totalMessages, messageDuration])\n\n const isLast = currentStep >= totalMessages - 1\n const holdIndex = Math.max(0, totalMessages - 2)\n const shouldHold = isLoading === true && currentStep >= holdIndex\n\n useEffect(() => {\n if (isLast || shouldHold) return\n\n const timer = setTimeout(() => {\n setCurrentStep((step) => Math.min(step + 1, totalMessages - 1))\n }, messageDuration)\n\n return () => clearTimeout(timer)\n }, [currentStep, shouldHold, isLast, messageDuration, totalMessages])\n\n useEffect(() => {\n if (!isLast || hasFinished.current) return\n hasFinished.current = true\n\n const timer = setTimeout(() => {\n onFinishRef.current?.()\n }, messageDuration)\n\n return () => clearTimeout(timer)\n }, [isLast, messageDuration])\n\n const progress =\n mounted && totalMessages > 0 ? ((currentStep + 1) / totalMessages) * 100 : 0\n\n return { currentStep, progress }\n}\n","import classNames from 'classnames'\nimport { Text } from '@components/Text'\nimport { useTransition } from './hooks'\nimport './styles.scss'\n\nexport type TransitionAlign = 'left' | 'center'\n\nexport type TransitionProps = {\n messages: string[]\n messageDuration?: number\n align?: TransitionAlign\n isLoading?: boolean\n onFinish?: () => void\n className?: string\n 'data-testid'?: string\n}\n\nexport const Transition = ({\n messages,\n messageDuration = 2000,\n align = 'left',\n isLoading,\n onFinish,\n className,\n 'data-testid': dataTestId,\n}: TransitionProps) => {\n const { currentStep, progress } = useTransition({\n totalMessages: messages.length,\n messageDuration,\n isLoading,\n onFinish,\n })\n\n const currentMessage = messages[currentStep] ?? ''\n const previousMessage = currentStep > 0 ? messages[currentStep - 1] : null\n\n return (\n <div\n className={classNames(\n 'au-transition',\n `au-transition--align-${align}`,\n className,\n )}\n data-testid={dataTestId}>\n <div className=\"au-transition__messages\">\n <Text\n as=\"p\"\n variant=\"heading-medium\"\n weight=\"semibold\"\n aria-hidden=\"true\"\n className={classNames(\n 'au-transition__message',\n 'au-transition__message--previous',\n { 'au-transition__message--hidden': !previousMessage },\n )}>\n {previousMessage || ' '}\n </Text>\n\n <Text\n key={currentStep}\n as=\"p\"\n variant=\"heading-medium\"\n weight=\"semibold\"\n aria-live=\"polite\"\n className=\"au-transition__message au-transition__message--current\">\n {currentMessage}\n </Text>\n </div>\n\n <div\n className=\"au-transition__bar\"\n role=\"progressbar\"\n aria-valuenow={Math.round(progress)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={currentMessage}>\n <div\n className=\"au-transition__bar-filled\"\n style={{\n width: `${progress}%`,\n transitionDuration: `${messageDuration}ms`,\n }}\n />\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.au-transition{display:flex;flex-direction:column;gap:24px;width:100%}.au-transition--align-left{align-items:flex-start;text-align:start}.au-transition--align-center{align-items:center;text-align:center}.au-transition__messages{display:flex;flex-direction:column;gap:8px;width:100%}.au-transition__message{transition:opacity .3s ease}.au-transition__message--previous.au-text{color:#f6f7fa}.au-transition__message--hidden{opacity:0}.au-transition__message--current{animation:au-transition-fade-in .5s ease}.au-transition__bar{background-color:#e2e4e9;border-radius:4px;overflow:hidden;width:100%;height:8px}@media(min-width:1024px){.au-transition__bar{width:416px}}.au-transition__bar-filled{background-color:#0048db;border-radius:500px;height:100%;transition-property:width;transition-timing-function:linear}@keyframes au-transition-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.au-transition .au-transition__message--current{animation:none}.au-transition .au-transition__bar-filled{transition:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -74,6 +74,8 @@ import { IconCodepen } from "../icons/IconCodepen/index.es.js";
|
|
|
74
74
|
import { IconCodesandbox } from "../icons/IconCodesandbox/index.es.js";
|
|
75
75
|
import { IconCoffee } from "../icons/IconCoffee/index.es.js";
|
|
76
76
|
import { IconCoin } from "../icons/IconCoin/index.es.js";
|
|
77
|
+
import { IconCollapseClose } from "../icons/IconCollapseClose/index.es.js";
|
|
78
|
+
import { IconCollapseOpen } from "../icons/IconCollapseOpen/index.es.js";
|
|
77
79
|
import { IconColumns } from "../icons/IconColumns/index.es.js";
|
|
78
80
|
import { IconCommand } from "../icons/IconCommand/index.es.js";
|
|
79
81
|
import { IconCompass } from "../icons/IconCompass/index.es.js";
|
|
@@ -399,6 +401,8 @@ export {
|
|
|
399
401
|
IconCodesandbox,
|
|
400
402
|
IconCoffee,
|
|
401
403
|
IconCoin,
|
|
404
|
+
IconCollapseClose,
|
|
405
|
+
IconCollapseOpen,
|
|
402
406
|
IconColumns,
|
|
403
407
|
IconCommand,
|
|
404
408
|
IconCompass,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CheckboxGroupProps } from '../types';
|
|
2
|
-
export declare const CheckboxGroup: ({ name, defaultValue, orientation, label, error, errorMessage, required, children, onChange, onFocus, }: CheckboxGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const CheckboxGroup: ({ name, defaultValue, orientation, label, error, errorMessage, required, children, onChange, onFocus, "data-testid": dataTestId, }: CheckboxGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { RadioGroupProps } from '../types';
|
|
2
|
-
export declare const RadioGroup: ({ name, defaultValue, orientation, label, error, errorMessage, required, children, onChange, onFocus, }: RadioGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const RadioGroup: ({ name, defaultValue, orientation, label, error, errorMessage, required, children, onChange, onFocus, "data-testid": dataTestId, }: RadioGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SelectFieldProps } from './types';
|
|
2
|
-
export declare const SelectField: ({ label, options, showOptionalLabel, error, errorMessage, helpMessage, disabled, required, value, onChange, style, className, placeholder, name, register, onBlur, autocomplete, EmptyText, fullScreenOptions, htmlType }: SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const SelectField: ({ label, options, showOptionalLabel, error, errorMessage, helpMessage, disabled, required, value, onChange, style, className, placeholder, name, register, onBlur, autocomplete, EmptyText, fullScreenOptions, htmlType, "data-testid": dataTestId, }: SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -13,6 +13,7 @@ type TokenFieldProps = {
|
|
|
13
13
|
onChangeTimer?: () => void;
|
|
14
14
|
onComplete?: (value: string) => void;
|
|
15
15
|
onChange?: (value: string) => void;
|
|
16
|
+
'data-testid'?: string;
|
|
16
17
|
};
|
|
17
|
-
export declare const TokenField: ({ label, disabled, success, error, errorMessage, helpMessage, showOptionalLabel, size, type, style, timer, onChangeTimer, onComplete, onChange, }: TokenFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare const TokenField: ({ label, disabled, success, error, errorMessage, helpMessage, showOptionalLabel, size, type, style, timer, onChangeTimer, onComplete, onChange, "data-testid": dataTestId, }: TokenFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
19
|
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import Icon from "../../Icon/index.es.js";
|
|
3
|
+
function IconCollapseClose(props) {
|
|
4
|
+
return /* @__PURE__ */ jsx(
|
|
5
|
+
Icon,
|
|
6
|
+
{
|
|
7
|
+
markup: "<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_18137_14983)'><path d='M9.39387 13.2563C9.7286 12.9146 10.2715 12.9146 10.6062 13.2563L15.7491 18.5062C16.0836 18.8479 16.0837 19.4022 15.7491 19.7438C15.4144 20.0855 14.8714 20.0853 14.5367 19.7438L9.99956 15.1122L5.46343 19.7438C5.12877 20.0855 4.5858 20.0853 4.25105 19.7438C3.91632 19.4021 3.91632 18.8479 4.25105 18.5062L9.39387 13.2563Z' fill='currentColor'/><path d='M14.5367 0.256278C14.8714 -0.0854261 15.4143 -0.0854261 15.7491 0.256278C16.0836 0.598002 16.0837 1.15228 15.7491 1.49391L10.6062 6.74384C10.2716 7.08546 9.72862 7.08531 9.39387 6.74384L4.25105 1.49391C3.91632 1.1522 3.91632 0.597982 4.25105 0.256278C4.58578 -0.0854261 5.1287 -0.0854261 5.46343 0.256278L9.99956 4.88688L14.5367 0.256278Z' fill='currentColor'/></g><defs><clipPath id='clip0_18137_14983'><rect width='20' height='20' fill='white'/></clipPath></defs></svg>",
|
|
8
|
+
name: "IconCollapseClose",
|
|
9
|
+
...props
|
|
10
|
+
}
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
IconCollapseClose
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../../lib/components/icons/default/IconCollapseClose.tsx"],"sourcesContent":["\n// This file is generated automatically\n// To edit see the file lib/tasks/generateIcons.js\nimport Icon, { IconProps } from \"../Icon\";\n\nexport function IconCollapseClose(props: IconProps) {\n return (\n <Icon\n markup={\"<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_18137_14983)'><path d='M9.39387 13.2563C9.7286 12.9146 10.2715 12.9146 10.6062 13.2563L15.7491 18.5062C16.0836 18.8479 16.0837 19.4022 15.7491 19.7438C15.4144 20.0855 14.8714 20.0853 14.5367 19.7438L9.99956 15.1122L5.46343 19.7438C5.12877 20.0855 4.5858 20.0853 4.25105 19.7438C3.91632 19.4021 3.91632 18.8479 4.25105 18.5062L9.39387 13.2563Z' fill='currentColor'/><path d='M14.5367 0.256278C14.8714 -0.0854261 15.4143 -0.0854261 15.7491 0.256278C16.0836 0.598002 16.0837 1.15228 15.7491 1.49391L10.6062 6.74384C10.2716 7.08546 9.72862 7.08531 9.39387 6.74384L4.25105 1.49391C3.91632 1.1522 3.91632 0.597982 4.25105 0.256278C4.58578 -0.0854261 5.1287 -0.0854261 5.46343 0.256278L9.99956 4.88688L14.5367 0.256278Z' fill='currentColor'/></g><defs><clipPath id='clip0_18137_14983'><rect width='20' height='20' fill='white'/></clipPath></defs></svg>\"}\n name=\"IconCollapseClose\"\n {...props}\n />\n );\n}\n\n"],"names":[],"mappings":";;AAKO,SAAS,kBAAkB,OAAkB;AAClD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,MAAK;AAAA,MACJ,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import Icon from "../../Icon/index.es.js";
|
|
3
|
+
function IconCollapseOpen(props) {
|
|
4
|
+
return /* @__PURE__ */ jsx(
|
|
5
|
+
Icon,
|
|
6
|
+
{
|
|
7
|
+
markup: "<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_18137_14984)'><path d='M9.39387 0.256278C9.7286 -0.0854261 10.2715 -0.0854261 10.6062 0.256278L15.7491 5.50621C16.0836 5.84793 16.0837 6.40222 15.7491 6.74384C15.4144 7.08547 14.8714 7.08531 14.5367 6.74384L9.99956 2.11221L5.46343 6.74384C5.12877 7.08547 4.5858 7.08531 4.25105 6.74384C3.91632 6.40214 3.91632 5.84791 4.25105 5.50621L9.39387 0.256278Z' fill='currentColor'/><path d='M14.5367 13.2563C14.8714 12.9146 15.4143 12.9146 15.7491 13.2563C16.0836 13.598 16.0837 14.1523 15.7491 14.4939L10.6062 19.7438C10.2716 20.0855 9.72862 20.0853 9.39387 19.7438L4.25105 14.4939C3.91632 14.1522 3.91632 13.598 4.25105 13.2563C4.58578 12.9146 5.1287 12.9146 5.46343 13.2563L9.99956 17.8869L14.5367 13.2563Z' fill='currentColor'/></g><defs><clipPath id='clip0_18137_14984'><rect width='20' height='20' fill='white'/></clipPath></defs></svg>",
|
|
8
|
+
name: "IconCollapseOpen",
|
|
9
|
+
...props
|
|
10
|
+
}
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
IconCollapseOpen
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=index.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../../../lib/components/icons/default/IconCollapseOpen.tsx"],"sourcesContent":["\n// This file is generated automatically\n// To edit see the file lib/tasks/generateIcons.js\nimport Icon, { IconProps } from \"../Icon\";\n\nexport function IconCollapseOpen(props: IconProps) {\n return (\n <Icon\n markup={\"<svg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_18137_14984)'><path d='M9.39387 0.256278C9.7286 -0.0854261 10.2715 -0.0854261 10.6062 0.256278L15.7491 5.50621C16.0836 5.84793 16.0837 6.40222 15.7491 6.74384C15.4144 7.08547 14.8714 7.08531 14.5367 6.74384L9.99956 2.11221L5.46343 6.74384C5.12877 7.08547 4.5858 7.08531 4.25105 6.74384C3.91632 6.40214 3.91632 5.84791 4.25105 5.50621L9.39387 0.256278Z' fill='currentColor'/><path d='M14.5367 13.2563C14.8714 12.9146 15.4143 12.9146 15.7491 13.2563C16.0836 13.598 16.0837 14.1523 15.7491 14.4939L10.6062 19.7438C10.2716 20.0855 9.72862 20.0853 9.39387 19.7438L4.25105 14.4939C3.91632 14.1522 3.91632 13.598 4.25105 13.2563C4.58578 12.9146 5.1287 12.9146 5.46343 13.2563L9.99956 17.8869L14.5367 13.2563Z' fill='currentColor'/></g><defs><clipPath id='clip0_18137_14984'><rect width='20' height='20' fill='white'/></clipPath></defs></svg>\"}\n name=\"IconCollapseOpen\"\n {...props}\n />\n );\n}\n\n"],"names":[],"mappings":";;AAKO,SAAS,iBAAiB,OAAkB;AACjD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,MAAK;AAAA,MACJ,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -74,6 +74,8 @@ export { IconCodepen } from './IconCodepen';
|
|
|
74
74
|
export { IconCodesandbox } from './IconCodesandbox';
|
|
75
75
|
export { IconCoffee } from './IconCoffee';
|
|
76
76
|
export { IconCoin } from './IconCoin';
|
|
77
|
+
export { IconCollapseClose } from './IconCollapseClose';
|
|
78
|
+
export { IconCollapseOpen } from './IconCollapseOpen';
|
|
77
79
|
export { IconColumns } from './IconColumns';
|
|
78
80
|
export { IconCommand } from './IconCommand';
|
|
79
81
|
export { IconCompass } from './IconCompass';
|
|
@@ -74,6 +74,8 @@ import { IconCodepen } from "./IconCodepen/index.es.js";
|
|
|
74
74
|
import { IconCodesandbox } from "./IconCodesandbox/index.es.js";
|
|
75
75
|
import { IconCoffee } from "./IconCoffee/index.es.js";
|
|
76
76
|
import { IconCoin } from "./IconCoin/index.es.js";
|
|
77
|
+
import { IconCollapseClose } from "./IconCollapseClose/index.es.js";
|
|
78
|
+
import { IconCollapseOpen } from "./IconCollapseOpen/index.es.js";
|
|
77
79
|
import { IconColumns } from "./IconColumns/index.es.js";
|
|
78
80
|
import { IconCommand } from "./IconCommand/index.es.js";
|
|
79
81
|
import { IconCompass } from "./IconCompass/index.es.js";
|
|
@@ -400,6 +402,8 @@ export {
|
|
|
400
402
|
IconCodesandbox,
|
|
401
403
|
IconCoffee,
|
|
402
404
|
IconCoin,
|
|
405
|
+
IconCollapseClose,
|
|
406
|
+
IconCollapseOpen,
|
|
403
407
|
IconColumns,
|
|
404
408
|
IconCommand,
|
|
405
409
|
IconCompass,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { c as classNames } from "./index-C6Q03EyZ.js";
|
|
3
|
-
import { $ as $2aaf608024c21ca1$export$99faa760c7908e4f, a as $6f9a1820b787aac7$export$e1aef45b828286de, C as CalendarHeader, b as $6f9a1820b787aac7$export$5bd780d491cfc46c, c as $6f9a1820b787aac7$export$22e2d15eaa4d2377, d as $6f9a1820b787aac7$export$ad2135cac3a11b3d, e as $6f9a1820b787aac7$export$e11f8ba65d857bff, f as $6f9a1820b787aac7$export$5d847498420df57b } from "./index-
|
|
3
|
+
import { $ as $2aaf608024c21ca1$export$99faa760c7908e4f, a as $6f9a1820b787aac7$export$e1aef45b828286de, C as CalendarHeader, b as $6f9a1820b787aac7$export$5bd780d491cfc46c, c as $6f9a1820b787aac7$export$22e2d15eaa4d2377, d as $6f9a1820b787aac7$export$ad2135cac3a11b3d, e as $6f9a1820b787aac7$export$e11f8ba65d857bff, f as $6f9a1820b787aac7$export$5d847498420df57b } from "./index-Dws33tXs.js";
|
|
4
4
|
import { Button } from "./components/Button/index.es.js";
|
|
5
5
|
import { PortalHolder } from "./components/PortalHolder/index.es.js";
|
|
6
6
|
import { useRef, useState, useEffect } from "react";
|
|
7
|
-
import { B as BREAKPOINT_MD } from "./tokens-eEtvWiuX.js";
|
|
8
7
|
import { a as above } from "./screen-DfYo7XQ_.js";
|
|
8
|
+
import { B as BREAKPOINT_MD } from "./tokens-CKZdIZ5O.js";
|
|
9
9
|
import './components/index/styles2.css';const DDMMYYYY = {
|
|
10
10
|
placeholder: "DD/MM/YYYY",
|
|
11
11
|
/** Apply DD/MM/YYYY to a field text while typing */
|
|
@@ -238,4 +238,4 @@ export {
|
|
|
238
238
|
DatepickerCalendar as a,
|
|
239
239
|
getDefaultDate as g
|
|
240
240
|
};
|
|
241
|
-
//# sourceMappingURL=index-
|
|
241
|
+
//# sourceMappingURL=index-CnXw6SB7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-NIxlEyxx.js","sources":["../lib/components/form/Datepicker/helpers.ts","../lib/components/form/Datepicker/Calendar/hook.ts","../lib/components/form/Datepicker/Calendar/index.tsx"],"sourcesContent":["import { AUCalendarDateShape, DefaultValue, FormatAdapter } from './types'\n\n/**\n * This adapter Handle the input format and convert to a more\n * universal structure, that can be used accross all subcomponents in the datepicker.\n * if we need to support another format like dd-mm-yyyy, we only need to create another adapter\n * following this model\n */\nexport const DDMMYYYY: FormatAdapter = {\n placeholder: 'DD/MM/YYYY',\n /** Apply DD/MM/YYYY to a field text while typing */\n maskDate(dateStr) {\n let fmtInputDate = dateStr\n fmtInputDate = fmtInputDate.replace(/\\D/g, '') // Remove non-numeric characters\n\n if (fmtInputDate.length > 2) {\n fmtInputDate = `${fmtInputDate.slice(0, 2)}/${fmtInputDate.slice(2)}`\n }\n if (fmtInputDate.length > 5) {\n fmtInputDate = `${fmtInputDate.slice(0, 5)}/${fmtInputDate.slice(5)}`\n }\n return fmtInputDate\n },\n /** Check if a string is on DD/MM/YYYY Format */\n validateFormat(dateStr) {\n const pattern = /^\\d{2}\\/\\d{2}\\/\\d{4}$/\n return pattern.test(dateStr)\n },\n /** Covert a DD/MM/YYYY to the datepicker date structure */\n toCalendarDate(dateStr): AUCalendarDateShape {\n const [day, month, year] = dateStr.split('/').map(Number)\n return AUCalendarDate(day, month, year)\n },\n /** Covert a Date in the datepicker structure into a DD/MM/YYYY string */\n toString(dateObj: AUCalendarDateShape): string {\n const fmtNumber = (digit: number) =>\n String(digit).length === 1 ? `0${digit}` : String(digit)\n const { day, month, year } = dateObj\n\n return `${fmtNumber(day)}/${fmtNumber(month)}/${year}`\n },\n /** Check if a DD/MM/YYYY is a valid date */\n validate(dateStr, minValue, maxValue): boolean {\n const [day, month, year] = dateStr.split('/').map(Number)\n const date = new Date(year, month - 1, day)\n const isOlderThanMinDate =\n !!minValue &&\n date < new Date(minValue.year, minValue.month - 1, minValue.day)\n\n const exceedsMaxDate =\n !!maxValue &&\n date > new Date(maxValue.year, maxValue.month - 1, maxValue.day)\n\n return (\n date.getDate() === day &&\n date.getMonth() + 1 === month &&\n date.getFullYear() === year &&\n !isOlderThanMinDate &&\n !exceedsMaxDate\n )\n },\n}\n\nexport function AUCalendarDate(\n day: number,\n month: number,\n year: number,\n): AUCalendarDateShape {\n return {\n day,\n month,\n year,\n }\n}\n\nexport function getDefaultDate(\n defaultDateProp: DefaultValue,\n): AUCalendarDateShape | null {\n if (defaultDateProp == 'empty') return null\n if (defaultDateProp === 'now') {\n const now = new Date()\n return AUCalendarDate(now.getDate(), now.getMonth() + 1, now.getFullYear())\n }\n\n return defaultDateProp\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { CalendarDate } from '@internationalized/date'\nimport { BREAKPOINT_MD } from '@core/tokens'\nimport { above } from '@core/utils/screen'\nimport { AUCalendarDate } from '../helpers'\nimport { AUCalendarDateShape } from '../types'\n\ntype UseCalendarProps = {\n minValue: AUCalendarDateShape\n maxValue: AUCalendarDateShape\n value?: AUCalendarDateShape | null\n isVisible: boolean\n onClose: () => void\n onChange: (date: AUCalendarDateShape) => void\n}\n\nexport function useCalendar({\n onChange,\n onClose,\n minValue,\n maxValue,\n value,\n isVisible,\n}: UseCalendarProps) {\n const rootEl = useRef<HTMLDivElement>(null)\n const [enteredAnimation, setEnteredAnimation] = useState(false)\n const [calendarInternalState, setCalendarInternalState] =\n useState<CalendarDate>()\n\n const [delayedIsVisible, setDelayedIsVisible] = useState(false)\n\n const usedMinValue = new CalendarDate(\n minValue.year,\n minValue.month,\n minValue.day,\n )\n const usedMaxValue = new CalendarDate(\n maxValue.year,\n maxValue.month,\n maxValue.day,\n )\n\n useEffect(() => {\n if (!value) return\n const { day, month, year } = value\n setCalendarInternalState(new CalendarDate(year, month, day))\n }, [value])\n\n useEffect(() => {\n if (isVisible) {\n setDelayedIsVisible(true)\n return delayComponentMount()\n } else {\n return delayComponentUnmount()\n }\n }, [isVisible])\n\n function delayComponentMount(delayTime = 100) {\n const t = setTimeout(() => {\n setEnteredAnimation(true)\n }, delayTime)\n\n return () => {\n clearTimeout(t)\n }\n }\n\n function delayComponentUnmount(delayTime = 200) {\n setEnteredAnimation(false)\n const timoutToUnmount = setTimeout(() => {\n setDelayedIsVisible(false)\n }, delayTime)\n\n return () => {\n clearTimeout(timoutToUnmount)\n }\n }\n\n function fmtWeekday(day: string) {\n const capitalized = `${day.charAt(0).toUpperCase()}${day.slice(1)}`\n return capitalized.replace('.', '')\n }\n\n function triggerChange(date: CalendarDate) {\n const { day, month, year } = date\n onChange(AUCalendarDate(day, month, year))\n onClose()\n }\n\n function calendarChange(date: CalendarDate) {\n setCalendarInternalState(date)\n if (!above(BREAKPOINT_MD)) return\n triggerChange(date)\n }\n\n function actionChange() {\n if (calendarInternalState) {\n triggerChange(calendarInternalState)\n }\n }\n\n return {\n actionChange,\n calendarChange,\n fmtWeekday,\n usedMaxValue,\n usedMinValue,\n rootEl,\n calendarInternalState,\n enteredAnimation,\n delayedIsVisible,\n }\n}\n","import classNames from 'classnames'\nimport {\n Calendar,\n CalendarCell,\n CalendarGrid,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCell,\n} from 'react-aria-components'\nimport { Button } from '@components/Button'\nimport { CalendarHeader } from '../CalendarHeader'\nimport { PortalHolder } from '../PortalHolder'\n\n\nimport { AUCalendarDateShape } from '../types'\nimport { useCalendar } from './hook'\nimport './styles.scss'\n\ntype DatepickerCalendarProps = {\n withPortal?: boolean\n minValue: AUCalendarDateShape\n maxValue: AUCalendarDateShape\n value?: AUCalendarDateShape | null\n onClose: () => void\n onChange: (date: AUCalendarDateShape) => void\n isVisible: boolean\n}\n\nexport const DatepickerCalendar = ({\n onClose,\n withPortal,\n minValue,\n maxValue,\n value,\n onChange,\n isVisible,\n}: DatepickerCalendarProps) => {\n const {\n rootEl,\n usedMaxValue,\n usedMinValue,\n calendarInternalState,\n calendarChange,\n fmtWeekday,\n actionChange,\n enteredAnimation,\n delayedIsVisible,\n } = useCalendar({\n onChange,\n onClose,\n minValue,\n maxValue,\n value,\n isVisible,\n })\n\n const componentClass = classNames('au-datepicker__calendar', {\n 'au-datepicker__calendar--visible': enteredAnimation,\n })\n\n if (!delayedIsVisible) return\n\n return (\n <PortalHolder withPortal={withPortal}>\n <div className={componentClass} ref={rootEl}>\n <div className=\"au-datepicker__calendar-backdrop\" onClick={onClose} />\n <div className=\"au-datepicker__calendar-card\">\n <Calendar\n autoFocus\n className=\"au-datepicker__calendar-base\"\n minValue={usedMinValue}\n maxValue={usedMaxValue}\n value={calendarInternalState}\n onChange={calendarChange}>\n <CalendarHeader defaultFocusDate={calendarInternalState} />\n <CalendarGrid\n className=\"au-datepicker__calendar-grid\"\n weekdayStyle=\"short\">\n <CalendarGridHeader>\n {(day) => (\n <CalendarHeaderCell className=\"au-datepicker__calendar-weekday\">\n {fmtWeekday(day)}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => (\n <CalendarCell\n className=\"au-datepicker__calendar-day\"\n date={date}\n />\n )}\n </CalendarGridBody>\n </CalendarGrid>\n </Calendar>\n <div className=\"au-datepicker__calendar-actions-dock\">\n <Button\n type=\"outlined\"\n className=\"au-datepicker__calendar-cancel\"\n expand=\"x\"\n onClick={onClose}>\n Cancelar\n </Button>\n <Button\n disabled={!calendarInternalState}\n onClick={actionChange}\n expand=\"x\">\n Confirmar\n </Button>\n </div>\n </div>\n </div>\n </PortalHolder>\n )\n}\n"],"names":["CalendarDate","Calendar","CalendarGrid","CalendarGridHeader","CalendarHeaderCell","CalendarGridBody","CalendarCell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-CnXw6SB7.js","sources":["../lib/components/form/Datepicker/helpers.ts","../lib/components/form/Datepicker/Calendar/hook.ts","../lib/components/form/Datepicker/Calendar/index.tsx"],"sourcesContent":["import { AUCalendarDateShape, DefaultValue, FormatAdapter } from './types'\n\n/**\n * This adapter Handle the input format and convert to a more\n * universal structure, that can be used accross all subcomponents in the datepicker.\n * if we need to support another format like dd-mm-yyyy, we only need to create another adapter\n * following this model\n */\nexport const DDMMYYYY: FormatAdapter = {\n placeholder: 'DD/MM/YYYY',\n /** Apply DD/MM/YYYY to a field text while typing */\n maskDate(dateStr) {\n let fmtInputDate = dateStr\n fmtInputDate = fmtInputDate.replace(/\\D/g, '') // Remove non-numeric characters\n\n if (fmtInputDate.length > 2) {\n fmtInputDate = `${fmtInputDate.slice(0, 2)}/${fmtInputDate.slice(2)}`\n }\n if (fmtInputDate.length > 5) {\n fmtInputDate = `${fmtInputDate.slice(0, 5)}/${fmtInputDate.slice(5)}`\n }\n return fmtInputDate\n },\n /** Check if a string is on DD/MM/YYYY Format */\n validateFormat(dateStr) {\n const pattern = /^\\d{2}\\/\\d{2}\\/\\d{4}$/\n return pattern.test(dateStr)\n },\n /** Covert a DD/MM/YYYY to the datepicker date structure */\n toCalendarDate(dateStr): AUCalendarDateShape {\n const [day, month, year] = dateStr.split('/').map(Number)\n return AUCalendarDate(day, month, year)\n },\n /** Covert a Date in the datepicker structure into a DD/MM/YYYY string */\n toString(dateObj: AUCalendarDateShape): string {\n const fmtNumber = (digit: number) =>\n String(digit).length === 1 ? `0${digit}` : String(digit)\n const { day, month, year } = dateObj\n\n return `${fmtNumber(day)}/${fmtNumber(month)}/${year}`\n },\n /** Check if a DD/MM/YYYY is a valid date */\n validate(dateStr, minValue, maxValue): boolean {\n const [day, month, year] = dateStr.split('/').map(Number)\n const date = new Date(year, month - 1, day)\n const isOlderThanMinDate =\n !!minValue &&\n date < new Date(minValue.year, minValue.month - 1, minValue.day)\n\n const exceedsMaxDate =\n !!maxValue &&\n date > new Date(maxValue.year, maxValue.month - 1, maxValue.day)\n\n return (\n date.getDate() === day &&\n date.getMonth() + 1 === month &&\n date.getFullYear() === year &&\n !isOlderThanMinDate &&\n !exceedsMaxDate\n )\n },\n}\n\nexport function AUCalendarDate(\n day: number,\n month: number,\n year: number,\n): AUCalendarDateShape {\n return {\n day,\n month,\n year,\n }\n}\n\nexport function getDefaultDate(\n defaultDateProp: DefaultValue,\n): AUCalendarDateShape | null {\n if (defaultDateProp == 'empty') return null\n if (defaultDateProp === 'now') {\n const now = new Date()\n return AUCalendarDate(now.getDate(), now.getMonth() + 1, now.getFullYear())\n }\n\n return defaultDateProp\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { CalendarDate } from '@internationalized/date'\nimport { BREAKPOINT_MD } from '@core/tokens'\nimport { above } from '@core/utils/screen'\nimport { AUCalendarDate } from '../helpers'\nimport { AUCalendarDateShape } from '../types'\n\ntype UseCalendarProps = {\n minValue: AUCalendarDateShape\n maxValue: AUCalendarDateShape\n value?: AUCalendarDateShape | null\n isVisible: boolean\n onClose: () => void\n onChange: (date: AUCalendarDateShape) => void\n}\n\nexport function useCalendar({\n onChange,\n onClose,\n minValue,\n maxValue,\n value,\n isVisible,\n}: UseCalendarProps) {\n const rootEl = useRef<HTMLDivElement>(null)\n const [enteredAnimation, setEnteredAnimation] = useState(false)\n const [calendarInternalState, setCalendarInternalState] =\n useState<CalendarDate>()\n\n const [delayedIsVisible, setDelayedIsVisible] = useState(false)\n\n const usedMinValue = new CalendarDate(\n minValue.year,\n minValue.month,\n minValue.day,\n )\n const usedMaxValue = new CalendarDate(\n maxValue.year,\n maxValue.month,\n maxValue.day,\n )\n\n useEffect(() => {\n if (!value) return\n const { day, month, year } = value\n setCalendarInternalState(new CalendarDate(year, month, day))\n }, [value])\n\n useEffect(() => {\n if (isVisible) {\n setDelayedIsVisible(true)\n return delayComponentMount()\n } else {\n return delayComponentUnmount()\n }\n }, [isVisible])\n\n function delayComponentMount(delayTime = 100) {\n const t = setTimeout(() => {\n setEnteredAnimation(true)\n }, delayTime)\n\n return () => {\n clearTimeout(t)\n }\n }\n\n function delayComponentUnmount(delayTime = 200) {\n setEnteredAnimation(false)\n const timoutToUnmount = setTimeout(() => {\n setDelayedIsVisible(false)\n }, delayTime)\n\n return () => {\n clearTimeout(timoutToUnmount)\n }\n }\n\n function fmtWeekday(day: string) {\n const capitalized = `${day.charAt(0).toUpperCase()}${day.slice(1)}`\n return capitalized.replace('.', '')\n }\n\n function triggerChange(date: CalendarDate) {\n const { day, month, year } = date\n onChange(AUCalendarDate(day, month, year))\n onClose()\n }\n\n function calendarChange(date: CalendarDate) {\n setCalendarInternalState(date)\n if (!above(BREAKPOINT_MD)) return\n triggerChange(date)\n }\n\n function actionChange() {\n if (calendarInternalState) {\n triggerChange(calendarInternalState)\n }\n }\n\n return {\n actionChange,\n calendarChange,\n fmtWeekday,\n usedMaxValue,\n usedMinValue,\n rootEl,\n calendarInternalState,\n enteredAnimation,\n delayedIsVisible,\n }\n}\n","import classNames from 'classnames'\nimport {\n Calendar,\n CalendarCell,\n CalendarGrid,\n CalendarGridBody,\n CalendarGridHeader,\n CalendarHeaderCell,\n} from 'react-aria-components'\nimport { Button } from '@components/Button'\nimport { CalendarHeader } from '../CalendarHeader'\nimport { PortalHolder } from '../PortalHolder'\n\n\nimport { AUCalendarDateShape } from '../types'\nimport { useCalendar } from './hook'\nimport './styles.scss'\n\ntype DatepickerCalendarProps = {\n withPortal?: boolean\n minValue: AUCalendarDateShape\n maxValue: AUCalendarDateShape\n value?: AUCalendarDateShape | null\n onClose: () => void\n onChange: (date: AUCalendarDateShape) => void\n isVisible: boolean\n}\n\nexport const DatepickerCalendar = ({\n onClose,\n withPortal,\n minValue,\n maxValue,\n value,\n onChange,\n isVisible,\n}: DatepickerCalendarProps) => {\n const {\n rootEl,\n usedMaxValue,\n usedMinValue,\n calendarInternalState,\n calendarChange,\n fmtWeekday,\n actionChange,\n enteredAnimation,\n delayedIsVisible,\n } = useCalendar({\n onChange,\n onClose,\n minValue,\n maxValue,\n value,\n isVisible,\n })\n\n const componentClass = classNames('au-datepicker__calendar', {\n 'au-datepicker__calendar--visible': enteredAnimation,\n })\n\n if (!delayedIsVisible) return\n\n return (\n <PortalHolder withPortal={withPortal}>\n <div className={componentClass} ref={rootEl}>\n <div className=\"au-datepicker__calendar-backdrop\" onClick={onClose} />\n <div className=\"au-datepicker__calendar-card\">\n <Calendar\n autoFocus\n className=\"au-datepicker__calendar-base\"\n minValue={usedMinValue}\n maxValue={usedMaxValue}\n value={calendarInternalState}\n onChange={calendarChange}>\n <CalendarHeader defaultFocusDate={calendarInternalState} />\n <CalendarGrid\n className=\"au-datepicker__calendar-grid\"\n weekdayStyle=\"short\">\n <CalendarGridHeader>\n {(day) => (\n <CalendarHeaderCell className=\"au-datepicker__calendar-weekday\">\n {fmtWeekday(day)}\n </CalendarHeaderCell>\n )}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => (\n <CalendarCell\n className=\"au-datepicker__calendar-day\"\n date={date}\n />\n )}\n </CalendarGridBody>\n </CalendarGrid>\n </Calendar>\n <div className=\"au-datepicker__calendar-actions-dock\">\n <Button\n type=\"outlined\"\n className=\"au-datepicker__calendar-cancel\"\n expand=\"x\"\n onClick={onClose}>\n Cancelar\n </Button>\n <Button\n disabled={!calendarInternalState}\n onClick={actionChange}\n expand=\"x\">\n Confirmar\n </Button>\n </div>\n </div>\n </div>\n </PortalHolder>\n )\n}\n"],"names":["CalendarDate","Calendar","CalendarGrid","CalendarGridHeader","CalendarHeaderCell","CalendarGridBody","CalendarCell"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import "./index-C6Q03EyZ.js";
|
|
|
11
11
|
import "./components/Icon/index.es.js";
|
|
12
12
|
import { IconChevronLeft } from "./components/icons/IconChevronLeft/index.es.js";
|
|
13
13
|
import { IconChevronRight } from "./components/icons/IconChevronRight/index.es.js";
|
|
14
|
-
import { S as Segment } from "./index-
|
|
14
|
+
import { S as Segment } from "./index-fyDB87KK.js";
|
|
15
15
|
import $8WNJc$react__default, { useContext, useState, useRef, useCallback, useEffect, useMemo, forwardRef, useReducer, createContext } from "react";
|
|
16
16
|
import { flushSync } from "react-dom";
|
|
17
17
|
function $a4e76a5424781910$export$e08e3b67e392101e(...callbacks) {
|
|
@@ -6282,4 +6282,4 @@ export {
|
|
|
6282
6282
|
$6f9a1820b787aac7$export$e11f8ba65d857bff as e,
|
|
6283
6283
|
$6f9a1820b787aac7$export$5d847498420df57b as f
|
|
6284
6284
|
};
|
|
6285
|
-
//# sourceMappingURL=index-
|
|
6285
|
+
//# sourceMappingURL=index-Dws33tXs.js.map
|