analytica-frontend-lib 1.0.22 → 1.0.24

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 (88) hide show
  1. package/dist/chunk-CETSS3RA.mjs +52 -0
  2. package/dist/chunk-GSEO6POW.mjs +93 -0
  3. package/dist/chunk-IB4IJ3GF.mjs +60 -0
  4. package/dist/chunk-IH5TEC64.mjs +35 -0
  5. package/dist/chunk-JNPCNN67.mjs +86 -0
  6. package/dist/chunk-KT6HNGRV.mjs +241 -0
  7. package/dist/chunk-LYOJCBOM.mjs +195 -0
  8. package/dist/chunk-MI5FIRHM.mjs +75 -0
  9. package/dist/chunk-NWGRQN6R.mjs +108 -0
  10. package/dist/chunk-QODEDLAX.mjs +142 -0
  11. package/dist/chunk-QOFMTSHE.mjs +44 -0
  12. package/dist/chunk-RPYPJ5O5.mjs +55 -0
  13. package/dist/chunk-SESX5OEP.mjs +57 -0
  14. package/dist/chunk-TT3VCQGR.mjs +53 -0
  15. package/dist/chunk-WIOCQOM7.mjs +20 -0
  16. package/dist/client-components.d.mts +9 -0
  17. package/dist/client-components.d.ts +9 -0
  18. package/dist/client-components.js +755 -0
  19. package/dist/client-components.mjs +39 -0
  20. package/dist/components/Alert/Alert.d.mts +13 -0
  21. package/dist/components/Alert/Alert.d.ts +13 -0
  22. package/dist/components/Alert/Alert.js +158 -0
  23. package/dist/components/Alert/Alert.mjs +7 -0
  24. package/dist/components/Badge/Badge.d.mts +47 -0
  25. package/dist/components/Badge/Badge.d.ts +47 -0
  26. package/dist/components/Badge/Badge.js +117 -0
  27. package/dist/components/Badge/Badge.mjs +6 -0
  28. package/dist/components/Button/Button.d.mts +46 -0
  29. package/dist/components/Button/Button.d.ts +46 -0
  30. package/dist/components/Button/Button.js +84 -0
  31. package/dist/components/Button/Button.mjs +6 -0
  32. package/dist/components/CheckBox/CheckBox.d.mts +74 -0
  33. package/dist/components/CheckBox/CheckBox.d.ts +74 -0
  34. package/dist/components/CheckBox/CheckBox.js +264 -0
  35. package/dist/components/CheckBox/CheckBox.mjs +8 -0
  36. package/dist/components/DropdownMenu/DropdownMenu.d.mts +29 -0
  37. package/dist/components/DropdownMenu/DropdownMenu.d.ts +29 -0
  38. package/dist/components/DropdownMenu/DropdownMenu.js +262 -0
  39. package/dist/components/DropdownMenu/DropdownMenu.mjs +17 -0
  40. package/dist/components/IconButton/IconButton.d.mts +77 -0
  41. package/dist/components/IconButton/IconButton.d.ts +77 -0
  42. package/dist/components/IconButton/IconButton.js +79 -0
  43. package/dist/components/IconButton/IconButton.mjs +6 -0
  44. package/dist/components/IconRoundedButton/IconRoundedButton.d.mts +35 -0
  45. package/dist/components/IconRoundedButton/IconRoundedButton.d.ts +35 -0
  46. package/dist/components/IconRoundedButton/IconRoundedButton.js +68 -0
  47. package/dist/components/IconRoundedButton/IconRoundedButton.mjs +6 -0
  48. package/dist/components/NavButton/NavButton.d.mts +58 -0
  49. package/dist/components/NavButton/NavButton.d.ts +58 -0
  50. package/dist/components/NavButton/NavButton.js +76 -0
  51. package/dist/components/NavButton/NavButton.mjs +6 -0
  52. package/dist/components/SelectionButton/SelectionButton.d.mts +58 -0
  53. package/dist/components/SelectionButton/SelectionButton.d.ts +58 -0
  54. package/dist/components/SelectionButton/SelectionButton.js +81 -0
  55. package/dist/components/SelectionButton/SelectionButton.mjs +6 -0
  56. package/dist/components/Table/Table.d.mts +17 -0
  57. package/dist/components/Table/Table.d.ts +17 -0
  58. package/dist/components/Table/Table.js +139 -0
  59. package/dist/components/Table/Table.mjs +20 -0
  60. package/dist/components/Text/Text.d.mts +59 -0
  61. package/dist/components/Text/Text.d.ts +59 -0
  62. package/dist/components/Text/Text.js +77 -0
  63. package/dist/components/Text/Text.mjs +6 -0
  64. package/dist/components/TextArea/TextArea.d.mts +69 -0
  65. package/dist/components/TextArea/TextArea.d.ts +69 -0
  66. package/dist/components/TextArea/TextArea.js +211 -0
  67. package/dist/components/TextArea/TextArea.mjs +8 -0
  68. package/dist/components/Toast/Toast.d.mts +17 -0
  69. package/dist/components/Toast/Toast.d.ts +17 -0
  70. package/dist/components/Toast/Toast.js +100 -0
  71. package/dist/components/Toast/Toast.mjs +7 -0
  72. package/dist/components/Toast/utils/ToastStore.d.mts +19 -0
  73. package/dist/components/Toast/utils/ToastStore.d.ts +19 -0
  74. package/dist/components/Toast/utils/ToastStore.js +44 -0
  75. package/dist/components/Toast/utils/ToastStore.mjs +6 -0
  76. package/dist/components/Toast/utils/Toaster.d.mts +11 -0
  77. package/dist/components/Toast/utils/Toaster.d.ts +11 -0
  78. package/dist/components/Toast/utils/Toaster.js +145 -0
  79. package/dist/components/Toast/utils/Toaster.mjs +11 -0
  80. package/dist/index.d.mts +168 -355
  81. package/dist/index.d.ts +168 -355
  82. package/dist/index.js +341 -936
  83. package/dist/index.mjs +340 -941
  84. package/dist/server-components.d.mts +11 -0
  85. package/dist/server-components.d.ts +11 -0
  86. package/dist/server-components.js +629 -0
  87. package/dist/server-components.mjs +52 -0
  88. package/package.json +76 -3
