@vectara/vectara-ui 16.1.2 → 16.3.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.
@@ -0,0 +1,14 @@
1
+ import { ReactElement, ReactNode } from "react";
2
+ type Props = {
3
+ title: ReactNode;
4
+ description?: ReactNode;
5
+ footer?: ReactNode;
6
+ icon?: ReactElement;
7
+ onClick: () => void;
8
+ isDisabled?: boolean;
9
+ className?: string;
10
+ "data-testid"?: string;
11
+ "aria-label"?: string;
12
+ };
13
+ export declare const VuiComplexConfigurationButton: ({ title, description, footer, icon, onClick, isDisabled, className, "data-testid": dataTestId, "aria-label": ariaLabel }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { BiPencil } from "react-icons/bi";
3
+ import classNames from "classnames";
4
+ import { VuiFlexContainer } from "../flex/FlexContainer";
5
+ import { VuiIcon } from "../icon/Icon";
6
+ import { VuiSpacer } from "../spacer/Spacer";
7
+ import { VuiText } from "../typography/Text";
8
+ export const VuiComplexConfigurationButton = ({ title, description, footer, icon, onClick, isDisabled, className, "data-testid": dataTestId, "aria-label": ariaLabel }) => {
9
+ const classes = classNames("vuiComplexConfigurationButton", className);
10
+ return (_jsxs("button", Object.assign({ type: "button", className: classes, onClick: onClick, disabled: isDisabled, "data-testid": dataTestId, "aria-label": ariaLabel }, { children: [_jsxs(VuiFlexContainer, Object.assign({ alignItems: "center", justifyContent: "spaceBetween" }, { children: [_jsx(VuiText, Object.assign({ align: "left" }, { children: _jsx("p", { children: _jsx("strong", { children: title }) }) })), _jsx(VuiIcon, Object.assign({ size: "m", color: "primary" }, { children: icon !== null && icon !== void 0 ? icon : _jsx(BiPencil, {}) }))] })), description && (_jsxs(_Fragment, { children: [_jsx(VuiSpacer, { size: "s" }), _jsx(VuiText, Object.assign({ align: "left" }, { children: _jsx("p", { children: description }) }))] })), footer && (_jsxs(_Fragment, { children: [_jsx(VuiSpacer, { size: "s" }), footer] }))] })));
11
+ };
@@ -0,0 +1,17 @@
1
+ .vuiComplexConfigurationButton {
2
+ width: 100%;
3
+ border: 1px solid var(--vui-color-primary-highlight-shade);
4
+ padding: $sizeS $sizeM;
5
+ border-radius: $sizeXs;
6
+ transition: box-shadow $transitionSpeed, border-color $transitionSpeed;
7
+
8
+ &:hover:not(:disabled) {
9
+ border-color: var(--vui-color-primary-shade);
10
+ box-shadow: $shadowLargeEnd;
11
+ }
12
+
13
+ &:disabled {
14
+ cursor: not-allowed;
15
+ opacity: 0.5;
16
+ }
17
+ }
@@ -21,6 +21,7 @@ import { ChatTurn, ChatStyle, ChatLanguage } from "./chat/types";
21
21
  import { VuiChat } from "./chat/Chat";
22
22
  import { VuiCode } from "./code/Code";
23
23
  import { CodeLanguage } from "./code/types";
24
+ import { VuiComplexConfigurationButton } from "./complexConfigurationButton/ComplexConfigurationButton";
24
25
  import { VuiContextProvider } from "./context/Context";
25
26
  import { VuiCopyButton } from "./copyButton/CopyButton";
26
27
  import { VuiDatePicker } from "./datePicker/DatePicker";
@@ -81,7 +82,7 @@ import { VuiTable } from "./table/Table";
81
82
  import { VuiTab } from "./tabs/Tab";
82
83
  import { VuiTabbedRoutes } from "./tabs/TabbedRoutes";
83
84
  import { VuiTabs } from "./tabs/Tabs";
84
- import { VuiTabsNavigator } from "./tabs/TabNavigator";
85
+ import { VuiTabsNavigator } from "./tabs/TabsNavigator";
85
86
  import { TAB_SIZE, TabSize } from "./tabs/types";
86
87
  import { VuiText } from "./typography/Text";
87
88
  import { VuiTextColor } from "./typography/TextColor";
@@ -95,4 +96,4 @@ import { VuiTopicButton } from "./topicButton/TopicButton";
95
96
  import { copyToClipboard } from "../utils/copyToClipboard";
96
97
  import { toRgb, toRgba } from "./context/Theme";
97
98
  export type { AnchorSide, AppContentPadding, ButtonColor, CalloutColor, ChatLanguage, ChatStyle, ChatTurn, CheckboxConfig, CodeEditorColorConfig, CodeEditorError, CodeLanguage, InfoListItemType, InfoListType, InfoTableColumnAlign, InfoTableRow, InfoTableRowType, LinkProps, MenuItem, OptionListItem, Pagination, RadioButtonConfig, SearchResult, SearchSuggestion, Sections, SectionItem, Stat, StepStatus, StepSize, Steps, StepsVertical, StepVerticalStatus, TabSize, Tree, TreeItem };
98
- export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, 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, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiCodeEditor, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiGridItem, VuiHorizontalRule, VuiIcon, VuiImage, VuiImagePreview, VuiInfoList, VuiInfoListItem, VuiInfoMenu, VuiInfoTable, VuiInfoTooltip, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPagination, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSimpleCard, VuiSimpleGrid, VuiSpacer, 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 };
99
+ export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, 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, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiCodeEditor, VuiComplexConfigurationButton, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiGridItem, VuiHorizontalRule, VuiIcon, VuiImage, VuiImagePreview, VuiInfoList, VuiInfoListItem, VuiInfoMenu, VuiInfoTable, VuiInfoTooltip, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPagination, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSimpleCard, VuiSimpleGrid, VuiSpacer, 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 };
@@ -17,6 +17,7 @@ import { VuiCard, VuiSimpleCard } from "./card";
17
17
  import { CALLOUT_COLOR, CALLOUT_SIZE } from "./callout/types";
