@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.
Files changed (195) hide show
  1. package/dist/{BadgeWhite-DwzVEF3U.js → BadgeWhite-CkZPPGmT.js} +43 -42
  2. package/dist/BadgeWhite-CkZPPGmT.js.map +1 -0
  3. package/dist/components/AdBox/AdBox.test.d.ts +1 -0
  4. package/dist/components/AdBox/index.d.ts +7 -0
  5. package/dist/components/AdBox/index.es.js +22 -0
  6. package/dist/components/AdBox/index.es.js.map +1 -0
  7. package/dist/components/AdBox/styles.css +1 -0
  8. package/dist/components/Alert/index.d.ts +2 -1
  9. package/dist/components/Alert/index.es.js +9 -4
  10. package/dist/components/Alert/index.es.js.map +1 -1
  11. package/dist/components/Alert/styles.css +1 -1
  12. package/dist/components/BadgeInfo/index.d.ts +2 -1
  13. package/dist/components/BadgeInfo/index.es.js +4 -3
  14. package/dist/components/BadgeInfo/index.es.js.map +1 -1
  15. package/dist/components/BadgeState/index.d.ts +3 -2
  16. package/dist/components/BadgeState/index.es.js +9 -3
  17. package/dist/components/BadgeState/index.es.js.map +1 -1
  18. package/dist/components/BadgeState/styles.css +1 -1
  19. package/dist/components/Calendar/index.es.js +2 -2
  20. package/dist/components/CalendarHeader/index.es.js +2 -2
  21. package/dist/components/Card/Container/index.d.ts +2 -1
  22. package/dist/components/Card/Emphasis/index.d.ts +2 -1
  23. package/dist/components/Card/Image/index.d.ts +2 -1
  24. package/dist/components/Card/Root/index.d.ts +2 -1
  25. package/dist/components/Card/Tag/index.d.ts +2 -1
  26. package/dist/components/Card/index.es.js +2 -2
  27. package/dist/components/Card/index.es.js.map +1 -1
  28. package/dist/components/Carousel/index.es.js +3 -2
  29. package/dist/components/Carousel/index.es.js.map +1 -1
  30. package/dist/components/Checkbox/index.es.js +4 -3
  31. package/dist/components/Checkbox/index.es.js.map +1 -1
  32. package/dist/components/Chip/index.d.ts +4 -3
  33. package/dist/components/Chip/index.es.js +12 -5
  34. package/dist/components/Chip/index.es.js.map +1 -1
  35. package/dist/components/Chip/styles.css +1 -1
  36. package/dist/components/ChipBanner/ChipBanner.test.d.ts +1 -0
  37. package/dist/components/ChipBanner/index.d.ts +12 -0
  38. package/dist/components/ChipBanner/index.es.js +99 -0
  39. package/dist/components/ChipBanner/index.es.js.map +1 -0
  40. package/dist/components/ChipBanner/styles.css +1 -0
  41. package/dist/components/Container/index.d.ts +2 -1
  42. package/dist/components/Container/index.es.js +13 -2
  43. package/dist/components/Container/index.es.js.map +1 -1
  44. package/dist/components/Datepicker/index.es.js +3 -3
  45. package/dist/components/Divider/index.d.ts +6 -0
  46. package/dist/components/Divider/index.es.js +17 -0
  47. package/dist/components/Divider/index.es.js.map +1 -0
  48. package/dist/components/Divider/styles.css +1 -0
  49. package/dist/components/Drawer/index.d.ts +2 -1
  50. package/dist/components/Drawer/index.es.js +3 -1
  51. package/dist/components/Drawer/index.es.js.map +1 -1
  52. package/dist/components/Emphasis/index.es.js +3 -2
  53. package/dist/components/Emphasis/index.es.js.map +1 -1
  54. package/dist/components/Footer/index.d.ts +1 -1
  55. package/dist/components/Footer/index.es.js +4 -3
  56. package/dist/components/Footer/index.es.js.map +1 -1
  57. package/dist/components/Footer/types.d.ts +1 -0
  58. package/dist/components/Group/index.es.js +3 -2
  59. package/dist/components/Group/index.es.js.map +1 -1
  60. package/dist/components/Header/index.es.js +53 -16
  61. package/dist/components/Header/index.es.js.map +1 -1
  62. package/dist/components/Header/parts/HeaderActions.d.ts +2 -1
  63. package/dist/components/Header/parts/HeaderBadges.d.ts +2 -1
  64. package/dist/components/Header/parts/HeaderButton.d.ts +2 -1
  65. package/dist/components/Header/parts/HeaderHamburger.d.ts +2 -1
  66. package/dist/components/Header/parts/HeaderLogo.d.ts +2 -1
  67. package/dist/components/Header/parts/HeaderNavbar.d.ts +2 -1
  68. package/dist/components/Header/parts/HeaderNavigation.d.ts +2 -1
  69. package/dist/components/Header/parts/HeaderProfile.d.ts +2 -1
  70. package/dist/components/Header/parts/HeaderWrap.d.ts +2 -1
  71. package/dist/components/Header/types.d.ts +1 -0
  72. package/dist/components/Icon/index.es.js +3 -1
  73. package/dist/components/Icon/index.es.js.map +1 -1
  74. package/dist/components/Image/index.es.js +1 -1
  75. package/dist/components/Label/index.es.js +1 -1
  76. package/dist/components/LazyImage/index.d.ts +2 -1
  77. package/dist/components/LazyImage/index.es.js +4 -2
  78. package/dist/components/LazyImage/index.es.js.map +1 -1
  79. package/dist/components/LazyImage/types.d.ts +1 -0
  80. package/dist/components/Logo/Logo.d.ts +6 -1
  81. package/dist/components/Logo/ac/BadgeFullWhite.d.ts +2 -1
  82. package/dist/components/Logo/ac/BadgeWhite.d.ts +2 -1
  83. package/dist/components/Logo/ac/BadgeWhiteStroke.d.ts +2 -1
  84. package/dist/components/Logo/ac/BadgeWhiteStrokeDefault.d.ts +2 -1
  85. package/dist/components/Logo/ac/Badget.d.ts +2 -1
  86. package/dist/components/Logo/ac/Primary.d.ts +2 -1
  87. package/dist/components/Logo/ac/PrimaryFillWhite.d.ts +2 -1
  88. package/dist/components/Logo/ac/PrimaryFullWhite.d.ts +2 -1
  89. package/dist/components/Logo/ac/PrimaryNegative.d.ts +2 -1
  90. package/dist/components/Logo/ac/PrimaryWhite.d.ts +2 -1
  91. package/dist/components/Logo/ac/Tertiary.d.ts +2 -1
  92. package/dist/components/Logo/ac/TertiaryWhite.d.ts +2 -1
  93. package/dist/components/Logo/cp/BadgeWhiteStroke.d.ts +2 -1
  94. package/dist/components/Logo/cp/Badget.d.ts +2 -1
  95. package/dist/components/Logo/cp/Primary.d.ts +2 -1
  96. package/dist/components/Logo/cp/PrimaryFillWhite.d.ts +2 -1
  97. package/dist/components/Logo/cp/PrimaryFullWhite.d.ts +2 -1
  98. package/dist/components/Logo/cp/PrimaryLogoWhite.d.ts +2 -1
  99. package/dist/components/Logo/cp/PrimaryNegative.d.ts +2 -1
  100. package/dist/components/Logo/cp/PrimaryWhite.d.ts +2 -1
  101. package/dist/components/Logo/index.es.js +1 -1
  102. package/dist/components/Modal/index.d.ts +2 -1
  103. package/dist/components/Modal/index.es.js +3 -1
  104. package/dist/components/Modal/index.es.js.map +1 -1
  105. package/dist/components/NavbarVertical/index.d.ts +4 -2
  106. package/dist/components/NavbarVertical/index.es.js +6 -3
  107. package/dist/components/NavbarVertical/index.es.js.map +1 -1
  108. package/dist/components/NotificationsBar/index.d.ts +9 -6
  109. package/dist/components/NotificationsBar/index.es.js +21 -9
  110. package/dist/components/NotificationsBar/index.es.js.map +1 -1
  111. package/dist/components/PartnerBanner/PartnerBanner.test.d.ts +1 -0
  112. package/dist/components/PartnerBanner/index.d.ts +11 -0
  113. package/dist/components/PartnerBanner/index.es.js +45 -0
  114. package/dist/components/PartnerBanner/index.es.js.map +1 -0
  115. package/dist/components/PartnerBanner/styles.css +1 -0
  116. package/dist/components/PortalHolder/index.es.js +1 -1
  117. package/dist/components/ProfileNav/index.d.ts +2 -1
  118. package/dist/components/ProfileNav/index.es.js +6 -2
  119. package/dist/components/ProfileNav/index.es.js.map +1 -1
  120. package/dist/components/ProgressBar/index.d.ts +1 -0
  121. package/dist/components/ProgressBar/index.es.js +3 -1
  122. package/dist/components/ProgressBar/index.es.js.map +1 -1
  123. package/dist/components/Prototype/Carousel/index.d.ts +1 -1
  124. package/dist/components/Prototype/Carousel/types.d.ts +1 -0
  125. package/dist/components/Pure/index.es.js +3 -2
  126. package/dist/components/Pure/index.es.js.map +1 -1
  127. package/dist/components/Segment/index.es.js +1 -1
  128. package/dist/components/SelectField/index.es.js +4 -2
  129. package/dist/components/SelectField/index.es.js.map +1 -1
  130. package/dist/components/SelectField/styles.css +1 -1
  131. package/dist/components/Skeleton/Skeleton.stories.d.ts +2 -0
  132. package/dist/components/Skeleton/index.d.ts +2 -1
  133. package/dist/components/Skeleton/index.es.js +3 -2
  134. package/dist/components/Skeleton/index.es.js.map +1 -1
  135. package/dist/components/Spinner/index.d.ts +1 -0
  136. package/dist/components/Spinner/index.es.js +6 -1
  137. package/dist/components/Spinner/index.es.js.map +1 -1
  138. package/dist/components/SubHeader/index.d.ts +2 -1
  139. package/dist/components/SubHeader/index.es.js +3 -1
  140. package/dist/components/SubHeader/index.es.js.map +1 -1
  141. package/dist/components/Switch/Card/types.d.ts +1 -0
  142. package/dist/components/Switch/Pure/types.d.ts +1 -0
  143. package/dist/components/Tabs/index.d.ts +2 -1
  144. package/dist/components/Tabs/index.es.js +4 -2
  145. package/dist/components/Tabs/index.es.js.map +1 -1
  146. package/dist/components/Tabs/styles.css +1 -1
  147. package/dist/components/Tag/index.d.ts +2 -1
  148. package/dist/components/Tag/index.es.js +4 -3
  149. package/dist/components/Tag/index.es.js.map +1 -1
  150. package/dist/components/Text/styles.css +1 -1
  151. package/dist/components/Text/types.d.ts +1 -1
  152. package/dist/components/TokenField/index.es.js +3 -2
  153. package/dist/components/TokenField/index.es.js.map +1 -1
  154. package/dist/components/Tooltip/index.d.ts +2 -1
  155. package/dist/components/Tooltip/index.es.js +3 -2
  156. package/dist/components/Tooltip/index.es.js.map +1 -1
  157. package/dist/components/Transition/Transition.test.d.ts +1 -0
  158. package/dist/components/Transition/hooks.d.ts +11 -0
  159. package/dist/components/Transition/index.d.ts +11 -0
  160. package/dist/components/Transition/index.es.js +131 -0
  161. package/dist/components/Transition/index.es.js.map +1 -0
  162. package/dist/components/Transition/styles.css +1 -0
  163. package/dist/components/dataTestId.test.d.ts +1 -0
  164. package/dist/components/default/index.es.js +4 -0
  165. package/dist/components/default/index.es.js.map +1 -1
  166. package/dist/components/form/Checkbox/Group/index.d.ts +1 -1
  167. package/dist/components/form/Checkbox/types.d.ts +1 -0
  168. package/dist/components/form/Radio/Group/index.d.ts +1 -1
  169. package/dist/components/form/Radio/types.d.ts +1 -0
  170. package/dist/components/form/SelectField/index.d.ts +1 -1
  171. package/dist/components/form/SelectField/types.d.ts +1 -0
  172. package/dist/components/form/TokenField/index.d.ts +2 -1
  173. package/dist/components/icons/Icon.d.ts +1 -0
  174. package/dist/components/icons/IconCollapseClose/index.es.js +16 -0
  175. package/dist/components/icons/IconCollapseClose/index.es.js.map +1 -0
  176. package/dist/components/icons/IconCollapseOpen/index.es.js +16 -0
  177. package/dist/components/icons/IconCollapseOpen/index.es.js.map +1 -0
  178. package/dist/components/icons/default/IconCollapseClose.d.ts +2 -0
  179. package/dist/components/icons/default/IconCollapseOpen.d.ts +2 -0
  180. package/dist/components/icons/default/index.d.ts +2 -0
  181. package/dist/components/icons/index.es.js +4 -0
  182. package/dist/components/icons/index.es.js.map +1 -1
  183. package/dist/{index-NIxlEyxx.js → index-CnXw6SB7.js} +3 -3
  184. package/dist/{index-NIxlEyxx.js.map → index-CnXw6SB7.js.map} +1 -1
  185. package/dist/{index-vsYzka4t.js → index-Dws33tXs.js} +2 -2
  186. package/dist/{index-vsYzka4t.js.map → index-Dws33tXs.js.map} +1 -1
  187. package/dist/{index-BvQw_Wgb.js → index-fyDB87KK.js} +2 -2
  188. package/dist/{index-BvQw_Wgb.js.map → index-fyDB87KK.js.map} +1 -1
  189. package/dist/main.d.ts +6 -1
  190. package/dist/main.es.js +76 -52
  191. package/dist/main.es.js.map +1 -1
  192. package/dist/{tokens-eEtvWiuX.js → tokens-CKZdIZ5O.js} +44 -44
  193. package/dist/{tokens-eEtvWiuX.js.map → tokens-CKZdIZ5O.js.map} +1 -1
  194. package/package.json +1 -1
  195. 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":";;;AAWO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,MAAoB;AAClB,QAAM,YAAY,MAAA;AAElB,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB;AAAA,MACE,gBAAgB;AAAA,IAAA;AAAA,EAClB;AAGF,SACE,qBAAC,OAAA,EAAI,WAAW,gBAAgB,oBAAkB,WAC/C,UAAA;AAAA,IAAA;AAAA,IACD,oBAAC,SAAI,IAAI,WAAW,WAAU,WAAU,MAAK,WAAW,UAAA,KAAA,CAAK;AAAA,EAAA,GAC/D;AAEJ;"}
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;
@@ -15,4 +15,5 @@ export type CheckboxGroupProps = {
15
15
  required?: boolean;
16
16
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
17
17
  onFocus?: React.FocusEventHandler<HTMLInputElement>;
18
+ 'data-testid'?: string;
18
19
  };
