analytica-frontend-lib 1.0.22 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Alert/Alert.d.mts +13 -0
- package/dist/Alert/Alert.d.ts +13 -0
- package/dist/Alert/Alert.js +158 -0
- package/dist/Alert/Alert.mjs +85 -0
- package/dist/Badge/Badge.d.mts +47 -0
- package/dist/Badge/Badge.d.ts +47 -0
- package/dist/Badge/Badge.js +117 -0
- package/dist/Badge/Badge.mjs +92 -0
- package/dist/Button/Button.d.mts +46 -0
- package/dist/Button/Button.d.ts +46 -0
- package/dist/Button/Button.js +84 -0
- package/dist/Button/Button.mjs +59 -0
- package/dist/CheckBox/CheckBox.d.mts +74 -0
- package/dist/CheckBox/CheckBox.d.ts +74 -0
- package/dist/CheckBox/CheckBox.js +264 -0
- package/dist/CheckBox/CheckBox.mjs +195 -0
- package/dist/DropdownMenu/DropdownMenu.d.mts +29 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts +29 -0
- package/dist/DropdownMenu/DropdownMenu.js +262 -0
- package/dist/DropdownMenu/DropdownMenu.mjs +242 -0
- package/dist/IconButton/IconButton.d.mts +77 -0
- package/dist/IconButton/IconButton.d.ts +77 -0
- package/dist/IconButton/IconButton.js +79 -0
- package/dist/IconButton/IconButton.mjs +54 -0
- package/dist/IconRoundedButton/IconRoundedButton.d.mts +35 -0
- package/dist/IconRoundedButton/IconRoundedButton.d.ts +35 -0
- package/dist/IconRoundedButton/IconRoundedButton.js +68 -0
- package/dist/IconRoundedButton/IconRoundedButton.mjs +43 -0
- package/dist/NavButton/NavButton.d.mts +58 -0
- package/dist/NavButton/NavButton.d.ts +58 -0
- package/dist/NavButton/NavButton.js +76 -0
- package/dist/NavButton/NavButton.mjs +51 -0
- package/dist/SelectionButton/SelectionButton.d.mts +58 -0
- package/dist/SelectionButton/SelectionButton.d.ts +58 -0
- package/dist/SelectionButton/SelectionButton.js +81 -0
- package/dist/SelectionButton/SelectionButton.mjs +56 -0
- package/dist/Table/Table.d.mts +17 -0
- package/dist/Table/Table.d.ts +17 -0
- package/dist/Table/Table.js +139 -0
- package/dist/Table/Table.mjs +107 -0
- package/dist/Text/Text.d.mts +59 -0
- package/dist/Text/Text.d.ts +59 -0
- package/dist/Text/Text.js +77 -0
- package/dist/Text/Text.mjs +6 -0
- package/dist/TextArea/TextArea.d.mts +69 -0
- package/dist/TextArea/TextArea.d.ts +69 -0
- package/dist/TextArea/TextArea.js +211 -0
- package/dist/TextArea/TextArea.mjs +142 -0
- package/dist/Toast/Toast.d.mts +17 -0
- package/dist/Toast/Toast.d.ts +17 -0
- package/dist/Toast/Toast.js +100 -0
- package/dist/Toast/Toast.mjs +7 -0
- package/dist/Toast/utils/ToastStore.d.mts +19 -0
- package/dist/Toast/utils/ToastStore.d.ts +19 -0
- package/dist/Toast/utils/ToastStore.js +44 -0
- package/dist/Toast/utils/ToastStore.mjs +6 -0
- package/dist/Toast/utils/Toaster.d.mts +11 -0
- package/dist/Toast/utils/Toaster.d.ts +11 -0
- package/dist/Toast/utils/Toaster.js +145 -0
- package/dist/Toast/utils/Toaster.mjs +35 -0
- package/dist/chunk-MI5FIRHM.mjs +75 -0
- package/dist/chunk-TT3VCQGR.mjs +53 -0
- package/dist/chunk-WIOCQOM7.mjs +20 -0
- package/package.json +71 -3
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// src/components/IconRoundedButton/IconRoundedButton.tsx
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
var IconRoundedButton = ({
|
|
4
|
+
icon,
|
|
5
|
+
className = "",
|
|
6
|
+
disabled,
|
|
7
|
+
...props
|
|
8
|
+
}) => {
|
|
9
|
+
const baseClasses = [
|
|
10
|
+
"inline-flex",
|
|
11
|
+
"items-center",
|
|
12
|
+
"justify-center",
|
|
13
|
+
"w-8",
|
|
14
|
+
"h-8",
|
|
15
|
+
"rounded-full",
|
|
16
|
+
"cursor-pointer",
|
|
17
|
+
"border",
|
|
18
|
+
"border-background-200",
|
|
19
|
+
"bg-background",
|
|
20
|
+
"text-text-950",
|
|
21
|
+
"hover:shadow-hard-shadow-1",
|
|
22
|
+
"focus-visible:outline-none",
|
|
23
|
+
"focus-visible:shadow-hard-shadow-1",
|
|
24
|
+
"focus-visible:ring-2",
|
|
25
|
+
"focus-visible:ring-indicator-info",
|
|
26
|
+
"focus-visible:ring-offset-0",
|
|
27
|
+
"disabled:opacity-50",
|
|
28
|
+
"disabled:cursor-not-allowed"
|
|
29
|
+
].join(" ");
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
"button",
|
|
32
|
+
{
|
|
33
|
+
type: "button",
|
|
34
|
+
className: `${baseClasses} ${className}`,
|
|
35
|
+
disabled,
|
|
36
|
+
...props,
|
|
37
|
+
children: /* @__PURE__ */ jsx("span", { className: "flex items-center justify-center w-5 h-5", children: icon })
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
IconRoundedButton
|
|
43
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ButtonHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* NavButton component for Analytica Ensino platforms
|
|
6
|
+
*
|
|
7
|
+
* Um botão de navegação com ícone e texto para navegação principal.
|
|
8
|
+
* Ideal para menus de navegação, sidebar, tabs de navegação, etc.
|
|
9
|
+
* Compatível com Next.js 15 e React 19.
|
|
10
|
+
* Suporta forwardRef para acesso programático ao elemento DOM.
|
|
11
|
+
*
|
|
12
|
+
* @param icon - O ícone a ser exibido no botão
|
|
13
|
+
* @param label - O texto/label a ser exibido
|
|
14
|
+
* @param selected - Estado de seleção do botão
|
|
15
|
+
* @param className - Classes CSS adicionais
|
|
16
|
+
* @param props - Todos os outros atributos HTML padrão de button
|
|
17
|
+
* @returns Um elemento button estilizado para navegação
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <NavButton
|
|
22
|
+
* icon={<HomeIcon />}
|
|
23
|
+
* label="Início"
|
|
24
|
+
* selected={false}
|
|
25
|
+
* onClick={() => navigate('/')}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* // Usando ref para foco programático
|
|
32
|
+
* const buttonRef = useRef<HTMLButtonElement>(null);
|
|
33
|
+
*
|
|
34
|
+
* const handleFocus = () => {
|
|
35
|
+
* buttonRef.current?.focus();
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* <NavButton
|
|
39
|
+
* ref={buttonRef}
|
|
40
|
+
* icon={<HomeIcon />}
|
|
41
|
+
* label="Dashboard"
|
|
42
|
+
* selected={isActive}
|
|
43
|
+
* onClick={() => setActiveTab('dashboard')}
|
|
44
|
+
* />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
declare const NavButton: react.ForwardRefExoticComponent<{
|
|
48
|
+
/** Ícone a ser exibido no botão */
|
|
49
|
+
icon: ReactNode;
|
|
50
|
+
/** Texto/label a ser exibido ao lado do ícone */
|
|
51
|
+
label: string;
|
|
52
|
+
/** Estado de seleção do botão */
|
|
53
|
+
selected?: boolean;
|
|
54
|
+
/** Additional CSS classes to apply */
|
|
55
|
+
className?: string;
|
|
56
|
+
} & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
57
|
+
|
|
58
|
+
export { NavButton };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ButtonHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* NavButton component for Analytica Ensino platforms
|
|
6
|
+
*
|
|
7
|
+
* Um botão de navegação com ícone e texto para navegação principal.
|
|
8
|
+
* Ideal para menus de navegação, sidebar, tabs de navegação, etc.
|
|
9
|
+
* Compatível com Next.js 15 e React 19.
|
|
10
|
+
* Suporta forwardRef para acesso programático ao elemento DOM.
|
|
11
|
+
*
|
|
12
|
+
* @param icon - O ícone a ser exibido no botão
|
|
13
|
+
* @param label - O texto/label a ser exibido
|
|
14
|
+
* @param selected - Estado de seleção do botão
|
|
15
|
+
* @param className - Classes CSS adicionais
|
|
16
|
+
* @param props - Todos os outros atributos HTML padrão de button
|
|
17
|
+
* @returns Um elemento button estilizado para navegação
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <NavButton
|
|
22
|
+
* icon={<HomeIcon />}
|
|
23
|
+
* label="Início"
|
|
24
|
+
* selected={false}
|
|
25
|
+
* onClick={() => navigate('/')}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* // Usando ref para foco programático
|
|
32
|
+
* const buttonRef = useRef<HTMLButtonElement>(null);
|
|
33
|
+
*
|
|
34
|
+
* const handleFocus = () => {
|
|
35
|
+
* buttonRef.current?.focus();
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* <NavButton
|
|
39
|
+
* ref={buttonRef}
|
|
40
|
+
* icon={<HomeIcon />}
|
|
41
|
+
* label="Dashboard"
|
|
42
|
+
* selected={isActive}
|
|
43
|
+
* onClick={() => setActiveTab('dashboard')}
|
|
44
|
+
* />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
declare const NavButton: react.ForwardRefExoticComponent<{
|
|
48
|
+
/** Ícone a ser exibido no botão */
|
|
49
|
+
icon: ReactNode;
|
|
50
|
+
/** Texto/label a ser exibido ao lado do ícone */
|
|
51
|
+
label: string;
|
|
52
|
+
/** Estado de seleção do botão */
|
|
53
|
+
selected?: boolean;
|
|
54
|
+
/** Additional CSS classes to apply */
|
|
55
|
+
className?: string;
|
|
56
|
+
} & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
57
|
+
|
|
58
|
+
export { NavButton };
|
|
@@ -0,0 +1,76 @@
|
|
|
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/NavButton/NavButton.tsx
|
|
21
|
+
var NavButton_exports = {};
|
|
22
|
+
__export(NavButton_exports, {
|
|
23
|
+
NavButton: () => NavButton
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(NavButton_exports);
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var NavButton = (0, import_react.forwardRef)(
|
|
29
|
+
({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
|
|
30
|
+
const baseClasses = [
|
|
31
|
+
"flex",
|
|
32
|
+
"flex-col",
|
|
33
|
+
"items-center",
|
|
34
|
+
"justify-center",
|
|
35
|
+
"gap-0.5",
|
|
36
|
+
"px-12",
|
|
37
|
+
"py-1",
|
|
38
|
+
"rounded-sm",
|
|
39
|
+
"cursor-pointer",
|
|
40
|
+
"text-text-950",
|
|
41
|
+
"text-xs",
|
|
42
|
+
"font-medium",
|
|
43
|
+
"hover:text-text",
|
|
44
|
+
"hover:bg-primary-600",
|
|
45
|
+
"focus-visible:outline-none",
|
|
46
|
+
"focus-visible:ring-2",
|
|
47
|
+
"focus-visible:ring-offset-0",
|
|
48
|
+
"focus-visible:ring-indicator-info",
|
|
49
|
+
"disabled:opacity-50",
|
|
50
|
+
"disabled:cursor-not-allowed",
|
|
51
|
+
"disabled:pointer-events-none"
|
|
52
|
+
];
|
|
53
|
+
const stateClasses = selected ? ["bg-primary-50", "text-primary-950"] : [];
|
|
54
|
+
const allClasses = [...baseClasses, ...stateClasses].join(" ");
|
|
55
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
56
|
+
"button",
|
|
57
|
+
{
|
|
58
|
+
ref,
|
|
59
|
+
type: "button",
|
|
60
|
+
className: `${allClasses} ${className}`,
|
|
61
|
+
disabled,
|
|
62
|
+
"aria-pressed": selected,
|
|
63
|
+
...props,
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "flex items-center justify-center w-5 h-5", children: icon }),
|
|
66
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "whitespace-nowrap", children: label })
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
NavButton.displayName = "NavButton";
|
|
73
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
74
|
+
0 && (module.exports = {
|
|
75
|
+
NavButton
|
|
76
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// src/components/NavButton/NavButton.tsx
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
var NavButton = forwardRef(
|
|
5
|
+
({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
|
|
6
|
+
const baseClasses = [
|
|
7
|
+
"flex",
|
|
8
|
+
"flex-col",
|
|
9
|
+
"items-center",
|
|
10
|
+
"justify-center",
|
|
11
|
+
"gap-0.5",
|
|
12
|
+
"px-12",
|
|
13
|
+
"py-1",
|
|
14
|
+
"rounded-sm",
|
|
15
|
+
"cursor-pointer",
|
|
16
|
+
"text-text-950",
|
|
17
|
+
"text-xs",
|
|
18
|
+
"font-medium",
|
|
19
|
+
"hover:text-text",
|
|
20
|
+
"hover:bg-primary-600",
|
|
21
|
+
"focus-visible:outline-none",
|
|
22
|
+
"focus-visible:ring-2",
|
|
23
|
+
"focus-visible:ring-offset-0",
|
|
24
|
+
"focus-visible:ring-indicator-info",
|
|
25
|
+
"disabled:opacity-50",
|
|
26
|
+
"disabled:cursor-not-allowed",
|
|
27
|
+
"disabled:pointer-events-none"
|
|
28
|
+
];
|
|
29
|
+
const stateClasses = selected ? ["bg-primary-50", "text-primary-950"] : [];
|
|
30
|
+
const allClasses = [...baseClasses, ...stateClasses].join(" ");
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
"button",
|
|
33
|
+
{
|
|
34
|
+
ref,
|
|
35
|
+
type: "button",
|
|
36
|
+
className: `${allClasses} ${className}`,
|
|
37
|
+
disabled,
|
|
38
|
+
"aria-pressed": selected,
|
|
39
|
+
...props,
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsx("span", { className: "flex items-center justify-center w-5 h-5", children: icon }),
|
|
42
|
+
/* @__PURE__ */ jsx("span", { className: "whitespace-nowrap", children: label })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
NavButton.displayName = "NavButton";
|
|
49
|
+
export {
|
|
50
|
+
NavButton
|
|
51
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ButtonHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* SelectionButton component for Analytica Ensino platforms
|
|
6
|
+
*
|
|
7
|
+
* Um botão com ícone e texto para ações e navegação com estado de seleção.
|
|
8
|
+
* Ideal para filtros, tags, categorias, seleção de tipos, etc.
|
|
9
|
+
* Compatível com Next.js 15 e React 19.
|
|
10
|
+
* Suporta forwardRef para acesso programático ao elemento DOM.
|
|
11
|
+
*
|
|
12
|
+
* @param icon - O ícone a ser exibido no botão
|
|
13
|
+
* @param label - O texto/label a ser exibido
|
|
14
|
+
* @param selected - Estado de seleção do botão
|
|
15
|
+
* @param className - Classes CSS adicionais
|
|
16
|
+
* @param props - Todos os outros atributos HTML padrão de button
|
|
17
|
+
* @returns Um elemento button estilizado
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <SelectionButton
|
|
22
|
+
* icon={<TagIcon />}
|
|
23
|
+
* label="Categoria"
|
|
24
|
+
* selected={false}
|
|
25
|
+
* onClick={() => handleSelection()}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* // Usando ref para foco programático
|
|
32
|
+
* const buttonRef = useRef<HTMLButtonElement>(null);
|
|
33
|
+
*
|
|
34
|
+
* const handleFocus = () => {
|
|
35
|
+
* buttonRef.current?.focus();
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* <SelectionButton
|
|
39
|
+
* ref={buttonRef}
|
|
40
|
+
* icon={<TagIcon />}
|
|
41
|
+
* label="Categoria"
|
|
42
|
+
* selected={isSelected}
|
|
43
|
+
* onClick={() => setSelected(!isSelected)}
|
|
44
|
+
* />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
declare const SelectionButton: react.ForwardRefExoticComponent<{
|
|
48
|
+
/** Ícone a ser exibido no botão */
|
|
49
|
+
icon: ReactNode;
|
|
50
|
+
/** Texto/label a ser exibido ao lado do ícone */
|
|
51
|
+
label: string;
|
|
52
|
+
/** Estado de seleção do botão */
|
|
53
|
+
selected?: boolean;
|
|
54
|
+
/** Additional CSS classes to apply */
|
|
55
|
+
className?: string;
|
|
56
|
+
} & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
57
|
+
|
|
58
|
+
export { SelectionButton };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ButtonHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* SelectionButton component for Analytica Ensino platforms
|
|
6
|
+
*
|
|
7
|
+
* Um botão com ícone e texto para ações e navegação com estado de seleção.
|
|
8
|
+
* Ideal para filtros, tags, categorias, seleção de tipos, etc.
|
|
9
|
+
* Compatível com Next.js 15 e React 19.
|
|
10
|
+
* Suporta forwardRef para acesso programático ao elemento DOM.
|
|
11
|
+
*
|
|
12
|
+
* @param icon - O ícone a ser exibido no botão
|
|
13
|
+
* @param label - O texto/label a ser exibido
|
|
14
|
+
* @param selected - Estado de seleção do botão
|
|
15
|
+
* @param className - Classes CSS adicionais
|
|
16
|
+
* @param props - Todos os outros atributos HTML padrão de button
|
|
17
|
+
* @returns Um elemento button estilizado
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <SelectionButton
|
|
22
|
+
* icon={<TagIcon />}
|
|
23
|
+
* label="Categoria"
|
|
24
|
+
* selected={false}
|
|
25
|
+
* onClick={() => handleSelection()}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* // Usando ref para foco programático
|
|
32
|
+
* const buttonRef = useRef<HTMLButtonElement>(null);
|
|
33
|
+
*
|
|
34
|
+
* const handleFocus = () => {
|
|
35
|
+
* buttonRef.current?.focus();
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* <SelectionButton
|
|
39
|
+
* ref={buttonRef}
|
|
40
|
+
* icon={<TagIcon />}
|
|
41
|
+
* label="Categoria"
|
|
42
|
+
* selected={isSelected}
|
|
43
|
+
* onClick={() => setSelected(!isSelected)}
|
|
44
|
+
* />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
declare const SelectionButton: react.ForwardRefExoticComponent<{
|
|
48
|
+
/** Ícone a ser exibido no botão */
|
|
49
|
+
icon: ReactNode;
|
|
50
|
+
/** Texto/label a ser exibido ao lado do ícone */
|
|
51
|
+
label: string;
|
|
52
|
+
/** Estado de seleção do botão */
|
|
53
|
+
selected?: boolean;
|
|
54
|
+
/** Additional CSS classes to apply */
|
|
55
|
+
className?: string;
|
|
56
|
+
} & ButtonHTMLAttributes<HTMLButtonElement> & react.RefAttributes<HTMLButtonElement>>;
|
|
57
|
+
|
|
58
|
+
export { SelectionButton };
|
|
@@ -0,0 +1,81 @@
|
|
|
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/SelectionButton/SelectionButton.tsx
|
|
21
|
+
var SelectionButton_exports = {};
|
|
22
|
+
__export(SelectionButton_exports, {
|
|
23
|
+
SelectionButton: () => SelectionButton
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(SelectionButton_exports);
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var SelectionButton = (0, import_react.forwardRef)(
|
|
29
|
+
({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
|
|
30
|
+
const baseClasses = [
|
|
31
|
+
"inline-flex",
|
|
32
|
+
"items-center",
|
|
33
|
+
"justify-start",
|
|
34
|
+
"gap-2",
|
|
35
|
+
"p-4",
|
|
36
|
+
"rounded-xl",
|
|
37
|
+
"cursor-pointer",
|
|
38
|
+
"border",
|
|
39
|
+
"border-border-50",
|
|
40
|
+
"bg-background",
|
|
41
|
+
"text-sm",
|
|
42
|
+
"text-text-700",
|
|
43
|
+
"font-bold",
|
|
44
|
+
"shadow-soft-shadow-1",
|
|
45
|
+
"hover:bg-background-100",
|
|
46
|
+
"focus-visible:outline-none",
|
|
47
|
+
"focus-visible:ring-2",
|
|
48
|
+
"focus-visible:ring-indicator-info",
|
|
49
|
+
"focus-visible:ring-offset-0",
|
|
50
|
+
"focus-visible:shadow-none",
|
|
51
|
+
"active:ring-2",
|
|
52
|
+
"active:ring-primary-950",
|
|
53
|
+
"active:ring-offset-0",
|
|
54
|
+
"active:shadow-none",
|
|
55
|
+
"disabled:opacity-50",
|
|
56
|
+
"disabled:cursor-not-allowed"
|
|
57
|
+
];
|
|
58
|
+
const stateClasses = selected ? ["ring-primary-950", "ring-2", "ring-offset-0", "shadow-none"] : [];
|
|
59
|
+
const allClasses = [...baseClasses, ...stateClasses].join(" ");
|
|
60
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
61
|
+
"button",
|
|
62
|
+
{
|
|
63
|
+
ref,
|
|
64
|
+
type: "button",
|
|
65
|
+
className: `${allClasses} ${className}`,
|
|
66
|
+
disabled,
|
|
67
|
+
"aria-pressed": selected,
|
|
68
|
+
...props,
|
|
69
|
+
children: [
|
|
70
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "flex items-center justify-center w-6 h-6", children: icon }),
|
|
71
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: label })
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
SelectionButton.displayName = "SelectionButton";
|
|
78
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
79
|
+
0 && (module.exports = {
|
|
80
|
+
SelectionButton
|
|
81
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// src/components/SelectionButton/SelectionButton.tsx
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
var SelectionButton = forwardRef(
|
|
5
|
+
({ icon, label, selected = false, className = "", disabled, ...props }, ref) => {
|
|
6
|
+
const baseClasses = [
|
|
7
|
+
"inline-flex",
|
|
8
|
+
"items-center",
|
|
9
|
+
"justify-start",
|
|
10
|
+
"gap-2",
|
|
11
|
+
"p-4",
|
|
12
|
+
"rounded-xl",
|
|
13
|
+
"cursor-pointer",
|
|
14
|
+
"border",
|
|
15
|
+
"border-border-50",
|
|
16
|
+
"bg-background",
|
|
17
|
+
"text-sm",
|
|
18
|
+
"text-text-700",
|
|
19
|
+
"font-bold",
|
|
20
|
+
"shadow-soft-shadow-1",
|
|
21
|
+
"hover:bg-background-100",
|
|
22
|
+
"focus-visible:outline-none",
|
|
23
|
+
"focus-visible:ring-2",
|
|
24
|
+
"focus-visible:ring-indicator-info",
|
|
25
|
+
"focus-visible:ring-offset-0",
|
|
26
|
+
"focus-visible:shadow-none",
|
|
27
|
+
"active:ring-2",
|
|
28
|
+
"active:ring-primary-950",
|
|
29
|
+
"active:ring-offset-0",
|
|
30
|
+
"active:shadow-none",
|
|
31
|
+
"disabled:opacity-50",
|
|
32
|
+
"disabled:cursor-not-allowed"
|
|
33
|
+
];
|
|
34
|
+
const stateClasses = selected ? ["ring-primary-950", "ring-2", "ring-offset-0", "shadow-none"] : [];
|
|
35
|
+
const allClasses = [...baseClasses, ...stateClasses].join(" ");
|
|
36
|
+
return /* @__PURE__ */ jsxs(
|
|
37
|
+
"button",
|
|
38
|
+
{
|
|
39
|
+
ref,
|
|
40
|
+
type: "button",
|
|
41
|
+
className: `${allClasses} ${className}`,
|
|
42
|
+
disabled,
|
|
43
|
+
"aria-pressed": selected,
|
|
44
|
+
...props,
|
|
45
|
+
children: [
|
|
46
|
+
/* @__PURE__ */ jsx("span", { className: "flex items-center justify-center w-6 h-6", children: icon }),
|
|
47
|
+
/* @__PURE__ */ jsx("span", { children: label })
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
SelectionButton.displayName = "SelectionButton";
|
|
54
|
+
export {
|
|
55
|
+
SelectionButton
|
|
56
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes, TdHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type TableRowState = 'default' | 'selected' | 'invalid' | 'disabled';
|
|
5
|
+
interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
|
|
6
|
+
state?: TableRowState;
|
|
7
|
+
}
|
|
8
|
+
declare const Table: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & react.RefAttributes<HTMLTableElement>>;
|
|
9
|
+
declare const TableHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
10
|
+
declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
11
|
+
declare const TableFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
12
|
+
declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
|
|
13
|
+
declare const TableHead: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
14
|
+
declare const TableCell: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
15
|
+
declare const TableCaption: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & react.RefAttributes<HTMLTableCaptionElement>>;
|
|
16
|
+
|
|
17
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { HTMLAttributes, TdHTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type TableRowState = 'default' | 'selected' | 'invalid' | 'disabled';
|
|
5
|
+
interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
|
|
6
|
+
state?: TableRowState;
|
|
7
|
+
}
|
|
8
|
+
declare const Table: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & react.RefAttributes<HTMLTableElement>>;
|
|
9
|
+
declare const TableHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
10
|
+
declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
11
|
+
declare const TableFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
12
|
+
declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
|
|
13
|
+
declare const TableHead: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
14
|
+
declare const TableCell: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
15
|
+
declare const TableCaption: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & react.RefAttributes<HTMLTableCaptionElement>>;
|
|
16
|
+
|
|
17
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|