karsten-design-system 1.1.59 → 1.1.60
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 +1822 -38
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/dist/.storybook/index.css.js +0 -7
- package/dist/.storybook/index.css.js.map +0 -1
- package/dist/_virtual/jsx-runtime.js +0 -6
- package/dist/_virtual/jsx-runtime.js.map +0 -1
- package/dist/_virtual/jsx-runtime2.js +0 -4
- package/dist/_virtual/jsx-runtime2.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.js +0 -4
- package/dist/_virtual/react-jsx-runtime.production.js.map +0 -1
- package/dist/assets/icons/error.js +0 -8
- package/dist/assets/icons/error.js.map +0 -1
- package/dist/assets/icons/filter.js +0 -8
- package/dist/assets/icons/filter.js.map +0 -1
- package/dist/assets/icons/info.js +0 -8
- package/dist/assets/icons/info.js.map +0 -1
- package/dist/assets/icons/success.js +0 -8
- package/dist/assets/icons/success.js.map +0 -1
- package/dist/assets/icons/text.js +0 -8
- package/dist/assets/icons/text.js.map +0 -1
- package/dist/assets/logoSmall.js +0 -8
- package/dist/assets/logoSmall.js.map +0 -1
- package/dist/components/floating-label/index.js +0 -14
- package/dist/components/floating-label/index.js.map +0 -1
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +0 -11
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +0 -1
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +0 -65
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +0 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +0 -60
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +0 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +0 -23
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +0 -1
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js +0 -104
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js.map +0 -1
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js +0 -42
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js.map +0 -1
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js +0 -25
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js.map +0 -1
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/localize.js +0 -180
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/localize.js.map +0 -1
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/match.js +0 -137
- package/dist/node_modules/date-fns/locale/pt-BR/_lib/match.js.map +0 -1
- package/dist/node_modules/date-fns/locale/pt-BR.js +0 -29
- package/dist/node_modules/date-fns/locale/pt-BR.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -45
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.js +0 -18
- package/dist/node_modules/react/jsx-runtime.js.map +0 -1
- package/dist/node_modules/style-inject/dist/style-inject.es.js +0 -29
- package/dist/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
- package/dist/stories/components/accordion.js +0 -30
- package/dist/stories/components/accordion.js.map +0 -1
- package/dist/stories/components/autoComplete.js +0 -30
- package/dist/stories/components/autoComplete.js.map +0 -1
- package/dist/stories/components/basicHeader.js +0 -9
- package/dist/stories/components/basicHeader.js.map +0 -1
- package/dist/stories/components/breadcrumb.js +0 -10
- package/dist/stories/components/breadcrumb.js.map +0 -1
- package/dist/stories/components/button.js +0 -19
- package/dist/stories/components/button.js.map +0 -1
- package/dist/stories/components/calendarInput.js +0 -99
- package/dist/stories/components/calendarInput.js.map +0 -1
- package/dist/stories/components/card.js +0 -9
- package/dist/stories/components/card.js.map +0 -1
- package/dist/stories/components/cardButton.js +0 -11
- package/dist/stories/components/cardButton.js.map +0 -1
- package/dist/stories/components/cardIconsButton.js +0 -11
- package/dist/stories/components/cardIconsButton.js.map +0 -1
- package/dist/stories/components/chart.js +0 -9
- package/dist/stories/components/chart.js.map +0 -1
- package/dist/stories/components/dialog.js +0 -10
- package/dist/stories/components/dialog.js.map +0 -1
- package/dist/stories/components/divider.js +0 -9
- package/dist/stories/components/divider.js.map +0 -1
- package/dist/stories/components/emptyContent.js +0 -8
- package/dist/stories/components/emptyContent.js.map +0 -1
- package/dist/stories/components/expandablePanel.js +0 -10
- package/dist/stories/components/expandablePanel.js.map +0 -1
- package/dist/stories/components/fileUpload.js +0 -96
- package/dist/stories/components/fileUpload.js.map +0 -1
- package/dist/stories/components/filterButton.js +0 -33
- package/dist/stories/components/filterButton.js.map +0 -1
- package/dist/stories/components/header.js +0 -37
- package/dist/stories/components/header.js.map +0 -1
- package/dist/stories/components/iconButton.js +0 -14
- package/dist/stories/components/iconButton.js.map +0 -1
- package/dist/stories/components/infoCard.js +0 -9
- package/dist/stories/components/infoCard.js.map +0 -1
- package/dist/stories/components/input.js +0 -60
- package/dist/stories/components/input.js.map +0 -1
- package/dist/stories/components/inputSwitch.js +0 -14
- package/dist/stories/components/inputSwitch.js.map +0 -1
- package/dist/stories/components/inputTextArea.js +0 -20
- package/dist/stories/components/inputTextArea.js.map +0 -1
- package/dist/stories/components/internalMenu.js +0 -30
- package/dist/stories/components/internalMenu.js.map +0 -1
- package/dist/stories/components/link.js +0 -8
- package/dist/stories/components/link.js.map +0 -1
- package/dist/stories/components/megaMenu.js +0 -13
- package/dist/stories/components/megaMenu.js.map +0 -1
- package/dist/stories/components/modal.js +0 -38
- package/dist/stories/components/modal.js.map +0 -1
- package/dist/stories/components/multiselect.js +0 -125
- package/dist/stories/components/multiselect.js.map +0 -1
- package/dist/stories/components/notification.js +0 -16
- package/dist/stories/components/notification.js.map +0 -1
- package/dist/stories/components/notificationItem.js +0 -16
- package/dist/stories/components/notificationItem.js.map +0 -1
- package/dist/stories/components/paginator.js +0 -28
- package/dist/stories/components/paginator.js.map +0 -1
- package/dist/stories/components/radioButton.js +0 -17
- package/dist/stories/components/radioButton.js.map +0 -1
- package/dist/stories/components/select.js +0 -98
- package/dist/stories/components/select.js.map +0 -1
- package/dist/stories/components/sidebar.js +0 -17
- package/dist/stories/components/sidebar.js.map +0 -1
- package/dist/stories/components/skeleton.js +0 -9
- package/dist/stories/components/skeleton.js.map +0 -1
- package/dist/stories/components/spinner.js +0 -18
- package/dist/stories/components/spinner.js.map +0 -1
- package/dist/stories/components/table.js +0 -167
- package/dist/stories/components/table.js.map +0 -1
- package/dist/stories/components/tagStatus.js +0 -33
- package/dist/stories/components/tagStatus.js.map +0 -1
- package/dist/stories/components/toast.js +0 -18
- package/dist/stories/components/toast.js.map +0 -1
- package/dist/utils/masks/index.js +0 -90
- package/dist/utils/masks/index.js.map +0 -1
- package/dist/utils/nestedValue.js +0 -9
- package/dist/utils/nestedValue.js.map +0 -1
- package/dist/utils/sortData.js +0 -48
- package/dist/utils/sortData.js.map +0 -1
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { IconField } from 'primereact/iconfield';
|
|
4
|
-
import { InputIcon } from 'primereact/inputicon';
|
|
5
|
-
import { InputText } from 'primereact/inputtext';
|
|
6
|
-
import { useState, useRef, useEffect } from 'react';
|
|
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, isReadOnly = true, ariaLabel = 'Selecione uma ou mais opções', } = props;
|
|
11
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
12
|
-
const [visibleText, setVisibleText] = useState('');
|
|
13
|
-
const [searchText, setSearchText] = useState('');
|
|
14
|
-
const [highlightedIndex, setHighlightedIndex] = useState(-1);
|
|
15
|
-
const containerRef = useRef(null);
|
|
16
|
-
const normalize = (str) => str
|
|
17
|
-
.normalize('NFD')
|
|
18
|
-
.replace(/[\u0300-\u036f]/g, '')
|
|
19
|
-
.toLowerCase();
|
|
20
|
-
const filteredOptions = options.filter((option) => normalize(option.label).includes(normalize(searchText)));
|
|
21
|
-
const toggleDropdown = () => {
|
|
22
|
-
if (!disabled && !isLoading) {
|
|
23
|
-
const newState = !isOpen;
|
|
24
|
-
setIsOpen(newState);
|
|
25
|
-
if (!newState) {
|
|
26
|
-
setSearchText('');
|
|
27
|
-
setHighlightedIndex(-1);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
const handleSelect = (option) => {
|
|
32
|
-
const currentValues = Array.isArray(props.value) ? props.value : [];
|
|
33
|
-
const alreadySelected = currentValues.some((v) => v.value === option.value);
|
|
34
|
-
const newValues = alreadySelected
|
|
35
|
-
? currentValues.filter((v) => v.value !== option.value)
|
|
36
|
-
: [...currentValues, option];
|
|
37
|
-
props.onChange(newValues.length > 0 ? newValues : null);
|
|
38
|
-
setSearchText('');
|
|
39
|
-
const newFiltered = options.filter((opt) => normalize(opt.label).includes(normalize('')));
|
|
40
|
-
const newIndex = newFiltered.findIndex((o) => o.value === option.value);
|
|
41
|
-
setHighlightedIndex(newIndex);
|
|
42
|
-
};
|
|
43
|
-
const hasError = !!error && !disabled;
|
|
44
|
-
const isInputDisabled = disabled || isLoading;
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
const handleClickOutside = (event) => {
|
|
47
|
-
if (containerRef.current &&
|
|
48
|
-
!containerRef.current.contains(event.target)) {
|
|
49
|
-
setIsOpen(false);
|
|
50
|
-
setSearchText('');
|
|
51
|
-
setHighlightedIndex(-1);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
55
|
-
return () => {
|
|
56
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
57
|
-
};
|
|
58
|
-
}, []);
|
|
59
|
-
const selectedText = () => {
|
|
60
|
-
const selected = Array.isArray(props.value) ? props.value : [];
|
|
61
|
-
if (selected.length === 0)
|
|
62
|
-
return '';
|
|
63
|
-
if (selected.length === 1)
|
|
64
|
-
return selected[0].label;
|
|
65
|
-
return `${selected.length} itens selecionados`;
|
|
66
|
-
};
|
|
67
|
-
useEffect(() => {
|
|
68
|
-
const selected = Array.isArray(props.value) ? props.value : [];
|
|
69
|
-
if (selected.length === 0) {
|
|
70
|
-
setVisibleText('');
|
|
71
|
-
}
|
|
72
|
-
else if (selected.length === 1) {
|
|
73
|
-
setVisibleText(selected[0].label);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
const count = selected.length;
|
|
77
|
-
setVisibleText(`${count} itens selecionados`);
|
|
78
|
-
}
|
|
79
|
-
}, [props.value]);
|
|
80
|
-
return (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: 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: selectedText(), label: label, disabled: isInputDisabled, error: error }), jsxRuntimeExports.jsxs(IconField, { className: "w-full", children: [jsxRuntimeExports.jsx(InputText, { placeholder: placeholder, type: "text", value: isLoading
|
|
81
|
-
? 'Carregando...'
|
|
82
|
-
: isOpen && !isReadOnly
|
|
83
|
-
? searchText
|
|
84
|
-
: visibleText, onChange: (e) => {
|
|
85
|
-
setSearchText(e.target.value);
|
|
86
|
-
if (!isOpen)
|
|
87
|
-
setIsOpen(true);
|
|
88
|
-
setHighlightedIndex(-1);
|
|
89
|
-
}, onKeyDown: (e) => {
|
|
90
|
-
if (!isOpen)
|
|
91
|
-
return;
|
|
92
|
-
if (e.key === 'ArrowDown') {
|
|
93
|
-
e.preventDefault();
|
|
94
|
-
setHighlightedIndex((prev) => prev < filteredOptions.length - 1 ? prev + 1 : 0);
|
|
95
|
-
}
|
|
96
|
-
if (e.key === 'ArrowUp') {
|
|
97
|
-
e.preventDefault();
|
|
98
|
-
setHighlightedIndex((prev) => prev > 0 ? prev - 1 : filteredOptions.length - 1);
|
|
99
|
-
}
|
|
100
|
-
if (e.key === 'Enter') {
|
|
101
|
-
e.preventDefault();
|
|
102
|
-
if (highlightedIndex >= 0 &&
|
|
103
|
-
highlightedIndex < filteredOptions.length) {
|
|
104
|
-
handleSelect(filteredOptions[highlightedIndex]);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (e.key === 'Escape') {
|
|
108
|
-
e.preventDefault();
|
|
109
|
-
setIsOpen(false);
|
|
110
|
-
setSearchText('');
|
|
111
|
-
setHighlightedIndex(-1);
|
|
112
|
-
}
|
|
113
|
-
}, onClick: toggleDropdown, className: clsx('focus:shadow-none text-base w-100 font-roboto border !p-2 rounded-md', hasError
|
|
114
|
-
? 'border-redError placeholder:text-redError'
|
|
115
|
-
: 'border-gray focus:border-primary', isInputDisabled && 'border-stoneDark text-disabled', error && 'border-redError text-redError', !error && 'border-gray placeholder:text-gray', isLoading && 'text-gray', 'truncate'), invalid: hasError, readOnly: !isOpen || isReadOnly, style: { height: '42px', fontSize: '16px' }, disabled: isInputDisabled, "aria-label": ariaLabel }), jsxRuntimeExports.jsx(InputIcon, { className: clsx(isLoading
|
|
116
|
-
? 'pi pi-spinner pi-spin'
|
|
117
|
-
: isOpen
|
|
118
|
-
? 'pi pi-angle-up'
|
|
119
|
-
: '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 -bottom-1 translate-y-full', error ? 'border-redError' : 'border-gray'), children: jsxRuntimeExports.jsx("div", { children: jsxRuntimeExports.jsx("ul", { className: "max-h-60 overflow-y-auto", children: filteredOptions.map((option, index) => (jsxRuntimeExports.jsxs("li", { onClick: () => handleSelect(option), className: clsx('p-2 flex justify-between items-center cursor-pointer', 'hover:bg-stoneBackground hover:font-bold', index === highlightedIndex &&
|
|
120
|
-
'bg-stoneBackground font-bold'), title: option.label, children: [jsxRuntimeExports.jsx("span", { className: "truncate max-w-[calc(100%-20px)]", children: option.label }), jsxRuntimeExports.jsx("input", { type: 'checkbox', checked: Array.isArray(props.value) &&
|
|
121
|
-
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 }))] }) }));
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
export { MultiSelect };
|
|
125
|
-
//# sourceMappingURL=multiselect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multiselect.js","sources":["../../../../src/stories/components/multiselect.tsx"],"sourcesContent":[null],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import { Divider } from 'primereact/divider';
|
|
3
|
-
import { Sidebar } from 'primereact/sidebar';
|
|
4
|
-
import FilterIcon from '../../assets/icons/filter.js';
|
|
5
|
-
import { Button } from './button.js';
|
|
6
|
-
import { FilterButton } from './filterButton.js';
|
|
7
|
-
import { Input } from './input.js';
|
|
8
|
-
import NotificationItem from './notificationItem.js';
|
|
9
|
-
|
|
10
|
-
function Notification({ onClose, onReadAll, onDeleteNotificationbyId, onClickNotification, notifications, setFilter, filter, setInputValue, inputValue, filterOptions, }) {
|
|
11
|
-
const customContent = (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("div", { className: "flex justify-between items-center px-4 py-3 border-b border-[#F1F1F4]", children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx("i", { className: "pi pi-bell text-backgroundDark" }), jsxRuntimeExports.jsx("h2", { className: "font-roboto text-base text-backgroundDark font-bold", children: "Notifica\u00E7\u00F5es" })] }), jsxRuntimeExports.jsx("div", { className: "flex items-center gap-2", children: jsxRuntimeExports.jsx(Button, { label: "Marcar todas como lidas", variant: "secondaryOutline", onClick: onReadAll, className: "px-2 py-1 text-xs h-7" }) })] }), jsxRuntimeExports.jsxs("div", { className: "px-4 py-2 flex flex-row gap-4", children: [jsxRuntimeExports.jsx(Input, { value: inputValue, onChange: setInputValue, label: "Pesquisar", placeholder: "Pesquisar", icon: "pi-search", iconColor: "gray" }), jsxRuntimeExports.jsx(FilterButton, { variant: "primary", label: "Filter", icon: jsxRuntimeExports.jsx(FilterIcon, { color: "#FFFFFF" }), option: filter, setOption: (option) => setFilter(option), filterOptions: filterOptions })] }), jsxRuntimeExports.jsx("div", { className: "text-center pt-4", children: notifications.length > 0 ? (jsxRuntimeExports.jsx("div", { className: "w-100 h-[calc(100vh_-114.8px)] overflow-y-auto [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-track]:rounded-r-md [&::-webkit-scrollbar-thumb]:rounded-md [&::-webkit-scrollbar-track]:bg-stone [&::-webkit-scrollbar-thumb]:bg-stoneDark", children: notifications.map((notification) => (jsxRuntimeExports.jsxs("div", { className: "w-100 hover:bg-stoneBackground", children: [jsxRuntimeExports.jsx(NotificationItem, { notification: notification, onDelete: onDeleteNotificationbyId, onClick: onClickNotification }), jsxRuntimeExports.jsx(Divider, {})] }, notification.id))) })) : (jsxRuntimeExports.jsx("p", { children: " Sem notifica\u00E7\u00F5es" })) })] }));
|
|
12
|
-
return (jsxRuntimeExports.jsx(Sidebar, { visible: true, position: "right", onHide: onClose, className: "w-10/12 md:w-1/2 lg:w-1/3", content: customContent }));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { Notification };
|
|
16
|
-
//# sourceMappingURL=notification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notification.js","sources":["../../../../src/stories/components/notification.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AAuBM,SAAU,YAAY,CAAC,EAC3B,OAAO,EACP,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,GACK,EAAA;IAClB,MAAM,aAAa,IACjBA,sBAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACEA,gCAAK,SAAS,EAAC,uEAAuE,EACpF,QAAA,EAAA,CAAAA,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,aACtCC,qBAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,gCAAgC,EAAA,CAAG,EAChDA,qBAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,qDAAqD,EAE9D,QAAA,EAAA,wBAAA,EAAA,CAAA,CAAA,EAAA,CACD,EAENA,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yBAAyB,EAAA,QAAA,EACtCA,qBAAC,CAAA,MAAM,EACL,EAAA,KAAK,EAAC,yBAAyB,EAC/B,OAAO,EAAC,kBAAkB,EAC1B,OAAO,EAAE,SAAS,EAClB,SAAS,EAAC,uBAAuB,EACjC,CAAA,EAAA,CACE,IACF,EAEND,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,aAC5CC,qBAAC,CAAA,KAAK,IACJ,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAC,WAAW,EACjB,WAAW,EAAC,WAAW,EACvB,IAAI,EAAC,WAAW,EAChB,SAAS,EAAC,MAAM,EAChB,CAAA,EACFA,sBAAC,YAAY,EAAA,EACX,OAAO,EAAC,SAAS,EACjB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAEA,sBAAC,UAAU,EAAA,EAAC,KAAK,EAAC,SAAS,GAAG,EACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,EACxC,aAAa,EAAE,aAAa,EAAA,CAC5B,IACE,EACNA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAC9B,QAAA,EAAA,aAAa,CAAC,MAAM,GAAG,CAAC,IACvBA,+BAAK,SAAS,EAAC,6OAA6O,EAAA,QAAA,EACzP,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,MAC9BD,sBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAG1CC,sBAAC,gBAAgB,EAAA,EACf,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,mBAAmB,EAC5B,CAAA,EACFA,sBAAC,OAAO,EAAA,EAAA,CAAG,KAPN,YAAY,CAAC,EAAE,CAQhB,CACP,CAAC,GACE,KAENA,uEAAwB,CACzB,EAAA,CACG,CACF,EAAA,CAAA,CACP;IAED,QACEA,sBAAC,OAAO,EAAA,EACN,OAAO,EACP,IAAA,EAAA,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAE,OAAO,EACf,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,aAAa,EACtB,CAAA;AAEN;;;;"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { format } from 'date-fns';
|
|
4
|
-
import { ptBR } from '../../node_modules/date-fns/locale/pt-BR.js';
|
|
5
|
-
|
|
6
|
-
const formatDate = (date) => {
|
|
7
|
-
return format(date, "EEEE',' dd 'de' MMM '-' HH:mm", {
|
|
8
|
-
locale: ptBR,
|
|
9
|
-
}).replace('.', '');
|
|
10
|
-
};
|
|
11
|
-
function NotificationItem({ notification, onDelete, onClick, }) {
|
|
12
|
-
return (jsxRuntimeExports.jsxs("div", { className: "flex flex-row items-start gap-2 px-4 hover:text-primary cursor-pointer rounded", children: [jsxRuntimeExports.jsx("i", { className: "pi pi-circle-fill text-xs pt-1.5", style: { color: notification.active ? '#0AA836' : '#A0A4B3' } }), jsxRuntimeExports.jsxs("div", { className: "flex-1 text-left", onClick: () => onClick(notification.id), children: [jsxRuntimeExports.jsx("h2", { className: clsx('text-base font-bold', !notification.active && 'text-gray'), children: notification.title }), jsxRuntimeExports.jsx("p", { className: clsx('text-sm py-1 text-gray'), children: notification.description }), jsxRuntimeExports.jsx("p", { className: clsx('text-sm font-bold', !notification.active && 'text-gray'), children: formatDate(notification.date) })] }), jsxRuntimeExports.jsx("div", { className: "min-w-6 cursor-pointer", onClick: () => onDelete(notification.id), children: jsxRuntimeExports.jsx("i", { className: "pi pi-trash text-[#878787] hover:text-backgroundDark" }) })] }, notification.id));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { NotificationItem as default };
|
|
16
|
-
//# sourceMappingURL=notificationItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notificationItem.js","sources":["../../../../src/stories/components/notificationItem.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;AAKA,MAAM,UAAU,GAAG,CAAC,IAAU,KAAI;AAChC,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE,+BAA+B,EAAE;AACnD,QAAA,MAAM,EAAE,IAAI;AACb,KAAA,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACrB,CAAC;AAQa,SAAU,gBAAgB,CAAC,EACvC,YAAY,EACZ,QAAQ,EACR,OAAO,GACe,EAAA;AACtB,IAAA,QACEA,sBAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAC,gFAAgF,EAAA,QAAA,EAAA,CAE1FC,qBACE,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,EAAA,CAC7D,EACFD,sBACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,aAEvCC,qBACE,CAAA,IAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CACb,qBAAqB,EACrB,CAAC,YAAY,CAAC,MAAM,IAAI,WAAW,CACpC,EAEA,QAAA,EAAA,YAAY,CAAC,KAAK,EAAA,CAChB,EACLA,qBAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,EACzC,QAAA,EAAA,YAAY,CAAC,WAAW,EACvB,CAAA,EACJA,6BACE,SAAS,EAAE,IAAI,CACb,mBAAmB,EACnB,CAAC,YAAY,CAAC,MAAM,IAAI,WAAW,CACpC,EAAA,QAAA,EAEA,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAA,CAC5B,CACA,EAAA,CAAA,EACNA,qBACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wBAAwB,EAClC,OAAO,EAAE,MAAM,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA,QAAA,EAExCA,qBAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,sDAAsD,EAAA,CAAG,EAClE,CAAA,CAAA,EAAA,EApCD,YAAY,CAAC,EAAE,CAqChB;AAEV;;;;"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import { Paginator as Paginator$1 } from 'primereact/paginator';
|
|
3
|
-
import { classNames } from 'primereact/utils';
|
|
4
|
-
import require$$0 from 'react';
|
|
5
|
-
|
|
6
|
-
function Paginator(props) {
|
|
7
|
-
const template = {
|
|
8
|
-
layout: 'PrevPageLink PageLinks NextPageLink',
|
|
9
|
-
PrevPageLink: (options) => {
|
|
10
|
-
return (jsxRuntimeExports.jsx("button", { className: classNames(options.className, '!w-8 !h-8 min-w-0 mr-2 font-roboto'), onClick: options.onClick, disabled: options.disabled, "aria-label": "Pr\u00F3xima p\u00E1gina", children: jsxRuntimeExports.jsx("span", { className: "pi pi-angle-left" }) }));
|
|
11
|
-
},
|
|
12
|
-
NextPageLink: (options) => {
|
|
13
|
-
return (jsxRuntimeExports.jsx("button", { className: classNames(options.className, '!w-8 !h-8 min-w-0 ml-2 font-roboto'), onClick: options.onClick, disabled: options.disabled, "aria-label": "P\u00E1gina anterior", children: jsxRuntimeExports.jsx("span", { className: "pi pi-angle-right" }) }));
|
|
14
|
-
},
|
|
15
|
-
PageLinks: (options) => {
|
|
16
|
-
return require$$0.cloneElement(options.element, {
|
|
17
|
-
className: classNames(options.element.props.className, '!rounded-full !w-8 !h-8 min-w-0 font-roboto', {
|
|
18
|
-
'bg-primary text-white': options.page === options.currentPage,
|
|
19
|
-
'hover:bg-gray-100': options.page !== options.currentPage,
|
|
20
|
-
}),
|
|
21
|
-
});
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
return jsxRuntimeExports.jsx(Paginator$1, { ...props, template: template });
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { Paginator };
|
|
28
|
-
//# sourceMappingURL=paginator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paginator.js","sources":["../../../../src/stories/components/paginator.tsx"],"sourcesContent":[null],"names":["_jsx","React","PrimePaginator"],"mappings":";;;;;AAUM,SAAU,SAAS,CAAC,KAAqB,EAAA;AAC7C,IAAA,MAAM,QAAQ,GAAG;AACf,QAAA,MAAM,EAAE,qCAAqC;AAC7C,QAAA,YAAY,EAAE,CAAC,OAAqC,KAAI;AACtD,YAAA,QACEA,qBAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,OAAO,CAAC,SAAS,EACjB,oCAAoC,CACrC,EACD,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EACf,YAAA,EAAA,0BAAgB,EAE3B,QAAA,EAAAA,qBAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAQ,CAAA,EAAA,CACnC;SAEZ;AACD,QAAA,YAAY,EAAE,CAAC,OAAqC,KAAI;AACtD,YAAA,QACEA,qBAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,OAAO,CAAC,SAAS,EACjB,oCAAoC,CACrC,EACD,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EACf,YAAA,EAAA,sBAAiB,EAE5B,QAAA,EAAAA,qBAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,mBAAmB,EAAQ,CAAA,EAAA,CACpC;SAEZ;AACD,QAAA,SAAS,EAAE,CAAC,OAAkC,KAAI;AAChD,YAAA,OAAOC,UAAK,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;AACzC,gBAAA,SAAS,EAAE,UAAU,CACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAC/B,6CAA6C,EAC7C;AACE,oBAAA,uBAAuB,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW;AAC7D,oBAAA,mBAAmB,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW;iBAC1D,CACF;AACF,aAAA,CAAC;SACH;KACF;IAED,OAAOD,qBAAA,CAACE,WAAc,EAAK,EAAA,GAAA,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAA,CAAI;AAC1D;;;;"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
|
|
4
|
-
const variants = {
|
|
5
|
-
white: 'ring-offset-background',
|
|
6
|
-
secondary: 'ring-offset-secondary',
|
|
7
|
-
};
|
|
8
|
-
function RadioButton({ label, value, checked, onChange, disabled = false, error = false, variant = 'secondary', ariaLabel = 'Radio button', }) {
|
|
9
|
-
return (jsxRuntimeExports.jsxs("label", { className: clsx('flex items-center gap-2 cursor-pointer font-roboto text-primary', disabled && 'text-disabled', error && !checked && 'text-redError'), children: [jsxRuntimeExports.jsx("input", { type: "radio", value: value, checked: checked, onChange: onChange, disabled: disabled, className: clsx('font-roboto appearance-none w-2 h-2 border-0 rounded-full shadow-none ring-1 ring-offset-2 checked:bg-primary transition-colors duration-200', disabled
|
|
10
|
-
? 'ring-stone'
|
|
11
|
-
: error && !checked
|
|
12
|
-
? 'ring-redError'
|
|
13
|
-
: 'ring-gray', variants[variant]), "aria-label": ariaLabel }), label] }));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { RadioButton };
|
|
17
|
-
//# sourceMappingURL=radioButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radioButton.js","sources":["../../../../src/stories/components/radioButton.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;AAEA,MAAM,QAAQ,GAAG;AACf,IAAA,KAAK,EAAE,wBAAwB;AAC/B,IAAA,SAAS,EAAE,uBAAuB;CACnC;AAaK,SAAU,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,WAAW,EACrB,SAAS,GAAG,cAAc,GACT,EAAA;IACjB,QACEA,kCACE,SAAS,EAAE,IAAI,CACb,iEAAiE,EACjE,QAAQ,IAAI,eAAe,EAC3B,KAAK,IAAI,CAAC,OAAO,IAAI,eAAe,CACrC,EAED,QAAA,EAAA,CAAAC,qBAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,IAAI,CACb,8IAA8I,EAC9I;AACE,sBAAE;AACF,sBAAE,KAAK,IAAI,CAAC;AACV,0BAAE;AACF,0BAAE,WAAW,EACjB,QAAQ,CAAC,OAAO,CAAC,CAClB,EAAA,YAAA,EACW,SAAS,EACrB,CAAA,EACD,KAAK,CAAA,EAAA,CACA;AAEZ;;;;"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { IconField } from 'primereact/iconfield';
|
|
4
|
-
import { InputIcon } from 'primereact/inputicon';
|
|
5
|
-
import { InputText } from 'primereact/inputtext';
|
|
6
|
-
import { useState, useRef, useEffect } from 'react';
|
|
7
|
-
import FloatingLabel from '../../components/floating-label/index.js';
|
|
8
|
-
|
|
9
|
-
function Select(props) {
|
|
10
|
-
const { options, placeholder = 'Selecione uma opção', label = 'Opção', disabled = false, error, isLoading = false, isReadOnly = true, ariaLabel = 'Selecione uma opção', } = props;
|
|
11
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
12
|
-
const [searchText, setSearchText] = useState('');
|
|
13
|
-
const [highlightedIndex, setHighlightedIndex] = useState(-1);
|
|
14
|
-
const containerRef = useRef(null);
|
|
15
|
-
const normalize = (str) => str
|
|
16
|
-
.normalize('NFD')
|
|
17
|
-
.replace(/[\u0300-\u036f]/g, '')
|
|
18
|
-
.toLowerCase();
|
|
19
|
-
const filteredOptions = options.filter((option) => normalize(option.label).includes(normalize(searchText)));
|
|
20
|
-
const toggleDropdown = () => {
|
|
21
|
-
if (!disabled && !isLoading) {
|
|
22
|
-
const newState = !isOpen;
|
|
23
|
-
setIsOpen(newState);
|
|
24
|
-
setSearchText('');
|
|
25
|
-
setHighlightedIndex(-1);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const handleSelect = (option) => {
|
|
29
|
-
if (props.value?.value === option.value) {
|
|
30
|
-
props.onChange(null);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
props.onChange(option);
|
|
34
|
-
}
|
|
35
|
-
setSearchText('');
|
|
36
|
-
setIsOpen(false);
|
|
37
|
-
setHighlightedIndex(-1);
|
|
38
|
-
};
|
|
39
|
-
const hasError = !!error && !disabled;
|
|
40
|
-
const isInputDisabled = disabled || isLoading;
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
const handleClickOutside = (event) => {
|
|
43
|
-
if (containerRef.current &&
|
|
44
|
-
!containerRef.current.contains(event.target)) {
|
|
45
|
-
setIsOpen(false);
|
|
46
|
-
setSearchText('');
|
|
47
|
-
setHighlightedIndex(-1);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
51
|
-
return () => {
|
|
52
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
53
|
-
};
|
|
54
|
-
}, []);
|
|
55
|
-
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
|
-
? 'Carregando...'
|
|
57
|
-
: isOpen
|
|
58
|
-
? searchText
|
|
59
|
-
: (props.value?.label ?? ''), onClick: toggleDropdown, onChange: (e) => {
|
|
60
|
-
if (isOpen) {
|
|
61
|
-
setSearchText(e.target.value);
|
|
62
|
-
setHighlightedIndex(0);
|
|
63
|
-
}
|
|
64
|
-
}, onKeyDown: (e) => {
|
|
65
|
-
if (!isOpen)
|
|
66
|
-
return;
|
|
67
|
-
if (e.key === 'ArrowDown') {
|
|
68
|
-
e.preventDefault();
|
|
69
|
-
setHighlightedIndex((prev) => prev < filteredOptions.length - 1 ? prev + 1 : 0);
|
|
70
|
-
}
|
|
71
|
-
if (e.key === 'ArrowUp') {
|
|
72
|
-
e.preventDefault();
|
|
73
|
-
setHighlightedIndex((prev) => prev > 0 ? prev - 1 : filteredOptions.length - 1);
|
|
74
|
-
}
|
|
75
|
-
if (e.key === 'Enter') {
|
|
76
|
-
e.preventDefault();
|
|
77
|
-
if (highlightedIndex >= 0 &&
|
|
78
|
-
highlightedIndex < filteredOptions.length) {
|
|
79
|
-
handleSelect(filteredOptions[highlightedIndex]);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (e.key === 'Escape') {
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
setIsOpen(false);
|
|
85
|
-
setSearchText('');
|
|
86
|
-
setHighlightedIndex(-1);
|
|
87
|
-
}
|
|
88
|
-
}, className: clsx('focus:shadow-none text-base w-100 font-roboto border !p-2 rounded-md', hasError
|
|
89
|
-
? 'border-redError placeholder:text-redError'
|
|
90
|
-
: 'border-gray focus:border-primary', isInputDisabled && 'border-stoneDark text-disabled', error && 'border-redError text-redError', !error && 'border-gray placeholder:text-gray', isLoading && 'text-gray', 'truncate'), invalid: hasError, readOnly: !isOpen || isReadOnly, style: { height: '42px', fontSize: '16px' }, disabled: isInputDisabled, "aria-label": ariaLabel }), jsxRuntimeExports.jsx(InputIcon, { className: clsx(isLoading
|
|
91
|
-
? 'pi pi-spinner pi-spin'
|
|
92
|
-
: isOpen
|
|
93
|
-
? 'pi pi-angle-up'
|
|
94
|
-
: '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", { className: "max-h-60 overflow-y-auto", children: filteredOptions.map((option, index) => (jsxRuntimeExports.jsxs("li", { onClick: () => handleSelect(option), className: clsx('p-2 flex justify-between items-center cursor-pointer', 'hover:bg-stoneBackground hover:font-bold', index === highlightedIndex && 'bg-stoneBackground font-bold'), children: [jsxRuntimeExports.jsx("span", { className: "truncate max-w-[calc(100%-20px)]", 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 })] }));
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export { Select };
|
|
98
|
-
//# sourceMappingURL=select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../src/stories/components/select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import { Link } from 'react-router-dom';
|
|
3
|
-
|
|
4
|
-
function Sidebar({ item, onClose, topItem }) {
|
|
5
|
-
return (jsxRuntimeExports.jsxs("div", { className: "relative w-100", children: [jsxRuntimeExports.jsx("div", { className: "fixed bottom-0 w-100 h-[calc(100vh_-_64px)] bg-backgroundDark/20 z-50", onClick: onClose }), jsxRuntimeExports.jsxs("div", { className: "fixed h-[calc(100vh_-_64px)] bottom-0 w-72 bg-background z-50", children: [jsxRuntimeExports.jsx("div", { className: "cursor-pointer flex flex-row gap-3 items-center border-b pl-6 px-2 py-2 border-b-stone hover:bg-stoneBackground hover:font-bold", children: jsxRuntimeExports.jsx(Link, { to: "/", className: "font-roboto text-base text-backgroundDark hover:font-bold", onClick: onClose, "aria-label": "Ir para o inicio", children: "In\u00EDcio" }, "home-id") }, 'home-div'), topItem &&
|
|
6
|
-
topItem.map((item) => (jsxRuntimeExports.jsxs("div", { className: "cursor-pointer flex flex-row gap-3 items-center border-b pl-6 px-2 py-2 border-b-stone hover:bg-stoneBackground hover:font-bold", children: [item?.isWindowOpen && (jsxRuntimeExports.jsx("button", { className: "font-roboto text-base text-backgroundDark hover:font-bold", onClick: () => {
|
|
7
|
-
if (onClose)
|
|
8
|
-
onClose();
|
|
9
|
-
if (typeof window !== 'undefined') {
|
|
10
|
-
window.open(item?.path, '_blank');
|
|
11
|
-
}
|
|
12
|
-
}, "aria-label": `Ir para ${item?.title}`, children: item?.title }, item?.id || item.title)), !item?.isWindowOpen && (jsxRuntimeExports.jsx(Link, { to: item?.path || '', className: "font-roboto text-base text-backgroundDark hover:font-bold", onClick: onClose, "aria-label": `Ir para ${item?.title}`, children: item?.title }, item?.id || item.title))] }, `top-item-${item?.id ?? item.title}`))), jsxRuntimeExports.jsxs("div", { className: "flex flex-row gap-3 items-center pl-6 pt-8 pb-4", children: [jsxRuntimeExports.jsx("i", { className: "pi pi-star !text-backgroundDark !font-bold text-lg" }), jsxRuntimeExports.jsx("p", { className: "text-backgroundDark font-bold text-lg", children: "Favoritos" })] }), jsxRuntimeExports.jsx("div", { className: "overflow-y-auto overflow-x-hidden [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-track]:rounded-r-md [&::-webkit-scrollbar-thumb]:rounded-md [&::-webkit-scrollbar-track]:bg-stone [&::-webkit-scrollbar-thumb]:bg-stoneDark", children: item &&
|
|
13
|
-
item.map((item) => (jsxRuntimeExports.jsx(Link, { className: "flex flex-row items-center pl-6 gap-2 border-b border-b-stone hover:bg-stoneBackground hover:font-bold", to: item.path || '', onClick: onClose, "aria-label": `Ir para ${item.title}`, children: jsxRuntimeExports.jsx("span", { className: "font-roboto text-base py-2 text-backgroundDark hover:font-bold", children: item.title }) }, item.id))) })] }, 'sidebar-div')] }));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { Sidebar };
|
|
17
|
-
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../../src/stories/components/sidebar.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;AAgBM,SAAU,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAgB,EAAA;IAC9D,QACEA,gCAAK,SAAS,EAAC,gBAAgB,EAC7B,QAAA,EAAA,CAAAC,qBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,uEAAuE,EACjF,OAAO,EAAE,OAAO,GAChB,EACFD,sBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,+DAA+D,EAGzE,QAAA,EAAA,CAAAC,qBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,iIAAiI,EAG3I,QAAA,EAAAA,qBAAA,CAAC,IAAI,EAEH,EAAA,EAAE,EAAC,GAAG,EACN,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,OAAO,EACL,YAAA,EAAA,kBAAkB,EAJzB,QAAA,EAAA,aAAA,EAAA,EAAA,SAAS,CAOR,EAVF,EAAA,UAAU,CAWX,EAEL,OAAO;wBACN,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,MACfD,sBACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,iIAAiI,EAG1I,QAAA,EAAA,CAAA,IAAI,EAAE,YAAY,KACjBC,qBAEE,CAAA,QAAA,EAAA,EAAA,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,MAAK;AACZ,wCAAA,IAAI,OAAO;AAAE,4CAAA,OAAO,EAAE;AAEtB,wCAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;4CACjC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;;qCAEpC,EAAA,YAAA,EACW,WAAW,IAAI,EAAE,KAAK,CAAE,CAAA,EAAA,QAAA,EAEnC,IAAI,EAAE,KAAK,EAAA,EAXP,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAYpB,CACV,EACA,CAAC,IAAI,EAAE,YAAY,KAClBA,sBAAC,IAAI,EAAA,EAEH,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EACpB,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,OAAO,EACJ,YAAA,EAAA,CAAA,QAAA,EAAW,IAAI,EAAE,KAAK,CAAA,CAAE,YAEnC,IAAI,EAAE,KAAK,EANP,EAAA,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAOtB,CACR,CA5BI,EAAA,EAAA,CAAA,SAAA,EAAY,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAA,CAAE,CA6BrC,CACP,CAAC,EAEJD,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iDAAiD,aAC9DC,qBAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,oDAAoD,EAAG,CAAA,EACpEA,6BAAG,SAAS,EAAC,uCAAuC,EAAA,QAAA,EAAA,WAAA,EAAA,CAAc,CAC9D,EAAA,CAAA,EAENA,+BAAK,SAAS,EAAC,gOAAgO,EAAA,QAAA,EAC5O,IAAI;4BACH,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,MACZA,qBAAC,CAAA,IAAI,EACH,EAAA,SAAS,EAAC,wGAAwG,EAClH,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,EAEnB,OAAO,EAAE,OAAO,EAAA,YAAA,EACJ,WAAW,IAAI,CAAC,KAAK,CAAA,CAAE,EAEnC,QAAA,EAAAA,qBAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,gEAAgE,EAAA,QAAA,EAC7E,IAAI,CAAC,KAAK,EAAA,CACN,IANF,IAAI,CAAC,EAAE,CAOP,CACR,CAAC,EACA,CAAA,CAAA,EAAA,EAzED,aAAa,CA0Ed,CACF,EAAA,CAAA;AAEV;;;;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import { Skeleton as Skeleton$1 } from 'primereact/skeleton';
|
|
3
|
-
|
|
4
|
-
function Skeleton({ shape = 'rectangle', width = '100%', height = '1rem', borderRadius, animation = 'wave', size, className, }) {
|
|
5
|
-
return (jsxRuntimeExports.jsx("div", { className: className, children: jsxRuntimeExports.jsx(Skeleton$1, { shape: shape, width: width, height: height, borderRadius: borderRadius, animation: animation, size: size, "aria-label": "skeleton" }) }));
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export { Skeleton };
|
|
9
|
-
//# sourceMappingURL=skeleton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.js","sources":["../../../../src/stories/components/skeleton.tsx"],"sourcesContent":[null],"names":["_jsx","PrimeSkeleton"],"mappings":";;;AAEM,SAAU,QAAQ,CAAC,EACvB,KAAK,GAAG,WAAW,EACnB,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,MAAM,EACf,YAAY,EACZ,SAAS,GAAG,MAAM,EAClB,IAAI,EACJ,SAAS,GACK,EAAA;AACd,IAAA,QACEA,qBAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,SAAS,YACvBA,qBAAC,CAAAC,UAAa,EACZ,EAAA,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EAAA,YAAA,EACC,UAAU,EACrB,CAAA,EAAA,CACE;AAEV;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
|
|
4
|
-
const colorVariants = {
|
|
5
|
-
primary: 'border-primary',
|
|
6
|
-
secondary: 'border-secondary',
|
|
7
|
-
};
|
|
8
|
-
const sizeVariants = {
|
|
9
|
-
sm: 'w-4 h-4',
|
|
10
|
-
md: 'w-6 h-6',
|
|
11
|
-
lg: 'w-8 h-8',
|
|
12
|
-
};
|
|
13
|
-
function Spinner({ size = 'md', color = 'primary' }) {
|
|
14
|
-
return (jsxRuntimeExports.jsx("div", { className: clsx('border-2 border-t-transparent animate-spin rounded-full', colorVariants[color], sizeVariants[size]), "aria-label": "loading", role: "status" }));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export { Spinner };
|
|
18
|
-
//# sourceMappingURL=spinner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sources":["../../../../src/stories/components/spinner.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;AAOA,MAAM,aAAa,GAAG;AACpB,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,SAAS,EAAE,kBAAkB;CAC9B;AAED,MAAM,YAAY,GAAG;AACnB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;CACd;AAEK,SAAU,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,SAAS,EAAgB,EAAA;IACtE,QACEA,qBACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CACb,yDAAyD,EACzD,aAAa,CAAC,KAAK,CAAC,EACpB,YAAY,CAAC,IAAI,CAAC,CACnB,EACU,YAAA,EAAA,SAAS,EACpB,IAAI,EAAC,QAAQ,EACR,CAAA;AAEX;;;;"}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { useState, useRef, useEffect } from 'react';
|
|
4
|
-
import { getNestedValue } from '../../utils/nestedValue.js';
|
|
5
|
-
import { sortData } from '../../utils/sortData.js';
|
|
6
|
-
import { Button } from './button.js';
|
|
7
|
-
import { CalendarInput } from './calendarInput.js';
|
|
8
|
-
import { Input } from './input.js';
|
|
9
|
-
import { MultiSelect } from './multiselect.js';
|
|
10
|
-
import { Paginator } from './paginator.js';
|
|
11
|
-
import { Select } from './select.js';
|
|
12
|
-
import { Spinner } from './spinner.js';
|
|
13
|
-
|
|
14
|
-
function parseDateRange(value) {
|
|
15
|
-
try {
|
|
16
|
-
const parsed = JSON.parse(value);
|
|
17
|
-
const start = parsed[0] ? new Date(parsed[0]) : null;
|
|
18
|
-
const end = parsed[1] ? new Date(parsed[1]) : null;
|
|
19
|
-
return [start, end];
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return [null, null];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function Table({ columns, data, totalRecords, actions = [], isOrdered = true, actionsHeaderClassName = '', actionsColumnsClassName = '', rowsPerPage = 10, onPageChange, isPaginated = true, isLoading = false, onFilterChange, onSortChange, }) {
|
|
26
|
-
const [sortDirection, setSortDirection] = useState({});
|
|
27
|
-
const [sortedData, setSortedData] = useState(data);
|
|
28
|
-
const [currentPage, setCurrentPage] = useState(1);
|
|
29
|
-
const [filters, setFilters] = useState({});
|
|
30
|
-
const [openFilter, setOpenFilter] = useState(null);
|
|
31
|
-
const filterModalRef = useRef(null);
|
|
32
|
-
const [filterStatus, setFilterStatus] = useState({});
|
|
33
|
-
const handleSort = (dataIndex) => {
|
|
34
|
-
setSortDirection((prev) => {
|
|
35
|
-
const current = prev[dataIndex];
|
|
36
|
-
let nextDirection;
|
|
37
|
-
if (current === 'ASC')
|
|
38
|
-
nextDirection = 'DESC';
|
|
39
|
-
else if (current === 'DESC')
|
|
40
|
-
nextDirection = null;
|
|
41
|
-
else
|
|
42
|
-
nextDirection = 'ASC';
|
|
43
|
-
const newSortDirection = { [dataIndex]: nextDirection };
|
|
44
|
-
if (nextDirection === null) {
|
|
45
|
-
setSortedData(data);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const sorted = sortData(data, dataIndex, nextDirection);
|
|
49
|
-
setSortedData(sorted);
|
|
50
|
-
}
|
|
51
|
-
if (onSortChange) {
|
|
52
|
-
onSortChange(dataIndex, nextDirection);
|
|
53
|
-
}
|
|
54
|
-
return newSortDirection;
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
setSortedData(data);
|
|
59
|
-
}, [data]);
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
const handleClickOutside = (event) => {
|
|
62
|
-
const target = event.target;
|
|
63
|
-
const isClickInsideFilter = filterModalRef.current && filterModalRef.current.contains(target);
|
|
64
|
-
const isClickInsideCalendar = (target instanceof HTMLElement && target.closest('.p-datepicker')) !==
|
|
65
|
-
null;
|
|
66
|
-
if (!isClickInsideFilter && !isClickInsideCalendar) {
|
|
67
|
-
setOpenFilter(null);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
71
|
-
return () => {
|
|
72
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
73
|
-
};
|
|
74
|
-
}, []);
|
|
75
|
-
const handleFilter = (column) => {
|
|
76
|
-
setOpenFilter(null);
|
|
77
|
-
if (onFilterChange) {
|
|
78
|
-
onFilterChange(filters);
|
|
79
|
-
}
|
|
80
|
-
setFilterStatus((prev) => ({
|
|
81
|
-
...prev,
|
|
82
|
-
[column.dataIndex]: filters[column.dataIndex]
|
|
83
|
-
? 'applied'
|
|
84
|
-
: 'default',
|
|
85
|
-
}));
|
|
86
|
-
};
|
|
87
|
-
const handleClearFilter = (column) => {
|
|
88
|
-
const dataIndex = column.dataIndex;
|
|
89
|
-
const newFilters = {
|
|
90
|
-
...filters,
|
|
91
|
-
[dataIndex]: '',
|
|
92
|
-
};
|
|
93
|
-
setFilters(newFilters);
|
|
94
|
-
setFilterStatus((prev) => ({
|
|
95
|
-
...prev,
|
|
96
|
-
[dataIndex]: 'default',
|
|
97
|
-
}));
|
|
98
|
-
setOpenFilter(null);
|
|
99
|
-
if (onFilterChange) {
|
|
100
|
-
onFilterChange(newFilters);
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
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", { scope: "col", 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?.toLowerCase()] }), 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) => ({
|
|
104
|
-
...prev,
|
|
105
|
-
[column.dataIndex]: e,
|
|
106
|
-
})), mask: column?.mask, "aria-label": `Filtrar por ${column.label}` })), column.filterType === 'select' && (jsxRuntimeExports.jsx(Select, { options: column.filterOptions || [], value: column.filterOptions?.find((option) => option.value ===
|
|
107
|
-
filters[column.dataIndex]) || null, onChange: (selected) => setFilters((prev) => ({
|
|
108
|
-
...prev,
|
|
109
|
-
[column.dataIndex]: selected?.value ?? null,
|
|
110
|
-
})), placeholder: "Selecione uma op\u00E7\u00E3o", label: "", "aria-label": `Filtrar por ${column.label}` })), column.filterType === 'multiSelect' && (jsxRuntimeExports.jsx(MultiSelect, { options: column.filterOptions || [], value: (filters[column.dataIndex]
|
|
111
|
-
? JSON.parse(filters[column.dataIndex])
|
|
112
|
-
: []), onChange: (selected) => setFilters((prev) => ({
|
|
113
|
-
...prev,
|
|
114
|
-
[column.dataIndex]: selected
|
|
115
|
-
? JSON.stringify(selected)
|
|
116
|
-
: '',
|
|
117
|
-
})), placeholder: "Selecione uma ou mais op\u00E7\u00F5es", label: "", "aria-label": `Filtrar por ${column.label}` })), column.filterType === 'singleDate' && (jsxRuntimeExports.jsx(CalendarInput, { label: "", selectionMode: "single", placeholder: "Selecione uma data", value: filters[column.dataIndex]
|
|
118
|
-
? new Date(filters[column.dataIndex])
|
|
119
|
-
: null, onChange: (e) => {
|
|
120
|
-
const value = e?.value;
|
|
121
|
-
setFilters((prev) => ({
|
|
122
|
-
...prev,
|
|
123
|
-
[column.dataIndex]: value instanceof Date
|
|
124
|
-
? value.toISOString()
|
|
125
|
-
: '',
|
|
126
|
-
}));
|
|
127
|
-
}, ariaLabel: `Filtrar por ${column.label}` })), column.filterType === 'rangeDate' && (jsxRuntimeExports.jsx(CalendarInput, { label: "", selectionMode: "range", placeholder: "Selecione as datas", value: filters[column.dataIndex]
|
|
128
|
-
? parseDateRange(filters[column.dataIndex])
|
|
129
|
-
: null, onChange: (e) => {
|
|
130
|
-
const range = e?.value;
|
|
131
|
-
setFilters((prev) => ({
|
|
132
|
-
...prev,
|
|
133
|
-
[column.dataIndex]: range
|
|
134
|
-
? JSON.stringify(range)
|
|
135
|
-
: '',
|
|
136
|
-
}));
|
|
137
|
-
}, ariaLabel: `Filtrar por ${column.label}` }))] })] }), jsxRuntimeExports.jsxs("div", { className: "flex justify-between mt-4", children: [jsxRuntimeExports.jsx(Button, { variant: "outline", onClick: () => {
|
|
138
|
-
setFilters((prev) => ({
|
|
139
|
-
...prev,
|
|
140
|
-
[column.dataIndex]: '',
|
|
141
|
-
}));
|
|
142
|
-
setOpenFilter(null);
|
|
143
|
-
}, label: "Fechar", width: "10", size: "small", "aria-label": "Fechar filtro" }), jsxRuntimeExports.jsx(Button, { variant: "secondary", onClick: () => handleClearFilter(column), label: "Limpar", width: "10", size: "small", "aria-label": "Limpar filtro" }), jsxRuntimeExports.jsx(Button, { variant: "primary", onClick: () => handleFilter(column), label: "Aplicar", width: "10", size: "small", "aria-label": "Aplicar filtro" })] })] })) }), column.label, isOrdered && (jsxRuntimeExports.jsx("button", { onClick: () => handleSort(column.dataIndex), "aria-label": `Ordenar por ${column.label}`, children: jsxRuntimeExports.jsx("i", { className: clsx('pl-2 text-xs cursor-pointer pi', sortDirection[column.dataIndex] === 'ASC' &&
|
|
144
|
-
'pi-sort-amount-up-alt', sortDirection[column.dataIndex] === 'DESC' &&
|
|
145
|
-
'pi-sort-amount-down', !sortDirection[column.dataIndex] && 'pi-sort-alt') }) })), column.filterable && (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: jsxRuntimeExports.jsx("button", { onClick: () => setOpenFilter((prev) => prev === column.dataIndex
|
|
146
|
-
? null
|
|
147
|
-
: column.dataIndex), "aria-label": `Filtrar por ${column.label}`, children: jsxRuntimeExports.jsx("i", { className: clsx('pl-2 text-xs cursor-pointer', filterStatus[column.dataIndex] === 'applied'
|
|
148
|
-
? 'pi pi-filter-slash'
|
|
149
|
-
: 'pi pi-filter') }) }) }))] }, String(column.dataIndex)))), actions.length > 0 && (jsxRuntimeExports.jsx("th", { scope: "col", className: clsx('bg-primary rounded-se-lg font-bold text-background text-sm uppercase p-3 text-right pr-4', actionsHeaderClassName), children: "A\u00C7\u00D5ES" }))] }) }), jsxRuntimeExports.jsx("tbody", { children: isLoading ? (jsxRuntimeExports.jsx("tr", { children: jsxRuntimeExports.jsx("td", { colSpan: columns.length + (actions.length > 0 ? 1 : 0), className: "p-6 text-center bg-gray-50", children: jsxRuntimeExports.jsx("div", { className: "py-2 px-4 flex justify-center items-center gap-2", children: jsxRuntimeExports.jsx(Spinner, { size: "lg" }) }) }) })) : sortedData.length > 0 ? (sortedData.map((row, index) => (jsxRuntimeExports.jsxs("tr", { className: clsx(index % 2 === 0 ? 'bg-stoneBackground' : 'bg-background', 'text-primary text-base'), children: [columns.map((column) => {
|
|
150
|
-
const value = getNestedValue(row, column.dataIndex);
|
|
151
|
-
return (jsxRuntimeExports.jsx("td", { className: clsx('p-3 text-sm text-left', typeof column.style === 'function'
|
|
152
|
-
? column.style(getNestedValue(row, column.dataIndex), row)
|
|
153
|
-
: column.style), children: column.render
|
|
154
|
-
? column.render(value, row)
|
|
155
|
-
: String(value) }, String(column.dataIndex)));
|
|
156
|
-
}), actions.length > 0 && (jsxRuntimeExports.jsx("td", { className: clsx('text-sm text-right flex flex-row justify-end p-3 gap-2', actionsColumnsClassName), children: actions.map((action, idx) => (jsxRuntimeExports.jsx("span", { className: clsx('cursor-pointer', action.disabled &&
|
|
157
|
-
'opacity-50 pointer-events-none cursor-not-allowed'), onClick: () => {
|
|
158
|
-
if (!action.disabled)
|
|
159
|
-
action.onClick(row);
|
|
160
|
-
}, "aria-label": action?.ariaLabel || action.label, role: "button", children: action.icon }, idx))) }))] }, index)))) : (jsxRuntimeExports.jsx("tr", { children: jsxRuntimeExports.jsxs("td", { colSpan: columns.length + (actions.length > 0 ? 1 : 0), className: "p-6 text-center text-primary bg-stoneBackground", children: [jsxRuntimeExports.jsx("i", { className: "pi pi-database mr-2" }), " N\u00E3o h\u00E1 dados dispon\u00EDveis."] }) })) })] }), sortedData.length > 0 && isPaginated && (jsxRuntimeExports.jsx(Paginator, { first: (currentPage - 1) * rowsPerPage, rows: rowsPerPage, totalRecords: totalRecords, onPageChange: (event) => {
|
|
161
|
-
setCurrentPage(event.page + 1);
|
|
162
|
-
onPageChange(event.page + 1);
|
|
163
|
-
} }))] }));
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export { Table };
|
|
167
|
-
//# sourceMappingURL=table.js.map
|