@gravity-ui/navigation 0.19.0 → 0.21.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,12 +7,15 @@ export interface SettingsProps {
7
7
  filterPlaceholder?: string;
8
8
  emptyPlaceholder?: string;
9
9
  initialPage?: string;
10
+ initialSearch?: string;
10
11
  onPageChange?: (page: string | undefined) => void;
11
12
  renderNotFound?: () => React.ReactNode;
12
13
  renderLoading?: () => React.ReactNode;
13
14
  loading?: boolean;
14
15
  view?: 'normal' | 'mobile';
15
16
  onClose?: () => void;
17
+ renderRightAdornment?: (item: Pick<SettingsItemProps, 'title'>) => React.ReactNode;
18
+ showRightAdornmentOnHover?: boolean;
16
19
  }
17
20
  export interface SettingsGroupProps {
18
21
  id?: string;
@@ -34,6 +37,7 @@ export interface SettingsSectionProps {
34
37
  }
35
38
  export interface SettingsItemProps {
36
39
  title: string;
40
+ highlightedTitle?: React.ReactNode | null;
37
41
  renderTitleComponent?: (highlightedTitle: React.ReactNode | null) => React.ReactNode;
38
42
  align?: 'top' | 'center';
39
43
  children: React.ReactNode;
@@ -41,10 +45,13 @@ export interface SettingsItemProps {
41
45
  mode?: 'row';
42
46
  description?: string;
43
47
  }
44
- export declare function Settings({ loading, renderLoading, children, view, ...props }: SettingsProps): React.JSX.Element;
48
+ export interface SettingsContextType extends Pick<SettingsProps, 'renderRightAdornment' | 'showRightAdornmentOnHover'> {
49
+ }
50
+ export declare const useSettingsContext: () => SettingsContextType;
51
+ export declare function Settings({ loading, renderLoading, children, view, renderRightAdornment, showRightAdornmentOnHover, ...props }: SettingsProps): React.JSX.Element;
45
52
  export declare namespace Settings {
46
53
  var Group: ({ children }: SettingsGroupProps) => React.JSX.Element;
47
54
  var Page: ({ children }: SettingsPageProps) => React.JSX.Element;
48
55
  var Section: ({ children }: SettingsSectionProps) => React.JSX.Element;
49
- var Item: ({ title, children, align, withBadge, renderTitleComponent, mode, description, }: SettingsItemProps) => React.JSX.Element;
56
+ var Item: ({ title, highlightedTitle, children, align, withBadge, renderTitleComponent, mode, description, }: SettingsItemProps) => React.JSX.Element;
50
57
  }
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { TextInputSize } from '@gravity-ui/uikit';
3
3
  interface SettingsSearchProps {
4
4
  className?: string;
5
+ initialValue?: string;
5
6
  onChange: (search: string) => void;
6
7
  debounce?: number;
7
8
  inputRef?: React.Ref<HTMLInputElement>;
@@ -9,5 +10,5 @@ interface SettingsSearchProps {
9
10
  placeholder?: string;
10
11
  autoFocus?: boolean;
11
12
  }
12
- export declare function SettingsSearch({ className, onChange, debounce, inputRef, inputSize, placeholder, autoFocus, }: SettingsSearchProps): React.JSX.Element;
13
+ export declare function SettingsSearch({ className, initialValue, onChange, debounce, inputRef, inputSize, placeholder, autoFocus, }: SettingsSearchProps): React.JSX.Element;
13
14
  export {};
@@ -5114,11 +5114,15 @@ function escapeStringForRegExp(input) {
5114
5114
  }
5115
5115
 
5116
5116
  const b$9 = block('settings-search');
5117
- function SettingsSearch({ className, onChange, debounce = 200, inputRef, inputSize, placeholder, autoFocus = true, }) {
5118
- const onChangeStable = useStableCallback(onChange);
5119
- const handleUpdate = React__default["default"].useCallback(debounce_1(onChangeStable, debounce), [debounce]);
5117
+ function SettingsSearch({ className, initialValue, onChange, debounce = 200, inputRef, inputSize, placeholder, autoFocus = true, }) {
5118
+ const [value, setValue] = React__default["default"].useState(initialValue !== null && initialValue !== void 0 ? initialValue : '');
5119
+ const onChangeDebounced = useStableCallback(debounce_1(onChange, debounce));
5120
+ const handleUpdate = useStableCallback((updated) => {
5121
+ setValue(updated);
5122
+ onChangeDebounced(updated);
5123
+ });
5120
5124
  return (React__default["default"].createElement("div", { className: b$9(null, className) },
5121
- React__default["default"].createElement(uikit.TextInput, { controlRef: inputRef, hasClear: true, autoFocus: autoFocus, size: inputSize, placeholder: placeholder, onUpdate: handleUpdate })));
5125
+ React__default["default"].createElement(uikit.TextInput, { value: value, controlRef: inputRef, hasClear: true, autoFocus: autoFocus, size: inputSize, placeholder: placeholder, onUpdate: handleUpdate })));
5122
5126
  }
5123
5127
 
5124
5128
  var css_248z$8 = ".gn-settings-menu__group-heading {\n font-weight: var(--g-text-accent-font-weight);\n display: inline-block;\n padding: 0 20px;\n margin-bottom: 12px;\n line-height: 18px;\n}\n.gn-settings-menu__group + .gn-settings-menu__group {\n margin-top: 24px;\n}\n.gn-settings-menu__item {\n display: flex;\n align-items: center;\n height: 40px;\n padding: 0 20px;\n cursor: pointer;\n color: var(--g-color-text-primary);\n}\n.gn-settings-menu__item-icon {\n color: var(--g-color-text-misc);\n margin-right: 5px;\n}\n.gn-settings-menu__item:hover, .gn-settings-menu__item_focused {\n background: var(--g-color-base-simple-hover);\n}\n.gn-settings-menu__item_selected {\n background: var(--g-color-base-selection);\n}\n.gn-settings-menu__item_selected:hover, .gn-settings-menu__item_selected.gn-settings-menu__item_focused {\n background: var(--g-color-base-selection-hover);\n}\n.gn-settings-menu__item_disabled {\n color: var(--g-color-text-secondary);\n cursor: auto;\n}\n.gn-settings-menu__item_disabled:hover {\n background: none;\n}\n.gn-settings-menu__item_disabled .gn-settings-menu__item-icon {\n color: var(--g-color-base-misc-heavy);\n}\n.gn-settings-menu__item_badge {\n position: relative;\n}\n.gn-settings-menu__item_badge::after {\n content: \"\";\n display: block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--g-color-text-danger);\n position: absolute;\n right: 9px;\n top: calc(50% - 3px);\n}";
@@ -5364,16 +5368,19 @@ function getSettingsItemsFromChildren(children, filterRe) {
5364
5368
  return { items, hidden };
5365
5369
  }
5366
5370
 
5367
- var css_248z$6 = ".gn-settings {\n display: grid;\n grid-template-columns: 216px 1fr;\n width: 834px;\n height: 100%;\n}\n.gn-settings_view_mobile {\n display: block;\n width: auto;\n height: calc(80vh - 56px);\n overflow-x: hidden;\n}\n@supports (height: 90dvh) {\n .gn-settings_view_mobile {\n /* stylelint-disable-next-line */\n height: calc(90dvh - 56px);\n }\n}\n.gn-settings_view_mobile.gn-settings_loading {\n text-align: center;\n}\n.gn-settings_view_mobile .gn-settings__loader {\n margin-top: 20px;\n}\n.gn-settings_view_mobile .gn-settings__search {\n padding: 0 20px;\n margin: 4px 0 16px;\n}\n.gn-settings_view_mobile .gn-settings__page {\n overflow-y: visible;\n}\n.gn-settings_view_mobile .gn-settings__tabs .yc-tabs__item:first-child {\n margin-left: 20px;\n}\n.gn-settings_view_mobile .gn-settings__tabs .yc-tabs__item:last-child {\n margin-right: 20px;\n}\n.gn-settings_view_mobile .gn-settings__section-heading {\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n font-weight: var(--g-text-subheader-font-weight);\n}\n.gn-settings_view_mobile .gn-settings__section-subheader {\n color: var(--g-color-text-secondary);\n}\n.gn-settings_view_mobile .gn-settings__section-heading + .gn-settings-subheader {\n margin-top: 8px;\n}\n.gn-settings_view_mobile .gn-settings__section-item {\n margin-top: 0;\n}\n.gn-settings_view_mobile .gn-settings__section-heading + .gn-settings__section-item, .gn-settings_view_mobile .gn-settings__section-subheader + .gn-settings__section-item {\n margin-top: 30px;\n}\n.gn-settings_view_mobile .gn-settings__section-item + .gn-settings__section-item {\n margin-top: 22px;\n}\n.gn-settings_view_mobile .gn-settings__item:not(.gn-settings_view_mobile .gn-settings__item_mode_row) {\n grid-template-columns: 1fr;\n gap: 8px;\n}\n.gn-settings_view_mobile .gn-settings__item-heading {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n.gn-settings_view_mobile .gn-settings__item-description {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n.gn-settings_view_mobile .gn-settings__item_mode_row {\n grid-template-columns: 1fr auto;\n}\n.gn-settings_view_mobile .gn-settings__item_mode_row .gn-settings__item-heading {\n padding-right: 20px;\n}\n.gn-settings_view_mobile .gn-settings__item-content {\n width: 100%;\n}\n.gn-settings_loading {\n grid-template-columns: auto;\n}\n.gn-settings__loader {\n align-self: center;\n justify-self: center;\n}\n.gn-settings__not-found {\n display: grid;\n align-items: center;\n justify-items: center;\n height: 100%;\n}\n.gn-settings__menu {\n border-right: 1px solid var(--g-color-line-generic);\n}\n.gn-settings__heading {\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n font-weight: var(--g-text-subheader-font-weight);\n margin: 20px 20px 0;\n}\n.gn-settings__search {\n margin: 0 20px 16px;\n}\n.gn-settings__page {\n overflow-y: auto;\n}\n.gn-settings__content {\n padding: 20px;\n}\n.gn-settings__section-heading {\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n font-weight: var(--g-text-subheader-font-weight);\n margin: 0;\n}\n.gn-settings__section-item {\n margin-top: 24px;\n}\n.gn-settings__section + .gn-settings__section {\n margin-top: 32px;\n}\n.gn-settings__item {\n display: grid;\n grid-template-columns: 216px 1fr;\n justify-items: start;\n}\n.gn-settings__item_align_top {\n align-items: start;\n}\n.gn-settings__item_align_center {\n align-items: center;\n}\n.gn-settings__item-title_badge {\n position: relative;\n}\n.gn-settings__item-title_badge::after {\n content: \"\";\n display: block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--g-color-text-danger);\n position: absolute;\n right: -8px;\n top: 1px;\n}\n.gn-settings__item-description {\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n font-weight: var(--g-text-caption-font-weight);\n display: block;\n margin-top: 2px;\n padding-right: 20px;\n color: var(--g-color-text-secondary);\n}\n.gn-settings__found {\n font-weight: var(--g-text-accent-font-weight);\n background: var(--g-color-base-selection);\n}";
5371
+ var css_248z$6 = ".gn-settings {\n display: grid;\n grid-template-columns: 216px 1fr;\n width: 834px;\n height: 100%;\n}\n.gn-settings_view_mobile {\n display: block;\n width: auto;\n height: calc(80vh - 56px);\n overflow-x: hidden;\n}\n@supports (height: 90dvh) {\n .gn-settings_view_mobile {\n /* stylelint-disable-next-line */\n height: calc(90dvh - 56px);\n }\n}\n.gn-settings_view_mobile.gn-settings_loading {\n text-align: center;\n}\n.gn-settings_view_mobile .gn-settings__loader {\n margin-top: 20px;\n}\n.gn-settings_view_mobile .gn-settings__search {\n padding: 0 20px;\n margin: 4px 0 16px;\n}\n.gn-settings_view_mobile .gn-settings__page {\n overflow-y: visible;\n}\n.gn-settings_view_mobile .gn-settings__tabs .yc-tabs__item:first-child {\n margin-left: 20px;\n}\n.gn-settings_view_mobile .gn-settings__tabs .yc-tabs__item:last-child {\n margin-right: 20px;\n}\n.gn-settings_view_mobile .gn-settings__section-heading {\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n font-weight: var(--g-text-subheader-font-weight);\n}\n.gn-settings_view_mobile .gn-settings__section-subheader {\n color: var(--g-color-text-secondary);\n}\n.gn-settings_view_mobile .gn-settings__section-heading + .gn-settings-subheader {\n margin-top: 8px;\n}\n.gn-settings_view_mobile .gn-settings__section-item {\n margin-top: 0;\n}\n.gn-settings_view_mobile .gn-settings__section-heading + .gn-settings__section-item, .gn-settings_view_mobile .gn-settings__section-subheader + .gn-settings__section-item {\n margin-top: 30px;\n}\n.gn-settings_view_mobile .gn-settings__section-item + .gn-settings__section-item {\n margin-top: 22px;\n}\n.gn-settings_view_mobile .gn-settings__item:not(.gn-settings_view_mobile .gn-settings__item_mode_row) {\n grid-template-columns: 1fr;\n gap: 8px;\n}\n.gn-settings_view_mobile .gn-settings__item-heading {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n.gn-settings_view_mobile .gn-settings__item-description {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n.gn-settings_view_mobile .gn-settings__item_mode_row {\n grid-template-columns: 1fr auto;\n}\n.gn-settings_view_mobile .gn-settings__item_mode_row .gn-settings__item-heading {\n padding-right: 20px;\n}\n.gn-settings_view_mobile .gn-settings__item-content {\n width: 100%;\n}\n.gn-settings_loading {\n grid-template-columns: auto;\n}\n.gn-settings__loader {\n align-self: center;\n justify-self: center;\n}\n.gn-settings__not-found {\n display: grid;\n align-items: center;\n justify-items: center;\n height: 100%;\n}\n.gn-settings__menu {\n border-right: 1px solid var(--g-color-line-generic);\n}\n.gn-settings__heading {\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n font-weight: var(--g-text-subheader-font-weight);\n margin: 20px 20px 0;\n}\n.gn-settings__search {\n margin: 0 20px 16px;\n}\n.gn-settings__page {\n overflow-y: auto;\n}\n.gn-settings__content {\n padding: 20px;\n}\n.gn-settings__section-heading {\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n font-weight: var(--g-text-subheader-font-weight);\n margin: 0;\n}\n.gn-settings__section-item {\n margin-top: 24px;\n}\n.gn-settings__section + .gn-settings__section {\n margin-top: 32px;\n}\n.gn-settings__item {\n display: grid;\n grid-template-columns: 216px 1fr;\n justify-items: start;\n}\n.gn-settings__item_align_top {\n align-items: start;\n}\n.gn-settings__item_align_center {\n align-items: center;\n}\n.gn-settings__item-title_badge {\n position: relative;\n}\n.gn-settings__item-title_badge::after {\n content: \"\";\n display: block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--g-color-text-danger);\n position: absolute;\n right: -8px;\n top: 1px;\n}\n.gn-settings__item-description {\n font-size: var(--g-text-caption-2-font-size);\n line-height: var(--g-text-caption-2-line-height);\n font-weight: var(--g-text-caption-font-weight);\n display: block;\n margin-top: 2px;\n padding-right: 20px;\n color: var(--g-color-text-secondary);\n}\n.gn-settings__item-right-adornment_hidden {\n opacity: 0;\n transition: opacity 0.2s;\n}\n.gn-settings__item:hover .gn-settings__item-right-adornment_hidden {\n opacity: 1;\n}\n.gn-settings__found {\n font-weight: var(--g-text-accent-font-weight);\n background: var(--g-color-base-selection);\n}";
5368
5372
  styleInject(css_248z$6);
5369
5373
 
5370
5374
  const b$6 = block('settings');
5375
+ const SettingsContext = React__default["default"].createContext({});
5376
+ const useSettingsContext = () => React__default["default"].useContext(SettingsContext);
5371
5377
  function Settings(_a) {
5372
- var { loading, renderLoading, children, view = 'normal' } = _a, props = __rest(_a, ["loading", "renderLoading", "children", "view"]);
5378
+ var { loading, renderLoading, children, view = 'normal', renderRightAdornment, showRightAdornmentOnHover = true } = _a, props = __rest(_a, ["loading", "renderLoading", "children", "view", "renderRightAdornment", "showRightAdornmentOnHover"]);
5373
5379
  if (loading) {
5374
5380
  return (React__default["default"].createElement("div", { className: b$6({ loading: true, view }) }, typeof renderLoading === 'function' ? (renderLoading()) : (React__default["default"].createElement(uikit.Loader, { className: b$6('loader'), size: "m" }))));
5375
5381
  }
5376
- return (React__default["default"].createElement(SettingsContent, Object.assign({ view: view }, props), children));
5382
+ return (React__default["default"].createElement(SettingsContext.Provider, { value: { renderRightAdornment, showRightAdornmentOnHover } },
5383
+ React__default["default"].createElement(SettingsContent, Object.assign({ view: view }, props), children)));
5377
5384
  }
5378
5385
  const getPageTitleById = (menu, activePage) => {
5379
5386
  for (const firstLevel of menu) {
@@ -5387,9 +5394,9 @@ const getPageTitleById = (menu, activePage) => {
5387
5394
  }
5388
5395
  return '';
5389
5396
  };
5390
- function SettingsContent({ initialPage, children, renderNotFound, title = i18n$1('label_title'), filterPlaceholder = i18n$1('label_filter-placeholder'), emptyPlaceholder = i18n$1('label_empty-placeholder'), view, onPageChange, onClose, }) {
5397
+ function SettingsContent({ initialPage, initialSearch, children, renderNotFound, title = i18n$1('label_title'), filterPlaceholder = i18n$1('label_filter-placeholder'), emptyPlaceholder = i18n$1('label_empty-placeholder'), view, onPageChange, onClose, }) {
5391
5398
  var _a, _b;
5392
- const [search, setSearch] = React__default["default"].useState('');
5399
+ const [search, setSearch] = React__default["default"].useState(initialSearch !== null && initialSearch !== void 0 ? initialSearch : '');
5393
5400
  const { menu, pages } = getSettingsFromChildren(children, search);
5394
5401
  const pageKeys = Object.keys(pages);
5395
5402
  const [selectedPage, setCurrentPage] = React__default["default"].useState(initialPage && pageKeys.includes(initialPage) ? initialPage : undefined);
@@ -5438,13 +5445,13 @@ function SettingsContent({ initialPage, children, renderNotFound, title = i18n$1
5438
5445
  section.showTitle && (React__default["default"].createElement("h3", { className: b$6('section-heading') }, section.title)),
5439
5446
  section.header &&
5440
5447
  (isMobile ? (React__default["default"].createElement("div", { className: b$6('section-subheader') }, section.header)) : (section.header)),
5441
- section.items.map(({ hidden, title, element }) => hidden ? null : (React__default["default"].createElement("div", { key: title, className: b$6('section-item') }, React__default["default"].cloneElement(element, Object.assign(Object.assign({}, element.props), { title: search && title
5448
+ section.items.map(({ hidden, title, element }) => hidden ? null : (React__default["default"].createElement("div", { key: title, className: b$6('section-item') }, React__default["default"].cloneElement(element, Object.assign(Object.assign({}, element.props), { highlightedTitle: search && title
5442
5449
  ? prepareTitle(title, search)
5443
5450
  : title })))))))))));
5444
5451
  };
5445
5452
  return (React__default["default"].createElement("div", { className: b$6({ view }) },
5446
5453
  isMobile ? (React__default["default"].createElement(React__default["default"].Fragment, null,
5447
- React__default["default"].createElement(SettingsSearch, { inputRef: searchInputRef, className: b$6('search'), onChange: setSearch, autoFocus: false, inputSize: 'l' }),
5454
+ React__default["default"].createElement(SettingsSearch, { inputRef: searchInputRef, className: b$6('search'), initialValue: initialSearch, onChange: setSearch, autoFocus: false, inputSize: 'l' }),
5448
5455
  React__default["default"].createElement(SettingsMenuMobile, { items: menu, onChange: handlePageChange, activeItemId: activePage, className: b$6('tabs') }))) : (React__default["default"].createElement("div", { className: b$6('menu'), onClick: () => {
5449
5456
  if (searchInputRef.current) {
5450
5457
  searchInputRef.current.focus();
@@ -5457,7 +5464,7 @@ function SettingsContent({ initialPage, children, renderNotFound, title = i18n$1
5457
5464
  }
5458
5465
  } },
5459
5466
  React__default["default"].createElement(Title, null, title),
5460
- React__default["default"].createElement(SettingsSearch, { inputRef: searchInputRef, className: b$6('search'), onChange: setSearch, placeholder: filterPlaceholder, autoFocus: true }),
5467
+ React__default["default"].createElement(SettingsSearch, { inputRef: searchInputRef, className: b$6('search'), initialValue: initialSearch, onChange: setSearch, placeholder: filterPlaceholder, autoFocus: true }),
5461
5468
  React__default["default"].createElement(SettingsMenu, { ref: menuRef, items: menu, onChange: handlePageChange, activeItemId: activePage }))),
5462
5469
  React__default["default"].createElement("div", { className: b$6('page') }, renderPageContent())));
5463
5470
  }
@@ -5470,10 +5477,16 @@ Settings.Page = function SettingsPage({ children }) {
5470
5477
  Settings.Section = function SettingsSection({ children }) {
5471
5478
  return React__default["default"].createElement(React__default["default"].Fragment, null, children);
5472
5479
  };
5473
- Settings.Item = function SettingsItem({ title, children, align = 'center', withBadge, renderTitleComponent = identity_1, mode, description, }) {
5480
+ Settings.Item = function SettingsItem({ title, highlightedTitle, children, align = 'center', withBadge, renderTitleComponent = identity_1, mode, description, }) {
5481
+ const { renderRightAdornment, showRightAdornmentOnHover } = useSettingsContext();
5482
+ const titleNode = (React__default["default"].createElement("span", { className: b$6('item-title', { badge: withBadge }) }, renderTitleComponent(highlightedTitle)));
5474
5483
  return (React__default["default"].createElement("div", { className: b$6('item', { align, mode }) },
5475
5484
  React__default["default"].createElement("label", { className: b$6('item-heading') },
5476
- React__default["default"].createElement("span", { className: b$6('item-title', { badge: withBadge }) }, renderTitleComponent(title)),
5485
+ renderRightAdornment ? (React__default["default"].createElement(uikit.Flex, { className: b$6('item-title-wrapper'), gap: 3 },
5486
+ titleNode,
5487
+ React__default["default"].createElement("div", { className: b$6('item-right-adornment', {
5488
+ hidden: showRightAdornmentOnHover,
5489
+ }) }, renderRightAdornment({ title })))) : (titleNode),
5477
5490
  description ? React__default["default"].createElement("span", { className: b$6('item-description') }, description) : null),
5478
5491
  React__default["default"].createElement("div", { className: b$6('item-content') }, children)));
5479
5492
  };
@@ -5777,4 +5790,5 @@ exports.Settings = Settings;
5777
5790
  exports.Title = Title;
5778
5791
  exports.configure = configure;
5779
5792
  exports.useAsideHeaderContext = useAsideHeaderContext;
5793
+ exports.useSettingsContext = useSettingsContext;
5780
5794
  //# sourceMappingURL=index.js.map