karsten-design-system 1.0.95 → 1.0.96
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/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/stories/components/multiselect.js +50 -0
- package/dist/stories/components/multiselect.js.map +1 -0
- package/dist/stories/components/select.js +8 -28
- package/dist/stories/components/select.js.map +1 -1
- package/dist/stories/components/table.js +16 -3
- package/dist/stories/components/table.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stories/components/multiselect.d.ts +12 -0
- package/dist/types/stories/components/select.d.ts +2 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -31,4 +31,5 @@ export { EmptyContent } from './stories/components/emptyContent.js';
|
|
|
31
31
|
export { Select } from './stories/components/select.js';
|
|
32
32
|
export { CalendarInput } from './stories/components/calendarInput.js';
|
|
33
33
|
export { Table } from './stories/components/table.js';
|
|
34
|
+
export { MultiSelect } from './stories/components/multiselect.js';
|
|
34
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { IconField } from 'primereact/iconfield';
|
|
5
|
+
import { InputText } from 'primereact/inputtext';
|
|
6
|
+
import { InputIcon } from 'primereact/inputicon';
|
|
7
|
+
import FloatingLabel from '../../components/floating-label/index.js';
|
|
8
|
+
|
|
9
|
+
function MultiSelect(props) {
|
|
10
|
+
const { options, placeholder = 'Selecione uma opção', label = 'Opção', disabled = false, error, isLoading = false, } = props;
|
|
11
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
12
|
+
const containerRef = useRef(null);
|
|
13
|
+
const toggleDropdown = () => {
|
|
14
|
+
if (!disabled && !isLoading) {
|
|
15
|
+
setIsOpen(!isOpen);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const handleSelect = (option) => {
|
|
19
|
+
const currentValues = Array.isArray(props.value) ? props.value : [];
|
|
20
|
+
const alreadySelected = currentValues.some(v => v.value === option.value);
|
|
21
|
+
const newValues = alreadySelected
|
|
22
|
+
? currentValues.filter(v => v.value !== option.value)
|
|
23
|
+
: [...currentValues, option];
|
|
24
|
+
props.onChange(newValues.length > 0 ? newValues : null);
|
|
25
|
+
};
|
|
26
|
+
const hasError = !!error && !disabled;
|
|
27
|
+
const isInputDisabled = disabled || isLoading;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const handleClickOutside = (event) => {
|
|
30
|
+
if (containerRef.current &&
|
|
31
|
+
!containerRef.current.contains(event.target)) {
|
|
32
|
+
setIsOpen(false);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
36
|
+
return () => {
|
|
37
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
38
|
+
};
|
|
39
|
+
}, []);
|
|
40
|
+
return (jsxRuntimeExports.jsxs("div", { ref: containerRef, className: "relative flex flex-col w-100", children: [jsxRuntimeExports.jsxs("div", { className: "relative w-full cursor-pointer", onClick: toggleDropdown, children: [jsxRuntimeExports.jsx(FloatingLabel, { value: Array.isArray(props.value) && props.value.length > 0
|
|
41
|
+
? props.value.map(v => v.label).join(', ')
|
|
42
|
+
: '', label: label, disabled: isInputDisabled, error: error }), jsxRuntimeExports.jsxs(IconField, { className: "w-full", children: [jsxRuntimeExports.jsx(InputText, { placeholder: placeholder, type: "text", value: isLoading
|
|
43
|
+
? 'Carregando...'
|
|
44
|
+
: Array.isArray(props.value) && props.value.length > 0
|
|
45
|
+
? props.value.map(v => v.label).join(', ')
|
|
46
|
+
: '', onClick: toggleDropdown, className: clsx('focus:shadow-none placeholder:!pl-3 placeholder:text-gray placeholder:font-roboto text-base w-100 font-roboto border !p-2 rounded-md', hasError ? 'border-redError placeholder:text-redError' : 'border-gray focus:border-primary', isInputDisabled && 'border-stoneDark text-disabled', error && 'border-redError text-redError', !error && 'border-gray placeholder:text-gray', isLoading && 'text-gray'), invalid: hasError, readOnly: true, style: { height: '42px', fontSize: '16px' }, disabled: isInputDisabled }), jsxRuntimeExports.jsx(InputIcon, { className: clsx(isLoading ? 'pi pi-spinner pi-spin' : isOpen ? 'pi pi-angle-up' : 'pi pi-angle-down', 'text-gray px-2 flex items-center cursor-pointer', isInputDisabled && 'text-disabled', error && 'text-redError'), onClick: toggleDropdown })] })] }), isOpen && !isLoading && (jsxRuntimeExports.jsx("div", { className: clsx('absolute w-full bg-background border shadow-md z-40 rounded-md p-2 -bottom-1 translate-y-full', error ? 'border-redError' : 'border-gray'), children: jsxRuntimeExports.jsx("ul", { children: options.map((option) => (jsxRuntimeExports.jsxs("li", { onClick: () => handleSelect(option), className: "p-2 flex justify-between items-center cursor-pointer", children: [option.label, jsxRuntimeExports.jsx("input", { type: 'checkbox', checked: Array.isArray(props.value) && props.value.some(v => v.value === option.value), onChange: () => handleSelect(option), className: clsx('appearance-none w-2 h-2 ring-1 ring-offset-2 ring-offset-background ring-gray checked:bg-primary cursor-pointer rounded-md') })] }, option.value))) }) })), hasError && jsxRuntimeExports.jsx("span", { className: "text-redError text-xs px-2", children: error })] }));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { MultiSelect };
|
|
50
|
+
//# sourceMappingURL=multiselect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiselect.js","sources":["../../../../src/stories/components/multiselect.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -16,23 +16,13 @@ function Select(props) {
|
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
const handleSelect = (option) => {
|
|
19
|
-
if (props.
|
|
20
|
-
|
|
21
|
-
const alreadySelected = currentValues.some(v => v.value === option.value);
|
|
22
|
-
const newValues = alreadySelected
|
|
23
|
-
? currentValues.filter(v => v.value !== option.value)
|
|
24
|
-
: [...currentValues, option];
|
|
25
|
-
props.onChange(newValues.length > 0 ? newValues : null);
|
|
19
|
+
if (props.value?.value === option.value) {
|
|
20
|
+
props.onChange(null);
|
|
26
21
|
}
|
|
27
22
|
else {
|
|
28
|
-
|
|
29
|
-
props.onChange(null);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
props.onChange(option);
|
|
33
|
-
}
|
|
34
|
-
setIsOpen(false);
|
|
23
|
+
props.onChange(option);
|
|
35
24
|
}
|
|
25
|
+
setIsOpen(false);
|
|
36
26
|
};
|
|
37
27
|
const hasError = !!error && !disabled;
|
|
38
28
|
const isInputDisabled = disabled || isLoading;
|
|
@@ -48,21 +38,11 @@ function Select(props) {
|
|
|
48
38
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
49
39
|
};
|
|
50
40
|
}, []);
|
|
51
|
-
return (jsxRuntimeExports.jsxs("div", { ref: containerRef, className: "relative flex flex-col w-100", children: [jsxRuntimeExports.jsxs("div", { className: "relative w-full cursor-pointer", onClick: toggleDropdown, children: [jsxRuntimeExports.jsx(FloatingLabel, { value: props.
|
|
52
|
-
? ''
|
|
53
|
-
: !Array.isArray(props.value) && props.value
|
|
54
|
-
? props.value.label
|
|
55
|
-
: '', label: label, disabled: isInputDisabled, error: error }), jsxRuntimeExports.jsxs(IconField, { className: "w-full", children: [jsxRuntimeExports.jsx(InputText, { placeholder: placeholder, type: "text", value: isLoading
|
|
41
|
+
return (jsxRuntimeExports.jsxs("div", { ref: containerRef, className: "relative flex flex-col w-100", children: [jsxRuntimeExports.jsxs("div", { className: "relative w-full cursor-pointer", onClick: toggleDropdown, children: [jsxRuntimeExports.jsx(FloatingLabel, { value: props.value ? props.value.label : '', label: label, disabled: isInputDisabled, error: error }), jsxRuntimeExports.jsxs(IconField, { className: "w-full", children: [jsxRuntimeExports.jsx(InputText, { placeholder: placeholder, type: "text", value: isLoading
|
|
56
42
|
? 'Carregando...'
|
|
57
|
-
: props.
|
|
58
|
-
?
|
|
59
|
-
|
|
60
|
-
: ''
|
|
61
|
-
: !Array.isArray(props.value) && props.value
|
|
62
|
-
? props.value.label
|
|
63
|
-
: '', onClick: toggleDropdown, className: clsx('focus:shadow-none placeholder:!pl-3 placeholder:text-gray placeholder:font-roboto text-base w-100 font-roboto border !p-2 rounded-md', hasError ? 'border-redError placeholder:text-redError' : 'border-gray focus:border-primary', isInputDisabled && 'border-stoneDark text-disabled', error && 'border-redError text-redError', !error && 'border-gray placeholder:text-gray', isLoading && 'text-gray'), invalid: hasError, readOnly: true, style: { height: '42px', fontSize: '16px' }, disabled: isInputDisabled }), jsxRuntimeExports.jsx(InputIcon, { className: clsx(isLoading ? 'pi pi-spinner pi-spin' : isOpen ? 'pi pi-angle-up' : 'pi pi-angle-down', 'text-gray px-2 flex items-center cursor-pointer', isInputDisabled && 'text-disabled', error && 'text-redError'), onClick: toggleDropdown })] })] }), isOpen && !isLoading && (jsxRuntimeExports.jsx("div", { className: clsx('absolute w-full bg-background border shadow-md z-40 rounded-md p-2 -bottom-1 translate-y-full', error ? 'border-redError' : 'border-gray'), children: jsxRuntimeExports.jsx("ul", { children: options.map((option) => (jsxRuntimeExports.jsxs("li", { onClick: () => handleSelect(option), className: "p-2 flex justify-between items-center cursor-pointer", children: [option.label, jsxRuntimeExports.jsx("input", { type: props.isMulti ? 'checkbox' : 'radio', checked: props.isMulti
|
|
64
|
-
? Array.isArray(props.value) && props.value.some(v => v.value === option.value)
|
|
65
|
-
: !Array.isArray(props.value) && props.value?.value === option.value, onChange: () => handleSelect(option), className: clsx('appearance-none w-2 h-2 rounded-full ring-1 ring-offset-2 ring-offset-background ring-gray checked:bg-primary cursor-pointer', props.isMulti && 'rounded-md') })] }, option.value))) }) })), hasError && jsxRuntimeExports.jsx("span", { className: "text-redError text-xs px-2", children: error })] }));
|
|
43
|
+
: props.value
|
|
44
|
+
? props.value.label
|
|
45
|
+
: '', onClick: toggleDropdown, className: clsx('focus:shadow-none placeholder:!pl-3 placeholder:text-gray placeholder:font-roboto text-base w-100 font-roboto border !p-2 rounded-md', hasError ? 'border-redError placeholder:text-redError' : 'border-gray focus:border-primary', isInputDisabled && 'border-stoneDark text-disabled', error && 'border-redError text-redError', !error && 'border-gray placeholder:text-gray', isLoading && 'text-gray'), invalid: hasError, readOnly: true, style: { height: '42px', fontSize: '16px' }, disabled: isInputDisabled }), jsxRuntimeExports.jsx(InputIcon, { className: clsx(isLoading ? 'pi pi-spinner pi-spin' : isOpen ? 'pi pi-angle-up' : 'pi pi-angle-down', 'text-gray px-2 flex items-center cursor-pointer', isInputDisabled && 'text-disabled', error && 'text-redError'), onClick: toggleDropdown })] })] }), isOpen && !isLoading && (jsxRuntimeExports.jsx("div", { className: clsx('absolute w-full bg-background border shadow-md z-40 rounded-md p-2 -bottom-1 translate-y-full', error ? 'border-redError' : 'border-gray'), children: jsxRuntimeExports.jsx("ul", { children: options.map((option) => (jsxRuntimeExports.jsxs("li", { onClick: () => handleSelect(option), className: "p-2 flex justify-between items-center cursor-pointer", children: [option.label, jsxRuntimeExports.jsx("input", { type: 'radio', checked: props.value?.value === option.value, onChange: () => handleSelect(option), className: clsx('appearance-none w-2 h-2 rounded-full ring-1 ring-offset-2 ring-offset-background ring-gray checked:bg-primary cursor-pointer') })] }, option.value))) }) })), hasError && jsxRuntimeExports.jsx("span", { className: "text-redError text-xs px-2", children: error })] }));
|
|
66
46
|
}
|
|
67
47
|
|
|
68
48
|
export { Select };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../src/stories/components/select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../src/stories/components/select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
3
|
import { sortData } from '../../utils/sortData.js';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import { Spinner } from './spinner.js';
|
|
@@ -8,6 +8,7 @@ import { Button } from './button.js';
|
|
|
8
8
|
import { Input } from './input.js';
|
|
9
9
|
import { Select } from './select.js';
|
|
10
10
|
import { CalendarInput } from './calendarInput.js';
|
|
11
|
+
import { MultiSelect } from './multiselect.js';
|
|
11
12
|
|
|
12
13
|
function parseDateRange(value) {
|
|
13
14
|
try {
|
|
@@ -26,6 +27,7 @@ function Table({ columns, data, totalRecords, actions = [], isOrdered = true, ac
|
|
|
26
27
|
const [currentPage, setCurrentPage] = useState(1);
|
|
27
28
|
const [filters, setFilters] = useState({});
|
|
28
29
|
const [openFilter, setOpenFilter] = useState(null);
|
|
30
|
+
const filterModalRef = useRef(null);
|
|
29
31
|
const handleSort = (dataIndex) => {
|
|
30
32
|
const newDirection = sortDirection === 'ASC' ? 'DESC' : 'ASC';
|
|
31
33
|
setSortDirection(newDirection);
|
|
@@ -39,6 +41,17 @@ function Table({ columns, data, totalRecords, actions = [], isOrdered = true, ac
|
|
|
39
41
|
useEffect(() => {
|
|
40
42
|
setSortedData(data);
|
|
41
43
|
}, [data]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
const handleClickOutside = (event) => {
|
|
46
|
+
if (filterModalRef.current && !filterModalRef.current.contains(event.target)) {
|
|
47
|
+
setOpenFilter(null);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
51
|
+
return () => {
|
|
52
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
53
|
+
};
|
|
54
|
+
}, []);
|
|
42
55
|
const handleFilter = () => {
|
|
43
56
|
setOpenFilter(null);
|
|
44
57
|
if (onFilterChange) {
|
|
@@ -46,10 +59,10 @@ function Table({ columns, data, totalRecords, actions = [], isOrdered = true, ac
|
|
|
46
59
|
onFilterChange(filters);
|
|
47
60
|
}
|
|
48
61
|
};
|
|
49
|
-
return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("table", { className: "w-100", children: [jsxRuntimeExports.jsx("thead", { children: jsxRuntimeExports.jsxs("tr", { className: "bg-gray-100", children: [columns.map((column) => (jsxRuntimeExports.jsxs("th", { className: "bg-primary first:rounded-ss-lg font-bold text-background text-sm uppercase p-3 text-left", children: [jsxRuntimeExports.jsx("div", { children: openFilter === column.dataIndex && (jsxRuntimeExports.jsxs("div", { className: "absolute mt-6 bg-background border rounded-md shadow-md p-4 z-10 w-[276px] normal-case", children: [jsxRuntimeExports.jsxs("div", { className: "space-y-4 text-primary", children: [jsxRuntimeExports.jsxs("h1", { className: "text-primary text-sm", children: ["Filtrar por ", column.label] }), jsxRuntimeExports.jsxs("div", { className: "w-full", children: [column.filterType === 'text' && (jsxRuntimeExports.jsx(Input, { placeholder: "Digite para filtrar", value: filters[column.dataIndex] || "", onChange: (e) => setFilters((prev) => ({ ...prev, [column.dataIndex]: e })), mask: column?.mask })), column.filterType === 'select' && (jsxRuntimeExports.jsx(Select, {
|
|
62
|
+
return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("table", { className: "w-100", children: [jsxRuntimeExports.jsx("thead", { children: jsxRuntimeExports.jsxs("tr", { className: "bg-gray-100", children: [columns.map((column) => (jsxRuntimeExports.jsxs("th", { className: "bg-primary first:rounded-ss-lg font-bold text-background text-sm uppercase p-3 text-left", children: [jsxRuntimeExports.jsx("div", { children: openFilter === column.dataIndex && (jsxRuntimeExports.jsxs("div", { ref: filterModalRef, className: "absolute mt-6 bg-background border rounded-md shadow-md p-4 z-10 w-[276px] normal-case", children: [jsxRuntimeExports.jsxs("div", { className: "space-y-4 text-primary", children: [jsxRuntimeExports.jsxs("h1", { className: "text-primary text-sm", children: ["Filtrar por ", column.label] }), jsxRuntimeExports.jsxs("div", { className: "w-full", children: [column.filterType === 'text' && (jsxRuntimeExports.jsx(Input, { placeholder: "Digite para filtrar", value: filters[column.dataIndex] || "", onChange: (e) => setFilters((prev) => ({ ...prev, [column.dataIndex]: e })), mask: column?.mask })), column.filterType === 'select' && (jsxRuntimeExports.jsx(Select, { options: column.filterOptions || [], value: column.filterOptions?.find((option) => option.value === filters[column.dataIndex]) || null, onChange: (selected) => setFilters((prev) => ({
|
|
50
63
|
...prev,
|
|
51
64
|
[column.dataIndex]: selected?.value ?? null,
|
|
52
|
-
})), placeholder: "Selecione uma op\u00E7\u00E3o", label: "" })), column.filterType === 'multiSelect' && (jsxRuntimeExports.jsx(
|
|
65
|
+
})), placeholder: "Selecione uma op\u00E7\u00E3o", label: "" })), column.filterType === 'multiSelect' && (jsxRuntimeExports.jsx(MultiSelect, { options: column.filterOptions || [], value: (filters[column.dataIndex]
|
|
53
66
|
? JSON.parse(filters[column.dataIndex])
|
|
54
67
|
: []), onChange: (selected) => setFilters((prev) => ({
|
|
55
68
|
...prev,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../../src/stories/components/table.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../src/stories/components/table.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Option } from '../../types';
|
|
2
|
+
export type MultiSelectProps = {
|
|
3
|
+
options: Option[];
|
|
4
|
+
placeholder: string;
|
|
5
|
+
label: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
error?: string;
|
|
8
|
+
isLoading?: boolean;
|
|
9
|
+
value: Option[] | null;
|
|
10
|
+
onChange: (option: Option[] | null) => void;
|
|
11
|
+
};
|
|
12
|
+
export declare function MultiSelect(props: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import { Option } from '../../types';
|
|
2
|
-
type
|
|
2
|
+
export type SingleSelectProps = {
|
|
3
3
|
options: Option[];
|
|
4
4
|
placeholder: string;
|
|
5
5
|
label: string;
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
error?: string;
|
|
8
8
|
isLoading?: boolean;
|
|
9
|
-
};
|
|
10
|
-
type SingleSelectProps = BaseSelectProps & {
|
|
11
|
-
isMulti?: false;
|
|
12
9
|
value: Option | null;
|
|
13
10
|
onChange: (option: Option | null) => void;
|
|
14
11
|
};
|
|
15
|
-
|
|
16
|
-
isMulti: true;
|
|
17
|
-
value: Option[] | null;
|
|
18
|
-
onChange: (option: Option[] | null) => void;
|
|
19
|
-
};
|
|
20
|
-
export type SelectProps = SingleSelectProps | MultiSelectProps;
|
|
21
|
-
export declare function Select(props: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
-
export {};
|
|
12
|
+
export declare function Select(props: SingleSelectProps): import("react/jsx-runtime").JSX.Element;
|