@seedgrid/fe-components 2026.6.7 → 2026.7.0
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/ai/seedgrid-components.manifest.json +8003 -696
- package/dist/commons/SgToaster.d.ts +2 -0
- package/dist/commons/SgToaster.d.ts.map +1 -1
- package/dist/commons/SgToaster.js +2 -2
- package/dist/commons/SgToaster.meta.d.ts.map +1 -1
- package/dist/commons/SgToaster.meta.js +2 -1
- package/dist/commons/SgWhistleHost.d.ts +16 -15
- package/dist/commons/SgWhistleHost.d.ts.map +1 -1
- package/dist/commons/SgWhistleHost.js +38 -147
- package/dist/commons/SgWhistleHost.meta.d.ts.map +1 -1
- package/dist/commons/SgWhistleHost.meta.js +17 -15
- package/dist/commons/SgWhistler.d.ts +20 -0
- package/dist/commons/SgWhistler.d.ts.map +1 -0
- package/dist/commons/SgWhistler.js +168 -0
- package/dist/commons/SgWhistler.meta.d.ts +4 -0
- package/dist/commons/SgWhistler.meta.d.ts.map +1 -0
- package/dist/commons/SgWhistler.meta.js +47 -0
- package/dist/commons/sgWhistleHostRegistry.d.ts +7 -0
- package/dist/commons/sgWhistleHostRegistry.d.ts.map +1 -0
- package/dist/commons/sgWhistleHostRegistry.js +42 -0
- package/dist/gadgets/clock/themes/SgClockThemePicker.d.ts.map +1 -1
- package/dist/gadgets/clock/themes/SgClockThemePicker.js +1 -1
- package/dist/i18n/en-US.d.ts.map +1 -1
- package/dist/i18n/en-US.js +2 -0
- package/dist/i18n/es.d.ts.map +1 -1
- package/dist/i18n/es.js +2 -0
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +2 -0
- package/dist/i18n/pt-BR.d.ts.map +1 -1
- package/dist/i18n/pt-BR.js +2 -0
- package/dist/i18n/pt-PT.d.ts.map +1 -1
- package/dist/i18n/pt-PT.js +2 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/inputs/SgCombobox.d.ts.map +1 -1
- package/dist/inputs/SgCombobox.js +6 -2
- package/dist/inputs/SgInputPassword.d.ts +1 -0
- package/dist/inputs/SgInputPassword.d.ts.map +1 -1
- package/dist/inputs/SgInputTextSearch.d.ts +11 -0
- package/dist/inputs/SgInputTextSearch.d.ts.map +1 -0
- package/dist/inputs/SgInputTextSearch.js +47 -0
- package/dist/inputs/SgInputTextSearch.meta.d.ts +4 -0
- package/dist/inputs/SgInputTextSearch.meta.d.ts.map +1 -0
- package/dist/inputs/SgInputTextSearch.meta.js +50 -0
- package/dist/inputs/SgMultiSelect.d.ts +23 -0
- package/dist/inputs/SgMultiSelect.d.ts.map +1 -0
- package/dist/inputs/SgMultiSelect.js +117 -0
- package/dist/inputs/SgMultiSelect.meta.d.ts +4 -0
- package/dist/inputs/SgMultiSelect.meta.d.ts.map +1 -0
- package/dist/inputs/SgMultiSelect.meta.js +56 -0
- package/dist/inputs/SgMultiSelectChips.d.ts +27 -0
- package/dist/inputs/SgMultiSelectChips.d.ts.map +1 -0
- package/dist/inputs/SgMultiSelectChips.js +127 -0
- package/dist/inputs/SgMultiSelectChips.meta.d.ts +4 -0
- package/dist/inputs/SgMultiSelectChips.meta.d.ts.map +1 -0
- package/dist/inputs/SgMultiSelectChips.meta.js +55 -0
- package/dist/inputs/SgMultiSelectDropdown.d.ts +28 -0
- package/dist/inputs/SgMultiSelectDropdown.d.ts.map +1 -0
- package/dist/inputs/SgMultiSelectDropdown.js +41 -0
- package/dist/inputs/SgPeriodSelector.d.ts +103 -0
- package/dist/inputs/SgPeriodSelector.d.ts.map +1 -0
- package/dist/inputs/SgPeriodSelector.js +368 -0
- package/dist/inputs/SgPeriodSelector.meta.d.ts +4 -0
- package/dist/inputs/SgPeriodSelector.meta.d.ts.map +1 -0
- package/dist/inputs/SgPeriodSelector.meta.js +55 -0
- package/dist/inputs/useSgMultiSelect.d.ts +48 -0
- package/dist/inputs/useSgMultiSelect.d.ts.map +1 -0
- package/dist/inputs/useSgMultiSelect.js +202 -0
- package/dist/layout/SgMenu.d.ts.map +1 -1
- package/dist/layout/SgMenu.js +1 -1
- package/dist/sandbox.cjs +53 -53
- package/package.json +3 -3
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export function valueEquals(left, right) {
|
|
4
|
+
return String(left) === String(right);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Logica compartilhada entre SgMultiSelect e SgMultiSelectChips: estado de
|
|
8
|
+
* abertura, selecao, busca, posicionamento do dropdown via portal e navegacao
|
|
9
|
+
* por teclado. Os componentes apenas renderizam o trigger e reaproveitam o
|
|
10
|
+
* dropdown a partir do que este hook expoe.
|
|
11
|
+
*/
|
|
12
|
+
export function useSgMultiSelect(params) {
|
|
13
|
+
const { options, value, onChange, searchable = false, maxSelected, isDisabled, borderRadius } = params;
|
|
14
|
+
const isControlled = value !== undefined;
|
|
15
|
+
const wrapperRef = React.useRef(null);
|
|
16
|
+
const inputRef = React.useRef(null);
|
|
17
|
+
const dropdownRef = React.useRef(null);
|
|
18
|
+
const searchRef = React.useRef(null);
|
|
19
|
+
const ignoreBlurRef = React.useRef(false);
|
|
20
|
+
const [open, setOpen] = React.useState(false);
|
|
21
|
+
const [internalValue, setInternalValue] = React.useState([]);
|
|
22
|
+
const [activeIndex, setActiveIndex] = React.useState(-1);
|
|
23
|
+
const [query, setQuery] = React.useState("");
|
|
24
|
+
const [dropdownStyle, setDropdownStyle] = React.useState({});
|
|
25
|
+
const resolvedBorderRadius = React.useMemo(() => {
|
|
26
|
+
if (borderRadius === undefined)
|
|
27
|
+
return undefined;
|
|
28
|
+
return typeof borderRadius === "number" ? `${borderRadius}px` : borderRadius;
|
|
29
|
+
}, [borderRadius]);
|
|
30
|
+
const resolvedValue = isControlled ? (value ?? []) : internalValue;
|
|
31
|
+
const isSelected = React.useCallback((optionValue) => resolvedValue.some((entry) => valueEquals(entry, optionValue)), [resolvedValue]);
|
|
32
|
+
const visibleOptions = React.useMemo(() => {
|
|
33
|
+
if (!searchable || !query.trim())
|
|
34
|
+
return options;
|
|
35
|
+
const normalized = query.trim().toLowerCase();
|
|
36
|
+
return options.filter((option) => option.label.toLowerCase().includes(normalized));
|
|
37
|
+
}, [options, query, searchable]);
|
|
38
|
+
const selectedLabels = React.useMemo(() => {
|
|
39
|
+
return resolvedValue
|
|
40
|
+
.map((entry) => options.find((option) => valueEquals(option.value, entry))?.label)
|
|
41
|
+
.filter((label) => Boolean(label));
|
|
42
|
+
}, [options, resolvedValue]);
|
|
43
|
+
const selectedOptions = React.useMemo(() => {
|
|
44
|
+
return resolvedValue
|
|
45
|
+
.map((entry) => options.find((option) => valueEquals(option.value, entry)))
|
|
46
|
+
.filter((option) => Boolean(option));
|
|
47
|
+
}, [options, resolvedValue]);
|
|
48
|
+
const setSelectedValue = React.useCallback((nextValue) => {
|
|
49
|
+
if (!isControlled) {
|
|
50
|
+
setInternalValue(nextValue);
|
|
51
|
+
}
|
|
52
|
+
onChange?.(nextValue);
|
|
53
|
+
}, [isControlled, onChange]);
|
|
54
|
+
const closeDropdown = React.useCallback(() => {
|
|
55
|
+
setOpen(false);
|
|
56
|
+
setActiveIndex(-1);
|
|
57
|
+
setQuery("");
|
|
58
|
+
}, []);
|
|
59
|
+
const openDropdown = React.useCallback(() => {
|
|
60
|
+
if (isDisabled)
|
|
61
|
+
return;
|
|
62
|
+
setOpen(true);
|
|
63
|
+
}, [isDisabled]);
|
|
64
|
+
const toggleOption = React.useCallback((option) => {
|
|
65
|
+
if (option.disabled)
|
|
66
|
+
return;
|
|
67
|
+
const already = resolvedValue.some((entry) => valueEquals(entry, option.value));
|
|
68
|
+
if (already) {
|
|
69
|
+
setSelectedValue(resolvedValue.filter((entry) => !valueEquals(entry, option.value)));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (maxSelected !== undefined && resolvedValue.length >= maxSelected) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
setSelectedValue([...resolvedValue, option.value]);
|
|
76
|
+
}, [maxSelected, resolvedValue, setSelectedValue]);
|
|
77
|
+
const removeValue = React.useCallback((optionValue) => {
|
|
78
|
+
setSelectedValue(resolvedValue.filter((entry) => !valueEquals(entry, optionValue)));
|
|
79
|
+
}, [resolvedValue, setSelectedValue]);
|
|
80
|
+
const clearSelection = React.useCallback(() => {
|
|
81
|
+
setSelectedValue([]);
|
|
82
|
+
}, [setSelectedValue]);
|
|
83
|
+
const syncDropdownPosition = React.useCallback(() => {
|
|
84
|
+
const anchor = wrapperRef.current?.querySelector("input") ?? inputRef.current ?? wrapperRef.current;
|
|
85
|
+
if (!anchor)
|
|
86
|
+
return;
|
|
87
|
+
const rect = anchor.getBoundingClientRect();
|
|
88
|
+
setDropdownStyle({
|
|
89
|
+
position: "fixed",
|
|
90
|
+
top: rect.bottom + 4,
|
|
91
|
+
left: rect.left,
|
|
92
|
+
minWidth: rect.width,
|
|
93
|
+
width: rect.width,
|
|
94
|
+
maxWidth: "min(32rem, calc(100vw - 24px))",
|
|
95
|
+
borderRadius: resolvedBorderRadius
|
|
96
|
+
});
|
|
97
|
+
}, [resolvedBorderRadius]);
|
|
98
|
+
React.useEffect(() => {
|
|
99
|
+
if (!open)
|
|
100
|
+
return;
|
|
101
|
+
const handleOutside = (event) => {
|
|
102
|
+
if (wrapperRef.current?.contains(event.target))
|
|
103
|
+
return;
|
|
104
|
+
if (dropdownRef.current?.contains(event.target))
|
|
105
|
+
return;
|
|
106
|
+
closeDropdown();
|
|
107
|
+
};
|
|
108
|
+
document.addEventListener("mousedown", handleOutside);
|
|
109
|
+
return () => document.removeEventListener("mousedown", handleOutside);
|
|
110
|
+
}, [closeDropdown, open]);
|
|
111
|
+
React.useEffect(() => {
|
|
112
|
+
if (!open)
|
|
113
|
+
return;
|
|
114
|
+
syncDropdownPosition();
|
|
115
|
+
const handleLayoutChange = () => {
|
|
116
|
+
syncDropdownPosition();
|
|
117
|
+
};
|
|
118
|
+
window.addEventListener("resize", handleLayoutChange);
|
|
119
|
+
window.addEventListener("scroll", handleLayoutChange, true);
|
|
120
|
+
return () => {
|
|
121
|
+
window.removeEventListener("resize", handleLayoutChange);
|
|
122
|
+
window.removeEventListener("scroll", handleLayoutChange, true);
|
|
123
|
+
};
|
|
124
|
+
}, [open, syncDropdownPosition]);
|
|
125
|
+
React.useEffect(() => {
|
|
126
|
+
if (!open) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (searchable && searchRef.current) {
|
|
130
|
+
searchRef.current.focus();
|
|
131
|
+
}
|
|
132
|
+
setActiveIndex(visibleOptions.length > 0 ? 0 : -1);
|
|
133
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
134
|
+
}, [open, searchable]);
|
|
135
|
+
React.useEffect(() => {
|
|
136
|
+
if (!open)
|
|
137
|
+
return;
|
|
138
|
+
if (activeIndex >= visibleOptions.length) {
|
|
139
|
+
setActiveIndex(visibleOptions.length - 1);
|
|
140
|
+
}
|
|
141
|
+
}, [activeIndex, open, visibleOptions.length]);
|
|
142
|
+
const handleListKeyDown = React.useCallback((event) => {
|
|
143
|
+
if (isDisabled)
|
|
144
|
+
return;
|
|
145
|
+
if (event.key === "Escape") {
|
|
146
|
+
event.preventDefault();
|
|
147
|
+
closeDropdown();
|
|
148
|
+
inputRef.current?.focus();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (event.key === "Tab") {
|
|
152
|
+
closeDropdown();
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (event.key === "ArrowDown") {
|
|
156
|
+
event.preventDefault();
|
|
157
|
+
setActiveIndex((prev) => Math.min(prev + 1, visibleOptions.length - 1));
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (event.key === "ArrowUp") {
|
|
161
|
+
event.preventDefault();
|
|
162
|
+
setActiveIndex((prev) => Math.max(prev - 1, 0));
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
166
|
+
if (activeIndex < 0)
|
|
167
|
+
return;
|
|
168
|
+
const option = visibleOptions[activeIndex];
|
|
169
|
+
if (!option)
|
|
170
|
+
return;
|
|
171
|
+
event.preventDefault();
|
|
172
|
+
toggleOption(option);
|
|
173
|
+
}
|
|
174
|
+
}, [activeIndex, closeDropdown, isDisabled, toggleOption, visibleOptions]);
|
|
175
|
+
return {
|
|
176
|
+
// refs
|
|
177
|
+
wrapperRef,
|
|
178
|
+
inputRef,
|
|
179
|
+
dropdownRef,
|
|
180
|
+
searchRef,
|
|
181
|
+
ignoreBlurRef,
|
|
182
|
+
// state
|
|
183
|
+
open,
|
|
184
|
+
activeIndex,
|
|
185
|
+
query,
|
|
186
|
+
dropdownStyle,
|
|
187
|
+
resolvedValue,
|
|
188
|
+
selectedLabels,
|
|
189
|
+
selectedOptions,
|
|
190
|
+
visibleOptions,
|
|
191
|
+
// setters / actions
|
|
192
|
+
setQuery,
|
|
193
|
+
setActiveIndex,
|
|
194
|
+
isSelected,
|
|
195
|
+
toggleOption,
|
|
196
|
+
removeValue,
|
|
197
|
+
clearSelection,
|
|
198
|
+
closeDropdown,
|
|
199
|
+
openDropdown,
|
|
200
|
+
handleListKeyDown
|
|
201
|
+
};
|
|
202
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SgMenu.d.ts","sourceRoot":"","sources":["../../src/layout/SgMenu.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SgMenu.d.ts","sourceRoot":"","sources":["../../src/layout/SgMenu.tsx"],"names":[],"mappings":"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"}
|
package/dist/layout/SgMenu.js
CHANGED
|
@@ -826,7 +826,7 @@ export function SgMenu(props) {
|
|
|
826
826
|
if (menuStyle === "hybrid" && next)
|
|
827
827
|
setDrawerOpen(false);
|
|
828
828
|
}, "aria-label": pinnedState ? t(i18n, "components.menu.unpin") : t(i18n, "components.menu.pin"), className: cn("inline-flex size-8 shrink-0 items-center justify-center rounded-md border border-border", "bg-background hover:bg-muted/60", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/35"), children: _jsx(PinIcon, { pinned: pinnedState }) })) : null, !collapseOnLeft ? collapseButton : null] })) : null;
|
|
829
|
-
const shellContentArea = (_jsxs(_Fragment, { children: [searchEnabled && !isCollapsed ? (_jsx("div", { className: cn("border-b border-border", densityCfg.section), children: _jsx(SgAutocomplete, { id: `${searchInputId}-menu-search`, label: search?.placeholder ?? t(i18n, "components.actions.search"), placeholder: search?.placeholder ?? t(i18n, "components.actions.search"), value: searchValue, onChange: setSearchValue, source: autocompleteSource, minLengthForSearch: 0, openOnFocus: true, showDropDownButton: true, clearOnSelect: true, grouped: true, onSelect: (item) => {
|
|
829
|
+
const shellContentArea = (_jsxs(_Fragment, { children: [searchEnabled && !isCollapsed ? (_jsx("div", { className: cn("border-b border-border", densityCfg.section), children: _jsx(SgAutocomplete, { id: `${searchInputId}-menu-search`, label: search?.placeholder ?? t(i18n, "components.actions.search"), placeholder: search?.placeholder ?? t(i18n, "components.actions.search"), value: searchValue, onChange: setSearchValue, source: autocompleteSource, allowCustomValue: true, minLengthForSearch: 0, openOnFocus: true, showDropDownButton: true, clearOnSelect: true, grouped: true, onSelect: (item) => {
|
|
830
830
|
const nodeId = item.data?.nodeId;
|
|
831
831
|
if (!nodeId)
|
|
832
832
|
return;
|