@consumidor-positivo/aurora 0.12.0 → 1.0.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 (78) hide show
  1. package/dist/components/Alert/index.d.ts +6 -1
  2. package/dist/components/Alert/index.es.js +10 -1
  3. package/dist/components/Alert/index.es.js.map +1 -1
  4. package/dist/components/Alert/styles.css +1 -1
  5. package/dist/components/BadgeInfo/index.d.ts +0 -4
  6. package/dist/components/BadgeInfo/index.es.js +2 -1
  7. package/dist/components/BadgeInfo/index.es.js.map +1 -1
  8. package/dist/components/BadgeState/index.es.js +2 -1
  9. package/dist/components/BadgeState/index.es.js.map +1 -1
  10. package/dist/components/Button/index.d.ts +9 -0
  11. package/dist/components/Button/index.es.js.map +1 -1
  12. package/dist/components/Button/styles.css +1 -1
  13. package/dist/components/Calendar/index.es.js +2 -2
  14. package/dist/components/CalendarHeader/index.es.js +3 -2
  15. package/dist/components/CalendarHeader/index.es.js.map +1 -1
  16. package/dist/components/Checkbox/index.es.js +1 -1
  17. package/dist/components/Chip/index.es.js +1 -0
  18. package/dist/components/Chip/index.es.js.map +1 -1
  19. package/dist/components/Datepicker/index.es.js +4 -4
  20. package/dist/components/Drawer/index.d.ts +7 -1
  21. package/dist/components/Drawer/index.es.js +4 -1
  22. package/dist/components/Drawer/index.es.js.map +1 -1
  23. package/dist/components/Drawer/styles.css +1 -1
  24. package/dist/components/Footer/index.es.js +1 -0
  25. package/dist/components/Footer/index.es.js.map +1 -1
  26. package/dist/components/Header/index.es.js +1 -1
  27. package/dist/components/Icon/index.es.js +14 -2
  28. package/dist/components/Icon/index.es.js.map +1 -1
  29. package/dist/components/Image/index.es.js +1 -1
  30. package/dist/components/Label/index.es.js +2 -1
  31. package/dist/components/Label/index.es.js.map +1 -1
  32. package/dist/components/LinkButton/index.d.ts +27 -0
  33. package/dist/components/LinkButton/index.es.js +56 -0
  34. package/dist/components/LinkButton/index.es.js.map +1 -0
  35. package/dist/components/LinkButton/styles.css +1 -0
  36. package/dist/components/Modal/index.d.ts +3 -1
  37. package/dist/components/Modal/index.es.js +8 -0
  38. package/dist/components/Modal/index.es.js.map +1 -1
  39. package/dist/components/PortalHolder/index.es.js +1 -1
  40. package/dist/components/Segment/index.es.js +2 -1
  41. package/dist/components/Segment/index.es.js.map +1 -1
  42. package/dist/components/SelectField/index.es.js +1 -1
  43. package/dist/components/SpecialButton/SpecialButton.test.d.ts +1 -0
  44. package/dist/components/SpecialButton/index.d.ts +38 -0
  45. package/dist/components/SpecialButton/index.es.js +193 -0
  46. package/dist/components/SpecialButton/index.es.js.map +1 -0
  47. package/dist/components/SpecialButton/styles.css +1 -0
  48. package/dist/components/Spinner/index.d.ts +9 -5
  49. package/dist/components/Spinner/index.es.js +25 -15
  50. package/dist/components/Spinner/index.es.js.map +1 -1
  51. package/dist/components/SubHeader/index.es.js +1 -0
  52. package/dist/components/SubHeader/index.es.js.map +1 -1
  53. package/dist/components/Tabs/index.d.ts +3 -4
  54. package/dist/components/Tabs/index.es.js +80 -84
  55. package/dist/components/Tabs/index.es.js.map +1 -1
  56. package/dist/components/Tabs/styles.css +1 -1
  57. package/dist/components/Tag/index.es.js +8 -86
  58. package/dist/components/Tag/index.es.js.map +1 -1
  59. package/dist/components/TextareaField/index.es.js.map +1 -1
  60. package/dist/components/form/SelectField/types.d.ts +1 -0
  61. package/dist/components/form/TextareaField/index.d.ts +1 -0
  62. package/dist/components/icons/Icon.test/index.es.js +23 -5
  63. package/dist/components/icons/Icon.test/index.es.js.map +1 -1
  64. package/dist/{index-Dws33tXs.js → index-BgBOcVUP.js} +3 -3
  65. package/dist/{index-Dws33tXs.js.map → index-BgBOcVUP.js.map} +1 -1
  66. package/dist/{index-CnXw6SB7.js → index-DHwXRotU.js} +3 -3
  67. package/dist/{index-CnXw6SB7.js.map → index-DHwXRotU.js.map} +1 -1
  68. package/dist/{index-fyDB87KK.js → index-DnQGzfVW.js} +3 -3
  69. package/dist/{index-fyDB87KK.js.map → index-DnQGzfVW.js.map} +1 -1
  70. package/dist/main.d.ts +3 -1
  71. package/dist/main.es.js +21 -33
  72. package/dist/main.es.js.map +1 -1
  73. package/dist/{tokens-CKZdIZ5O.js → tokens-C4yCunfz.js} +15 -15
  74. package/dist/{tokens-CKZdIZ5O.js.map → tokens-C4yCunfz.js.map} +1 -1
  75. package/package.json +3 -3
  76. package/dist/components/Tag/index.d.ts +0 -22
  77. package/dist/components/Tag/styles.css +0 -1
  78. /package/dist/components/{Tag/Tag.test.d.ts → LinkButton/LinkButton.test.d.ts} +0 -0