18
18
  import { VuiChat } from "./chat/Chat";
19
19
  import { VuiCode } from "./code/Code";
20
+ import { VuiComplexConfigurationButton } from "./complexConfigurationButton/ComplexConfigurationButton";
20
21
  import { VuiContextProvider } from "./context/Context";
21
22
  import { VuiCopyButton } from "./copyButton/CopyButton";
22
23
  import { VuiDatePicker } from "./datePicker/DatePicker";
@@ -74,7 +75,7 @@ import { VuiTable } from "./table/Table";
74
75
  import { VuiTab } from "./tabs/Tab";
75
76
  import { VuiTabbedRoutes } from "./tabs/TabbedRoutes";
76
77
  import { VuiTabs } from "./tabs/Tabs";
77
- import { VuiTabsNavigator } from "./tabs/TabNavigator";
78
+ import { VuiTabsNavigator } from "./tabs/TabsNavigator";
78
79
  import { TAB_SIZE } from "./tabs/types";
79
80
  import { VuiText } from "./typography/Text";
80
81
  import { VuiTextColor } from "./typography/TextColor";
@@ -87,4 +88,4 @@ import { VuiInfoTooltip } from "./tooltip/InfoTooltip";
87
88
  import { VuiTopicButton } from "./topicButton/TopicButton";
88
89
  import { copyToClipboard } from "../utils/copyToClipboard";
89
90
  import { toRgb, toRgba } from "./context/Theme";
90
- export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, 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, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiCodeEditor, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiGridItem, VuiHorizontalRule, VuiIcon, VuiImage, VuiImagePreview, VuiInfoList, VuiInfoListItem, VuiInfoMenu, VuiInfoTable, VuiInfoTooltip, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPagination, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSimpleCard, VuiSimpleGrid, VuiSpacer, 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 };
91
+ export { BADGE_COLOR, BUTTON_COLOR, BUTTON_SIZE, CALLOUT_COLOR, CALLOUT_SIZE, ICON_COLOR, ICON_SIZE, ICON_TYPE, 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, VuiButtonPrimary, VuiButtonSecondary, VuiButtonTertiary, VuiIconButton, VuiCallout, VuiCard, VuiChat, VuiCheckbox, VuiCode, VuiCodeEditor, VuiComplexConfigurationButton, VuiContextProvider, VuiCopyButton, VuiDatePicker, VuiDateRangePicker, VuiDrawer, VuiErrorBoundary, VuiFlexContainer, VuiFlexItem, VuiFormGroup, VuiGrid, VuiGridItem, VuiHorizontalRule, VuiIcon, VuiImage, VuiImagePreview, VuiInfoList, VuiInfoListItem, VuiInfoMenu, VuiInfoTable, VuiInfoTooltip, VuiInProgress, VuiItemsInput, VuiLabel, VuiLink, VuiLinkInternal, VuiList, VuiMenu, VuiMenuItem, VuiModal, VuiNotifications, VuiNumberInput, VuiOptionsButton, VuiOptionsList, VuiOptionsListItem, VuiPagination, VuiPanel, VuiPasswordInput, VuiPopover, VuiPortal, VuiProgressBar, VuiPrompt, VuiRadioButton, VuiScreenBlock, VuiSearchInput, VuiSearchResult, VuiSearchSelect, VuiSelect, VuiSetting, VuiSimpleCard, VuiSimpleGrid, VuiSpacer, 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 };
@@ -3,6 +3,7 @@ import { TabRoute } from "./types";
3
3
  type Props = {
4
4
  routes: TabRoute[];
5
5
  popover?: Omit<PopoverProps, "header" | "isOpen" | "setIsOpen" | "button" | "children" | "padding">;
6
+ "data-testid"?: string;
6
7
  };
