@vectara/vectara-ui 9.5.3 → 9.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/lib/components/code/Code.d.ts +3 -2
- package/lib/components/code/Code.js +9 -5
- package/lib/components/code/_index.scss +1 -1
- package/lib/components/inProgress/InProgress.d.ts +5 -0
- package/lib/components/inProgress/InProgress.js +6 -0
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +2 -1
- package/lib/styles/index.css +1 -1
- package/package.json +1 -1
|
@@ -8,11 +8,12 @@ import "prismjs/components/prism-tsx";
|
|
|
8
8
|
import { CodeLanguage } from "./types";
|
|
9
9
|
type Props = {
|
|
10
10
|
language?: CodeLanguage;
|
|
11
|
-
onCopy?: () => void;
|
|
12
11
|
isFullscreenEnabled?: boolean;
|
|
12
|
+
isCopyEnabled?: boolean;
|
|
13
13
|
children?: string;
|
|
14
14
|
fullHeight?: boolean;
|
|
15
|
+
onCopy?: () => void;
|
|
15
16
|
"data-testid"?: string;
|
|
16
17
|
};
|
|
17
|
-
export declare const VuiCode: ({ onCopy, isFullscreenEnabled, language, fullHeight, children, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare const VuiCode: ({ onCopy, isFullscreenEnabled, isCopyEnabled, language, fullHeight, children, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
18
19
|
export {};
|
|
@@ -38,7 +38,7 @@ import { VuiPortal } from "../portal/Portal";
|
|
|
38
38
|
import { copyToClipboard } from "../../utils/copyToClipboard";
|
|
39
39
|
// PrismJS clears highlighting when language-none is set.
|
|
40
40
|
export const VuiCode = (_a) => {
|
|
41
|
-
var { onCopy, isFullscreenEnabled = true, language = "none", fullHeight, children = "" } = _a, rest = __rest(_a, ["onCopy", "isFullscreenEnabled", "language", "fullHeight", "children"]);
|
|
41
|
+
var { onCopy, isFullscreenEnabled = true, isCopyEnabled = true, language = "none", fullHeight, children = "" } = _a, rest = __rest(_a, ["onCopy", "isFullscreenEnabled", "isCopyEnabled", "language", "fullHeight", "children"]);
|
|
42
42
|
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
43
43
|
useEffect(() => {
|
|
44
44
|
Prism.highlightAll();
|
|
@@ -50,15 +50,19 @@ export const VuiCode = (_a) => {
|
|
|
50
50
|
"vuiCode--fullHeight": fullHeight
|
|
51
51
|
});
|
|
52
52
|
const testId = rest["data-testid"];
|
|
53
|
-
const actions = (_jsxs(VuiFlexContainer, Object.assign({ className: "vuiCodeActions", spacing: "xxs" }, { children: [isFullscreenEnabled && (_jsx(VuiIconButton, { color: "neutral", size: "xs", icon: _jsx(VuiIcon, { children: _jsx(BiFullscreen, {}) }), "aria-label": "Full screen", onClick: () => {
|
|
53
|
+
const actions = (isFullscreenEnabled || isCopyEnabled) && (_jsxs(VuiFlexContainer, Object.assign({ className: "vuiCodeActions", spacing: "xxs" }, { children: [isFullscreenEnabled && (_jsx(VuiIconButton, { color: "neutral", size: "xs", icon: _jsx(VuiIcon, { children: _jsx(BiFullscreen, {}) }), "aria-label": "Full screen", onClick: () => {
|
|
54
54
|
setIsFullscreen(!isFullscreen);
|
|
55
|
-
} })), _jsx(VuiIconButton, { color: "neutral", size: "xs", icon: _jsx(VuiIcon, { children: _jsx(BiClipboard, {}) }), "aria-label": "Copy to clipboard", onClick: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
} })), isCopyEnabled && (_jsx(VuiIconButton, { color: "neutral", size: "xs", icon: _jsx(VuiIcon, { children: _jsx(BiClipboard, {}) }), "aria-label": "Copy to clipboard", onClick: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
56
|
yield copyToClipboard(children);
|
|
57
57
|
if (onCopy)
|
|
58
58
|
onCopy();
|
|
59
|
-
}) })] })));
|
|
59
|
+
}) }))] })));
|
|
60
60
|
const code = (_jsx("pre", Object.assign({ className: "vuiCodePre" }, { children: _jsx("code", Object.assign({ className: classes }, { children: children })) })));
|
|
61
61
|
return (_jsxs("div", Object.assign({ className: containerClasses }, rest, { children: [code, actions, testId && (_jsx("div", Object.assign({ "data-testid": `${testId}-hidden`, hidden: true }, { children: children }))), _jsx(VuiPortal, { children: isFullscreen && (_jsx(FocusOn, Object.assign({ onEscapeKey: () => {
|
|
62
62
|
setIsFullscreen(false);
|
|
63
|
-
} }, { children: _jsxs("div", Object.assign({ className: "vuiCodeFullscreen" }, { children: [
|
|
63
|
+
} }, { children: _jsxs("div", Object.assign({ className: "vuiCodeFullscreen" }, { children: [_jsxs(VuiFlexContainer, Object.assign({ className: "vuiCodeFullscreen__actions", spacing: "xxs" }, { children: [isCopyEnabled && (_jsx(VuiIconButton, { color: "neutral", size: "m", icon: _jsx(VuiIcon, { children: _jsx(BiClipboard, {}) }), "aria-label": "Copy to clipboard", onClick: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
yield copyToClipboard(children);
|
|
65
|
+
if (onCopy)
|
|
66
|
+
onCopy();
|
|
67
|
+
}) })), _jsx(VuiIconButton, { className: "vuiCodeFullscreen__closeButton", color: "neutral", size: "m", icon: _jsx(VuiIcon, { children: _jsx(BiX, {}) }), "aria-label": "Exit fullscreen code", onClick: () => setIsFullscreen(false) })] })), code] })) }))) })] })));
|
|
64
68
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { VuiFlexContainer } from "../flex/FlexContainer";
|
|
3
|
+
import { VuiFlexItem } from "../flex/FlexItem";
|
|
4
|
+
import { VuiSpinner } from "../spinner/Spinner";
|
|
5
|
+
import { VuiText } from "../typography/Text";
|
|
6
|
+
export const VuiInProgress = ({ label }) => (_jsxs(VuiFlexContainer, Object.assign({ alignItems: "center", spacing: "xs" }, { children: [_jsx(VuiFlexItem, Object.assign({ grow: false }, { children: _jsx(VuiSpinner, { size: "xs" }) })), _jsx(VuiFlexItem, Object.assign({ grow: false }, { children: _jsx(VuiText, { children: _jsxs("p", { children: [label, "\u2026"] }) }) }))] })));
|
|
@@ -37,6 +37,7 @@ import { ICON_COLOR, ICON_SIZE, ICON_TYPE } from "./icon/types";
|
|
|
37
37
|
import { InfoListType, VuiInfoList } from "./infoList/InfoList";
|
|
38
38
|
import { VuiInfoMenu } from "./infoMenu/InfoMenu";
|
|
39
39
|
import { VuiInfoTable, InfoTableColumnAlign, InfoTableRow, InfoTableRowType } from "./infoTable/InfoTable";
|
|
40
|
+
import { VuiInProgress } from "./inProgress/InProgress";
|
|
40
41
|
import { VuiLink, VuiLinkInternal } from "./link/Link";
|
|
41
42
|
import { LinkProps } from "./link/types";
|
|
42
43
|
import { VuiList } from "./list/List";
|
|
@@ -83,4 +84,4 @@ import { VuiTooltip } from "./tooltip/Tooltip";
|
|
|
83
84
|
import { VuiTopicButton } from "./topicButton/TopicButton";
|
|
84
85
|
import { copyToClipboard } from "../utils/copyToClipboard";
|
|
85
86
|
export type { AnchorSide, AppContentPadding, ButtonColor, CalloutColor, ChatLanguage, ChatStyle, ChatTurn, CodeLanguage, InfoListType, InfoTableColumnAlign, InfoTableRow, InfoTableRowType, LinkProps, MenuItem, OptionListItem, RadioButtonConfig, SearchResult, Sections, SectionItem, Stat, StepStatus, StepSize, TabSize, Tree, TreeItem, VuiStepProps };
|
|
86
|
-
export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, PROGRESS_BAR_COLOR, SPACER_SIZE, SPINNER_COLOR, SPINNER_SIZE, TAB_SIZE, TEXT_COLOR, TEXT_SIZE, TITLE_SIZE, addNotification, copyToClipboard, VuiAccordion, VuiAccountButton, VuiAppContent, VuiAppHeader, VuiAppLayout, VuiAppSideNav, VuiAppSideNavLink, VuiBadge, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiHorizontalRule, VuiIcon, VuiInfoList, VuiInfoMenu, VuiInfoTable, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSpacer, VuiSpinner, VuiStatList, VuiStatus, VuiSteps, VuiSummary, VuiSummaryCitation, VuiSuperRadioGroup, VuiTable, VuiTab, VuiTabbedRoutes, VuiTabs, VuiText, VuiTextArea, VuiTextColor, VuiTextInput, VuiTimeline, VuiTimelineItem, VuiTitle, VuiToggle, VuiTooltip, VuiTopicButton };
|
|
87
|
+
export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, PROGRESS_BAR_COLOR, SPACER_SIZE, SPINNER_COLOR, SPINNER_SIZE, TAB_SIZE, TEXT_COLOR, TEXT_SIZE, TITLE_SIZE, addNotification, copyToClipboard, VuiAccordion, VuiAccountButton, VuiAppContent, VuiAppHeader, VuiAppLayout, VuiAppSideNav, VuiAppSideNavLink, VuiBadge, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiHorizontalRule, VuiIcon, VuiInfoList, VuiInfoMenu, VuiInfoTable, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSpacer, VuiSpinner, VuiStatList, VuiStatus, VuiSteps, VuiSummary, VuiSummaryCitation, VuiSuperRadioGroup, VuiTable, VuiTab, VuiTabbedRoutes, VuiTabs, VuiText, VuiTextArea, VuiTextColor, VuiTextInput, VuiTimeline, VuiTimelineItem, VuiTitle, VuiToggle, VuiTooltip, VuiTopicButton };
|
package/lib/components/index.js
CHANGED
|
@@ -33,6 +33,7 @@ import { ICON_COLOR, ICON_SIZE, ICON_TYPE } from "./icon/types";
|
|
|
33
33
|
import { VuiInfoList } from "./infoList/InfoList";
|
|
34
34
|
import { VuiInfoMenu } from "./infoMenu/InfoMenu";
|
|
35
35
|
import { VuiInfoTable } from "./infoTable/InfoTable";
|
|
36
|
+
import { VuiInProgress } from "./inProgress/InProgress";
|
|
36
37
|
import { VuiLink, VuiLinkInternal } from "./link/Link";
|
|
37
38
|
import { VuiList } from "./list/List";
|
|
38
39
|
import { VuiMenu } from "./menu/Menu";
|
|
@@ -76,4 +77,4 @@ import { VuiToggle } from "./toggle/Toggle";
|
|
|
76
77
|
import { VuiTooltip } from "./tooltip/Tooltip";
|
|
77
78
|
import { VuiTopicButton } from "./topicButton/TopicButton";
|
|
78
79
|
import { copyToClipboard } from "../utils/copyToClipboard";
|
|
79
|
-
export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, PROGRESS_BAR_COLOR, SPACER_SIZE, SPINNER_COLOR, SPINNER_SIZE, TAB_SIZE, TEXT_COLOR, TEXT_SIZE, TITLE_SIZE, addNotification, copyToClipboard, VuiAccordion, VuiAccountButton, VuiAppContent, VuiAppHeader, VuiAppLayout, VuiAppSideNav, VuiAppSideNavLink, VuiBadge, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiHorizontalRule, VuiIcon, VuiInfoList, VuiInfoMenu, VuiInfoTable, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSpacer, VuiSpinner, VuiStatList, VuiStatus, VuiSteps, VuiSummary, VuiSummaryCitation, VuiSuperRadioGroup, VuiTable, VuiTab, VuiTabbedRoutes, VuiTabs, VuiText, VuiTextArea, VuiTextColor, VuiTextInput, VuiTimeline, VuiTimelineItem, VuiTitle, VuiToggle, VuiTooltip, VuiTopicButton };
|
|
80
|
+
export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, PROGRESS_BAR_COLOR, SPACER_SIZE, SPINNER_COLOR, SPINNER_SIZE, TAB_SIZE, TEXT_COLOR, TEXT_SIZE, TITLE_SIZE, addNotification, copyToClipboard, VuiAccordion, VuiAccountButton, VuiAppContent, VuiAppHeader, VuiAppLayout, VuiAppSideNav, VuiAppSideNavLink, VuiBadge, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiHorizontalRule, VuiIcon, VuiInfoList, VuiInfoMenu, VuiInfoTable, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSpacer, VuiSpinner, VuiStatList, VuiStatus, VuiSteps, VuiSummary, VuiSummaryCitation, VuiSuperRadioGroup, VuiTable, VuiTab, VuiTabbedRoutes, VuiTabs, VuiText, VuiTextArea, VuiTextColor, VuiTextInput, VuiTimeline, VuiTimelineItem, VuiTitle, VuiToggle, VuiTooltip, VuiTopicButton };
|
package/lib/styles/index.css
CHANGED