@@ -1,6 +1,11 @@
1
1
  export type AlertProps = {
2
2
  showIcon?: boolean;
3
- status?: 'success' | 'error' | 'warning' | 'info' | 'timer';
3
+ /**
4
+ * Visual state (Figma: Alerts, States). 'timer' covers the Figma
5
+ * Running/Resend pair: Running while the countdown runs, Resend when it
6
+ * ends and the action button appears.
7
+ */
8
+ status?: 'success' | 'error' | 'warning' | 'info' | 'timer' | 'progress' | 'neutral';
4
9
  type?: 1 | 2;
5
10
  orientation?: 'horizontal' | 'vertical';
6
11
  title?: {
@@ -2,15 +2,16 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useEffect } from "react";
3
3
  import { c as classNames } from "../../index-C6Q03EyZ.js";
4
4
  import "../Icon/index.es.js";
5
+ import { IconAlertCircle } from "../icons/IconAlertCircle/index.es.js";
5
6
  import { IconAlertOctagon } from "../icons/IconAlertOctagon/index.es.js";
6
7
  import { IconAlertTriangle } from "../icons/IconAlertTriangle/index.es.js";
7
8
  import { IconCheck } from "../icons/IconCheck/index.es.js";
8
9
  import { IconClock } from "../icons/IconClock/index.es.js";
9
10
  import { IconInfo } from "../icons/IconInfo/index.es.js";
10
11
  import { IconX } from "../icons/IconX/index.es.js";
12
+ import { d as COLOR_NEUTRAL_70, e as COLOR_WARNING_50, f as COLOR_NEUTRAL_60, g as COLOR_BRAND_CYAN_50, h as COLOR_INFO_50, b as COLOR_ERROR_50, C as COLOR_SUCCESS_50 } from "../../tokens-C4yCunfz.js";
11
13
  import { Conditional } from "../Conditional/index.es.js";
12
14
  import { Text } from "../Text/index.es.js";
13
- import { d as COLOR_NEUTRAL_70, e as COLOR_WARNING_50, f as COLOR_INFO_50, b as COLOR_ERROR_50, C as COLOR_SUCCESS_50 } from "../../tokens-CKZdIZ5O.js";
14
15
  import './styles.css';const Alert = ({
15
16
  showIcon = true,
16
17
  status = "info",
@@ -74,6 +75,14 @@ import './styles.css';const Alert = ({
74
75
  icon: /* @__PURE__ */ jsx(IconAlertTriangle, { rawColor: COLOR_WARNING_50 })
75
76
  },
76
77
  info: { option: "info", icon: /* @__PURE__ */ jsx(IconInfo, { rawColor: COLOR_INFO_50 }) },
78
+ progress: {
79
+ option: "progress",
80
+ icon: /* @__PURE__ */ jsx(IconInfo, { rawColor: COLOR_BRAND_CYAN_50 })
81
+ },
82
+ neutral: {
83
+ option: "neutral",
84
+ icon: /* @__PURE__ */ jsx(IconAlertCircle, { rawColor: COLOR_NEUTRAL_60 })
85
+ },
77
86
  timer: {
78
87
  option: "timer",
79
88
  icon: /* @__PURE__ */ jsxs("div", { className: "au-alert__timer", children: [
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/Alert/index.tsx"],"sourcesContent":["import { useState, useEffect } from 'react'\nimport classNames from 'classnames'\nimport {\n IconAlertOctagon,\n IconAlertTriangle,\n IconCheck,\n IconInfo,\n IconX,\n IconClock,\n} from '@components/icons'\nimport {\n COLOR_ERROR_50,\n COLOR_INFO_50,\n COLOR_NEUTRAL_70,\n COLOR_SUCCESS_50,\n COLOR_WARNING_50,\n} from '@core/tokens'\nimport { Conditional } from '@components/misc'\nimport { Text } from '@components/Text'\nimport './styles.scss'\n\nexport type AlertProps = {\n showIcon?: boolean\n status?: 'success' | 'error' | 'warning' | 'info' | 'timer'\n type?: 1 | 2\n orientation?: 'horizontal' | 'vertical'\n title?: { content?: React.ReactNode; weight?: 'bold' | 'normal' }\n text?: React.ReactNode\n actionButton?: { content?: string; onClick?: () => void }\n closeButton?: boolean\n customIcon?: JSX.Element\n children?: React.ReactNode\n countdown?: number\n onCountdownEnd?: () => void\n onCloseButton?: () => void\n 'data-testid'?: string\n}\n\nexport const Alert = ({\n showIcon = true,\n status = 'info',\n type = 1,\n orientation = 'horizontal',\n title,\n text,\n actionButton,\n closeButton = false,\n children,\n countdown = 59,\n onCountdownEnd,\n onCloseButton,\n customIcon,\n 'data-testid': dataTestId,\n}: AlertProps) => {\n const [isClosed, setIsClosed] = useState(false)\n const [timeLeft, setTimeLeft] = useState(countdown)\n const [isCountdownFinished, setIsCountdownFinished] = useState(false)\n\n useEffect(() => {\n if (status !== 'timer' || timeLeft <= 0) return\n\n const timer = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(timer)\n setIsCountdownFinished(true)\n if (onCountdownEnd) onCountdownEnd()\n }\n return prev - 1\n })\n }, 1000)\n\n return () => clearInterval(timer)\n }, [status, timeLeft, onCountdownEnd])\n\n useEffect(() => {\n if (timeLeft > 0) {\n setIsCountdownFinished(false)\n }\n }, [timeLeft])\n\t\n const handleActionClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n\t\tevent.preventDefault();\n\t\t\n setTimeLeft(countdown)\n setIsCountdownFinished(false)\n actionButton?.onClick?.()\n }\n\n const handleCloseButtonClick = () => {\n setIsClosed(true)\n onCloseButton?.()\n }\n\n const statusMap = {\n success: {\n option: 'success',\n icon: <IconCheck rawColor={COLOR_SUCCESS_50} />,\n },\n error: {\n option: 'error',\n icon: <IconAlertOctagon rawColor={COLOR_ERROR_50} />,\n },\n warning: {\n option: 'warning',\n icon: <IconAlertTriangle rawColor={COLOR_WARNING_50} />,\n },\n info: { option: 'info', icon: <IconInfo rawColor={COLOR_INFO_50} /> },\n timer: {\n option: 'timer',\n icon: (\n <div className=\"au-alert__timer\">\n <IconClock rawColor={COLOR_WARNING_50} aria-hidden=\"true\" />\n {!isCountdownFinished && (\n <Text\n className=\"au-alert__countdown\"\n variant=\"body-small\"\n weight=\"bold\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\">\n {timeLeft}s\n </Text>\n )}\n </div>\n ),\n },\n }\n\n const alertClasses = classNames('au-alert', {\n [`au-alert--${statusMap[status].option}--type-${type}`]:\n statusMap[status].option,\n })\n\n if (isClosed) return null\n\n return (\n <div className={alertClasses} data-testid={dataTestId}>\n <div className=\"au-alert__content\">\n <Conditional condition={showIcon} renderIf={<span aria-hidden=\"true\">{ customIcon ?? statusMap[status].icon}</span>} />\n <div className={`au-alert__container--${orientation}`}>\n <Conditional\n condition={!!title || !!text}\n renderIf={\n <div>\n {!!title?.content && (\n <h4\n className={classNames(\n 'au-alert__title',\n `au-alert__title--${title?.weight}`,\n { 'au-alert__title--with-text': !!text },\n )}>\n {title.content}\n </h4>\n )}\n <p className=\"au-alert__support-text\">{text}</p>\n </div>\n }\n />\n\n {children}\n <Conditional\n condition={\n !!actionButton && (status !== 'timer' || isCountdownFinished)\n }\n renderIf={\n <button\n className=\"au-alert__action-btn\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n onClick={(e) => handleActionClick(e)}>\n {actionButton?.content}\n </button>\n }\n />\n </div>\n </div>\n\n <Conditional\n condition={closeButton}\n renderIf={\n <button\n className=\"au-alert__close-btn\"\n type=\"button\"\n aria-label=\"Fechar\"\n onClick={handleCloseButtonClick}>\n <IconX rawColor={COLOR_NEUTRAL_70} aria-hidden=\"true\" />\n </button>\n }\n />\n </div>\n )\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/Alert/index.tsx"],"sourcesContent":["import { useState, useEffect } from 'react'\nimport classNames from 'classnames'\nimport {\n IconAlertCircle,\n IconAlertOctagon,\n IconAlertTriangle,\n IconCheck,\n IconInfo,\n IconX,\n IconClock,\n} from '@components/icons'\nimport {\n COLOR_BRAND_CYAN_50,\n COLOR_ERROR_50,\n COLOR_INFO_50,\n COLOR_NEUTRAL_60,\n COLOR_NEUTRAL_70,\n COLOR_SUCCESS_50,\n COLOR_WARNING_50,\n} from '@core/tokens'\nimport { Conditional } from '@components/misc'\nimport { Text } from '@components/Text'\nimport './styles.scss'\n\nexport type AlertProps = {\n showIcon?: boolean\n /**\n * Visual state (Figma: Alerts, States). 'timer' covers the Figma\n * Running/Resend pair: Running while the countdown runs, Resend when it\n * ends and the action button appears.\n */\n status?:\n | 'success'\n | 'error'\n | 'warning'\n | 'info'\n | 'timer'\n | 'progress'\n | 'neutral'\n type?: 1 | 2\n orientation?: 'horizontal' | 'vertical'\n title?: { content?: React.ReactNode; weight?: 'bold' | 'normal' }\n text?: React.ReactNode\n actionButton?: { content?: string; onClick?: () => void }\n closeButton?: boolean\n customIcon?: JSX.Element\n children?: React.ReactNode\n countdown?: number\n onCountdownEnd?: () => void\n onCloseButton?: () => void\n 'data-testid'?: string\n}\n\nexport const Alert = ({\n showIcon = true,\n status = 'info',\n type = 1,\n orientation = 'horizontal',\n title,\n text,\n actionButton,\n closeButton = false,\n children,\n countdown = 59,\n onCountdownEnd,\n onCloseButton,\n customIcon,\n 'data-testid': dataTestId,\n}: AlertProps) => {\n const [isClosed, setIsClosed] = useState(false)\n const [timeLeft, setTimeLeft] = useState(countdown)\n const [isCountdownFinished, setIsCountdownFinished] = useState(false)\n\n useEffect(() => {\n if (status !== 'timer' || timeLeft <= 0) return\n\n const timer = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(timer)\n setIsCountdownFinished(true)\n if (onCountdownEnd) onCountdownEnd()\n }\n return prev - 1\n })\n }, 1000)\n\n return () => clearInterval(timer)\n }, [status, timeLeft, onCountdownEnd])\n\n useEffect(() => {\n if (timeLeft > 0) {\n setIsCountdownFinished(false)\n }\n }, [timeLeft])\n\t\n const handleActionClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n\t\tevent.preventDefault();\n\t\t\n setTimeLeft(countdown)\n setIsCountdownFinished(false)\n actionButton?.onClick?.()\n }\n\n const handleCloseButtonClick = () => {\n setIsClosed(true)\n onCloseButton?.()\n }\n\n const statusMap = {\n success: {\n option: 'success',\n icon: <IconCheck rawColor={COLOR_SUCCESS_50} />,\n },\n error: {\n option: 'error',\n icon: <IconAlertOctagon rawColor={COLOR_ERROR_50} />,\n },\n warning: {\n option: 'warning',\n icon: <IconAlertTriangle rawColor={COLOR_WARNING_50} />,\n },\n info: { option: 'info', icon: <IconInfo rawColor={COLOR_INFO_50} /> },\n progress: {\n option: 'progress',\n icon: <IconInfo rawColor={COLOR_BRAND_CYAN_50} />,\n },\n neutral: {\n option: 'neutral',\n icon: <IconAlertCircle rawColor={COLOR_NEUTRAL_60} />,\n },\n timer: {\n option: 'timer',\n icon: (\n <div className=\"au-alert__timer\">\n <IconClock rawColor={COLOR_WARNING_50} aria-hidden=\"true\" />\n {!isCountdownFinished && (\n <Text\n className=\"au-alert__countdown\"\n variant=\"body-small\"\n weight=\"bold\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\">\n {timeLeft}s\n </Text>\n )}\n </div>\n ),\n },\n }\n\n const alertClasses = classNames('au-alert', {\n [`au-alert--${statusMap[status].option}--type-${type}`]:\n statusMap[status].option,\n })\n\n if (isClosed) return null\n\n return (\n <div className={alertClasses} data-testid={dataTestId}>\n <div className=\"au-alert__content\">\n <Conditional condition={showIcon} renderIf={<span aria-hidden=\"true\">{ customIcon ?? statusMap[status].icon}</span>} />\n <div className={`au-alert__container--${orientation}`}>\n <Conditional\n condition={!!title || !!text}\n renderIf={\n <div>\n {!!title?.content && (\n <h4\n className={classNames(\n 'au-alert__title',\n `au-alert__title--${title?.weight}`,\n { 'au-alert__title--with-text': !!text },\n )}>\n {title.content}\n </h4>\n )}\n <p className=\"au-alert__support-text\">{text}</p>\n </div>\n }\n />\n\n {children}\n <Conditional\n condition={\n !!actionButton && (status !== 'timer' || isCountdownFinished)\n }\n renderIf={\n <button\n className=\"au-alert__action-btn\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n onClick={(e) => handleActionClick(e)}>\n {actionButton?.content}\n </button>\n }\n />\n </div>\n </div>\n\n <Conditional\n condition={closeButton}\n renderIf={\n <button\n className=\"au-alert__close-btn\"\n type=\"button\"\n aria-label=\"Fechar\"\n onClick={handleCloseButtonClick}>\n <IconX rawColor={COLOR_NEUTRAL_70} aria-hidden=\"true\" />\n </button>\n }\n />\n </div>\n )\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- .au-alert{font-family:"Source Sans 3",sans-serif;border-radius:16px;display:flex;justify-content:space-between;gap:16px;padding:16px}.au-alert__content{display:flex;gap:16px;flex:1}.au-alert__container--horizontal .au-alert__action-btn{margin-top:8px}.au-alert__container--vertical{display:flex;gap:16px;flex-direction:row;justify-content:space-between;width:100%}.au-alert__title{color:#454a54;font-size:14px;font-weight:400;line-height:21px}.au-alert__title--bold{font-weight:600}.au-alert__title--with-text{color:#16181d}.au-alert__support-text{color:#454a54;font-size:14px;line-height:21px}.au-alert__action-btn{font-family:"Source Sans 3",sans-serif;background-color:transparent;border:none;color:#0048db;cursor:pointer;font-size:14px;font-weight:600;line-height:21px}.au-alert__close-btn{cursor:pointer;background:transparent;border:none;display:flex}.au-alert__timer{text-align:center;align-self:flex-start}.au-alert__countdown{color:#a64a08}.au-alert--info--type-1{background-color:#f3f0fc;border:1px solid #510cb2}.au-alert--info--type-2{background-color:#eee6ff;border:none}.au-alert--success--type-1{background-color:#f0fcf5;border:1px solid #10593b}.au-alert--success--type-2{background-color:#e5fff0;border:none}.au-alert--warning--type-1,.au-alert--timer--type-1{background-color:#fcf4f0;border:1px solid #a64a08}.au-alert--warning--type-2,.au-alert--timer--type-2{background-color:#fff0e6;border:none}.au-alert--timer--type-1 .au-alert__content,.au-alert--timer--type-2 .au-alert__content{align-items:center}.au-alert--error--type-1{background-color:#f5eff0;border:1px solid #991717}.au-alert--error--type-2{background-color:#ffe5e5;border:none}
1
+ .au-alert{font-family:"Source Sans 3",sans-serif;border-radius:16px;display:flex;justify-content:space-between;gap:16px;padding:16px}.au-alert__content{display:flex;gap:16px;flex:1}.au-alert__container--horizontal .au-alert__action-btn{margin-top:8px}.au-alert__container--vertical{display:flex;gap:16px;flex-direction:row;justify-content:space-between;width:100%}.au-alert__title{color:#454a54;font-size:14px;font-weight:400;line-height:21px}.au-alert__title--bold{font-weight:600}.au-alert__title--with-text{color:#16181d}.au-alert__support-text{color:#454a54;font-size:14px;line-height:21px}.au-alert__action-btn{font-family:"Source Sans 3",sans-serif;background-color:transparent;border:none;color:#0048db;cursor:pointer;font-size:14px;font-weight:600;line-height:21px}.au-alert__close-btn{cursor:pointer;background:transparent;border:none;display:flex}.au-alert__timer{text-align:center;align-self:flex-start}.au-alert__countdown{color:#a64a08}.au-alert--info--type-1{background-color:#f3f0fc;border:1px solid #510cb2}.au-alert--info--type-2{background-color:#eee6ff;border:none}.au-alert--success--type-1{background-color:#f0fcf5;border:1px solid #10593b}.au-alert--success--type-2{background-color:#e5fff0;border:none}.au-alert--warning--type-1,.au-alert--timer--type-1{background-color:#fcf4f0;border:1px solid #a64a08}.au-alert--warning--type-2,.au-alert--timer--type-2{background-color:#fff0e6;border:none}.au-alert--timer--type-1 .au-alert__content,.au-alert--timer--type-2 .au-alert__content{align-items:center}.au-alert--error--type-1{background-color:#f5eff0;border:1px solid #991717}.au-alert--error--type-2{background-color:#ffe5e5;border:none}.au-alert--progress--type-1{background-color:#f1fcff;border:1px solid #004155}.au-alert--progress--type-2{background-color:#f1fcff;border:none}.au-alert--neutral--type-1{background-color:#f6f7fa;border:1px solid #454a54}.au-alert--neutral--type-2{background-color:#f6f7fa;border:none}
@@ -4,10 +4,6 @@ export type BadgeInfoProps = {
4
4
  text: string;
5
5
  children?: React.ReactNode;
6
6
  customIcon?: string | JSX.Element;
7
- actionButton?: {
8
- content?: string;
9
- onClick?: () => void;
10
- };
11
7
  'data-testid'?: string;
12
8
  };
13
9
  export declare const BadgeInfo: ({ status, color, customIcon, text, children, "data-testid": dataTestId, }: BadgeInfoProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,10 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
+ import "react";
3
4
  import "../Icon/index.es.js";
4
5
  import { IconInfo } from "../icons/IconInfo/index.es.js";
6
+ import { d as COLOR_NEUTRAL_70, g as COLOR_BRAND_CYAN_50, h as COLOR_INFO_50, e as COLOR_WARNING_50, b as COLOR_ERROR_50, C as COLOR_SUCCESS_50 } from "../../tokens-C4yCunfz.js";
5
7
  import { I as If, T as Then, E as Else } from "../../react-if.esm-Cozt8l48.js";
6
- import { d as COLOR_NEUTRAL_70, g as COLOR_BRAND_CYAN_50, f as COLOR_INFO_50, e as COLOR_WARNING_50, b as COLOR_ERROR_50, C as COLOR_SUCCESS_50 } from "../../tokens-CKZdIZ5O.js";
7
8
  import './styles.css';const BadgeInfo = ({
8
9
  status,
9
10
  color = "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/BadgeInfo/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { IconInfo } from '@components/icons'\nimport {\n COLOR_ERROR_50,\n COLOR_INFO_50,\n COLOR_SUCCESS_50,\n COLOR_WARNING_50,\n COLOR_BRAND_CYAN_50,\n COLOR_NEUTRAL_70,\n} from '@core/tokens'\nimport './styles.scss'\nimport { Else, IfElse, Then } from '@components/misc'\n\nexport type BadgeInfoProps = {\n status: 'info' | 'success' | 'error' | 'warning' | 'progress' | 'neutral'\n color?: 'primary' | 'secondary'\n text: string\n children?: React.ReactNode\n customIcon?: string | JSX.Element\n actionButton?: { content?: string; onClick?: () => void }\n 'data-testid'?: string\n}\n\nexport const BadgeInfo = ({\n status,\n color = 'primary',\n customIcon,\n text,\n children,\n 'data-testid': dataTestId,\n}: BadgeInfoProps) => {\n const statusMap = {\n success: {\n option: 'success',\n icon: <IconInfo rawColor={COLOR_SUCCESS_50} />,\n },\n error: {\n option: 'error',\n icon: <IconInfo rawColor={COLOR_ERROR_50} />,\n },\n warning: {\n option: 'warning',\n icon: <IconInfo rawColor={COLOR_WARNING_50} />,\n },\n info: {\n option: 'info',\n icon: <IconInfo rawColor={COLOR_INFO_50} />,\n },\n progress: {\n option: 'progress',\n icon: <IconInfo rawColor={COLOR_BRAND_CYAN_50} />,\n },\n neutral: {\n option: 'neutral',\n icon: <IconInfo rawColor={COLOR_NEUTRAL_70} />,\n },\n custom: {\n option: 'custom',\n icon: customIcon,\n },\n }\n\n const badgeInfoClasses = classNames('au-badgeInfo', {\n [`au-badgeInfo--${statusMap[status].option}`]: statusMap[status].option,\n [`au-badgeInfo--color-${color}`]: !!color,\n })\n\n return (\n <div className={badgeInfoClasses} data-testid={dataTestId}>\n <div className=\"au-badgeInfo__content\">\n <div className=\"au-badgeInfo__content-icon\" aria-hidden=\"true\">\n <IfElse condition={!!customIcon}>\n <Then>{customIcon}</Then>\n <Else>{statusMap[status].icon}</Else>\n </IfElse>\n </div>\n <p className={`au-badgeInfo__content-support-text`}>{text}</p>\n </div>\n {children}\n </div>\n )\n}\n"],"names":["IfElse"],"mappings":";;;;;;AAuBO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAsB;AACpB,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE9C,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,eAAA,CAAgB;AAAA,IAAA;AAAA,IAE5C,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE9C,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,cAAA,CAAe;AAAA,IAAA;AAAA,IAE3C,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,oBAAA,CAAqB;AAAA,IAAA;AAAA,IAEjD,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE9C,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA;AAAA,EACR;AAGF,QAAM,mBAAmB,WAAW,gBAAgB;AAAA,IAClD,CAAC,iBAAiB,UAAU,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,MAAM,EAAE;AAAA,IACjE,CAAC,uBAAuB,KAAK,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA,CACrC;AAED,SACE,qBAAC,OAAA,EAAI,WAAW,kBAAkB,eAAa,YAC7C,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,WAAU,8BAA6B,eAAY,QACtD,+BAACA,IAAA,EAAO,WAAW,CAAC,CAAC,YACnB,UAAA;AAAA,QAAA,oBAAC,QAAM,UAAA,WAAA,CAAW;AAAA,QAClB,oBAAC,MAAA,EAAM,UAAA,UAAU,MAAM,EAAE,KAAA,CAAK;AAAA,MAAA,EAAA,CAChC,EAAA,CACF;AAAA,MACA,oBAAC,KAAA,EAAE,WAAW,sCAAuC,UAAA,KAAA,CAAK;AAAA,IAAA,GAC5D;AAAA,IACC;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/BadgeInfo/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { IconInfo } from '@components/icons'\nimport {\n COLOR_ERROR_50,\n COLOR_INFO_50,\n COLOR_SUCCESS_50,\n COLOR_WARNING_50,\n COLOR_BRAND_CYAN_50,\n COLOR_NEUTRAL_70,\n} from '@core/tokens'\nimport './styles.scss'\nimport { Else, IfElse, Then } from '@components/misc'\n\nexport type BadgeInfoProps = {\n status: 'info' | 'success' | 'error' | 'warning' | 'progress' | 'neutral'\n color?: 'primary' | 'secondary'\n text: string\n children?: React.ReactNode\n customIcon?: string | JSX.Element\n 'data-testid'?: string\n}\n\nexport const BadgeInfo = ({\n status,\n color = 'primary',\n customIcon,\n text,\n children,\n 'data-testid': dataTestId,\n}: BadgeInfoProps) => {\n const statusMap = {\n success: {\n option: 'success',\n icon: <IconInfo rawColor={COLOR_SUCCESS_50} />,\n },\n error: {\n option: 'error',\n icon: <IconInfo rawColor={COLOR_ERROR_50} />,\n },\n warning: {\n option: 'warning',\n icon: <IconInfo rawColor={COLOR_WARNING_50} />,\n },\n info: {\n option: 'info',\n icon: <IconInfo rawColor={COLOR_INFO_50} />,\n },\n progress: {\n option: 'progress',\n icon: <IconInfo rawColor={COLOR_BRAND_CYAN_50} />,\n },\n neutral: {\n option: 'neutral',\n icon: <IconInfo rawColor={COLOR_NEUTRAL_70} />,\n },\n custom: {\n option: 'custom',\n icon: customIcon,\n },\n }\n\n const badgeInfoClasses = classNames('au-badgeInfo', {\n [`au-badgeInfo--${statusMap[status].option}`]: statusMap[status].option,\n [`au-badgeInfo--color-${color}`]: !!color,\n })\n\n return (\n <div className={badgeInfoClasses} data-testid={dataTestId}>\n <div className=\"au-badgeInfo__content\">\n <div className=\"au-badgeInfo__content-icon\" aria-hidden=\"true\">\n <IfElse condition={!!customIcon}>\n <Then>{customIcon}</Then>\n <Else>{statusMap[status].icon}</Else>\n </IfElse>\n </div>\n <p className={`au-badgeInfo__content-support-text`}>{text}</p>\n </div>\n {children}\n </div>\n )\n}\n"],"names":["IfElse"],"mappings":";;;;;;;AAsBO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAsB;AACpB,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE9C,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,eAAA,CAAgB;AAAA,IAAA;AAAA,IAE5C,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE9C,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,cAAA,CAAe;AAAA,IAAA;AAAA,IAE3C,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,oBAAA,CAAqB;AAAA,IAAA;AAAA,IAEjD,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,oBAAC,UAAA,EAAS,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE9C,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA;AAAA,EACR;AAGF,QAAM,mBAAmB,WAAW,gBAAgB;AAAA,IAClD,CAAC,iBAAiB,UAAU,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,MAAM,EAAE;AAAA,IACjE,CAAC,uBAAuB,KAAK,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA,CACrC;AAED,SACE,qBAAC,OAAA,EAAI,WAAW,kBAAkB,eAAa,YAC7C,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,yBACb,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,WAAU,8BAA6B,eAAY,QACtD,+BAACA,IAAA,EAAO,WAAW,CAAC,CAAC,YACnB,UAAA;AAAA,QAAA,oBAAC,QAAM,UAAA,WAAA,CAAW;AAAA,QAClB,oBAAC,MAAA,EAAM,UAAA,UAAU,MAAM,EAAE,KAAA,CAAK;AAAA,MAAA,EAAA,CAChC,EAAA,CACF;AAAA,MACA,oBAAC,KAAA,EAAE,WAAW,sCAAuC,UAAA,KAAA,CAAK;AAAA,IAAA,GAC5D;AAAA,IACC;AAAA,EAAA,GACH;AAEJ;"}
@@ -1,13 +1,14 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
+ import "react";
3
4
  import "../Icon/index.es.js";
4
5
  import { IconAlertOctagon } from "../icons/IconAlertOctagon/index.es.js";
5
6
  import { IconAlertTriangle } from "../icons/IconAlertTriangle/index.es.js";
6
7
  import { IconCheck } from "../icons/IconCheck/index.es.js";
7
8
  import { IconInfo } from "../icons/IconInfo/index.es.js";
8
9
  import { IconMoreHorizontal } from "../icons/IconMoreHorizontal/index.es.js";
10
+ import { f as COLOR_NEUTRAL_60, g as COLOR_BRAND_CYAN_50, h as COLOR_INFO_50, e as COLOR_WARNING_50, b as COLOR_ERROR_50, C as COLOR_SUCCESS_50 } from "../../tokens-C4yCunfz.js";
9
11
  import { I as If, T as Then, E as Else } from "../../react-if.esm-Cozt8l48.js";
10
- import { h as COLOR_NEUTRAL_60, g as COLOR_BRAND_CYAN_50, f as COLOR_INFO_50, e as COLOR_WARNING_50, b as COLOR_ERROR_50, C as COLOR_SUCCESS_50 } from "../../tokens-CKZdIZ5O.js";
11
12
  import './styles.css';const BadgeState = ({
12
13
  status,
13
14
  isNumberBadge = false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/BadgeState/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport {\n IconAlertOctagon,\n IconAlertTriangle,\n IconCheck,\n IconMoreHorizontal,\n IconInfo,\n} from '@components/icons'\nimport {\n COLOR_ERROR_50,\n COLOR_INFO_50,\n COLOR_SUCCESS_50,\n COLOR_WARNING_50,\n COLOR_BRAND_CYAN_50,\n COLOR_NEUTRAL_60,\n} from '@core/tokens'\n\nimport { IfElse, Else, Then } from '@components/misc'\n\nimport './styles.scss'\n\nexport type BadgeStateProps = {\n status: 'info' | 'success' | 'error' | 'warning' | 'support' | 'neutral'\n isNumberBadge?: boolean\n variant?: 'regular' | 'strong'\n text?: string\n children?: React.ReactNode\n icon?: string | JSX.Element\n iconOnly?: boolean\n 'data-testid'?: string\n}\n\nexport const BadgeState = ({\n status,\n isNumberBadge = false,\n variant = 'regular',\n iconOnly = false,\n text,\n children,\n 'data-testid': dataTestId,\n}: BadgeStateProps) => {\n const statusMap = {\n success: {\n option: 'success',\n label: 'Sucesso',\n icon: <IconCheck rawColor={COLOR_SUCCESS_50} />,\n },\n error: {\n option: 'error',\n label: 'Erro',\n icon: <IconAlertOctagon rawColor={COLOR_ERROR_50} />,\n },\n warning: {\n option: 'warning',\n label: 'Atenção',\n icon: <IconAlertTriangle rawColor={COLOR_WARNING_50} />,\n },\n info: {\n option: 'info',\n label: 'Informação',\n icon: <IconInfo rawColor={COLOR_INFO_50} />,\n },\n support: {\n option: 'support',\n label: 'Mais informações',\n icon: <IconMoreHorizontal rawColor={COLOR_BRAND_CYAN_50} />,\n },\n neutral: {\n option: 'neutral',\n label: 'Neutro',\n icon: <IconMoreHorizontal rawColor={COLOR_NEUTRAL_60} />,\n },\n }\n\n const badgeStateClasses = classNames('au-badgeState', {\n [`au-badgeState--${statusMap[status].option}`]: statusMap[status].option,\n [`au-badgeState--border-circle`]: !!isNumberBadge,\n [`au-badgeState--icon-only`]: !!iconOnly,\n [`au-badgeState--variant-${variant}`]: !!variant,\n })\n\n return (\n <div className={badgeStateClasses} data-testid={dataTestId} {...(iconOnly ? { 'aria-label': statusMap[status].label } : {})}>\n <div className=\"au-badgeState__content\">\n <IfElse condition={!!iconOnly}>\n <Then><span aria-hidden=\"true\">{statusMap[status].icon}</span></Then>\n <Else>\n {<p className={`au-badgeState__content-support-text`}>{text}</p>}\n </Else>\n </IfElse>\n </div>\n {children}\n </div>\n )\n}\n"],"names":["IfElse"],"mappings":";;;;;;;;;;AAgCO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAuB;AACrB,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,WAAA,EAAU,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE/C,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,kBAAA,EAAiB,UAAU,eAAA,CAAgB;AAAA,IAAA;AAAA,IAEpD,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,mBAAA,EAAkB,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAEvD,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,UAAA,EAAS,UAAU,cAAA,CAAe;AAAA,IAAA;AAAA,IAE3C,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,oBAAA,EAAmB,UAAU,oBAAA,CAAqB;AAAA,IAAA;AAAA,IAE3D,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,oBAAA,EAAmB,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,EACxD;AAGF,QAAM,oBAAoB,WAAW,iBAAiB;AAAA,IACpD,CAAC,kBAAkB,UAAU,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,MAAM,EAAE;AAAA,IAClE,CAAC,8BAA8B,GAAG,CAAC,CAAC;AAAA,IACpC,CAAC,0BAA0B,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC,0BAA0B,OAAO,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA,CAC1C;AAED,8BACG,OAAA,EAAI,WAAW,mBAAmB,eAAa,YAAa,GAAI,WAAW,EAAE,cAAc,UAAU,MAAM,EAAE,MAAA,IAAU,CAAA,GACtH,UAAA;AAAA,IAAA,oBAAC,OAAA,EAAI,WAAU,0BACb,UAAA,qBAACA,MAAO,WAAW,CAAC,CAAC,UACnB,UAAA;AAAA,MAAA,oBAAC,MAAA,EAAK,8BAAC,QAAA,EAAK,eAAY,QAAQ,UAAA,UAAU,MAAM,EAAE,KAAA,CAAK,EAAA,CAAO;AAAA,0BAC7D,MAAA,EACE,UAAA,oBAAC,OAAE,WAAW,uCAAwC,gBAAK,EAAA,CAC9D;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,IACC;AAAA,EAAA,GACH;AAEJ;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/BadgeState/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport {\n IconAlertOctagon,\n IconAlertTriangle,\n IconCheck,\n IconMoreHorizontal,\n IconInfo,\n} from '@components/icons'\nimport {\n COLOR_ERROR_50,\n COLOR_INFO_50,\n COLOR_SUCCESS_50,\n COLOR_WARNING_50,\n COLOR_BRAND_CYAN_50,\n COLOR_NEUTRAL_60,\n} from '@core/tokens'\n\nimport { IfElse, Else, Then } from '@components/misc'\n\nimport './styles.scss'\n\nexport type BadgeStateProps = {\n status: 'info' | 'success' | 'error' | 'warning' | 'support' | 'neutral'\n isNumberBadge?: boolean\n variant?: 'regular' | 'strong'\n text?: string\n children?: React.ReactNode\n icon?: string | JSX.Element\n iconOnly?: boolean\n 'data-testid'?: string\n}\n\nexport const BadgeState = ({\n status,\n isNumberBadge = false,\n variant = 'regular',\n iconOnly = false,\n text,\n children,\n 'data-testid': dataTestId,\n}: BadgeStateProps) => {\n const statusMap = {\n success: {\n option: 'success',\n label: 'Sucesso',\n icon: <IconCheck rawColor={COLOR_SUCCESS_50} />,\n },\n error: {\n option: 'error',\n label: 'Erro',\n icon: <IconAlertOctagon rawColor={COLOR_ERROR_50} />,\n },\n warning: {\n option: 'warning',\n label: 'Atenção',\n icon: <IconAlertTriangle rawColor={COLOR_WARNING_50} />,\n },\n info: {\n option: 'info',\n label: 'Informação',\n icon: <IconInfo rawColor={COLOR_INFO_50} />,\n },\n support: {\n option: 'support',\n label: 'Mais informações',\n icon: <IconMoreHorizontal rawColor={COLOR_BRAND_CYAN_50} />,\n },\n neutral: {\n option: 'neutral',\n label: 'Neutro',\n icon: <IconMoreHorizontal rawColor={COLOR_NEUTRAL_60} />,\n },\n }\n\n const badgeStateClasses = classNames('au-badgeState', {\n [`au-badgeState--${statusMap[status].option}`]: statusMap[status].option,\n [`au-badgeState--border-circle`]: !!isNumberBadge,\n [`au-badgeState--icon-only`]: !!iconOnly,\n [`au-badgeState--variant-${variant}`]: !!variant,\n })\n\n return (\n <div className={badgeStateClasses} data-testid={dataTestId} {...(iconOnly ? { 'aria-label': statusMap[status].label } : {})}>\n <div className=\"au-badgeState__content\">\n <IfElse condition={!!iconOnly}>\n <Then><span aria-hidden=\"true\">{statusMap[status].icon}</span></Then>\n <Else>\n {<p className={`au-badgeState__content-support-text`}>{text}</p>}\n </Else>\n </IfElse>\n </div>\n {children}\n </div>\n )\n}\n"],"names":["IfElse"],"mappings":";;;;;;;;;;;AAgCO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAuB;AACrB,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,WAAA,EAAU,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAE/C,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,kBAAA,EAAiB,UAAU,eAAA,CAAgB;AAAA,IAAA;AAAA,IAEpD,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,mBAAA,EAAkB,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,IAEvD,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,UAAA,EAAS,UAAU,cAAA,CAAe;AAAA,IAAA;AAAA,IAE3C,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,oBAAA,EAAmB,UAAU,oBAAA,CAAqB;AAAA,IAAA;AAAA,IAE3D,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM,oBAAC,oBAAA,EAAmB,UAAU,iBAAA,CAAkB;AAAA,IAAA;AAAA,EACxD;AAGF,QAAM,oBAAoB,WAAW,iBAAiB;AAAA,IACpD,CAAC,kBAAkB,UAAU,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,MAAM,EAAE;AAAA,IAClE,CAAC,8BAA8B,GAAG,CAAC,CAAC;AAAA,IACpC,CAAC,0BAA0B,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC,0BAA0B,OAAO,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA,CAC1C;AAED,8BACG,OAAA,EAAI,WAAW,mBAAmB,eAAa,YAAa,GAAI,WAAW,EAAE,cAAc,UAAU,MAAM,EAAE,MAAA,IAAU,CAAA,GACtH,UAAA;AAAA,IAAA,oBAAC,OAAA,EAAI,WAAU,0BACb,UAAA,qBAACA,MAAO,WAAW,CAAC,CAAC,UACnB,UAAA;AAAA,MAAA,oBAAC,MAAA,EAAK,8BAAC,QAAA,EAAK,eAAY,QAAQ,UAAA,UAAU,MAAM,EAAE,KAAA,CAAK,EAAA,CAAO;AAAA,0BAC7D,MAAA,EACE,UAAA,oBAAC,OAAE,WAAW,uCAAwC,gBAAK,EAAA,CAC9D;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,IACC;AAAA,EAAA,GACH;AAEJ;"}
@@ -11,16 +11,25 @@ type ButtonProps = ({
11
11
  children?: ReactNode | string | JSX.Element | JSX.Element[];
12
12
  color?: 'default';
13
13
  disabled?: boolean;
14
+ /** Stretches the button to fill the container width. Not mapped in Figma. */
14
15
  expand?: 'x';
15
16
  htmlType?: 'button' | 'submit' | 'reset';
16
17
  loading?: boolean;
17
18
  size?: 'large' | 'medium';
19
+ /**
20
+ * Visual type.
21
+ * @deprecated the 'link' value — use the `LinkButton` component instead (matches the Figma "Link Button" set, with sizes and icon slots).
22
+ */
18
23
  type?: 'primary' | 'outlined' | 'ghost' | 'link';
19
24
  target?: string;
25
+ /** Inverted colors for colored backgrounds (Figma: Negative). */
20
26
  negative?: boolean;
27
+ /** Renders as a plain text button (class `btn-text`). Not mapped in Figma. */
21
28
  btnText?: boolean;
29
+ /** Icon-only round button (Figma: Style=Icon). */
22
30
  round?: boolean;
23
31
  className?: string;
32
+ /** Border width modifier (`au-btn--border-*`). Not mapped in Figma. */
24
33
  borderWidth?: string;
25
34
  elementRef?: React.RefObject<HTMLButtonElement | HTMLAnchorElement>;
26
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/Button/index.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { Conditional } from '../misc/Conditional'\nimport { IconLoader } from '../icons/default'\nimport './styles.scss'\n\ntype ButtonProps = (\n | {\n as: 'a'\n href: string\n }\n | {\n as?: 'button'\n href?: never\n }\n) & {\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onEnabled?: () => void\n children?: ReactNode | string | JSX.Element | JSX.Element[]\n color?: 'default'\n disabled?: boolean\n expand?: 'x'\n htmlType?: 'button' | 'submit' | 'reset'\n loading?: boolean\n size?: 'large' | 'medium'\n type?: 'primary' | 'outlined' | 'ghost' | 'link'\n target?: string\n negative?: boolean\n btnText?: boolean\n round?: boolean\n className?: string\n borderWidth?: string\n elementRef?: React.RefObject<HTMLButtonElement | HTMLAnchorElement>\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n as,\n children = 'Button component',\n color = 'default',\n disabled = false,\n expand,\n href,\n htmlType = 'button',\n loading = false,\n onClick,\n onEnabled,\n size = 'medium',\n type = 'primary',\n target,\n negative = false,\n btnText = false,\n round = false,\n className,\n borderWidth = 'medium',\n elementRef,\n ...props\n}) => {\n const wasDisabledRef = useRef<boolean | undefined>(undefined)\n\n useEffect(() => {\n const isCurrentlyEnabled = !disabled && !loading\n const wasDisabledPreviously = wasDisabledRef.current\n const isFirstRender = wasDisabledPreviously === undefined\n\n if (\n isCurrentlyEnabled &&\n (isFirstRender || wasDisabledPreviously === true) &&\n onEnabled\n ) {\n onEnabled()\n }\n\n wasDisabledRef.current = disabled || loading\n }, [disabled, loading, onEnabled])\n\n const buttonClasses = classNames('au-btn', {\n [`au-btn--type-${type}`]: !!type,\n [`au-btn--size-${size}`]: !!size,\n [`au-btn--expand-${expand}`]: !!expand,\n [`au-btn--color-${color}`]: !!color,\n 'au-btn--negative': !!negative,\n 'au-btn--disabled': !!disabled,\n 'au-btn--loading': !!loading,\n [`au-btn--round-${size}`]: !!round,\n 'btn-text': !!btnText,\n [`au-btn--border-${borderWidth}`]: !!borderWidth,\n [className ?? '']: typeof className === 'string',\n })\n\n function handleClick(e: React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n if (!disabled && !!onClick) onClick(e)\n }\n\n if (as === 'a') {\n return (\n <a\n className={buttonClasses}\n href={href}\n target={target}\n ref={elementRef as React.RefObject<HTMLAnchorElement>}\n {...props}>\n {children}\n </a>\n )\n }\n\n return (\n <button\n className={buttonClasses}\n onClick={handleClick}\n type={htmlType}\n ref={elementRef as React.RefObject<HTMLButtonElement>}\n disabled={disabled || loading}\n {...props}>\n <Conditional\n condition={loading}\n renderIf={<IconLoader />}\n renderElse={children}\n />\n </button>\n )\n}\n"],"names":[],"mappings":";;;;;;AAmCO,MAAM,SAAgC,CAAC;AAAA,EAC5C;AAAA,EACA,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV,QAAQ;AAAA,EACR;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,iBAAiB,OAA4B,MAAS;AAE5D,YAAU,MAAM;AACd,UAAM,qBAAqB,CAAC,YAAY,CAAC;AACzC,UAAM,wBAAwB,eAAe;AAC7C,UAAM,gBAAgB,0BAA0B;AAEhD,QACE,uBACC,iBAAiB,0BAA0B,SAC5C,WACA;AACA,gBAAA;AAAA,IACF;AAEA,mBAAe,UAAU,YAAY;AAAA,EACvC,GAAG,CAAC,UAAU,SAAS,SAAS,CAAC;AAEjC,QAAM,gBAAgB,WAAW,UAAU;AAAA,IACzC,CAAC,gBAAgB,IAAI,EAAE,GAAG,CAAC,CAAC;AAAA,IAC5B,CAAC,gBAAgB,IAAI,EAAE,GAAG,CAAC,CAAC;AAAA,IAC5B,CAAC,kBAAkB,MAAM,EAAE,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC,iBAAiB,KAAK,EAAE,GAAG,CAAC,CAAC;AAAA,IAC9B,oBAAoB,CAAC,CAAC;AAAA,IACtB,oBAAoB,CAAC,CAAC;AAAA,IACtB,mBAAmB,CAAC,CAAC;AAAA,IACrB,CAAC,iBAAiB,IAAI,EAAE,GAAG,CAAC,CAAC;AAAA,IAC7B,YAAY,CAAC,CAAC;AAAA,IACd,CAAC,kBAAkB,WAAW,EAAE,GAAG,CAAC,CAAC;AAAA,IACrC,CAAC,aAAa,EAAE,GAAG,OAAO,cAAc;AAAA,EAAA,CACzC;AAED,WAAS,YAAY,GAAoD;AACvE,QAAI,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC;AAAA,EACvC;AAEA,MAAI,OAAO,KAAK;AACd,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACJ,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,SAAS;AAAA,MACT,MAAM;AAAA,MACN,KAAK;AAAA,MACL,UAAU,YAAY;AAAA,MACrB,GAAG;AAAA,MACJ,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,8BAAW,YAAA,EAAW;AAAA,UACtB,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACd;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/Button/index.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { Conditional } from '../misc/Conditional'\nimport { IconLoader } from '../icons/default'\nimport './styles.scss'\n\ntype ButtonProps = (\n | {\n as: 'a'\n href: string\n }\n | {\n as?: 'button'\n href?: never\n }\n) & {\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onEnabled?: () => void\n children?: ReactNode | string | JSX.Element | JSX.Element[]\n color?: 'default'\n disabled?: boolean\n /** Stretches the button to fill the container width. Not mapped in Figma. */\n expand?: 'x'\n htmlType?: 'button' | 'submit' | 'reset'\n loading?: boolean\n size?: 'large' | 'medium'\n /**\n * Visual type.\n * @deprecated the 'link' value — use the `LinkButton` component instead (matches the Figma \"Link Button\" set, with sizes and icon slots).\n */\n type?: 'primary' | 'outlined' | 'ghost' | 'link'\n target?: string\n /** Inverted colors for colored backgrounds (Figma: Negative). */\n negative?: boolean\n /** Renders as a plain text button (class `btn-text`). Not mapped in Figma. */\n btnText?: boolean\n /** Icon-only round button (Figma: Style=Icon). */\n round?: boolean\n className?: string\n /** Border width modifier (`au-btn--border-*`). Not mapped in Figma. */\n borderWidth?: string\n elementRef?: React.RefObject<HTMLButtonElement | HTMLAnchorElement>\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n as,\n children = 'Button component',\n color = 'default',\n disabled = false,\n expand,\n href,\n htmlType = 'button',\n loading = false,\n onClick,\n onEnabled,\n size = 'medium',\n type = 'primary',\n target,\n negative = false,\n btnText = false,\n round = false,\n className,\n borderWidth = 'medium',\n elementRef,\n ...props\n}) => {\n const wasDisabledRef = useRef<boolean | undefined>(undefined)\n\n useEffect(() => {\n const isCurrentlyEnabled = !disabled && !loading\n const wasDisabledPreviously = wasDisabledRef.current\n const isFirstRender = wasDisabledPreviously === undefined\n\n if (\n isCurrentlyEnabled &&\n (isFirstRender || wasDisabledPreviously === true) &&\n onEnabled\n ) {\n onEnabled()\n }\n\n wasDisabledRef.current = disabled || loading\n }, [disabled, loading, onEnabled])\n\n const buttonClasses = classNames('au-btn', {\n [`au-btn--type-${type}`]: !!type,\n [`au-btn--size-${size}`]: !!size,\n [`au-btn--expand-${expand}`]: !!expand,\n [`au-btn--color-${color}`]: !!color,\n 'au-btn--negative': !!negative,\n 'au-btn--disabled': !!disabled,\n 'au-btn--loading': !!loading,\n [`au-btn--round-${size}`]: !!round,\n 'btn-text': !!btnText,\n [`au-btn--border-${borderWidth}`]: !!borderWidth,\n [className ?? '']: typeof className === 'string',\n })\n\n function handleClick(e: React.MouseEvent<HTMLButtonElement, MouseEvent>) {\n if (!disabled && !!onClick) onClick(e)\n }\n\n if (as === 'a') {\n return (\n <a\n className={buttonClasses}\n href={href}\n target={target}\n ref={elementRef as React.RefObject<HTMLAnchorElement>}\n {...props}>\n {children}\n </a>\n )\n }\n\n return (\n <button\n className={buttonClasses}\n onClick={handleClick}\n type={htmlType}\n ref={elementRef as React.RefObject<HTMLButtonElement>}\n disabled={disabled || loading}\n {...props}>\n <Conditional\n condition={loading}\n renderIf={<IconLoader />}\n renderElse={children}\n />\n </button>\n )\n}\n"],"names":[],"mappings":";;;;;;AA4CO,MAAM,SAAgC,CAAC;AAAA,EAC5C;AAAA,EACA,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV,QAAQ;AAAA,EACR;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,iBAAiB,OAA4B,MAAS;AAE5D,YAAU,MAAM;AACd,UAAM,qBAAqB,CAAC,YAAY,CAAC;AACzC,UAAM,wBAAwB,eAAe;AAC7C,UAAM,gBAAgB,0BAA0B;AAEhD,QACE,uBACC,iBAAiB,0BAA0B,SAC5C,WACA;AACA,gBAAA;AAAA,IACF;AAEA,mBAAe,UAAU,YAAY;AAAA,EACvC,GAAG,CAAC,UAAU,SAAS,SAAS,CAAC;AAEjC,QAAM,gBAAgB,WAAW,UAAU;AAAA,IACzC,CAAC,gBAAgB,IAAI,EAAE,GAAG,CAAC,CAAC;AAAA,IAC5B,CAAC,gBAAgB,IAAI,EAAE,GAAG,CAAC,CAAC;AAAA,IAC5B,CAAC,kBAAkB,MAAM,EAAE,GAAG,CAAC,CAAC;AAAA,IAChC,CAAC,iBAAiB,KAAK,EAAE,GAAG,CAAC,CAAC;AAAA,IAC9B,oBAAoB,CAAC,CAAC;AAAA,IACtB,oBAAoB,CAAC,CAAC;AAAA,IACtB,mBAAmB,CAAC,CAAC;AAAA,IACrB,CAAC,iBAAiB,IAAI,EAAE,GAAG,CAAC,CAAC;AAAA,IAC7B,YAAY,CAAC,CAAC;AAAA,IACd,CAAC,kBAAkB,WAAW,EAAE,GAAG,CAAC,CAAC;AAAA,IACrC,CAAC,aAAa,EAAE,GAAG,OAAO,cAAc;AAAA,EAAA,CACzC;AAED,WAAS,YAAY,GAAoD;AACvE,QAAI,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC;AAAA,EACvC;AAEA,MAAI,OAAO,KAAK;AACd,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA,KAAK;AAAA,QACJ,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,SAAS;AAAA,MACT,MAAM;AAAA,MACN,KAAK;AAAA,MACL,UAAU,YAAY;AAAA,MACrB,GAAG;AAAA,MACJ,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,8BAAW,YAAA,EAAW;AAAA,UACtB,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACd;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- .au-btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;outline:none;text-align:center;text-decoration:none;transition:background-color .3s ease;font-family:"Source Sans 3",sans-serif;gap:8px;height:48px;border-radius:48px;font-size:16px;padding:16px 18px}.au-btn:hover,.au-btn:focus{background-color:#1737a4}.au-btn:active{background-color:#18256c}.au-btn .au-icon,.au-btn .au-icon>svg{width:20px;height:20px;color:#fff}@media(min-width:600px){.au-btn--size-large{height:64px;border-radius:60px;font-size:20px;padding:16px 30px}}.au-btn--size-medium{height:48px;border-radius:48px;font-size:16px;padding:16px 18px}.au-btn--color-default{background-color:#0048db;color:#fff}.au-btn--type-outlined{color:#0048db;border:1px solid #0048db;background-color:transparent}.au-btn--type-outlined .au-icon,.au-btn--type-outlined .au-icon>svg{color:#0048db}.au-btn--type-outlined:hover,.au-btn--type-outlined:focus{background-color:#f2f5fc}.au-btn--type-outlined:active{background-color:#dce8ff}.au-btn--type-ghost{background-color:transparent;border:0;color:#0048db}.au-btn--type-ghost .au-icon,.au-btn--type-ghost .au-icon>svg{color:#0048db}.au-btn--type-ghost:hover,.au-btn--type-ghost:focus{background-color:#f2f5fc;border-color:0}.au-btn--type-ghost:active{background-color:#dce8ff;border:1px solid #1737a4;color:#1737a4}.au-btn--type-link{color:#0048db;padding:0;background:transparent}.au-btn--type-link:hover,.au-btn--type-link:focus{background-color:transparent}.au-btn--expand-x{width:100%}.au-btn--disabled{background-color:#e2e4e9;color:#5e6573;cursor:not-allowed}.au-btn--disabled .au-icon svg{color:#5e6573}.au-btn--disabled:hover,.au-btn--disabled:focus{background-color:#e2e4e9}.au-btn--disabled.au-btn--type-outlined{background-color:#fff;color:#5e6573;border-color:#5e6573}.au-btn--disabled.au-btn--type-outlined:hover,.au-btn--disabled.au-btn--type-outlined:focus{background-color:#fff}.au-btn--disabled.au-btn--type-ghost{background-color:#fff;color:#5e6573}.au-btn--disabled.au-btn--type-ghost:hover,.au-btn--disabled.au-btn--type-ghost:focus{background-color:#fff}.au-btn--disabled.au-btn--type-ghost:active{border:0}.au-btn--loading{background-color:#1737a4;color:#fff;cursor:progress}.au-btn--loading .au-icon{animation:spin 1s infinite linear}.au-btn--loading:hover,.au-btn--loading:focus{background-color:#1737a4}.au-btn--loading.au-btn--type-outlined{background-color:#fff;color:#0048db;border-color:#0048db}.au-btn--loading.au-btn--type-outlined:hover,.au-btn--loading.au-btn--type-outlined:focus{background-color:#fff;color:#0048db}.au-btn--loading.au-btn--type-outlined:hover .au-icon,.au-btn--loading.au-btn--type-outlined:hover .au-icon svg,.au-btn--loading.au-btn--type-outlined:focus .au-icon,.au-btn--loading.au-btn--type-outlined:focus .au-icon svg{color:#0048db}.au-btn--loading.au-btn--type-ghost{background-color:transparent;color:#5e6573}.au-btn--loading.au-btn--type-ghost .au-icon,.au-btn--loading.au-btn--type-ghost .au-icon svg{color:#5e6573}.au-btn--loading.au-btn--type-ghost:hover,.au-btn--loading.au-btn--type-ghost:focus{background-color:transparent;color:#5e6573}.au-btn--round-large .au-icon,.au-btn--round-large .au-icon>svg,.au-btn--round-medium .au-icon,.au-btn--round-medium .au-icon>svg{width:24px;height:24px}.au-btn--round-large{padding:12px;height:48px;width:48px}.au-btn--round-medium{padding:10px;height:40px;width:40px}@keyframes spin{to{transform:rotate(360deg)}}.btn-text{background-color:transparent;border:none;display:flex;color:#0048db;font-weight:600}.btn-text .au-icon svg{color:#0048db}.btn-text:hover,.btn-text:focus{background-color:transparent}
1
+ .au-btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-weight:600;justify-content:center;outline:none;text-align:center;text-decoration:none;transition:background-color .3s ease;font-family:"Source Sans 3",sans-serif;gap:8px;height:48px;border-radius:48px;font-size:16px;padding:16px 18px}.au-btn:hover,.au-btn:focus{background-color:#1737a4}.au-btn:active{background-color:#18256c}.au-btn .au-icon,.au-btn .au-icon>svg{width:20px;height:20px;color:#fff}@media(min-width:600px){.au-btn--size-large{height:64px;border-radius:60px;font-size:20px;padding:16px 30px}}.au-btn--size-medium{height:48px;border-radius:48px;font-size:16px;padding:16px 18px}.au-btn--color-default{background-color:#0048db;color:#fff}.au-btn--type-outlined{color:#0048db;border:1px solid #0048db;background-color:transparent}.au-btn--type-outlined .au-icon,.au-btn--type-outlined .au-icon>svg{color:#0048db}.au-btn--type-outlined:hover,.au-btn--type-outlined:focus{background-color:#f2f5fc}.au-btn--type-outlined:active{background-color:#dce8ff}.au-btn--type-ghost{background-color:transparent;border:0;color:#0048db}.au-btn--type-ghost .au-icon,.au-btn--type-ghost .au-icon>svg{color:#0048db}.au-btn--type-ghost:hover,.au-btn--type-ghost:focus{background-color:#f2f5fc;border-color:0}.au-btn--type-ghost:active{background-color:#dce8ff;border:1px solid #1737a4;color:#1737a4}.au-btn--type-link{color:#0048db;padding:0;background:transparent}.au-btn--type-link:hover,.au-btn--type-link:focus{background-color:transparent}.au-btn--expand-x{width:100%}.au-btn--disabled{background-color:#e2e4e9;color:#5e6573;cursor:not-allowed}.au-btn--disabled .au-icon svg{color:#5e6573}.au-btn--disabled:hover,.au-btn--disabled:focus{background-color:#e2e4e9}.au-btn--disabled.au-btn--type-outlined{background-color:#fff;color:#5e6573;border-color:#5e6573}.au-btn--disabled.au-btn--type-outlined:hover,.au-btn--disabled.au-btn--type-outlined:focus{background-color:#fff}.au-btn--disabled.au-btn--type-ghost{background-color:#fff;color:#5e6573}.au-btn--disabled.au-btn--type-ghost:hover,.au-btn--disabled.au-btn--type-ghost:focus{background-color:#fff}.au-btn--disabled.au-btn--type-ghost:active{border:0}.au-btn--loading{background-color:#1737a4;color:#fff;cursor:progress}.au-btn--loading .au-icon{animation:spin 1s infinite linear}.au-btn--loading:hover,.au-btn--loading:focus{background-color:#1737a4}.au-btn--loading.au-btn--type-outlined{background-color:#fff;color:#0048db;border-color:#0048db}.au-btn--loading.au-btn--type-outlined:hover,.au-btn--loading.au-btn--type-outlined:focus{background-color:#fff;color:#0048db}.au-btn--loading.au-btn--type-outlined:hover .au-icon,.au-btn--loading.au-btn--type-outlined:hover .au-icon svg,.au-btn--loading.au-btn--type-outlined:focus .au-icon,.au-btn--loading.au-btn--type-outlined:focus .au-icon svg{color:#0048db}.au-btn--loading.au-btn--type-ghost{background-color:transparent;color:#5e6573}.au-btn--loading.au-btn--type-ghost .au-icon,.au-btn--loading.au-btn--type-ghost .au-icon svg{color:#5e6573}.au-btn--loading.au-btn--type-ghost:hover,.au-btn--loading.au-btn--type-ghost:focus{background-color:transparent;color:#5e6573}.au-btn--negative{background-color:#fff;color:#0048db}.au-btn--negative .au-icon,.au-btn--negative .au-icon>svg{color:#0048db}.au-btn--negative:hover,.au-btn--negative:focus{background-color:#f2f5fc;color:#1737a4}.au-btn--negative:hover .au-icon,.au-btn--negative:hover .au-icon>svg,.au-btn--negative:focus .au-icon,.au-btn--negative:focus .au-icon>svg{color:#1737a4}.au-btn--negative:active{background-color:#fff;color:#18256c}.au-btn--negative:active .au-icon,.au-btn--negative:active .au-icon>svg{color:#18256c}.au-btn--negative.au-btn--type-outlined{background-color:transparent;border-color:#fff;color:#fff}.au-btn--negative.au-btn--type-outlined .au-icon,.au-btn--negative.au-btn--type-outlined .au-icon>svg{color:#fff}.au-btn--negative.au-btn--type-outlined:hover,.au-btn--negative.au-btn--type-outlined:focus{background-color:#f2f5fc;border-color:#f2f5fc;color:#1737a4}.au-btn--negative.au-btn--type-outlined:hover .au-icon,.au-btn--negative.au-btn--type-outlined:hover .au-icon>svg,.au-btn--negative.au-btn--type-outlined:focus .au-icon,.au-btn--negative.au-btn--type-outlined:focus .au-icon>svg{color:#1737a4}.au-btn--negative.au-btn--type-outlined:active{background-color:#fff;color:#18256c}.au-btn--negative.au-btn--type-outlined:active .au-icon,.au-btn--negative.au-btn--type-outlined:active .au-icon>svg{color:#18256c}.au-btn--negative.au-btn--type-ghost{background-color:transparent;color:#fff}.au-btn--negative.au-btn--type-ghost .au-icon,.au-btn--negative.au-btn--type-ghost .au-icon>svg{color:#fff}.au-btn--negative.au-btn--type-ghost:hover,.au-btn--negative.au-btn--type-ghost:focus{background-color:#f2f5fc;color:#1737a4}.au-btn--negative.au-btn--type-ghost:hover .au-icon,.au-btn--negative.au-btn--type-ghost:hover .au-icon>svg,.au-btn--negative.au-btn--type-ghost:focus .au-icon,.au-btn--negative.au-btn--type-ghost:focus .au-icon>svg{color:#1737a4}.au-btn--negative.au-btn--type-ghost:active{background-color:#fff;border:0;color:#18256c}.au-btn--negative.au-btn--type-ghost:active .au-icon,.au-btn--negative.au-btn--type-ghost:active .au-icon>svg{color:#18256c}.au-btn--negative.au-btn--disabled{background-color:#f6f7fa;border-color:transparent;color:#c4c9d4}.au-btn--negative.au-btn--disabled .au-icon,.au-btn--negative.au-btn--disabled .au-icon>svg{color:#c4c9d4}.au-btn--negative.au-btn--disabled:hover,.au-btn--negative.au-btn--disabled:focus{background-color:#f6f7fa;color:#c4c9d4}.au-btn--negative.au-btn--loading{background-color:#fff;border-color:transparent;color:#0048db}.au-btn--negative.au-btn--loading .au-icon,.au-btn--negative.au-btn--loading .au-icon>svg,.au-btn--negative.au-btn--loading .au-icon svg{color:#0048db}.au-btn--negative.au-btn--loading:hover,.au-btn--negative.au-btn--loading:focus{background-color:#fff;color:#0048db}.au-btn--round-large .au-icon,.au-btn--round-large .au-icon>svg,.au-btn--round-medium .au-icon,.au-btn--round-medium .au-icon>svg{width:24px;height:24px}.au-btn--round-large{padding:12px;height:48px;width:48px}.au-btn--round-medium{padding:10px;height:40px;width:40px}@keyframes spin{to{transform:rotate(360deg)}}.btn-text{background-color:transparent;border:none;display:flex;color:#0048db;font-weight:600}.btn-text .au-icon svg{color:#0048db}.btn-text:hover,.btn-text:focus{background-color:transparent}
@@ -1,9 +1,9 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../index-C6Q03EyZ.js";
3
- import "../../index-Dws33tXs.js";
3
+ import "../../index-BgBOcVUP.js";
4
4
  import "../Button/index.es.js";
5
5
  import "../PortalHolder/index.es.js";
6
- import { a } from "../../index-CnXw6SB7.js";
6
+ import { a } from "../../index-DHwXRotU.js";
7
7
  export {
8
8
  a as DatepickerCalendar
9
9
  };
@@ -1,10 +1,11 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../index-C6Q03EyZ.js";
3
+ import "react";
3
4
  import "../Icon/index.es.js";
4
5
  import "../icons/IconChevronLeft/index.es.js";
5
6
  import "../icons/IconChevronRight/index.es.js";
6
- import "../../index-fyDB87KK.js";
7
- import { C } from "../../index-Dws33tXs.js";
7
+ import "../../index-DnQGzfVW.js";
8
+ import { C } from "../../index-BgBOcVUP.js";
8
9
  export {
9
10
  C as CalendarHeader
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -3,9 +3,9 @@ import $8WNJc$react__default, { useState, useEffect } from "react";
3
3
  import { c as classNames } from "../../index-C6Q03EyZ.js";
4
4
  import "../Icon/index.es.js";
5
5
  import { IconCheck } from "../icons/IconCheck/index.es.js";
6
+ import { i as COLOR_NEUTRAL_00 } from "../../tokens-C4yCunfz.js";
6
7
  import { F as Field } from "../../index-ZE6zszxw.js";
7
8
  import { Conditional } from "../Conditional/index.es.js";
8
- import { i as COLOR_NEUTRAL_00 } from "../../tokens-CKZdIZ5O.js";
9
9
  import { Text } from "../Text/index.es.js";
10
10
  import './styles.css';const CheckboxField = ({
11
11
  label,
@@ -1,6 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
3
  import { Button } from "../Button/index.es.js";
4
+ import "react";
4
5
  import "../Icon/index.es.js";
5
6
  import { IconChevronDown } from "../icons/IconChevronDown/index.es.js";
6
7
  import './styles.css';const Chip = ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/Chip/index.tsx"],"sourcesContent":["import cn from 'classnames'\nimport { Button } from '@components/Button'\nimport { IconChevronDown } from '@components/icons'\n\nimport './styles.scss'\n\nexport type ChipProps = {\n isActive: boolean\n isDisabled?: boolean\n label: string\n icon?: React.ReactNode\n variant?: 'filter' | 'order'\n onClick: () => void\n 'data-testid'?: string\n}\n\nexport const Chip = ({\n onClick,\n label,\n icon,\n isActive,\n isDisabled,\n variant = 'filter',\n 'data-testid': dataTestId,\n}: ChipProps) => {\n const isOrder = variant === 'order'\n\n return (\n <Button\n className={cn('au-chip', `au-chip--variant-${variant}`, {\n 'au-chip--active': isActive,\n 'au-chip--disabled': isDisabled,\n })}\n type=\"outlined\"\n disabled={isDisabled}\n onClick={onClick}\n data-testid={dataTestId}>\n {!isOrder && icon}\n {label}\n {isOrder && <IconChevronDown />}\n </Button>\n )\n}\n"],"names":["cn"],"mappings":";;;;;AAgBO,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,eAAe;AACjB,MAAiB;AACf,QAAM,UAAU,YAAY;AAE5B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWA,WAAG,WAAW,oBAAoB,OAAO,IAAI;AAAA,QACtD,mBAAmB;AAAA,QACnB,qBAAqB;AAAA,MAAA,CACtB;AAAA,MACD,MAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA,eAAa;AAAA,MACZ,UAAA;AAAA,QAAA,CAAC,WAAW;AAAA,QACZ;AAAA,QACA,+BAAY,iBAAA,CAAA,CAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnC;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/Chip/index.tsx"],"sourcesContent":["import cn from 'classnames'\nimport { Button } from '@components/Button'\nimport { IconChevronDown } from '@components/icons'\n\nimport './styles.scss'\n\nexport type ChipProps = {\n isActive: boolean\n isDisabled?: boolean\n label: string\n icon?: React.ReactNode\n variant?: 'filter' | 'order'\n onClick: () => void\n 'data-testid'?: string\n}\n\nexport const Chip = ({\n onClick,\n label,\n icon,\n isActive,\n isDisabled,\n variant = 'filter',\n 'data-testid': dataTestId,\n}: ChipProps) => {\n const isOrder = variant === 'order'\n\n return (\n <Button\n className={cn('au-chip', `au-chip--variant-${variant}`, {\n 'au-chip--active': isActive,\n 'au-chip--disabled': isDisabled,\n })}\n type=\"outlined\"\n disabled={isDisabled}\n onClick={onClick}\n data-testid={dataTestId}>\n {!isOrder && icon}\n {label}\n {isOrder && <IconChevronDown />}\n </Button>\n )\n}\n"],"names":["cn"],"mappings":";;;;;;AAgBO,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,eAAe;AACjB,MAAiB;AACf,QAAM,UAAU,YAAY;AAE5B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWA,WAAG,WAAW,oBAAoB,OAAO,IAAI;AAAA,QACtD,mBAAmB;AAAA,QACnB,qBAAqB;AAAA,MAAA,CACtB;AAAA,MACD,MAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAA,MACA,eAAa;AAAA,MACZ,UAAA;AAAA,QAAA,CAAC,WAAW;AAAA,QACZ;AAAA,QACA,+BAAY,iBAAA,CAAA,CAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnC;"}
@@ -1,13 +1,13 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { B as BREAKPOINT_MD, c as COLOR_NEUTRAL_40 } from "../../tokens-C4yCunfz.js";
2
3
  import "../../index-C6Q03EyZ.js";
4
+ import { useRef, useState, useMemo, useEffect } from "react";
3
5
  import "../Icon/index.es.js";
4
6
  import { IconCalendar } from "../icons/IconCalendar/index.es.js";
5
7
  import { InputField } from "../InputField/index.es.js";
6
- import { D as DDMMYYYY, g as getDefaultDate, a as DatepickerCalendar, A as AUCalendarDate } from "../../index-CnXw6SB7.js";
7
- import { useRef, useState, useMemo, useEffect } from "react";
8
+ import { D as DDMMYYYY, g as getDefaultDate, a as DatepickerCalendar, A as AUCalendarDate } from "../../index-DHwXRotU.js";
8
9
  import { a as above } from "../../screen-DfYo7XQ_.js";
9
- import { u as useOutsideClick } from "../../index-fyDB87KK.js";
10
- import { B as BREAKPOINT_MD, c as COLOR_NEUTRAL_40 } from "../../tokens-CKZdIZ5O.js";
10
+ import { u as useOutsideClick } from "../../index-DnQGzfVW.js";
11
11
  import './styles.css';function useDatepicker({
12
12
  value,
13
13
  defaultValue = "empty",
@@ -4,7 +4,13 @@ type DrawerProps = {
4
4
  renderContent: ReactNode | string | JSX.Element | JSX.Element[];
5
5
  isOpen: boolean;
6
6
  handleOpen: () => void;
7
+ /**
8
+ * Edge the drawer slides in from. 'right' is the classic side sheet;
9
+ * 'bottom' renders the Bottom Sheet surface (Figma: Modal v2, Surface=BottomSheet).
10
+ * @default 'right'
11
+ */
12
+ position?: 'right' | 'bottom';
7
13
  'data-testid'?: string;
8
14
  };
9
- export declare const Drawer: ({ renderHeader, renderContent, isOpen, handleOpen, "data-testid": dataTestId, }: DrawerProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const Drawer: ({ renderHeader, renderContent, isOpen, handleOpen, position, "data-testid": dataTestId, }: DrawerProps) => import("react/jsx-runtime").JSX.Element;
10
16
  export {};
@@ -1,5 +1,6 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
+ import "react";
3
4
  import "../Icon/index.es.js";
4
5
  import { IconX } from "../icons/IconX/index.es.js";
5
6
  import './styles.css';const Drawer = ({
@@ -7,13 +8,15 @@ import './styles.css';const Drawer = ({
7
8
  renderContent,
8
9
  isOpen = false,
9
10
  handleOpen,
11
+ position = "right",
10
12
  "data-testid": dataTestId
11
13
  }) => {
12
14
  return /* @__PURE__ */ jsx(
13
15
  "div",
14
16
  {
15
17
  className: classNames("au-drawer", {
16
- "au-drawer--is-open": isOpen
18
+ "au-drawer--is-open": isOpen,
19
+ "au-drawer--position-bottom": position === "bottom"
17
20
  }),
18
21
  role: "dialog",
19
22
  "aria-modal": "true",
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/Drawer/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { ReactNode } from 'react'\nimport { IconX } from '../icons/default'\nimport './styles.scss'\n\ntype DrawerProps = {\n renderHeader: ReactNode | string | JSX.Element | JSX.Element[]\n renderContent: ReactNode | string | JSX.Element | JSX.Element[]\n isOpen: boolean\n handleOpen: () => void\n 'data-testid'?: string\n}\n\nexport const Drawer = ({\n renderHeader,\n renderContent,\n isOpen = false,\n handleOpen,\n 'data-testid': dataTestId,\n}: DrawerProps) => {\n \n return (\n <div\n className={classNames('au-drawer', {\n 'au-drawer--is-open': isOpen,\n })}\n role=\"dialog\"\n aria-modal=\"true\"\n data-testid={dataTestId}>\n <div className=\"au-drawer__container\">\n <div className=\"au-drawer__header\">\n {renderHeader}\n <button className=\"au-drawer__header-close\" onClick={handleOpen} aria-label=\"Fechar\">\n <IconX aria-hidden=\"true\" />\n </button>\n </div>\n <div className=\"au-drawer__content\">{renderContent}</div>\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;;AAaO,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,eAAe;AACjB,MAAmB;AAEjB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,aAAa;AAAA,QACjC,sBAAsB;AAAA,MAAA,CACvB;AAAA,MACD,MAAK;AAAA,MACL,cAAW;AAAA,MACX,eAAa;AAAA,MACb,UAAA,qBAAC,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,qBACZ,UAAA;AAAA,UAAA;AAAA,UACD,oBAAC,UAAA,EAAO,WAAU,2BAA0B,SAAS,YAAY,cAAW,UAC1E,UAAA,oBAAC,OAAA,EAAM,eAAY,OAAA,CAAO,EAAA,CAC5B;AAAA,QAAA,GACF;AAAA,QACA,oBAAC,OAAA,EAAI,WAAU,sBAAsB,UAAA,cAAA,CAAc;AAAA,MAAA,EAAA,CACrD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/Drawer/index.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { ReactNode } from 'react'\nimport { IconX } from '../icons/default'\nimport './styles.scss'\n\ntype DrawerProps = {\n renderHeader: ReactNode | string | JSX.Element | JSX.Element[]\n renderContent: ReactNode | string | JSX.Element | JSX.Element[]\n isOpen: boolean\n handleOpen: () => void\n /**\n * Edge the drawer slides in from. 'right' is the classic side sheet;\n * 'bottom' renders the Bottom Sheet surface (Figma: Modal v2, Surface=BottomSheet).\n * @default 'right'\n */\n position?: 'right' | 'bottom'\n 'data-testid'?: string\n}\n\nexport const Drawer = ({\n renderHeader,\n renderContent,\n isOpen = false,\n handleOpen,\n position = 'right',\n 'data-testid': dataTestId,\n}: DrawerProps) => {\n\n return (\n <div\n className={classNames('au-drawer', {\n 'au-drawer--is-open': isOpen,\n 'au-drawer--position-bottom': position === 'bottom',\n })}\n role=\"dialog\"\n aria-modal=\"true\"\n data-testid={dataTestId}>\n <div className=\"au-drawer__container\">\n <div className=\"au-drawer__header\">\n {renderHeader}\n <button className=\"au-drawer__header-close\" onClick={handleOpen} aria-label=\"Fechar\">\n <IconX aria-hidden=\"true\" />\n </button>\n </div>\n <div className=\"au-drawer__content\">{renderContent}</div>\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;;;AAmBO,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,WAAW;AAAA,EACX,eAAe;AACjB,MAAmB;AAEjB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,WAAW,aAAa;AAAA,QACjC,sBAAsB;AAAA,QACtB,8BAA8B,aAAa;AAAA,MAAA,CAC5C;AAAA,MACD,MAAK;AAAA,MACL,cAAW;AAAA,MACX,eAAa;AAAA,MACb,UAAA,qBAAC,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,qBACZ,UAAA;AAAA,UAAA;AAAA,UACD,oBAAC,UAAA,EAAO,WAAU,2BAA0B,SAAS,YAAY,cAAW,UAC1E,UAAA,oBAAC,OAAA,EAAM,eAAY,OAAA,CAAO,EAAA,CAC5B;AAAA,QAAA,GACF;AAAA,QACA,oBAAC,OAAA,EAAI,WAAU,sBAAsB,UAAA,cAAA,CAAc;AAAA,MAAA,EAAA,CACrD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- .au-drawer{height:100vh;width:100vw;position:fixed;top:0;left:0;background-color:#16181dcc;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .4s ease;z-index:5}.au-drawer--is-open{opacity:1;visibility:visible;pointer-events:all;transition:opacity .3s ease}.au-drawer--is-open .au-drawer__container{transform:translateY(0)}.au-drawer__container{background-color:#fff;width:100%;height:100vh;height:100dvh;position:fixed;z-index:6;top:0;right:0;transform:translate(100%);transition:transform .3s ease;overflow:hidden}@media(min-width:600px){.au-drawer__container{border-radius:16px 0 0 16px;box-shadow:0 24px 56px #7686ad14,0 12px 12px #0048db0a;max-width:414px}}.au-drawer__header{position:relative;border-bottom:1px solid #e2e4e9;padding:16px 24px;height:80px;display:flex;align-items:center;justify-content:space-between}.au-drawer__header-close{cursor:pointer;background-color:transparent;border:none}.au-drawer__header .au-logo{margin:8px 0;display:block;height:100%}.au-drawer__header .au-logo svg{height:100%}.au-drawer__content{height:calc(100% - 80px);overflow-y:scroll}
1
+ .au-drawer{height:100vh;width:100vw;position:fixed;top:0;left:0;background-color:#16181dcc;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .4s ease;z-index:5}.au-drawer--is-open{opacity:1;visibility:visible;pointer-events:all;transition:opacity .3s ease}.au-drawer--is-open .au-drawer__container{transform:translateY(0)}.au-drawer__container{background-color:#fff;width:100%;height:100vh;height:100dvh;position:fixed;z-index:6;top:0;right:0;transform:translate(100%);transition:transform .3s ease;overflow:hidden}@media(min-width:600px){.au-drawer__container{border-radius:16px 0 0 16px;box-shadow:0 24px 56px #7686ad14,0 12px 12px #0048db0a;max-width:414px}}.au-drawer__header{position:relative;border-bottom:1px solid #e2e4e9;padding:16px 24px;height:80px;display:flex;align-items:center;justify-content:space-between}.au-drawer__header-close{cursor:pointer;background-color:transparent;border:none}.au-drawer__header .au-logo{margin:8px 0;display:block;height:100%}.au-drawer__header .au-logo svg{height:100%}.au-drawer__content{height:calc(100% - 80px);overflow-y:scroll}.au-drawer--position-bottom .au-drawer__container{top:auto;bottom:0;left:0;right:0;width:100%;height:auto;max-height:90vh;max-height:90dvh;margin:0 auto;transform:translateY(100%);border-radius:16px 16px 0 0}@media(min-width:600px){.au-drawer--position-bottom .au-drawer__container{max-width:480px;border-radius:16px 16px 0 0}}.au-drawer--position-bottom.au-drawer--is-open .au-drawer__container{transform:translateY(0)}.au-drawer--position-bottom .au-drawer__content{height:auto;max-height:calc(90vh - 80px);max-height:calc(90dvh - 80px);overflow-y:auto}
@@ -1,6 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
3
  import { Text } from "../Text/index.es.js";
4
+ import "react";
4
5
  import "../Icon/index.es.js";
5
6
  import { IconFacebook } from "../icons/IconFacebook/index.es.js";
6
7
  import { IconInstagram } from "../icons/IconInstagram/index.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/Footer/data.tsx","../../../lib/components/Footer/index.tsx"],"sourcesContent":["import {\n IconInstagram,\n IconFacebook,\n IconYoutube,\n IconLinkedin,\n IconTiktok,\n} from '../icons'\n\nexport const certificatesMap = {\n fintech2022: {\n logo: 'https://assets.acordocerto.com.br/f/114280/47x62/6ffd0990ed/fintech-2022.png',\n name: 'Melhores Fintechs 2022',\n },\n fintech2023: {\n logo: 'https://assets.acordocerto.com.br/f/114280/84x73/b48cc08aa5/fintech-2023.png',\n name: 'Melhores Fintechs 2023',\n },\n pcidss: {\n logo: 'https://assets.acordocerto.com.br/f/114280/85x36/8be091fa1c/pci-dss.png',\n name: 'PCI DSS Compliant',\n },\n quintessa: {\n logo: 'https://assets.acordocerto.com.br/f/114280/122x40/16f41476c0/quintessa.png',\n name: 'Quintessa',\n },\n ra1000: {\n logo: 'https://assets.acordocerto.com.br/f/114280/100x58/ad8bed26c8/ra1000.png',\n name: 'RA 1000',\n },\n reclameaqui: {\n logo: 'https://assets.acordocerto.com.br/f/114280/60x60/b85fcf03dd/reclame-aqui.png',\n name: 'Ótimo Reclame Aqui',\n },\n scaleup: {\n logo: 'https://assets.acordocerto.com.br/f/114280/104x50/07c8b89dbe/scale-up.png',\n name: 'Scale Up',\n },\n sslblindado: {\n logo: 'https://assets.acordocerto.com.br/f/114280/75x54/60734a2cc4/ssl-blindado.png',\n name: 'SSL Blindado',\n },\n}\nexport const socialsMap = {\n instagram: {\n name: 'Instagram',\n icon: <IconInstagram />,\n },\n facebook: {\n name: 'Facebook',\n icon: <IconFacebook />,\n },\n youtube: {\n name: 'Youtube',\n icon: <IconYoutube />,\n },\n linkedin: {\n name: 'Linkedin',\n icon: <IconLinkedin />,\n },\n tiktok: {\n name: 'TikTok',\n icon: <IconTiktok />,\n },\n}\n\nexport const storesMap = {\n googleplay: {\n name: 'Google Play',\n icon: 'https://assets.acordocerto.com.br/f/114280/117x36/e0e7eda65d/google-play.png',\n },\n appstore: {\n name: 'App Store',\n icon: 'https://assets.acordocerto.com.br/f/114280/117x36/38b0d1ecc9/app-store.png',\n },\n}\n","import classNames from 'classnames'\nimport { Text } from '../Text'\nimport { FooterProps } from './types'\nimport { certificatesMap, socialsMap, storesMap } from './data'\nimport { Conditional } from '../misc'\nimport { LazyImage } from '../LazyImage'\nimport { isMobile } from '@core/utils/isMobile'\nimport './styles.scss'\n\nexport const Footer = ({\n logo,\n categoryLinks,\n socialLinks,\n cnpj,\n address,\n companyOverview,\n certificates,\n copyrights,\n stores = {},\n 'data-testid': dataTestId,\n}: FooterProps) => {\n const usedCertificates = certificates.map(\n (certificate) => certificatesMap[certificate],\n )\n\n const usedSocials = Object.keys(socialLinks).map((social) => {\n return {\n ...socialsMap[social as keyof typeof socialsMap],\n url: socialLinks[social as keyof typeof socialLinks],\n }\n })\n\n const usedStores = Object.keys(stores).map((store) => {\n return {\n ...storesMap[store as keyof typeof storesMap],\n url: stores[store as keyof typeof stores],\n }\n })\n\n const showCertificatesBorder = usedCertificates.length > 3 && !!isMobile()\n \n if (categoryLinks) {\n return (\n <footer className=\"au-footer-full\" data-testid={dataTestId}>\n <div className=\"au-footer-full__container\">\n <div className=\"au-footer-full__logo\">{logo}</div>\n <div className=\"au-footer-full__links\">\n {categoryLinks.map(({ categoryTitle, links }, index) => {\n return (\n <div key={index} className=\"au-footer-full__links-category\">\n <Text as=\"h2\" variant=\"heading-micro\" weight=\"bold\">\n {categoryTitle}\n </Text>\n {links.map(({ title, url }, index) => {\n return url ? (\n <a\n key={index}\n className=\"au-footer-full__links au-footer-full__links--is-clickable\"\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <Text as=\"span\" variant=\"body-medium\" weight=\"regular\" color=\"secondary\">\n {title}\n </Text>\n </a>\n ) : (\n <span key={index} className=\"au-footer-full__links\">\n <Text as=\"span\" variant=\"body-medium\" weight=\"regular\" color=\"secondary\">\n {title}\n </Text>\n </span>\n )\n })}\n </div>\n )\n })}\n <div className=\"au-footer-full__company-info\">\n <Text as=\"h2\" variant=\"heading-micro\" weight=\"bold\">\n Siga a gente\n </Text>\n <div className=\"au-footer-full__links-socials\">\n {usedSocials.map(({ icon, url, name }, index) => {\n return (\n <a\n key={index}\n className={classNames('au-footer-full__links', {\n 'au-footer-full__links--is-clickable': !!url,\n })}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={`Siga-nos no ${name}`}>\n <span aria-hidden=\"true\">{icon}</span>\n </a>\n )\n })}\n </div>\n <Text\n as=\"div\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\">\n <Text\n as=\"strong\"\n weight=\"bold\"\n color=\"secondary\">\n CNPJ:\n </Text> {cnpj}\n </Text>\n <Text\n as=\"div\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\">\n <Text\n as=\"strong\"\n variant=\"body-medium\"\n weight=\"bold\"\n color=\"secondary\"\n className=\"au-footer-full__address-label\">\n Localização (sem atendimento ao público):\n </Text>\n {address}\n </Text>\n </div>\n </div>\n <Conditional\n condition={!!usedStores.length && Boolean(isMobile())}\n renderIf={\n <div className=\"au-footer-full__stores\">\n <Text\n className=\"au-footer-full__stores-title\"\n as=\"h2\"\n variant=\"heading-micro\"\n weight=\"bold\">\n Baixe nosso app\n </Text>\n {usedStores.map(({ icon, url, name }, index) => {\n return url ? (\n <a\n key={index}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"au-footer-full__stores-logo au-footer-full__stores-logo--is-clickable\">\n <LazyImage src={icon} alt={name} />\n </a>\n ) : (\n <LazyImage\n className=\"au-footer-full__stores-logo\"\n key={index}\n src={icon}\n alt={name}\n />\n )\n })}\n </div>\n }\n />\n {companyOverview && (\n <div className=\"au-footer-full__company-overview\">\n <Text color=\"secondary\">{companyOverview}</Text>\n </div>\n )}\n <div className=\"au-footer-full__bottom\">\n <div className={classNames(\"au-footer-full__bottom-certificates\", {\n 'au-footer-full__bottom-certificates--with-border': showCertificatesBorder,\n })}>\n {usedCertificates.map(({ logo, name }, index) => {\n return <LazyImage key={index} src={logo} alt={name} />\n })}\n </div>\n <div className=\"au-footer-full__bottom-side\">\n <Conditional\n condition={!!usedStores.length && !isMobile()}\n renderIf={\n <div className=\"au-footer-full__stores\">\n <Text\n className=\"au-footer-full__stores-title\"\n as=\"h2\"\n variant=\"heading-micro\"\n weight=\"bold\">\n Baixe nosso app\n </Text>\n {usedStores.map(({ icon, url, name }, index) => {\n return url ? (\n <a\n key={index}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"au-footer-full__stores-logo au-footer-full__stores-logo--is-clickable\">\n <LazyImage src={icon} alt={name} />\n </a>\n ) : (\n <LazyImage\n className=\"au-footer-full__stores-logo\"\n key={index}\n src={icon}\n alt={name}\n />\n )\n })}\n </div>\n }\n />\n <Text\n as=\"div\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\"\n className=\"au-footer-full__copyrights\"\n dangerouslySetInnerHTML={copyrights}\n />\n </div>\n </div>\n </div>\n </footer>\n )\n }\n\n return (\n <footer className=\"au-footer\" data-testid={dataTestId}>\n <div className=\"au-footer__container\">\n <div className=\"au-footer__content\">\n <div className=\"au-footer__content-logos\">\n {logo}\n <div className=\"au-footer__content-divider\" />\n <div className=\"au-footer__content-certificates\">\n {usedCertificates.map(({ logo, name }, index) => {\n return <LazyImage key={index} src={logo} alt={name} />\n })}\n </div>\n </div>\n <div className=\"au-footer__content-copyrights\">\n <Text\n as=\"p\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\">\n {copyrights}\n </Text>\n </div>\n </div>\n </div>\n </footer>\n )\n}\n"],"names":["index","logo"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/Footer/data.tsx","../../../lib/components/Footer/index.tsx"],"sourcesContent":["import {\n IconInstagram,\n IconFacebook,\n IconYoutube,\n IconLinkedin,\n IconTiktok,\n} from '../icons'\n\nexport const certificatesMap = {\n fintech2022: {\n logo: 'https://assets.acordocerto.com.br/f/114280/47x62/6ffd0990ed/fintech-2022.png',\n name: 'Melhores Fintechs 2022',\n },\n fintech2023: {\n logo: 'https://assets.acordocerto.com.br/f/114280/84x73/b48cc08aa5/fintech-2023.png',\n name: 'Melhores Fintechs 2023',\n },\n pcidss: {\n logo: 'https://assets.acordocerto.com.br/f/114280/85x36/8be091fa1c/pci-dss.png',\n name: 'PCI DSS Compliant',\n },\n quintessa: {\n logo: 'https://assets.acordocerto.com.br/f/114280/122x40/16f41476c0/quintessa.png',\n name: 'Quintessa',\n },\n ra1000: {\n logo: 'https://assets.acordocerto.com.br/f/114280/100x58/ad8bed26c8/ra1000.png',\n name: 'RA 1000',\n },\n reclameaqui: {\n logo: 'https://assets.acordocerto.com.br/f/114280/60x60/b85fcf03dd/reclame-aqui.png',\n name: 'Ótimo Reclame Aqui',\n },\n scaleup: {\n logo: 'https://assets.acordocerto.com.br/f/114280/104x50/07c8b89dbe/scale-up.png',\n name: 'Scale Up',\n },\n sslblindado: {\n logo: 'https://assets.acordocerto.com.br/f/114280/75x54/60734a2cc4/ssl-blindado.png',\n name: 'SSL Blindado',\n },\n}\nexport const socialsMap = {\n instagram: {\n name: 'Instagram',\n icon: <IconInstagram />,\n },\n facebook: {\n name: 'Facebook',\n icon: <IconFacebook />,\n },\n youtube: {\n name: 'Youtube',\n icon: <IconYoutube />,\n },\n linkedin: {\n name: 'Linkedin',\n icon: <IconLinkedin />,\n },\n tiktok: {\n name: 'TikTok',\n icon: <IconTiktok />,\n },\n}\n\nexport const storesMap = {\n googleplay: {\n name: 'Google Play',\n icon: 'https://assets.acordocerto.com.br/f/114280/117x36/e0e7eda65d/google-play.png',\n },\n appstore: {\n name: 'App Store',\n icon: 'https://assets.acordocerto.com.br/f/114280/117x36/38b0d1ecc9/app-store.png',\n },\n}\n","import classNames from 'classnames'\nimport { Text } from '../Text'\nimport { FooterProps } from './types'\nimport { certificatesMap, socialsMap, storesMap } from './data'\nimport { Conditional } from '../misc'\nimport { LazyImage } from '../LazyImage'\nimport { isMobile } from '@core/utils/isMobile'\nimport './styles.scss'\n\nexport const Footer = ({\n logo,\n categoryLinks,\n socialLinks,\n cnpj,\n address,\n companyOverview,\n certificates,\n copyrights,\n stores = {},\n 'data-testid': dataTestId,\n}: FooterProps) => {\n const usedCertificates = certificates.map(\n (certificate) => certificatesMap[certificate],\n )\n\n const usedSocials = Object.keys(socialLinks).map((social) => {\n return {\n ...socialsMap[social as keyof typeof socialsMap],\n url: socialLinks[social as keyof typeof socialLinks],\n }\n })\n\n const usedStores = Object.keys(stores).map((store) => {\n return {\n ...storesMap[store as keyof typeof storesMap],\n url: stores[store as keyof typeof stores],\n }\n })\n\n const showCertificatesBorder = usedCertificates.length > 3 && !!isMobile()\n \n if (categoryLinks) {\n return (\n <footer className=\"au-footer-full\" data-testid={dataTestId}>\n <div className=\"au-footer-full__container\">\n <div className=\"au-footer-full__logo\">{logo}</div>\n <div className=\"au-footer-full__links\">\n {categoryLinks.map(({ categoryTitle, links }, index) => {\n return (\n <div key={index} className=\"au-footer-full__links-category\">\n <Text as=\"h2\" variant=\"heading-micro\" weight=\"bold\">\n {categoryTitle}\n </Text>\n {links.map(({ title, url }, index) => {\n return url ? (\n <a\n key={index}\n className=\"au-footer-full__links au-footer-full__links--is-clickable\"\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\">\n <Text as=\"span\" variant=\"body-medium\" weight=\"regular\" color=\"secondary\">\n {title}\n </Text>\n </a>\n ) : (\n <span key={index} className=\"au-footer-full__links\">\n <Text as=\"span\" variant=\"body-medium\" weight=\"regular\" color=\"secondary\">\n {title}\n </Text>\n </span>\n )\n })}\n </div>\n )\n })}\n <div className=\"au-footer-full__company-info\">\n <Text as=\"h2\" variant=\"heading-micro\" weight=\"bold\">\n Siga a gente\n </Text>\n <div className=\"au-footer-full__links-socials\">\n {usedSocials.map(({ icon, url, name }, index) => {\n return (\n <a\n key={index}\n className={classNames('au-footer-full__links', {\n 'au-footer-full__links--is-clickable': !!url,\n })}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={`Siga-nos no ${name}`}>\n <span aria-hidden=\"true\">{icon}</span>\n </a>\n )\n })}\n </div>\n <Text\n as=\"div\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\">\n <Text\n as=\"strong\"\n weight=\"bold\"\n color=\"secondary\">\n CNPJ:\n </Text> {cnpj}\n </Text>\n <Text\n as=\"div\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\">\n <Text\n as=\"strong\"\n variant=\"body-medium\"\n weight=\"bold\"\n color=\"secondary\"\n className=\"au-footer-full__address-label\">\n Localização (sem atendimento ao público):\n </Text>\n {address}\n </Text>\n </div>\n </div>\n <Conditional\n condition={!!usedStores.length && Boolean(isMobile())}\n renderIf={\n <div className=\"au-footer-full__stores\">\n <Text\n className=\"au-footer-full__stores-title\"\n as=\"h2\"\n variant=\"heading-micro\"\n weight=\"bold\">\n Baixe nosso app\n </Text>\n {usedStores.map(({ icon, url, name }, index) => {\n return url ? (\n <a\n key={index}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"au-footer-full__stores-logo au-footer-full__stores-logo--is-clickable\">\n <LazyImage src={icon} alt={name} />\n </a>\n ) : (\n <LazyImage\n className=\"au-footer-full__stores-logo\"\n key={index}\n src={icon}\n alt={name}\n />\n )\n })}\n </div>\n }\n />\n {companyOverview && (\n <div className=\"au-footer-full__company-overview\">\n <Text color=\"secondary\">{companyOverview}</Text>\n </div>\n )}\n <div className=\"au-footer-full__bottom\">\n <div className={classNames(\"au-footer-full__bottom-certificates\", {\n 'au-footer-full__bottom-certificates--with-border': showCertificatesBorder,\n })}>\n {usedCertificates.map(({ logo, name }, index) => {\n return <LazyImage key={index} src={logo} alt={name} />\n })}\n </div>\n <div className=\"au-footer-full__bottom-side\">\n <Conditional\n condition={!!usedStores.length && !isMobile()}\n renderIf={\n <div className=\"au-footer-full__stores\">\n <Text\n className=\"au-footer-full__stores-title\"\n as=\"h2\"\n variant=\"heading-micro\"\n weight=\"bold\">\n Baixe nosso app\n </Text>\n {usedStores.map(({ icon, url, name }, index) => {\n return url ? (\n <a\n key={index}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"au-footer-full__stores-logo au-footer-full__stores-logo--is-clickable\">\n <LazyImage src={icon} alt={name} />\n </a>\n ) : (\n <LazyImage\n className=\"au-footer-full__stores-logo\"\n key={index}\n src={icon}\n alt={name}\n />\n )\n })}\n </div>\n }\n />\n <Text\n as=\"div\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\"\n className=\"au-footer-full__copyrights\"\n dangerouslySetInnerHTML={copyrights}\n />\n </div>\n </div>\n </div>\n </footer>\n )\n }\n\n return (\n <footer className=\"au-footer\" data-testid={dataTestId}>\n <div className=\"au-footer__container\">\n <div className=\"au-footer__content\">\n <div className=\"au-footer__content-logos\">\n {logo}\n <div className=\"au-footer__content-divider\" />\n <div className=\"au-footer__content-certificates\">\n {usedCertificates.map(({ logo, name }, index) => {\n return <LazyImage key={index} src={logo} alt={name} />\n })}\n </div>\n </div>\n <div className=\"au-footer__content-copyrights\">\n <Text\n as=\"p\"\n variant=\"body-medium\"\n weight=\"regular\"\n color=\"secondary\">\n {copyrights}\n </Text>\n </div>\n </div>\n </div>\n </footer>\n )\n}\n"],"names":["index","logo"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
+ import { useState, useId } from "react";
3
4
  import "../Icon/index.es.js";
4
5
  import { IconMenu } from "../icons/IconMenu/index.es.js";
5
6
  import { Conditional } from "../Conditional/index.es.js";
6
- import { useState, useId } from "react";
7
7
  import { Text } from "../Text/index.es.js";
8
8
  import { IconChevronDown } from "../icons/IconChevronDown/index.es.js";
9
9
  import { g as getInitialLetters } from "../../getInitialLetters-CV7onXcH.js";
@@ -1,6 +1,13 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { c as classNames } from "../../index-C6Q03EyZ.js";
3
- import './styles.css';const Icon = ({
3
+ import { useId, useMemo } from "react";
4
+ import './styles.css';function _namespaceSvgIds(markup, uid) {
5
+ return markup.replace(
6
+ /(\s)id=(['"])([^'"]+)\2/g,
7
+ (_match, space, quote, id) => `${space}id=${quote}${id}_${uid}${quote}`
8
+ ).replace(/url\(#([^)]+)\)/g, (_match, id) => `url(#${id}_${uid})`).replace(/href=(['"])#([^'"]+)\1/g, (_match, quote, id) => `href=${quote}#${id}_${uid}${quote}`);
9
+ }
10
+ const Icon = ({
4
11
  markup,
5
12
  name,
6
13
  size,
@@ -13,6 +20,11 @@ import './styles.css';const Icon = ({
13
20
  const iconStyle = {
14
21
  ...rawColor && { color: rawColor }
15
22
  };
23
+ const uid = useId().replace(/[^a-zA-Z0-9]/g, "");
24
+ const namespacedMarkup = useMemo(
25
+ () => markup ? _namespaceSvgIds(markup, uid) : "",
26
+ [markup, uid]
27
+ );
16
28
  const componentClass = classNames("au-icon", {
17
29
  [`au-icon--${name == null ? void 0 : name.toLocaleLowerCase()}`]: !!name,
18
30
  "au-icon--color-raw": !!rawColor,
@@ -32,7 +44,7 @@ import './styles.css';const Icon = ({
32
44
  className: componentClass,
33
45
  "data-testid": dataTestId,
34
46
  dangerouslySetInnerHTML: {
35
- __html: markup || ""
47
+ __html: namespacedMarkup
36
48
  }
37
49
  }
38
50
  );
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../../lib/components/icons/Icon.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport './styles.scss'\n\nexport type IconSize = 'large' | 'medium' | 'small' | 'default'\nexport type IconColor = 'dark' | 'info' | 'default' | 'success'\n\nexport type IconProps = {\n size?: IconSize\n color?: IconColor\n rawColor?: string\n className?: string\n onClick?: () => void\n 'data-testid'?: string\n}\ntype BaseIconProps = IconProps & {\n markup?: string\n name?: string\n}\n\nconst Icon: React.FC<BaseIconProps> = ({\n markup,\n name,\n size,\n color,\n rawColor,\n className,\n onClick,\n 'data-testid': dataTestId,\n}: BaseIconProps) => {\n const iconStyle: React.CSSProperties = {\n ...(rawColor && { color: rawColor }),\n }\n\n const componentClass = classNames('au-icon', {\n [`au-icon--${name?.toLocaleLowerCase()}`]: !!name,\n 'au-icon--color-raw': !!rawColor,\n 'au-icon--color-dark': color === 'dark',\n 'au-icon--color-info': color === 'info',\n 'au-icon--color-success': color === 'success',\n 'au-icon--size-large': size === 'large',\n 'au-icon--size-medium': size === 'medium',\n 'au-icon--size-small': size === 'small',\n [`${className}`]: !!className,\n })\n\n return (\n <div\n style={iconStyle}\n onClick={onClick}\n className={componentClass}\n data-testid={dataTestId}\n dangerouslySetInnerHTML={{\n __html: markup || '',\n }}\n />\n )\n}\n\nexport default Icon\n"],"names":[],"mappings":";;AAmBA,MAAM,OAAgC,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAqB;AACnB,QAAM,YAAiC;AAAA,IACrC,GAAI,YAAY,EAAE,OAAO,SAAA;AAAA,EAAS;AAGpC,QAAM,iBAAiB,WAAW,WAAW;AAAA,IAC3C,CAAC,YAAY,6BAAM,mBAAmB,EAAE,GAAG,CAAC,CAAC;AAAA,IAC7C,sBAAsB,CAAC,CAAC;AAAA,IACxB,uBAAuB,UAAU;AAAA,IACjC,uBAAuB,UAAU;AAAA,IACjC,0BAA0B,UAAU;AAAA,IACpC,uBAAuB,SAAS;AAAA,IAChC,wBAAwB,SAAS;AAAA,IACjC,uBAAuB,SAAS;AAAA,IAChC,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA,CACrB;AAED,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP;AAAA,MACA,WAAW;AAAA,MACX,eAAa;AAAA,MACb,yBAAyB;AAAA,QACvB,QAAQ,UAAU;AAAA,MAAA;AAAA,IACpB;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../../lib/components/icons/Icon.tsx"],"sourcesContent":["import classNames from 'classnames'\nimport { useId, useMemo } from 'react'\nimport './styles.scss'\n\n// SVG ids (gradients, clip-paths) are document-global: two icons with the same\n// markup on one page would all resolve `url(#id)` against the first instance,\n// inheriting its colors. Suffix every id per instance to keep icons independent.\nfunction _namespaceSvgIds(markup: string, uid: string) {\n return markup\n .replace(\n /(\\s)id=(['\"])([^'\"]+)\\2/g,\n (_match, space, quote, id) => `${space}id=${quote}${id}_${uid}${quote}`,\n )\n .replace(/url\\(#([^)]+)\\)/g, (_match, id) => `url(#${id}_${uid})`)\n .replace(/href=(['\"])#([^'\"]+)\\1/g, (_match, quote, id) => `href=${quote}#${id}_${uid}${quote}`)\n}\n\nexport type IconSize = 'large' | 'medium' | 'small' | 'default'\nexport type IconColor = 'dark' | 'info' | 'default' | 'success'\n\nexport type IconProps = {\n size?: IconSize\n color?: IconColor\n rawColor?: string\n className?: string\n onClick?: () => void\n 'data-testid'?: string\n}\ntype BaseIconProps = IconProps & {\n markup?: string\n name?: string\n}\n\nconst Icon: React.FC<BaseIconProps> = ({\n markup,\n name,\n size,\n color,\n rawColor,\n className,\n onClick,\n 'data-testid': dataTestId,\n}: BaseIconProps) => {\n const iconStyle: React.CSSProperties = {\n ...(rawColor && { color: rawColor }),\n }\n\n const uid = useId().replace(/[^a-zA-Z0-9]/g, '')\n const namespacedMarkup = useMemo(\n () => (markup ? _namespaceSvgIds(markup, uid) : ''),\n [markup, uid],\n )\n\n const componentClass = classNames('au-icon', {\n [`au-icon--${name?.toLocaleLowerCase()}`]: !!name,\n 'au-icon--color-raw': !!rawColor,\n 'au-icon--color-dark': color === 'dark',\n 'au-icon--color-info': color === 'info',\n 'au-icon--color-success': color === 'success',\n 'au-icon--size-large': size === 'large',\n 'au-icon--size-medium': size === 'medium',\n 'au-icon--size-small': size === 'small',\n [`${className}`]: !!className,\n })\n\n return (\n <div\n style={iconStyle}\n onClick={onClick}\n className={componentClass}\n data-testid={dataTestId}\n dangerouslySetInnerHTML={{\n __html: namespacedMarkup,\n }}\n />\n )\n}\n\nexport default Icon\n"],"names":[],"mappings":";;;AAOA,SAAS,iBAAiB,QAAgB,KAAa;AACrD,SAAO,OACJ;AAAA,IACC;AAAA,IACA,CAAC,QAAQ,OAAO,OAAO,OAAO,GAAG,KAAK,MAAM,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,KAAK;AAAA,EAAA,EAEtE,QAAQ,oBAAoB,CAAC,QAAQ,OAAO,QAAQ,EAAE,IAAI,GAAG,GAAG,EAChE,QAAQ,2BAA2B,CAAC,QAAQ,OAAO,OAAO,QAAQ,KAAK,IAAI,EAAE,IAAI,GAAG,GAAG,KAAK,EAAE;AACnG;AAkBA,MAAM,OAAgC,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AACjB,MAAqB;AACnB,QAAM,YAAiC;AAAA,IACrC,GAAI,YAAY,EAAE,OAAO,SAAA;AAAA,EAAS;AAGpC,QAAM,MAAM,MAAA,EAAQ,QAAQ,iBAAiB,EAAE;AAC/C,QAAM,mBAAmB;AAAA,IACvB,MAAO,SAAS,iBAAiB,QAAQ,GAAG,IAAI;AAAA,IAChD,CAAC,QAAQ,GAAG;AAAA,EAAA;AAGd,QAAM,iBAAiB,WAAW,WAAW;AAAA,IAC3C,CAAC,YAAY,6BAAM,mBAAmB,EAAE,GAAG,CAAC,CAAC;AAAA,IAC7C,sBAAsB,CAAC,CAAC;AAAA,IACxB,uBAAuB,UAAU;AAAA,IACjC,uBAAuB,UAAU;AAAA,IACjC,0BAA0B,UAAU;AAAA,IACpC,uBAAuB,SAAS;AAAA,IAChC,wBAAwB,SAAS;AAAA,IACjC,uBAAuB,SAAS;AAAA,IAChC,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC;AAAA,EAAA,CACrB;AAED,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP;AAAA,MACA,WAAW;AAAA,MACX,eAAa;AAAA,MACb,yBAAyB;AAAA,QACvB,QAAQ;AAAA,MAAA;AAAA,IACV;AAAA,EAAA;AAGN;"}