7
- export declare const VuiTabsNavigator: ({ routes, popover }: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const VuiTabsNavigator: ({ routes, popover, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -1,3 +1,14 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
13
  import { useState } from "react";
3
14
  import { VuiPopover } from "../popover/Popover";
@@ -6,8 +17,9 @@ import { VuiTabs } from "./Tabs";
6
17
  import { useVuiContext } from "../context/Context";
7
18
  import { VuiIcon } from "../icon/Icon";
8
19
  import { BiDotsVertical } from "react-icons/bi";
9
- export const VuiTabsNavigator = ({ routes, popover }) => {
10
- var _a;
20
+ export const VuiTabsNavigator = (_a) => {
21
+ var _b;
22
+ var { routes, popover } = _a, rest = __rest(_a, ["routes", "popover"]);
11
23
  const { getPath } = useVuiContext();
12
24
  const [isOpen, setIsOpen] = useState(false);
13
25
  const isRouteActive = (route) => {
@@ -15,7 +27,7 @@ export const VuiTabsNavigator = ({ routes, popover }) => {
15
27
  return (_a = route.isActive) !== null && _a !== void 0 ? _a : (route.href ? getPath().includes(route.href) : false);
16
28
  };
17
29
  const activeRoute = routes.find((route) => isRouteActive(route));
18
- return (_jsx(VuiPopover, Object.assign({}, popover, { isOpen: isOpen, setIsOpen: () => setIsOpen(!isOpen), button: _jsx("button", Object.assign({ className: "vuiTabsNavigatorButton" }, { children: _jsxs("div", Object.assign({ className: "vuiTabsNavigatorButton__inner" }, { children: [_jsx(VuiIcon, Object.assign({ size: "xs" }, { children: _jsx(BiDotsVertical, {}) })), _jsx("div", { children: (_a = activeRoute === null || activeRoute === void 0 ? void 0 : activeRoute.title) !== null && _a !== void 0 ? _a : "No selection" })] })) })), padding: "none" }, { children: _jsx(VuiTabs, Object.assign({ size: "s", tabStyle: "enclosed", vertical: true }, { children: routes.map((route, index) => {
30
+ return (_jsx(VuiPopover, Object.assign({}, popover, { isOpen: isOpen, setIsOpen: () => setIsOpen(!isOpen), button: _jsx("button", Object.assign({ className: "vuiTabsNavigatorButton" }, rest, { children: _jsxs("div", Object.assign({ className: "vuiTabsNavigatorButton__inner" }, { children: [_jsx(VuiIcon, Object.assign({ size: "xs" }, { children: _jsx(BiDotsVertical, {}) })), _jsx("div", { children: (_b = activeRoute === null || activeRoute === void 0 ? void 0 : activeRoute.title) !== null && _b !== void 0 ? _b : "No selection" })] })) })), padding: "none" }, { children: _jsx(VuiTabs, Object.assign({ size: "s", tabStyle: "enclosed", vertical: true }, { children: routes.map((route, index) => {
19
31
  const { href, onClick, title, render, testId } = route;
20
32
  const tabLink = (_jsx(VuiTab, Object.assign({ href: href, isActive: isRouteActive(route), "data-testid": testId, onClick: () => {
21
33
  onClick === null || onClick === void 0 ? void 0 : onClick();
@@ -1571,6 +1571,22 @@ fieldset {
1571
1571
  padding: 8px 4px 0 24px;
1572
1572
  }
1573
1573
 
1574
+ .vuiComplexConfigurationButton {
1575
+ width: 100%;
1576
+ border: 1px solid var(--vui-color-primary-highlight-shade);
1577
+ padding: 12px 16px;
1578
+ border-radius: 8px;
1579
+ transition: box-shadow 0.2s, border-color 0.2s;
1580
+ }
1581
+ .vuiComplexConfigurationButton:hover:not(:disabled) {
1582
+ border-color: var(--vui-color-primary-shade);
1583
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
1584
+ }
1585
+ .vuiComplexConfigurationButton:disabled {
1586
+ cursor: not-allowed;
1587
+ opacity: 0.5;
1588
+ }
1589
+
1574
1590
  .react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
1575
1591
  .react-datepicker__month-read-view--down-arrow,
1576
1592
  .react-datepicker__month-year-read-view--down-arrow {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectara/vectara-ui",
3
- "version": "16.1.2",
3
+ "version": "16.3.0",
4
4
  "homepage": "./",
5
5
  "description": "Vectara's design system, codified as a React and Sass component library",
6
6
  "author": "Vectara",
@@ -0,0 +1,53 @@
1
+ import { BiCog } from "react-icons/bi";
2
+ import { VuiComplexConfigurationButton, VuiSpacer, VuiStatList } from "../../../lib";
3
+
4
+ export const ComplexConfigurationButton = () => {
5
+ return (
6
+ <>
7
+ <VuiComplexConfigurationButton title="Title only" onClick={() => console.log("clicked")} />
8
+
9
+ <VuiSpacer size="m" />
10
+
11
+ <VuiComplexConfigurationButton
12
+ title="Title with description"
13
+ description="A secondary line of text describing the current selection."
14
+ onClick={() => console.log("clicked")}
15
+ />
16
+
17
+ <VuiSpacer size="m" />
18
+
19
+ <VuiComplexConfigurationButton
20
+ title="With a footer"
21
+ description="Pass any node into the footer slot."
22
+ footer={
23
+ <VuiStatList
24
+ size="xs"
25
+ stats={[
26
+ { name: "Tokens", value: "4096" },
27
+ { name: "Temperature", value: "0.7" }
28
+ ]}
29
+ />
30
+ }
31
+ onClick={() => console.log("clicked")}
32
+ />
33
+
34
+ <VuiSpacer size="m" />
35
+
36
+ <VuiComplexConfigurationButton
37
+ title="Custom icon"
38
+ description="Override the default pencil with any icon."
39
+ icon={<BiCog />}
40
+ onClick={() => console.log("clicked")}
41
+ />
42
+
43
+ <VuiSpacer size="m" />
44
+
45
+ <VuiComplexConfigurationButton
46
+ title="Disabled"
47
+ description="Click is suppressed and hover styling is disabled."
48
+ isDisabled
49
+ onClick={() => console.log("clicked")}
50
+ />
51
+ </>
52
+ );
53
+ };
@@ -0,0 +1,11 @@
1
+ import { ComplexConfigurationButton } from "./ComplexConfigurationButton";
2
+ const ComplexConfigurationButtonSource = require("!!raw-loader!./ComplexConfigurationButton");
3
+
4
+ export const complexConfigurationButton = {
5
+ name: "Complex Configuration Button",
6
+ path: "/complexConfigurationButton",
7
+ example: {
8
+ component: <ComplexConfigurationButton />,
9
+ source: ComplexConfigurationButtonSource.default.toString()
10
+ }
11
+ };
@@ -10,6 +10,7 @@ import { chat } from "./pages/chat";
10
10
  import { checkbox } from "./pages/checkbox";
11
11
  import { code } from "./pages/code";
12
12
  import { codeEditor } from "./pages/codeEditor";
13
+ import { complexConfigurationButton } from "./pages/complexConfigurationButton";
13
14
  import { copyButton } from "./pages/copyButton";
14
15
  import { datePicker } from "./pages/datePicker";
15
16
  import { drawer } from "./pages/drawer";
@@ -132,7 +133,17 @@ export const categories: Category[] = [
132
133
  },
133
134
  {
134
135
  name: "Controls",
135
- pages: [button, copyButton, link, topicButton, menu, optionsButton, optionsList, searchSelect]
136
+ pages: [
137
+ button,
138
+ complexConfigurationButton,
139
+ copyButton,
140
+ link,
141
+ topicButton,
142
+ menu,
143
+ optionsButton,
144
+ optionsList,
145
+ searchSelect
146
+ ]
136
147
  },
137
148
  {
138
149
  name: "Utils",