@1doc/1ds-react 0.0.1
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/README.md +34 -0
- package/dist/components/Alert/Alert.css +188 -0
- package/dist/components/Alert/Alert.d.ts +65 -0
- package/dist/components/Alert/Alert.js +56 -0
- package/dist/components/Avatar/Avatar.css +88 -0
- package/dist/components/Avatar/Avatar.d.ts +34 -0
- package/dist/components/Avatar/Avatar.js +16 -0
- package/dist/components/Avatar/AvatarGroup.d.ts +12 -0
- package/dist/components/Avatar/AvatarGroup.js +8 -0
- package/dist/components/Badge/Badge.css +155 -0
- package/dist/components/Badge/Badge.d.ts +46 -0
- package/dist/components/Badge/Badge.js +17 -0
- package/dist/components/Button/Button.css +199 -0
- package/dist/components/Button/Button.d.ts +23 -0
- package/dist/components/Button/Button.js +62 -0
- package/dist/components/Checkbox/Checkbox.css +122 -0
- package/dist/components/Checkbox/Checkbox.d.ts +21 -0
- package/dist/components/Checkbox/Checkbox.js +49 -0
- package/dist/components/Divider/Divider.css +81 -0
- package/dist/components/Divider/Divider.d.ts +18 -0
- package/dist/components/Divider/Divider.js +26 -0
- package/dist/components/Grid/Grid.css +154 -0
- package/dist/components/Grid/Grid.d.ts +21 -0
- package/dist/components/Grid/Grid.js +53 -0
- package/dist/components/Icon/Icon.css +41 -0
- package/dist/components/Icon/Icon.d.ts +12 -0
- package/dist/components/Icon/Icon.js +29 -0
- package/dist/components/Input/Input.css +190 -0
- package/dist/components/Input/Input.d.ts +32 -0
- package/dist/components/Input/Input.js +58 -0
- package/dist/components/Link/Link.css +76 -0
- package/dist/components/Link/Link.d.ts +15 -0
- package/dist/components/Link/Link.js +19 -0
- package/dist/components/Logo/Logo.css +32 -0
- package/dist/components/Logo/Logo.d.ts +10 -0
- package/dist/components/Logo/Logo.js +16 -0
- package/dist/components/Modal/Modal.css +155 -0
- package/dist/components/Modal/Modal.d.ts +36 -0
- package/dist/components/Modal/Modal.js +55 -0
- package/dist/components/Radio/Radio.css +114 -0
- package/dist/components/Radio/Radio.d.ts +19 -0
- package/dist/components/Radio/Radio.js +39 -0
- package/dist/components/Select/Select.css +291 -0
- package/dist/components/Select/Select.d.ts +38 -0
- package/dist/components/Select/Select.js +246 -0
- package/dist/components/Spinner/Spinner.css +60 -0
- package/dist/components/Spinner/Spinner.d.ts +16 -0
- package/dist/components/Spinner/Spinner.js +16 -0
- package/dist/components/Switch/Switch.css +127 -0
- package/dist/components/Switch/Switch.d.ts +18 -0
- package/dist/components/Switch/Switch.js +57 -0
- package/dist/components/Tabs/Tab.d.ts +19 -0
- package/dist/components/Tabs/Tab.js +76 -0
- package/dist/components/Tabs/TabContent.d.ts +15 -0
- package/dist/components/Tabs/TabContent.js +11 -0
- package/dist/components/Tabs/Tabs.css +124 -0
- package/dist/components/Tabs/Tabs.d.ts +20 -0
- package/dist/components/Tabs/Tabs.js +14 -0
- package/dist/components/Tabs/TabsContent.d.ts +16 -0
- package/dist/components/Tabs/TabsContent.js +12 -0
- package/dist/components/Tabs/tabs.context.d.ts +2 -0
- package/dist/components/Tabs/tabs.context.js +2 -0
- package/dist/components/Tag/Tag.css +140 -0
- package/dist/components/Tag/Tag.d.ts +63 -0
- package/dist/components/Tag/Tag.js +48 -0
- package/dist/components/Text/Text.css +1213 -0
- package/dist/components/Text/Text.d.ts +70 -0
- package/dist/components/Text/Text.js +89 -0
- package/dist/components/Textarea/Textarea.css +133 -0
- package/dist/components/Textarea/Textarea.d.ts +28 -0
- package/dist/components/Textarea/Textarea.js +72 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +27 -0
- package/dist/utils/theme.d.ts +30 -0
- package/dist/utils/theme.js +106 -0
- package/package.json +26 -0
- package/scripts/postbuild.js +21 -0
- package/src/index.ts +28 -0
- package/src/utils/theme.ts +136 -0
- package/tsconfig.json +29 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import './Tag.css';
|
|
2
|
+
/**
|
|
3
|
+
* Componente Tag para exibir rótulos, categorias e seleções.
|
|
4
|
+
* Suporta variantes outlined/solid, 3 tamanhos e ícones opcionais.
|
|
5
|
+
* Ideal para uso em multi-select, filtros e categorização.
|
|
6
|
+
*/
|
|
7
|
+
export interface TagProps {
|
|
8
|
+
/**
|
|
9
|
+
* Texto exibido dentro da tag.
|
|
10
|
+
*/
|
|
11
|
+
label?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Variante visual da tag.
|
|
14
|
+
* @default 'outlined'
|
|
15
|
+
*/
|
|
16
|
+
variant?: "outlined" | "solid";
|
|
17
|
+
/**
|
|
18
|
+
* Tamanho da tag.
|
|
19
|
+
* @default 'md'
|
|
20
|
+
*/
|
|
21
|
+
size?: "sm" | "md" | "lg";
|
|
22
|
+
/**
|
|
23
|
+
* Nome do ícone Iconoir exibido à esquerda do label.
|
|
24
|
+
*/
|
|
25
|
+
iconStart?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Nome do ícone Iconoir exibido à direita do label (antes do close).
|
|
28
|
+
*/
|
|
29
|
+
iconEnd?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Se true, exibe o botão de fechar (ícone xmark).
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
closable?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Callback disparado ao clicar no botão de fechar.
|
|
37
|
+
*/
|
|
38
|
+
onClose?: (event: any) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Callback disparado ao clicar no ícone à esquerda.
|
|
41
|
+
*/
|
|
42
|
+
onIconStartClick?: (event: any) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Callback disparado ao clicar no ícone à direita.
|
|
45
|
+
*/
|
|
46
|
+
onIconEndClick?: (event: any) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Se a tag está desabilitada.
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
disabled?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Classes CSS adicionais.
|
|
54
|
+
*/
|
|
55
|
+
className?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Conteúdo filho (alternativa ao label).
|
|
58
|
+
*/
|
|
59
|
+
children?: any;
|
|
60
|
+
[key: string]: any;
|
|
61
|
+
}
|
|
62
|
+
declare function Tag(props: TagProps): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export default Tag;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import './Tag.css';
|
|
3
|
+
"use client";
|
|
4
|
+
import Icon from "../Icon/Icon";
|
|
5
|
+
function Tag(props) {
|
|
6
|
+
function classes() {
|
|
7
|
+
return [
|
|
8
|
+
"umds-tag",
|
|
9
|
+
`umds-tag--${props.variant || "outlined"}`,
|
|
10
|
+
`umds-tag--${props.size || "md"}`,
|
|
11
|
+
props.disabled ? "umds-tag--disabled" : "",
|
|
12
|
+
props.className,
|
|
13
|
+
]
|
|
14
|
+
.filter(Boolean)
|
|
15
|
+
.join(" ");
|
|
16
|
+
}
|
|
17
|
+
function iconSize() {
|
|
18
|
+
const size = props.size || "md";
|
|
19
|
+
if (size === "lg") {
|
|
20
|
+
return "md";
|
|
21
|
+
}
|
|
22
|
+
return "sm";
|
|
23
|
+
}
|
|
24
|
+
function handleClose(event) {
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
if (!props.disabled && props.onClose) {
|
|
27
|
+
props.onClose(event);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function handleIconStartClick(event) {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
if (!props.disabled && props.onIconStartClick) {
|
|
33
|
+
props.onIconStartClick(event);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function handleIconEndClick(event) {
|
|
37
|
+
event.stopPropagation();
|
|
38
|
+
if (!props.disabled && props.onIconEndClick) {
|
|
39
|
+
props.onIconEndClick(event);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return (_jsxs("span", { role: "status", ...props, className: classes(), children: [props.iconStart ? (_jsx("span", { onClick: (event) => handleIconStartClick(event), role: props.onIconStartClick ? "button" : undefined, tabIndex: props.onIconStartClick ? 0 : undefined, "aria-label": props.onIconStartClick ? props.iconStart : undefined, className: props.onIconStartClick
|
|
43
|
+
? "umds-tag__icon umds-tag__icon--clickable"
|
|
44
|
+
: "umds-tag__icon", children: _jsx(Icon, { variant: "inherit", name: props.iconStart, size: iconSize() }) })) : null, _jsx("span", { className: "umds-tag__label", children: props.label || props.children }), props.iconEnd ? (_jsx("span", { onClick: (event) => handleIconEndClick(event), role: props.onIconEndClick ? "button" : undefined, tabIndex: props.onIconEndClick ? 0 : undefined, "aria-label": props.onIconEndClick ? props.iconEnd : undefined, className: props.onIconEndClick
|
|
45
|
+
? "umds-tag__icon umds-tag__icon--clickable"
|
|
46
|
+
: "umds-tag__icon", children: _jsx(Icon, { variant: "inherit", name: props.iconEnd, size: iconSize() }) })) : null, props.closable ? (_jsx("span", { role: "button", "aria-label": "Remover", className: "umds-tag__close", onClick: (event) => handleClose(event), tabIndex: 0, children: _jsx(Icon, { name: "xmark", variant: "inherit", size: iconSize() }) })) : null] }));
|
|
47
|
+
}
|
|
48
|
+
export default Tag;
|