@@ -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;
@@ -16,4 +16,5 @@ export type RadioGroupProps = {
16
16
  required?: boolean;
17
17
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
18
18
  onFocus?: React.FocusEventHandler<HTMLInputElement>;
19
+ 'data-testid'?: string;
19
20
  };
@@ -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;
@@ -21,4 +21,5 @@ export type SelectFieldProps = React.HTMLAttributes<HTMLDivElement> & {
21
21
  EmptyText?: string;
22
22
  fullScreenOptions?: boolean;
23
23
  htmlType?: 'text' | 'number';
24
+ 'data-testid'?: string;
24
25
  };
@@ -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 {};
@@ -6,6 +6,7 @@ export type IconProps = {
6
6
  rawColor?: string;
7
7
  className?: string;
8
8
  onClick?: () => void;
9
+ 'data-testid'?: string;
9
10
  };
10
11
  type BaseIconProps = IconProps & {
11
12
  markup?: string;
@@ -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;"}
@@ -0,0 +1,2 @@
1
+ import { IconProps } from '../Icon';
2
+ export declare function IconCollapseClose(props: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { IconProps } from '../Icon';
2
+ export declare function IconCollapseOpen(props: IconProps): import("react/jsx-runtime").JSX.Element;
@@ -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-vsYzka4t.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-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-NIxlEyxx.js.map
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-BvQw_Wgb.js";
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-vsYzka4t.js.map
6285
+ //# sourceMappingURL=index-Dws33tXs.js.map