@@ -0,0 +1,39 @@
1
+ import {
2
+ Toaster,
3
+ useToast
4
+ } from "./chunk-IH5TEC64.mjs";
5
+ import {
6
+ TextArea
7
+ } from "./chunk-QODEDLAX.mjs";
8
+ import {
9
+ Toast
10
+ } from "./chunk-MI5FIRHM.mjs";
11
+ import {
12
+ useToastStore
13
+ } from "./chunk-WIOCQOM7.mjs";
14
+ import {
15
+ CheckBox
16
+ } from "./chunk-LYOJCBOM.mjs";
17
+ import "./chunk-TT3VCQGR.mjs";
18
+ import {
19
+ DropdownMenu,
20
+ DropdownMenuTrigger,
21
+ MenuContent,
22
+ MenuItem,
23
+ MenuLabel,
24
+ MenuSeparator
25
+ } from "./chunk-KT6HNGRV.mjs";
26
+ export {
27
+ CheckBox,
28
+ DropdownMenu,
29
+ DropdownMenuTrigger,
30
+ MenuContent,
31
+ MenuItem,
32
+ MenuLabel,
33
+ MenuSeparator,
34
+ TextArea,
35
+ Toast,
36
+ Toaster,
37
+ useToast,
38
+ useToastStore
39
+ };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { HTMLAttributes } from 'react';
3
+
4
+ type AlertProps = {
5
+ title?: string;
6
+ description: string;
7
+ variant?: 'solid' | 'outline';
8
+ action?: 'default' | 'info' | 'success' | 'warning' | 'error';
9
+ className?: string;
10
+ } & HTMLAttributes<HTMLDivElement>;
11
+ declare const Alert: ({ variant, title, description, action, className, ...props }: AlertProps) => react_jsx_runtime.JSX.Element;
12
+
13
+ export { Alert };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { HTMLAttributes } from 'react';
3
+
4
+ type AlertProps = {
5
+ title?: string;
6
+ description: string;
7
+ variant?: 'solid' | 'outline';
8
+ action?: 'default' | 'info' | 'success' | 'warning' | 'error';
9
+ className?: string;
10
+ } & HTMLAttributes<HTMLDivElement>;
11
+ declare const Alert: ({ variant, title, description, action, className, ...props }: AlertProps) => react_jsx_runtime.JSX.Element;
12
+
13
+ export { Alert };
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/Alert/Alert.tsx
21
+ var Alert_exports = {};
22
+ __export(Alert_exports, {
23
+ Alert: () => Alert
24
+ });
25
+ module.exports = __toCommonJS(Alert_exports);
26
+ var import_phosphor_react = require("phosphor-react");
27
+
28
+ // src/components/Text/Text.tsx
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var Text = ({
31
+ children,
32
+ size = "md",
33
+ weight = "normal",
34
+ color = "text-text-950",
35
+ as,
36
+ className = "",
37
+ ...props
38
+ }) => {
39
+ let sizeClasses = "";
40
+ let weightClasses = "";
41
+ const sizeClassMap = {
42
+ "2xs": "text-2xs",
43
+ xs: "text-xs",
44
+ sm: "text-sm",
45
+ md: "text-md",
46
+ lg: "text-lg",
47
+ xl: "text-xl",
48
+ "2xl": "text-2xl",
49
+ "3xl": "text-3xl",
50
+ "4xl": "text-4xl",
51
+ "5xl": "text-5xl",
52
+ "6xl": "text-6xl"
53
+ };
54
+ sizeClasses = sizeClassMap[size] ?? sizeClassMap.md;
55
+ const weightClassMap = {
56
+ hairline: "font-hairline",
57
+ light: "font-light",
58
+ normal: "font-normal",
59
+ medium: "font-medium",
60
+ semibold: "font-semibold",
61
+ bold: "font-bold",
62
+ extrabold: "font-extrabold",
63
+ black: "font-black"
64
+ };
65
+ weightClasses = weightClassMap[weight] ?? weightClassMap.normal;
66
+ const baseClasses = "font-primary";
67
+ const Component = as ?? "p";
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
+ Component,
70
+ {
71
+ className: `${baseClasses} ${sizeClasses} ${weightClasses} ${color} ${className}`,
72
+ ...props,
73
+ children
74
+ }
75
+ );
76
+ };
77
+
78
+ // src/components/Alert/Alert.tsx
79
+ var import_jsx_runtime2 = require("react/jsx-runtime");
80
+ var VARIANT_ACTION_CLASSES = {
81
+ solid: {
82
+ default: "bg-background-50 border-transparent",
83
+ info: "bg-info border-transparent",
84
+ success: "bg-success border-transparent",
85
+ warning: "bg-warning border-transparent",
86
+ error: "bg-error border-transparent"
87
+ },
88
+ outline: {
89
+ default: "bg-background border border-border-100",
90
+ info: "bg-background border border-border-100",
91
+ success: "bg-background border border-border-100",
92
+ warning: "bg-background border border-border-100",
93
+ error: "bg-background border border-border-100"
94
+ }
95
+ };
96
+ var COLOR_CLASSES = {
97
+ default: "text-text-950",
98
+ info: "text-info-800",
99
+ success: "text-success-800",
100
+ warning: "text-warning-800",
101
+ error: "text-error-800"
102
+ };
103
+ var ICONS = {
104
+ default: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_phosphor_react.CheckCircle, { size: 18 }),
105
+ info: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_phosphor_react.Info, { size: 18 }),
106
+ success: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_phosphor_react.CheckCircle, { size: 18 }),
107
+ warning: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_phosphor_react.WarningCircle, { size: 18 }),
108
+ error: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_phosphor_react.XCircle, { size: 18 })
109
+ };
110
+ var Alert = ({
111
+ variant = "solid",
112
+ title,
113
+ description,
114
+ action = "default",
115
+ className,
116
+ ...props
117
+ }) => {
118
+ const baseClasses = "alert-wrapper flex items-start gap-2 w-[384px] py-3 px-4 font-inherit rounded-md";
119
+ const variantClasses = VARIANT_ACTION_CLASSES[variant][action];
120
+ const variantColor = COLOR_CLASSES[action];
121
+ const variantIcon = ICONS[action];
122
+ const hasHeading = Boolean(title);
123
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
124
+ "div",
125
+ {
126
+ className: `${baseClasses} ${variantClasses} ${className ?? ""}`,
127
+ ...props,
128
+ children: [
129
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: `mt-0.5 ${variantColor}`, children: variantIcon }),
130
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { children: [
131
+ hasHeading && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
132
+ Text,
133
+ {
134
+ size: "md",
135
+ weight: "medium",
136
+ color: variantColor,
137
+ className: "mb-0.5",
138
+ children: title
139
+ }
140
+ ),
141
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
142
+ Text,
143
+ {
144
+ size: hasHeading ? "sm" : "md",
145
+ weight: "normal",
146
+ color: !hasHeading ? variantColor : "text-text-700",
147
+ children: description
148
+ }
149
+ )
150
+ ] })
151
+ ]
152
+ }
153
+ );
154
+ };
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ Alert
158
+ });
@@ -0,0 +1,7 @@
1
+ import {
2
+ Alert
3
+ } from "../../chunk-JNPCNN67.mjs";
4
+ import "../../chunk-TT3VCQGR.mjs";
5
+ export {
6
+ Alert
7
+ };
@@ -0,0 +1,47 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode, HTMLAttributes } from 'react';
3
+
4
+ /**
5
+ * Badge component props interface
6
+ */
7
+ type BadgeProps = {
8
+ /** Content to be displayed inside the badge */
9
+ children?: ReactNode;
10
+ /** Ícone à direita do texto */
11
+ iconRight?: ReactNode;
12
+ /** Ícone à esquerda do texto */
13
+ iconLeft?: ReactNode;
14
+ /** Size of the badge */
15
+ size?: 'small' | 'medium' | 'large';
16
+ /** Visual variant of the badge */
17
+ variant?: 'solid' | 'outlined' | 'exams' | 'resultStatus' | 'notification';
18
+ /** Action type of the badge */
19
+ action?: 'error' | 'warning' | 'success' | 'info' | 'muted' | 'exam1' | 'exam2' | 'exam3' | 'exam4' | 'positive' | 'negative';
20
+ /** Additional CSS classes to apply */
21
+ className?: string;
22
+ notificationActive?: boolean;
23
+ } & HTMLAttributes<HTMLDivElement>;
24
+ /**
25
+ * Badge component for Analytica Ensino platforms
26
+ *
27
+ * A flexible button component with multiple variants, sizes and actions.
28
+ * Fully compatible with Next.js 15 and React 19.
29
+ *
30
+ * @param children - The content to display inside the badge
31
+ * @param size - The size variant (extra-small, small, medium, large, extra-large)
32
+ * @param variant - The visual style variant (solid, outline, link)
33
+ * @param action - The action type (primary, positive, negative)
34
+ * @param className - Additional CSS classes
35
+ * @param props - All other standard div HTML attributes
36
+ * @returns A styled badge element
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * <Badge variant="solid" action="info" size="medium">
41
+ * Information
42
+ * </Badge>
43
+ * ```
44
+ */
45
+ declare const Badge: ({ children, iconLeft, iconRight, size, variant, action, className, notificationActive, ...props }: BadgeProps) => react_jsx_runtime.JSX.Element;
46
+
47
+ export { Badge };
@@ -0,0 +1,47 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode, HTMLAttributes } from 'react';
3
+
4
+ /**
5
+ * Badge component props interface
6
+ */
7
+ type BadgeProps = {
8
+ /** Content to be displayed inside the badge */
9
+ children?: ReactNode;
10
+ /** Ícone à direita do texto */
11
+ iconRight?: ReactNode;
12
+ /** Ícone à esquerda do texto */
13
+ iconLeft?: ReactNode;
14
+ /** Size of the badge */
15
+ size?: 'small' | 'medium' | 'large';
16
+ /** Visual variant of the badge */
17
+ variant?: 'solid' | 'outlined' | 'exams' | 'resultStatus' | 'notification';
18
+ /** Action type of the badge */
19
+ action?: 'error' | 'warning' | 'success' | 'info' | 'muted' | 'exam1' | 'exam2' | 'exam3' | 'exam4' | 'positive' | 'negative';
20
+ /** Additional CSS classes to apply */
21
+ className?: string;
22
+ notificationActive?: boolean;
23
+ } & HTMLAttributes<HTMLDivElement>;
24
+ /**
25
+ * Badge component for Analytica Ensino platforms
26
+ *
27
+ * A flexible button component with multiple variants, sizes and actions.
28
+ * Fully compatible with Next.js 15 and React 19.
29
+ *
30
+ * @param children - The content to display inside the badge
31
+ * @param size - The size variant (extra-small, small, medium, large, extra-large)
32
+ * @param variant - The visual style variant (solid, outline, link)
33
+ * @param action - The action type (primary, positive, negative)
34
+ * @param className - Additional CSS classes
35
+ * @param props - All other standard div HTML attributes
36
+ * @returns A styled badge element
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * <Badge variant="solid" action="info" size="medium">
41
+ * Information
42
+ * </Badge>
43
+ * ```
44
+ */
45
+ declare const Badge: ({ children, iconLeft, iconRight, size, variant, action, className, notificationActive, ...props }: BadgeProps) => react_jsx_runtime.JSX.Element;
46
+
47
+ export { Badge };
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/Badge/Badge.tsx
21
+ var Badge_exports = {};
22
+ __export(Badge_exports, {
23
+ Badge: () => Badge
24
+ });
25
+ module.exports = __toCommonJS(Badge_exports);
26
+ var import_phosphor_react = require("phosphor-react");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var VARIANT_ACTION_CLASSES = {
29
+ solid: {
30
+ error: "bg-error text-error-700 focus-visible:outline-none",
31
+ warning: "bg-warning text-warning-800 focus-visible:outline-none",
32
+ success: "bg-success text-success-800 focus-visible:outline-none",
33
+ info: "bg-info text-info-800 focus-visible:outline-none",
34
+ muted: "bg-background-muted text-background-800 focus-visible:outline-none"
35
+ },
36
+ outlined: {
37
+ error: "bg-error text-error-700 border border-error-300 focus-visible:outline-none",
38
+ warning: "bg-warning text-warning-800 border border-warning-300 focus-visible:outline-none",
39
+ success: "bg-success text-success-800 border border-success-300 focus-visible:outline-none",
40
+ info: "bg-info text-info-800 border border-info-300 focus-visible:outline-none",
41
+ muted: "bg-background-muted text-background-800 border border-border-300 focus-visible:outline-none"
42
+ },
43
+ exams: {
44
+ exam1: "bg-exam-1 text-info-200 focus-visible:outline-none",
45
+ exam2: "bg-exam-2 text-typography-1 focus-visible:outline-none",
46
+ exam3: "bg-exam-3 text-typography-2 focus-visible:outline-none",
47
+ exam4: "bg-exam-4 text-success-700 focus-visible:outline-none"
48
+ },
49
+ resultStatus: {
50
+ negative: "bg-error text-error-800 focus-visible:outline-none",
51
+ positive: "bg-success text-success-800 focus-visible:outline-none"
52
+ },
53
+ notification: "text-primary"
54
+ };
55
+ var SIZE_CLASSES = {
56
+ small: "text-2xs px-2 py-1",
57
+ medium: "text-xs px-2 py-1",
58
+ large: "text-sm px-2 py-1"
59
+ };
60
+ var SIZE_CLASSES_ICON = {
61
+ small: "size-3",
62
+ medium: "size-3.5",
63
+ large: "size-4"
64
+ };
65
+ var Badge = ({
66
+ children,
67
+ iconLeft,
68
+ iconRight,
69
+ size = "medium",
70
+ variant = "solid",
71
+ action = "error",
72
+ className = "",
73
+ notificationActive = false,
74
+ ...props
75
+ }) => {
76
+ const sizeClasses = SIZE_CLASSES[size];
77
+ const sizeClassesIcon = SIZE_CLASSES_ICON[size];
78
+ const variantActionMap = VARIANT_ACTION_CLASSES[variant] || {};
79
+ const variantClasses = typeof variantActionMap === "string" ? variantActionMap : variantActionMap[action] ?? variantActionMap.muted ?? "";
80
+ const baseClasses = "inline-flex items-center justify-center rounded-xs font-medium gap-1 relative";
81
+ const baseClassesIcon = "flex items-center";
82
+ if (variant === "notification") {
83
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
84
+ "div",
85
+ {
86
+ className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
87
+ ...props,
88
+ children: [
89
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_phosphor_react.Bell, { size: 24, className: "text-primary-950" }),
90
+ notificationActive && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
91
+ "span",
92
+ {
93
+ "data-testid": "notification-dot",
94
+ className: "absolute top-[5px] right-[10px] block h-2 w-2 rounded-full bg-indicator-error ring-2 ring-white"
95
+ }
96
+ )
97
+ ]
98
+ }
99
+ );
100
+ }
101
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
102
+ "div",
103
+ {
104
+ className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
105
+ ...props,
106
+ children: [
107
+ iconLeft && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${baseClassesIcon} ${sizeClassesIcon}`, children: iconLeft }),
108
+ children,
109
+ iconRight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: `${baseClassesIcon} ${sizeClassesIcon}`, children: iconRight })
110
+ ]
111
+ }
112
+ );
113
+ };
114
+ // Annotate the CommonJS export names for ESM import in node:
115
+ 0 && (module.exports = {
116
+ Badge
117
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ Badge
3
+ } from "../../chunk-GSEO6POW.mjs";
4
+ export {
5
+ Badge
6
+ };
@@ -0,0 +1,46 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
3
+
4
+ /**
5
+ * Button component props interface
6
+ */
7
+ type ButtonProps = {
8
+ /** Content to be displayed inside the button */
9
+ children: ReactNode;
10
+ /** Ícone à esquerda do texto */
11
+ iconLeft?: ReactNode;
12
+ /** Ícone à direita do texto */
13
+ iconRight?: ReactNode;
14
+ /** Size of the button */
15
+ size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
16
+ /** Visual variant of the button */
17
+ variant?: 'solid' | 'outline' | 'link';
18
+ /** Action type of the button */
19
+ action?: 'primary' | 'positive' | 'negative';
20
+ /** Additional CSS classes to apply */
21
+ className?: string;
22
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
23
+ /**
24
+ * Button component for Analytica Ensino platforms
25
+ *
26
+ * A flexible button component with multiple variants, sizes and actions.
27
+ * Fully compatible with Next.js 15 and React 19.
28
+ *
29
+ * @param children - The content to display inside the button
30
+ * @param size - The size variant (extra-small, small, medium, large, extra-large)
31
+ * @param variant - The visual style variant (solid, outline, link)
32
+ * @param action - The action type (primary, positive, negative)
33
+ * @param className - Additional CSS classes
34
+ * @param props - All other standard button HTML attributes
35
+ * @returns A styled button element
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <Button variant="solid" action="primary" size="medium" onClick={() => console.log('clicked')}>
40
+ * Click me
41
+ * </Button>
42
+ * ```
43
+ */
44
+ declare const Button: ({ children, iconLeft, iconRight, size, variant, action, className, disabled, type, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
45
+
46
+ export { Button };
@@ -0,0 +1,46 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
3
+
4
+ /**
5
+ * Button component props interface
6
+ */
7
+ type ButtonProps = {
8
+ /** Content to be displayed inside the button */
9
+ children: ReactNode;
10
+ /** Ícone à esquerda do texto */
11
+ iconLeft?: ReactNode;
12
+ /** Ícone à direita do texto */
13
+ iconRight?: ReactNode;
14
+ /** Size of the button */
15
+ size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
16
+ /** Visual variant of the button */
17
+ variant?: 'solid' | 'outline' | 'link';
18
+ /** Action type of the button */
19
+ action?: 'primary' | 'positive' | 'negative';
20
+ /** Additional CSS classes to apply */
21
+ className?: string;
22
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
23
+ /**
24
+ * Button component for Analytica Ensino platforms
25
+ *
26
+ * A flexible button component with multiple variants, sizes and actions.
27
+ * Fully compatible with Next.js 15 and React 19.
28
+ *
29
+ * @param children - The content to display inside the button
30
+ * @param size - The size variant (extra-small, small, medium, large, extra-large)
31
+ * @param variant - The visual style variant (solid, outline, link)
32
+ * @param action - The action type (primary, positive, negative)
33
+ * @param className - Additional CSS classes
34
+ * @param props - All other standard button HTML attributes
35
+ * @returns A styled button element
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <Button variant="solid" action="primary" size="medium" onClick={() => console.log('clicked')}>
40
+ * Click me
41
+ * </Button>
42
+ * ```
43
+ */
44
+ declare const Button: ({ children, iconLeft, iconRight, size, variant, action, className, disabled, type, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
45
+
46
+ export { Button };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/Button/Button.tsx
21
+ var Button_exports = {};
22
+ __export(Button_exports, {
23
+ Button: () => Button
24
+ });
25
+ module.exports = __toCommonJS(Button_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var VARIANT_ACTION_CLASSES = {
28
+ solid: {
29
+ primary: "bg-primary-950 text-text border border-primary-950 hover:bg-primary-800 hover:border-primary-800 focus-visible:outline-none focus-visible:bg-primary-950 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-primary-700 active:border-primary-700 disabled:bg-primary-500 disabled:border-primary-500 disabled:opacity-40 disabled:cursor-not-allowed",
30
+ positive: "bg-success-500 text-text border border-success-500 hover:bg-success-600 hover:border-success-600 focus-visible:outline-none focus-visible:bg-success-500 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-success-700 active:border-success-700 disabled:bg-success-500 disabled:border-success-500 disabled:opacity-40 disabled:cursor-not-allowed",
31
+ negative: "bg-error-500 text-text border border-error-500 hover:bg-error-600 hover:border-error-600 focus-visible:outline-none focus-visible:bg-error-500 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:bg-error-700 active:border-error-700 disabled:bg-error-500 disabled:border-error-500 disabled:opacity-40 disabled:cursor-not-allowed"
32
+ },
33
+ outline: {
34
+ primary: "bg-transparent text-primary-950 border border-primary-950 hover:bg-background-50 hover:text-primary-400 hover:border-primary-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 active:border-primary-700 disabled:opacity-40 disabled:cursor-not-allowed",
35
+ positive: "bg-transparent text-success-500 border border-success-300 hover:bg-background-50 hover:text-success-400 hover:border-success-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-success-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-success-700 active:border-success-700 disabled:opacity-40 disabled:cursor-not-allowed",
36
+ negative: "bg-transparent text-error-500 border border-error-300 hover:bg-background-50 hover:text-error-400 hover:border-error-400 focus-visible:border-0 focus-visible:outline-none focus-visible:text-error-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-error-700 active:border-error-700 disabled:opacity-40 disabled:cursor-not-allowed"
37
+ },
38
+ link: {
39
+ primary: "bg-transparent text-primary-950 hover:text-primary-400 focus-visible:outline-none focus-visible:text-primary-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-primary-700 disabled:opacity-40 disabled:cursor-not-allowed",
40
+ positive: "bg-transparent text-success-500 hover:text-success-400 focus-visible:outline-none focus-visible:text-success-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-success-700 disabled:opacity-40 disabled:cursor-not-allowed",
41
+ negative: "bg-transparent text-error-500 hover:text-error-400 focus-visible:outline-none focus-visible:text-error-600 focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-indicator-info active:text-error-700 disabled:opacity-40 disabled:cursor-not-allowed"
42
+ }
43
+ };
44
+ var SIZE_CLASSES = {
45
+ "extra-small": "text-xs px-3.5 py-2",
46
+ small: "text-sm px-4 py-2.5",
47
+ medium: "text-md px-5 py-2.5",
48
+ large: "text-lg px-6 py-3",
49
+ "extra-large": "text-lg px-7 py-3.5"
50
+ };
51
+ var Button = ({
52
+ children,
53
+ iconLeft,
54
+ iconRight,
55
+ size = "medium",
56
+ variant = "solid",
57
+ action = "primary",
58
+ className = "",
59
+ disabled,
60
+ type = "button",
61
+ ...props
62
+ }) => {
63
+ const sizeClasses = SIZE_CLASSES[size];
64
+ const variantClasses = VARIANT_ACTION_CLASSES[variant][action];
65
+ const baseClasses = "inline-flex items-center justify-center rounded-full cursor-pointer font-medium";
66
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
67
+ "button",
68
+ {
69
+ className: `${baseClasses} ${variantClasses} ${sizeClasses} ${className}`,
70
+ disabled,
71
+ type,
72
+ ...props,
73
+ children: [
74
+ iconLeft && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "mr-2 flex items-center", children: iconLeft }),
75
+ children,
76
+ iconRight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "ml-2 flex items-center", children: iconRight })
77
+ ]
78
+ }
79
+ );
80
+ };
81
+ // Annotate the CommonJS export names for ESM import in node:
82
+ 0 && (module.exports = {
83
+ Button
84
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ Button
3
+ } from "../../chunk-IB4IJ3GF.mjs";
4
+ export {
5
+ Button
6
+ };