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.
Files changed (133) hide show
  1. package/dist/index.js +1822 -38
  2. package/dist/index.js.map +1 -1
  3. package/package.json +2 -1
  4. package/dist/.storybook/index.css.js +0 -7
  5. package/dist/.storybook/index.css.js.map +0 -1
  6. package/dist/_virtual/jsx-runtime.js +0 -6
  7. package/dist/_virtual/jsx-runtime.js.map +0 -1
  8. package/dist/_virtual/jsx-runtime2.js +0 -4
  9. package/dist/_virtual/jsx-runtime2.js.map +0 -1
  10. package/dist/_virtual/react-jsx-runtime.production.js +0 -4
  11. package/dist/_virtual/react-jsx-runtime.production.js.map +0 -1
  12. package/dist/assets/icons/error.js +0 -8
  13. package/dist/assets/icons/error.js.map +0 -1
  14. package/dist/assets/icons/filter.js +0 -8
  15. package/dist/assets/icons/filter.js.map +0 -1
  16. package/dist/assets/icons/info.js +0 -8
  17. package/dist/assets/icons/info.js.map +0 -1
  18. package/dist/assets/icons/success.js +0 -8
  19. package/dist/assets/icons/success.js.map +0 -1
  20. package/dist/assets/icons/text.js +0 -8
  21. package/dist/assets/icons/text.js.map +0 -1
  22. package/dist/assets/logoSmall.js +0 -8
  23. package/dist/assets/logoSmall.js.map +0 -1
  24. package/dist/components/floating-label/index.js +0 -14
  25. package/dist/components/floating-label/index.js.map +0 -1
  26. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +0 -11
  27. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +0 -1
  28. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +0 -65
  29. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +0 -1
  30. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +0 -60
  31. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +0 -1
  32. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +0 -23
  33. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +0 -1
  34. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js +0 -104
  35. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js.map +0 -1
  36. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js +0 -42
  37. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatLong.js.map +0 -1
  38. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js +0 -25
  39. package/dist/node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js.map +0 -1
  40. package/dist/node_modules/date-fns/locale/pt-BR/_lib/localize.js +0 -180
  41. package/dist/node_modules/date-fns/locale/pt-BR/_lib/localize.js.map +0 -1
  42. package/dist/node_modules/date-fns/locale/pt-BR/_lib/match.js +0 -137
  43. package/dist/node_modules/date-fns/locale/pt-BR/_lib/match.js.map +0 -1
  44. package/dist/node_modules/date-fns/locale/pt-BR.js +0 -29
  45. package/dist/node_modules/date-fns/locale/pt-BR.js.map +0 -1
  46. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -45
  47. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
  48. package/dist/node_modules/react/jsx-runtime.js +0 -18
  49. package/dist/node_modules/react/jsx-runtime.js.map +0 -1
  50. package/dist/node_modules/style-inject/dist/style-inject.es.js +0 -29
  51. package/dist/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  52. package/dist/stories/components/accordion.js +0 -30
  53. package/dist/stories/components/accordion.js.map +0 -1
  54. package/dist/stories/components/autoComplete.js +0 -30
  55. package/dist/stories/components/autoComplete.js.map +0 -1
  56. package/dist/stories/components/basicHeader.js +0 -9
  57. package/dist/stories/components/basicHeader.js.map +0 -1
  58. package/dist/stories/components/breadcrumb.js +0 -10
  59. package/dist/stories/components/breadcrumb.js.map +0 -1
  60. package/dist/stories/components/button.js +0 -19
  61. package/dist/stories/components/button.js.map +0 -1
  62. package/dist/stories/components/calendarInput.js +0 -99
  63. package/dist/stories/components/calendarInput.js.map +0 -1
  64. package/dist/stories/components/card.js +0 -9
  65. package/dist/stories/components/card.js.map +0 -1
  66. package/dist/stories/components/cardButton.js +0 -11
  67. package/dist/stories/components/cardButton.js.map +0 -1
  68. package/dist/stories/components/cardIconsButton.js +0 -11
  69. package/dist/stories/components/cardIconsButton.js.map +0 -1
  70. package/dist/stories/components/chart.js +0 -9
  71. package/dist/stories/components/chart.js.map +0 -1
  72. package/dist/stories/components/dialog.js +0 -10
  73. package/dist/stories/components/dialog.js.map +0 -1
  74. package/dist/stories/components/divider.js +0 -9
  75. package/dist/stories/components/divider.js.map +0 -1
  76. package/dist/stories/components/emptyContent.js +0 -8
  77. package/dist/stories/components/emptyContent.js.map +0 -1
  78. package/dist/stories/components/expandablePanel.js +0 -10
  79. package/dist/stories/components/expandablePanel.js.map +0 -1
  80. package/dist/stories/components/fileUpload.js +0 -96
  81. package/dist/stories/components/fileUpload.js.map +0 -1
  82. package/dist/stories/components/filterButton.js +0 -33
  83. package/dist/stories/components/filterButton.js.map +0 -1
  84. package/dist/stories/components/header.js +0 -37
  85. package/dist/stories/components/header.js.map +0 -1
  86. package/dist/stories/components/iconButton.js +0 -14
  87. package/dist/stories/components/iconButton.js.map +0 -1
  88. package/dist/stories/components/infoCard.js +0 -9
  89. package/dist/stories/components/infoCard.js.map +0 -1
  90. package/dist/stories/components/input.js +0 -60
  91. package/dist/stories/components/input.js.map +0 -1
  92. package/dist/stories/components/inputSwitch.js +0 -14
  93. package/dist/stories/components/inputSwitch.js.map +0 -1
  94. package/dist/stories/components/inputTextArea.js +0 -20
  95. package/dist/stories/components/inputTextArea.js.map +0 -1
  96. package/dist/stories/components/internalMenu.js +0 -30
  97. package/dist/stories/components/internalMenu.js.map +0 -1
  98. package/dist/stories/components/link.js +0 -8
  99. package/dist/stories/components/link.js.map +0 -1
  100. package/dist/stories/components/megaMenu.js +0 -13
  101. package/dist/stories/components/megaMenu.js.map +0 -1
  102. package/dist/stories/components/modal.js +0 -38
  103. package/dist/stories/components/modal.js.map +0 -1
  104. package/dist/stories/components/multiselect.js +0 -125
  105. package/dist/stories/components/multiselect.js.map +0 -1
  106. package/dist/stories/components/notification.js +0 -16
  107. package/dist/stories/components/notification.js.map +0 -1
  108. package/dist/stories/components/notificationItem.js +0 -16
  109. package/dist/stories/components/notificationItem.js.map +0 -1
  110. package/dist/stories/components/paginator.js +0 -28
  111. package/dist/stories/components/paginator.js.map +0 -1
  112. package/dist/stories/components/radioButton.js +0 -17
  113. package/dist/stories/components/radioButton.js.map +0 -1
  114. package/dist/stories/components/select.js +0 -98
  115. package/dist/stories/components/select.js.map +0 -1
  116. package/dist/stories/components/sidebar.js +0 -17
  117. package/dist/stories/components/sidebar.js.map +0 -1
  118. package/dist/stories/components/skeleton.js +0 -9
  119. package/dist/stories/components/skeleton.js.map +0 -1
  120. package/dist/stories/components/spinner.js +0 -18
  121. package/dist/stories/components/spinner.js.map +0 -1
  122. package/dist/stories/components/table.js +0 -167
  123. package/dist/stories/components/table.js.map +0 -1
  124. package/dist/stories/components/tagStatus.js +0 -33
  125. package/dist/stories/components/tagStatus.js.map +0 -1
  126. package/dist/stories/components/toast.js +0 -18
  127. package/dist/stories/components/toast.js.map +0 -1
  128. package/dist/utils/masks/index.js +0 -90
  129. package/dist/utils/masks/index.js.map +0 -1
  130. package/dist/utils/nestedValue.js +0 -9
  131. package/dist/utils/nestedValue.js.map +0 -1
  132. package/dist/utils/sortData.js +0 -48
  133. 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