@vectara/vectara-ui 19.5.0 → 19.6.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.
|
@@ -7,5 +7,8 @@ type Props = {
|
|
|
7
7
|
options?: OptionListItem<string>[];
|
|
8
8
|
after?: React.ReactNode;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type AccountButtonHandle = {
|
|
11
|
+
closeMenu: () => void;
|
|
12
|
+
};
|
|
13
|
+
export declare const VuiAccountButton: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<AccountButtonHandle>>;
|
|
11
14
|
export {};
|
|
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
import { forwardRef, useState } from "react";
|
|
13
|
+
import { forwardRef, useImperativeHandle, useState } from "react";
|
|
14
14
|
import { BiExpandVertical } from "react-icons/bi";
|
|
15
15
|
import classNames from "classnames";
|
|
16
16
|
import { VuiIcon } from "../icon/Icon";
|
|
@@ -23,9 +23,12 @@ const Button = forwardRef((_a, ref) => {
|
|
|
23
23
|
});
|
|
24
24
|
return (_jsx("button", Object.assign({ className: classes, type: "button" }, rest, { ref: ref, "aria-expanded": isSelected, "aria-haspopup": "menu" }, { children: children })));
|
|
25
25
|
});
|
|
26
|
-
export const VuiAccountButton = (_a) => {
|
|
26
|
+
export const VuiAccountButton = forwardRef((_a, ref) => {
|
|
27
27
|
var { userName, email, info, options, after } = _a, rest = __rest(_a, ["userName", "email", "info", "options", "after"]);
|
|
28
28
|
const [isOpen, setIsOpen] = useState(false);
|
|
29
|
+
useImperativeHandle(ref, () => ({
|
|
30
|
+
closeMenu: () => setIsOpen(false)
|
|
31
|
+
}));
|
|
29
32
|
const areUnique = userName && email && userName !== email;
|
|
30
33
|
const primaryLabel = areUnique ? userName : email;
|
|
31
34
|
const secondaryLabel = areUnique ? email : null;
|
|
@@ -33,4 +36,4 @@ export const VuiAccountButton = (_a) => {
|
|
|
33
36
|
return (_jsx(VuiInfoMenu, Object.assign({ isOpen: isOpen, setIsOpen: setIsOpen, button: button, info: info, infoAfter: after, anchorSide: "rightUp" }, { children: options && (_jsx(VuiOptionsList, { size: "l", onSelectOption: () => {
|
|
34
37
|
setIsOpen(false);
|
|
35
38
|
}, options: options })) })));
|
|
36
|
-
};
|
|
39
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VuiAccordion } from "./accordion/Accordion";
|
|
2
|
-
import { VuiAccountButton } from "./accountButton/AccountButton";
|
|
2
|
+
import { VuiAccountButton, AccountButtonHandle } from "./accountButton/AccountButton";
|
|
3
3
|
import { VuiAppContent } from "./app/AppContent";
|
|
4
4
|
import { VuiAppHeader } from "./app/AppHeader";
|
|
5
5
|
import { VuiAppLayout } from "./app/AppLayout";
|
|
@@ -116,5 +116,5 @@ import { VuiInfoTooltip } from "./tooltip/InfoTooltip";
|
|
|
116
116
|
import { VuiTopicButton } from "./topicButton/TopicButton";
|
|
117
117
|
import { copyToClipboard } from "../utils/copyToClipboard";
|
|
118
118
|
import { toRgb, toRgba } from "./context/Theme";
|
|
119
|
-
export type { AnchorSide, AppContentPadding, BarChartSeries, ComposedSeries, LineChartSeries, LineChartVariant, ScatterSeries, ButtonColor, CalloutColor, ChatLanguage, ChatStyle, ChatTurn, CheckboxConfig, CodeEditorColorConfig, CodeEditorError, CodeLanguage, ComposerFileError, ComposerShortcutApi, ComposerShortcutHandler, ComposerSubmission, InfoListItemType, InfoListType, InfoTableColumnAlign, InfoTableRow, InfoTableRowType, KvTableAlign, KvTableItem, KvTableItems, KvTablePadding, LinkProps, MenuItem, OptionListItem, Pagination, PatchColor, RadioButtonConfig, SearchResult, SearchSuggestion, Sections, SectionItem, SpansRow, Stat, StepStatus, StepSize, Steps, StepsVertical, StepVerticalStatus, TabNavigatorRoute, TabSize, Tree, TreeItem };
|
|
119
|
+
export type { AnchorSide, AppContentPadding, BarChartSeries, ComposedSeries, LineChartSeries, LineChartVariant, ScatterSeries, ButtonColor, CalloutColor, ChatLanguage, ChatStyle, ChatTurn, CheckboxConfig, CodeEditorColorConfig, CodeEditorError, CodeLanguage, ComposerFileError, ComposerShortcutApi, ComposerShortcutHandler, ComposerSubmission, InfoListItemType, InfoListType, InfoTableColumnAlign, InfoTableRow, InfoTableRowType, KvTableAlign, KvTableItem, KvTableItems, KvTablePadding, LinkProps, MenuItem, OptionListItem, Pagination, PatchColor, RadioButtonConfig, SearchResult, SearchSuggestion, Sections, SectionItem, SpansRow, Stat, StepStatus, StepSize, Steps, StepsVertical, StepVerticalStatus, TabNavigatorRoute, TabSize, Tree, TreeItem, AccountButtonHandle };
|
|
120
120
|
export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CHART_PALETTE, CALLOUT_COLOR, CALLOUT_SIZE, DURATION_BAR_COLOR, ICON_COLOR, ICON_SIZE, ICON_TYPE, PATCH_COLOR, PROGRESS_BAR_COLOR, SPACER_SIZE, SPINNER_COLOR, SKELETON_COLOR, SPINNER_SIZE, TAB_SIZE, TEXT_COLOR, TEXT_SIZE, TITLE_SIZE, addNotification, copyToClipboard, generateTokensProvider, toRgb, toRgba, VuiAccordion, VuiAccountButton, VuiAppContent, VuiAppHeader, VuiAppLayout, VuiAppSideNav, VuiAppSideNavLink, VuiAppSideNavGroup, VuiBadge, VuiBarChart, VuiComposedChart, VuiLineChart, VuiPieChart, VuiScatterChart, VuiSparkline, VuiTreeMap, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiChip, VuiCode, VuiCodeEditor, VuiComposer, VuiComplexConfigurationButton, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiDurationBar, VuiErrorBoundary, VuiFileDropTarget, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiGridItem, VuiHorizontalRule, VuiIcon, VuiImage, VuiImagePreview, VuiInfoList, VuiInfoListItem, VuiInfoMenu, VuiInfoTable, VuiInfoTooltip, VuiKvTable, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiMenuList, VuiMenuListButton, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPagination, VuiPanel, VuiPasswordInput, VuiPatch, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSideList, VuiSideListButton, VuiSimpleCard, VuiSimpleGrid, VuiSpacer, VuiSpans, VuiSpinner, VuiStat, VuiStatList, VuiStatus, VuiSteps, VuiStepsVertical, VuiSummary, VuiSkeleton, VuiSummaryCitation, VuiSuperCheckboxGroup, VuiSuperRadioGroup, VuiTable, VuiTab, VuiTabbedRoutes, VuiTabs, VuiTabsNavigator, VuiText, VuiTextArea, VuiTextColor, VuiTextInput, VuiTimeline, VuiTimelineItem, VuiTitle, VuiToggle, VuiTooltip, VuiTopicButton };
|
package/package.json
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
1
2
|
import { BiLogOut, BiTransferAlt, BiUser } from "react-icons/bi";
|
|
2
3
|
import {
|
|
3
4
|
OptionListItem,
|
|
4
5
|
VuiAccountButton,
|
|
6
|
+
AccountButtonHandle,
|
|
5
7
|
VuiButtonSecondary,
|
|
6
8
|
VuiCopyButton,
|
|
7
9
|
VuiFlexContainer,
|
|
@@ -10,6 +12,8 @@ import {
|
|
|
10
12
|
} from "../../../lib";
|
|
11
13
|
|
|
12
14
|
export const AccountButton = () => {
|
|
15
|
+
const accountButtonRef = useRef<AccountButtonHandle>(null);
|
|
16
|
+
|
|
13
17
|
const options: OptionListItem<string>[] = [
|
|
14
18
|
{
|
|
15
19
|
value: "switch",
|
|
@@ -52,6 +56,7 @@ export const AccountButton = () => {
|
|
|
52
56
|
|
|
53
57
|
return (
|
|
54
58
|
<VuiAccountButton
|
|
59
|
+
ref={accountButtonRef}
|
|
55
60
|
userName="Falcor"
|
|
56
61
|
email="falcor@neverendingstory.com"
|
|
57
62
|
options={options}
|
|
@@ -62,7 +67,7 @@ export const AccountButton = () => {
|
|
|
62
67
|
fullWidth
|
|
63
68
|
size="s"
|
|
64
69
|
color="neutral"
|
|
65
|
-
onClick={() =>
|
|
70
|
+
onClick={() => accountButtonRef.current?.closeMenu()}
|
|
66
71
|
icon={
|
|
67
72
|
<VuiIcon>
|
|
68
73
|
<BiUser />
|