@vezham/react 26.0.0-alpha.9 → 26.0.0-beta.1

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.
Files changed (59) hide show
  1. package/dist/lib/components/command/index.js +2 -2
  2. package/dist/lib/components/menu/index.js +2 -2
  3. package/dist/lib/components/panel/footer/ai/message-actions.js +2 -2
  4. package/dist/lib/components/panel/footer/ai/mock-result.js +2 -2
  5. package/dist/lib/components/panel/footer/control-center/appearance.d.ts +2 -1
  6. package/dist/lib/components/panel/footer/control-center/appearance.d.ts.map +1 -1
  7. package/dist/lib/components/panel/footer/control-center/appearance.js +4 -3
  8. package/dist/lib/components/panel/footer/control-center/control-center.js +11 -8
  9. package/dist/lib/components/panel/footer/control-center/direction.d.ts +2 -1
  10. package/dist/lib/components/panel/footer/control-center/direction.d.ts.map +1 -1
  11. package/dist/lib/components/panel/footer/control-center/direction.js +6 -4
  12. package/dist/lib/components/panel/footer/control-center/editor.d.ts +3 -1
  13. package/dist/lib/components/panel/footer/control-center/editor.d.ts.map +1 -1
  14. package/dist/lib/components/panel/footer/control-center/editor.js +24 -6
  15. package/dist/lib/components/panel/footer/control-center/preview.d.ts +4 -2
  16. package/dist/lib/components/panel/footer/control-center/preview.d.ts.map +1 -1
  17. package/dist/lib/components/panel/footer/control-center/preview.js +4 -2
  18. package/dist/lib/components/panel/footer/control-center/tile.d.ts.map +1 -1
  19. package/dist/lib/components/panel/footer/control-center/tile.js +12 -7
  20. package/dist/lib/components/panel/footer/control-center/variant.d.ts +27 -0
  21. package/dist/lib/components/panel/footer/control-center/variant.d.ts.map +1 -1
  22. package/dist/lib/components/panel/footer/control-center/variant.js +30 -9
  23. package/dist/lib/components/panel/footer/index.js +2 -2
  24. package/dist/lib/components/panel/footer/notification-center/index.js +2 -2
  25. package/dist/lib/components/panel/footer/notification-center/widget-tiles.d.ts +88 -3
  26. package/dist/lib/components/panel/footer/notification-center/widget-tiles.d.ts.map +1 -1
  27. package/dist/lib/components/panel/footer/notification-center/widget-tiles.js +63 -25
  28. package/dist/lib/components/panel/footer/user-menu.d.ts.map +1 -1
  29. package/dist/lib/components/panel/footer/user-menu.js +258 -230
  30. package/dist/lib/components/panel/header/application-menu-sheet.js +5 -5
  31. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/index.js +1 -1
  32. package/dist/lib/components/panel/header/bookmarks/bookmark-file-tree/variants.js +1 -1
  33. package/dist/lib/components/panel/header/bookmarks/favorites/grid-list.js +2 -2
  34. package/dist/lib/components/panel/header/bookmarks/index.js +2 -1
  35. package/dist/lib/components/panel/header/bookmarks/shortcut-context-menu.js +2 -1
  36. package/dist/lib/components/panel/header/bookmarks/tree-data.js +2 -1
  37. package/dist/lib/components/panel/header/index.js +5 -5
  38. package/dist/lib/components/panel/header/storage/types.d.ts +1 -1
  39. package/dist/lib/components/panel/info-panel/container.module.js +4 -2
  40. package/dist/lib/components/panel/menu/index.js +2 -2
  41. package/dist/lib/components/panel/menu/types.d.ts +1 -1
  42. package/dist/lib/layouts/menu-layout/index-md.js +3 -3
  43. package/dist/lib/layouts/menu-layout/index-sm.js +2 -2
  44. package/dist/lib/layouts/section/index.d.ts.map +1 -1
  45. package/dist/lib/layouts/section/index.js +7 -7
  46. package/dist/lib/layouts/section/sidebar.js +2 -2
  47. package/dist/lib/layouts/section/toolbar-more-sheet.js +3 -3
  48. package/dist/lib/layouts/section/toolbar.js +4 -4
  49. package/dist/lib/pages/settings/index.d.ts.map +1 -1
  50. package/dist/lib/pages/settings/index.js +72 -27
  51. package/dist/lib/pages/settings/navigation.d.ts +1 -1
  52. package/dist/lib/pages/settings/navigation.d.ts.map +1 -1
  53. package/dist/lib/pages/settings/settings-content.js +1 -1
  54. package/dist/lib/pages/settings/tile-gallery.d.ts +6 -1
  55. package/dist/lib/pages/settings/tile-gallery.d.ts.map +1 -1
  56. package/dist/lib/pages/settings/tile-gallery.js +175 -100
  57. package/dist/lib/store/useBookmarks/index.js +2 -2
  58. package/dist/lib/store/useStorage/index.js +1 -1
  59. package/package.json +2 -2
@@ -9,7 +9,7 @@ import { BookmarksTrigger } from "./bookmarks/index.js";
9
9
  import { StorageTrigger } from "./storage/index.js";
10
10
  import { useCallback, useState } from "react";
11
11
  import { Avatar, Button, Dropdown, Label, Separator, Surface, Tooltip, useMediaQuery } from "@vezham/react-v3";
12
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
13
  import { AltArrowDown, Archive, Bookmark, Magnifier, SidebarMinimalistic } from "@vezham/icons-react";
14
14
  //#region src/lib/components/panel/header/index.tsx
15
15
  var Header = ({ users, showSearch = false, showBookamarks = false, showStorage = false, onAvatarClick, onSearchClick, isDockHidden = false, onToggleDock, isSidebarOpen = false, onToggleSidebar, extraActions, className, compact = false, hideSeparator = false, showMenuUtilities = true }) => {
@@ -95,7 +95,7 @@ var Header = ({ users, showSearch = false, showBookamarks = false, showStorage =
95
95
  })]
96
96
  })]
97
97
  });
98
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(Surface, {
98
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Surface, {
99
99
  variant: "transparent",
100
100
  className: `flex flex-row items-center gap-1 md:flex-col md:gap-3 ${className ?? ""}`,
101
101
  "data-vx": "header",
@@ -190,7 +190,7 @@ var HeaderApplicationMenuContent = ({ onClose, onSearch, navigationLabel, onTogg
190
190
  onPress: onClose,
191
191
  children: /* @__PURE__ */ jsx(Label, { children: "Back to home" })
192
192
  }),
193
- showHistoryNavigation && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(Dropdown.Item, {
193
+ showHistoryNavigation && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Dropdown.Item, {
194
194
  id: "back",
195
195
  textValue: "Back",
196
196
  "aria-keyshortcuts": "Meta+ArrowLeft",
@@ -252,7 +252,7 @@ var HeaderApplicationMenuContent = ({ onClose, onSearch, navigationLabel, onTogg
252
252
  })
253
253
  ]
254
254
  }),
255
- showMenuUtilities && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Separator, {}), /* @__PURE__ */ jsxs(Dropdown.Item, {
255
+ showMenuUtilities && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Separator, {}), /* @__PURE__ */ jsxs(Dropdown.Item, {
256
256
  id: "search",
257
257
  textValue: "Search",
258
258
  "aria-label": "Open command palette",
@@ -319,7 +319,7 @@ var HeaderApplicationMenuContent = ({ onClose, onSearch, navigationLabel, onTogg
319
319
  };
320
320
  var HeaderPanelMenuItems = ({ showBookamarks, showStorage, onClose }) => {
321
321
  const { toggleInfoPanel, activeInfoPanel, isOpen } = useInfoPanel();
322
- return /* @__PURE__ */ jsxs(Fragment, { children: [showBookamarks && /* @__PURE__ */ jsxs(Dropdown.Item, {
322
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [showBookamarks && /* @__PURE__ */ jsxs(Dropdown.Item, {
323
323
  id: "bookmarks",
324
324
  textValue: "Bookmarks",
325
325
  "aria-label": "Bookmarks",
@@ -341,7 +341,7 @@ declare const useProps: (originalProps: Props) => {
341
341
  variant?: "dark" | "light" | "default" | "glass" | undefined;
342
342
  } & import('tailwind-variants').ClassProp<import('tailwind-variants').ClassValue>) | undefined) => string;
343
343
  };
344
- classNames: Partial<Record<"tabs" | "base" | "search_input" | "search_input_wrapper" | "search_icon" | "empty_container" | "empty_icon" | "empty_title" | "empty_description" | "item" | "tabs_list_container" | "tabs_list" | "tab_archive" | "tab_trash" | "tab_indicator" | "container" | "actions_bar" | "actions_bar_with_gap" | "clear_all_button" | "restore_all_button" | "items_container" | "date_group" | "date_header" | "date_label" | "date_divider" | "items_list" | "item_favicon" | "item_fallback_icon" | "item_content" | "item_title" | "item_url" | "item_actions" | "unarchive_button" | "restore_button" | "delete_button" | "delete_permanent_button" | "action_icon" | "action_icon_success" | "action_icon_danger" | "action_icon_default", string>> | undefined;
344
+ classNames: Partial<Record<"tabs" | "base" | "container" | "search_input" | "search_input_wrapper" | "search_icon" | "empty_container" | "empty_icon" | "empty_title" | "empty_description" | "item" | "tabs_list_container" | "tabs_list" | "tab_archive" | "tab_trash" | "tab_indicator" | "actions_bar" | "actions_bar_with_gap" | "clear_all_button" | "restore_all_button" | "items_container" | "date_group" | "date_header" | "date_label" | "date_divider" | "items_list" | "item_favicon" | "item_fallback_icon" | "item_content" | "item_title" | "item_url" | "item_actions" | "unarchive_button" | "restore_button" | "delete_button" | "delete_permanent_button" | "action_icon" | "action_icon_success" | "action_icon_danger" | "action_icon_default", string>> | undefined;
345
345
  children: ReactNode;
346
346
  getTabsProps: () => {
347
347
  className: string;
@@ -1,8 +1,10 @@
1
+ //#region src/lib/components/panel/info-panel/container.module.css
2
+ var panel = "_panel_inr1p_1";
1
3
  var container_module_default = {
2
- panel: "_panel_inr1p_1",
4
+ panel,
3
5
  "panel-enter": "_panel-enter_inr1p_1",
4
6
  "panel-exit": "_panel-exit_inr1p_1",
5
7
  "panel-reduced": "_panel-reduced_inr1p_1"
6
8
  };
7
9
  //#endregion
8
- export { container_module_default as default };
10
+ export { container_module_default as default, panel };
@@ -3,7 +3,7 @@ import { useProps } from "./types.js";
3
3
  import { useNavigate } from "@tanstack/react-router";
4
4
  import { forwardRef, useState } from "react";
5
5
  import { Drawer, ScrollShadow, Tooltip, cn } from "@vezham/react-v3";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/lib/components/panel/menu/index.tsx
8
8
  var Menu = forwardRef((props, ref) => {
9
9
  const navigate = useNavigate();
@@ -75,7 +75,7 @@ var Menu = forwardRef((props, ref) => {
75
75
  children: item.submenu?.map((subItem) => renderSubMenuItem(subItem, depth + 1))
76
76
  })] }, item.key);
77
77
  };
78
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Component, {
78
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Component, {
79
79
  ...getBaseProps(),
80
80
  children: /* @__PURE__ */ jsx(ScrollShadow, {
81
81
  ...getScrollProps(),
@@ -186,7 +186,7 @@ declare const useProps: (originalProps: Props) => {
186
186
  itemRadius?: "none" | "lg" | "sm" | "md" | "full" | undefined;
187
187
  } & import('tailwind-variants').ClassProp<import('tailwind-variants').ClassValue>) | undefined) => string;
188
188
  };
189
- classNames: Partial<Record<"label" | "icon" | "scroll" | "base" | "align" | "item" | "container" | "icon_wrapper" | "tooltip_trigger" | "tooltip_content", string>> | undefined;
189
+ classNames: Partial<Record<"label" | "icon" | "scroll" | "base" | "align" | "container" | "item" | "icon_wrapper" | "tooltip_trigger" | "tooltip_content", string>> | undefined;
190
190
  children: ReactNode;
191
191
  getBaseProps: () => {
192
192
  color?: string | undefined | undefined;
@@ -16,7 +16,7 @@ import { HomeNavigationBubble } from "./home-navigation-bubble.js";
16
16
  import { useLocation } from "@tanstack/react-router";
17
17
  import { useState } from "react";
18
18
  import { Surface } from "@vezham/react-v3";
19
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
19
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
20
20
  //#region src/lib/layouts/menu-layout/index-md.tsx
21
21
  var headerUsers = {
22
22
  id: "1",
@@ -47,7 +47,7 @@ var MenuMD = ({ items, controlCenter }) => {
47
47
  useSidebarShortcut(toggleDock, isHome);
48
48
  const selectedKey = getSelectedMenuKey(location.pathname, items);
49
49
  const { user } = useUser();
50
- return /* @__PURE__ */ jsxs(Fragment, { children: [
50
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
51
51
  /* @__PURE__ */ jsx(NavigationPanel, {
52
52
  collapsed: isNavigationCollapsed,
53
53
  footerUser: {
@@ -93,7 +93,7 @@ var NavigationPanel = ({ collapsed, footerUser, items, controlCenter, navigation
93
93
  variant: "transparent",
94
94
  className: `border-default-300 sticky top-0 left-0 z-[10] flex h-[100dvh] shrink-0 flex-col overflow-hidden transition-[width,padding,gap] duration-300 ease-out ${navigationWidth} ${collapsed ? "border-0 p-0" : "gap-6 px-4 pt-3 pb-4"}`,
95
95
  "data-vx": "menu-layout",
96
- children: !collapsed && /* @__PURE__ */ jsxs(Fragment, { children: [
96
+ children: !collapsed && /* @__PURE__ */ jsxs(Fragment$1, { children: [
97
97
  /* @__PURE__ */ jsx(Header, {
98
98
  users: headerUsers,
99
99
  showSearch: true,
@@ -18,7 +18,7 @@ import { getNavigationToolbar } from "../../navigation-toolbar.js";
18
18
  import { useLocation } from "@tanstack/react-router";
19
19
  import React, { useState } from "react";
20
20
  import { Surface, toast } from "@vezham/react-v3";
21
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
21
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
22
22
  //#region src/lib/layouts/menu-layout/index-sm.tsx
23
23
  var MenuSM = ({ items, controlCenter }) => {
24
24
  const [selectedKey, setSelectedKey] = React.useState(items[0]?.key ?? "");
@@ -49,7 +49,7 @@ var MenuSM = ({ items, controlCenter }) => {
49
49
  avatar: "https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/avatars/blue.jpg"
50
50
  };
51
51
  const { user } = useUser();
52
- return /* @__PURE__ */ jsxs(Fragment, { children: [
52
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
53
53
  /* @__PURE__ */ jsxs("div", {
54
54
  className: "pointer-events-none fixed top-3 right-3 left-3 z-40 flex items-center justify-between gap-2",
55
55
  children: [/* @__PURE__ */ jsx(Surface, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/layouts/section/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAA;AAWd,OAAO,EAAE,KAAK,iBAAiB,EAAsB,MAAM,kBAAkB,CAAA;AAI7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EAEvB,MAAM,WAAW,CAAA;AAMlB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAClC,IAAI,EAAE,iBAAiB,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC3C,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAudD,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAI/C,CAAA;AAED,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,aAAa,EAAE,CAAA;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEjE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/layouts/section/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAA;AAWd,OAAO,EAAE,KAAK,iBAAiB,EAAsB,MAAM,kBAAkB,CAAA;AAI7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EAEvB,MAAM,WAAW,CAAA;AAMlB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAClC,IAAI,EAAE,iBAAiB,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC3C,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAodD,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAI/C,CAAA;AAED,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,aAAa,EAAE,CAAA;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEjE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
@@ -12,14 +12,14 @@ import { SectionToolbarContentProvider, useRegisteredSectionToolbarContent, useS
12
12
  import { useLocation, useNavigate, useRouter } from "@tanstack/react-router";
13
13
  import { useCallback, useEffect, useId, useRef, useState } from "react";
14
14
  import { Drawer, Surface, Tabs, useMediaQuery } from "@vezham/react-v3";
15
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
16
16
  import { useHotkey } from "@tanstack/react-hotkeys";
17
17
  //#region src/lib/layouts/section/index.tsx
18
18
  var EMPTY_SIDEBAR_ITEMS = [];
19
19
  var EMPTY_MENU_ACTIONS = [];
20
20
  var EMPTY_VIEW_ACTIONS = [];
21
21
  var matchesPath = (pathname, href) => Boolean(href && (pathname === href || pathname.startsWith(`${href}/`)));
22
- var CompactTabs = ({ title, displayTabs, search, primaryAction }) => /* @__PURE__ */ jsx(Fragment, { children: displayTabs.length > 0 && /* @__PURE__ */ jsx(Tabs.ListContainer, {
22
+ var CompactTabs = ({ title, displayTabs, search, primaryAction }) => displayTabs.length > 0 && /* @__PURE__ */ jsx(Tabs.ListContainer, {
23
23
  className: `scrollbar-hide order-2 mb-3 w-fit min-w-0 self-center overflow-x-auto rounded-full ${search && primaryAction ? "max-w-[calc(100%-9rem)]" : "max-w-[calc(100%-1.5rem)]"}`,
24
24
  children: /* @__PURE__ */ jsx(Tabs.List, {
25
25
  "aria-label": `${title} tabs`,
@@ -30,8 +30,8 @@ var CompactTabs = ({ title, displayTabs, search, primaryAction }) => /* @__PURE_
30
30
  children: [tab.title, /* @__PURE__ */ jsx(Tabs.Indicator, {})]
31
31
  }, tab.key))
32
32
  })
33
- }, JSON.stringify(displayTabs.map((tab) => tab.key))) });
34
- var SectionPanels = ({ displayTabs, selectedTab, children }) => /* @__PURE__ */ jsxs(Fragment, { children: [displayTabs.length === 0 && children, displayTabs.map((tab) => /* @__PURE__ */ jsx(Tabs.Panel, {
33
+ }, JSON.stringify(displayTabs.map((tab) => tab.key)));
34
+ var SectionPanels = ({ displayTabs, selectedTab, children }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [displayTabs.length === 0 && children, displayTabs.map((tab) => /* @__PURE__ */ jsx(Tabs.Panel, {
35
35
  id: tab.key,
36
36
  className: "m-0 flex min-h-0 flex-1 flex-col p-0",
37
37
  children: tab.key === selectedTab?.key && children
@@ -59,7 +59,7 @@ var SectionBody = ({ hasSidebar, isNavigationCollapsed, sidebarId, sidebar, filt
59
59
  });
60
60
  var SectionNavigationControls = ({ isNavigationCollapsed, sidebarId, toggleNavigation }) => {
61
61
  const router = useRouter();
62
- return /* @__PURE__ */ jsxs(Fragment, { children: [
62
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
63
63
  !isNavigationCollapsed && /* @__PURE__ */ jsx(ShortcutButton, {
64
64
  className: "h-9 w-9 min-w-9 p-0",
65
65
  label: "Hide Sidebar",
@@ -212,7 +212,7 @@ var SectionLayoutToolbar = ({ options, navigation, preferences, displayTabs, isC
212
212
  search: toolbarSearch,
213
213
  menuActions,
214
214
  primaryAction: hideCompactControls ? void 0 : primaryAction,
215
- toolbar: /* @__PURE__ */ jsxs(Fragment, { children: [toolbar, registeredToolbarContent.desktop] }),
215
+ toolbar: /* @__PURE__ */ jsxs(Fragment$1, { children: [toolbar, registeredToolbarContent.desktop] }),
216
216
  mobileToolbar: registeredToolbarContent.mobile,
217
217
  onSync: handleSync,
218
218
  navigationControls: /* @__PURE__ */ jsx(SectionNavigationControls, {
@@ -238,7 +238,7 @@ var SectionLayoutContent = (props) => {
238
238
  onExpandedChange: navigation.setExpandedSidebarKeys,
239
239
  onNavigate: () => navigation.setIsDrawerOpen(false)
240
240
  });
241
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
241
+ const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [
242
242
  /* @__PURE__ */ jsx(SectionLayoutToolbar, {
243
243
  options: props,
244
244
  navigation,
@@ -3,7 +3,7 @@ import { getSelectedMenuKey } from "../../navigation.js";
3
3
  import { useSectionSidebarState } from "./sidebar-state.js";
4
4
  import { Link } from "@tanstack/react-router";
5
5
  import { useId } from "react";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { AltArrowDown } from "@vezham/icons-react";
8
8
  //#region src/lib/layouts/section/sidebar.tsx
9
9
  var getEntryAppearance = (pathname, item) => {
@@ -15,7 +15,7 @@ var getEntryAppearance = (pathname, item) => {
15
15
  href: item.href ?? item.children?.[0]?.href ?? "/"
16
16
  };
17
17
  };
18
- var SidebarEntryLabel = ({ item }) => /* @__PURE__ */ jsxs(Fragment, { children: [item.icon && /* @__PURE__ */ jsx(AppIcon, {
18
+ var SidebarEntryLabel = ({ item }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [item.icon && /* @__PURE__ */ jsx(AppIcon, {
19
19
  icon: item.icon,
20
20
  size: 18,
21
21
  className: "shrink-0",
@@ -3,7 +3,7 @@ import { MenuSheet } from "../../components/menu/sheet.js";
3
3
  import { sortDirections, sortFields } from "./sort-menu.js";
4
4
  import { createContext, useContext, useMemo, useState } from "react";
5
5
  import { Button, Label, Separator } from "@vezham/react-v3";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { AltArrowLeft, AltArrowRight, CheckCircle, MenuDots, SortFromBottomToTop, SortFromTopToBottom } from "@vezham/icons-react";
8
8
  //#region src/lib/layouts/section/toolbar-more-sheet.tsx
9
9
  var MobileToolbarNavigationContext = createContext(null);
@@ -48,7 +48,7 @@ var SheetFilters = ({ filterGroups, selectedFilters, onToggleFilter }) => {
48
48
  ]
49
49
  }, group.label));
50
50
  };
51
- var SheetSort = ({ sortValue, onSortChange }) => /* @__PURE__ */ jsxs(Fragment, { children: [
51
+ var SheetSort = ({ sortValue, onSortChange }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
52
52
  /* @__PURE__ */ jsx(Label, {
53
53
  className: "text-muted px-3 pt-2",
54
54
  children: "Sort by"
@@ -107,7 +107,7 @@ var SheetHome = ({ sync, onSync, filterAction, sort, sortValue, viewModeActions,
107
107
  menuActions,
108
108
  mobileToolbar
109
109
  });
110
- return /* @__PURE__ */ jsxs(Fragment, { children: [
110
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
111
111
  mobileToolbar,
112
112
  separators.afterMobile && /* @__PURE__ */ jsx(Separator, { className: "my-1" }),
113
113
  sync && renderActions([{
@@ -6,7 +6,7 @@ import { DEFAULT_SORT, SortMenu } from "./sort-menu.js";
6
6
  import { ToolbarMoreSheet } from "./toolbar-more-sheet.js";
7
7
  import { useCallback, useEffect, useMemo, useState } from "react";
8
8
  import { Button, Chip, CloseButton, Dropdown, Label, Popover, SearchField, Separator, Tabs, Tooltip, useMediaQuery } from "@vezham/react-v3";
9
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
10
  import { SortFromBottomToTop, SortFromTopToBottom } from "@vezham/icons-react";
11
11
  //#region src/lib/layouts/section/toolbar.tsx
12
12
  var iconButtonClassName = "h-9 w-9 min-w-9 p-0";
@@ -241,7 +241,7 @@ var SectionSearchField = ({ search }) => {
241
241
  /* @__PURE__ */ jsx(SearchField.ClearButton, { "aria-label": `Clear ${label.toLowerCase()}` })
242
242
  ] })
243
243
  });
244
- if (search.onSearch) return /* @__PURE__ */ jsxs(Fragment, { children: [input(true), /* @__PURE__ */ jsxs(Tooltip, {
244
+ if (search.onSearch) return /* @__PURE__ */ jsxs(Fragment$1, { children: [input(true), /* @__PURE__ */ jsxs(Tooltip, {
245
245
  delay: 0,
246
246
  children: [/* @__PURE__ */ jsx(Button, {
247
247
  isIconOnly: true,
@@ -257,7 +257,7 @@ var SectionSearchField = ({ search }) => {
257
257
  })
258
258
  }), /* @__PURE__ */ jsx(Tooltip.Content, { children: "Search" })]
259
259
  })] });
260
- return /* @__PURE__ */ jsxs(Fragment, { children: [input(true), /* @__PURE__ */ jsxs(Popover, {
260
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [input(true), /* @__PURE__ */ jsxs(Popover, {
261
261
  isOpen: search.isOpen,
262
262
  onOpenChange: search.onOpenChange,
263
263
  children: [/* @__PURE__ */ jsxs(Tooltip, {
@@ -352,7 +352,7 @@ var ToolbarActions = ({ search, toolbar, sync = true, onSync, filterAction, hasF
352
352
  onChange: onSortChange
353
353
  })
354
354
  })] }),
355
- viewModeActions.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [(filterAction || sort) && /* @__PURE__ */ jsx(Separator, {
355
+ viewModeActions.length > 0 && /* @__PURE__ */ jsxs(Fragment$1, { children: [(filterAction || sort) && /* @__PURE__ */ jsx(Separator, {
356
356
  orientation: "vertical",
357
357
  className: "h-8"
358
358
  }), /* @__PURE__ */ jsx("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/settings/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAW7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AA6BnD,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,eAAe,CAAA;CAI3B,CAAA;AAEF,eAAO,MAAM,aAAa,GAAI,mBAE3B;IACD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,gCAcA,CAAA;AA6ED,eAAO,MAAM,YAAY,GAAI,qDAK1B;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAA;IACpD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,gCA8JA,CAAA;AAED,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/settings/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAa7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AA6BnD,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B;IAAE,OAAO,EAAE,eAAe,CAAA;CAI3B,CAAA;AAEF,eAAO,MAAM,aAAa,GAAI,mBAE3B;IACD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,gCAcA,CAAA;AAoID,eAAO,MAAM,YAAY,GAAI,qDAK1B;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAA;IACpD,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC,gCA8JA,CAAA;AAED,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
@@ -7,12 +7,12 @@ import { TileContent } from "../../components/panel/footer/control-center/contro
7
7
  import { resolveTiles } from "../../components/panel/footer/control-center/configured.js";
8
8
  import { useSidebarShortcut, useWorkspaceNavigation } from "../../components/workspace-navigation/index.js";
9
9
  import { useUser } from "../../store/users/useUserStore.js";
10
- import { WidgetPreview, useWidgetTiles } from "../../components/panel/footer/notification-center/widget-tiles.js";
10
+ import { WidgetPreview, getWidgetSize, useWidgetTiles, widgetSizes } from "../../components/panel/footer/notification-center/widget-tiles.js";
11
11
  import { ShortcutButton } from "../../components/shortcut-key/index.js";
12
12
  import { SettingsContent } from "./settings-content.js";
13
13
  import { TileGallery } from "./tile-gallery.js";
14
14
  import { useNavigate, useSearch } from "@tanstack/react-router";
15
- import { useId, useState } from "react";
15
+ import { useId, useMemo, useState } from "react";
16
16
  import { Avatar, Button, Drawer, SearchField } from "@vezham/react-v3";
17
17
  import { jsx, jsxs } from "react/jsx-runtime";
18
18
  import { AltArrowLeft, Bell, Settings, Sun, UserRounded } from "@vezham/icons-react";
@@ -39,12 +39,12 @@ var sections = [
39
39
  keywords: "profile name email"
40
40
  },
41
41
  {
42
- title: "Edit Widgets",
42
+ title: "Widget Center",
43
43
  icon: Settings,
44
44
  keywords: "notification center tiles"
45
45
  },
46
46
  {
47
- title: "Edit Controls",
47
+ title: "Control Center",
48
48
  icon: Settings,
49
49
  keywords: "control center tiles"
50
50
  }
@@ -75,38 +75,83 @@ var categoryFor = (type) => {
75
75
  if (type === "preview-media" || type === "preview-sound") return "Sound & Media";
76
76
  return "General";
77
77
  };
78
+ var suggestionShapesFor = (type) => {
79
+ if ([
80
+ "appearance-toggle",
81
+ "direction-toggle",
82
+ "preview-focus",
83
+ "preview-stage-manager"
84
+ ].includes(type)) return [
85
+ "compact",
86
+ "wide",
87
+ "full"
88
+ ];
89
+ if ([
90
+ "preview-display",
91
+ "preview-media",
92
+ "preview-sound"
93
+ ].includes(type)) return ["wide", "full"];
94
+ return ["wide", "full"];
95
+ };
78
96
  var SettingsGallery = ({ active, controlCenter, onDone }) => {
79
97
  const widgets = useWidgetTiles();
80
- const controls = useTileEditor(controlCenter ? resolveTiles(controlCenter, () => void 0) : []);
81
- if (active === "Edit Widgets") return /* @__PURE__ */ jsx(TileGallery, {
82
- title: "Edit Widgets",
98
+ const configuredControls = useMemo(() => controlCenter ? resolveTiles(controlCenter, () => void 0) : [], [controlCenter]);
99
+ const controls = useTileEditor(configuredControls);
100
+ const currentControls = new Map(controls.orderedTiles.map((tile) => [tile.id, tile]));
101
+ if (active === "Widget Center") return /* @__PURE__ */ jsx(TileGallery, {
102
+ title: "Widget Center",
83
103
  kind: "widgets",
84
104
  editor: widgets.editor,
85
- tiles: widgets.orderedTiles.map((tile) => ({
86
- ...tile,
87
- shape: tile.size,
88
- category: tile.category,
89
- preview: /* @__PURE__ */ jsx(WidgetPreview, { tile })
90
- })),
105
+ tiles: widgets.orderedTiles.map((tile) => {
106
+ const size = getWidgetSize(tile);
107
+ return {
108
+ ...tile,
109
+ shape: size,
110
+ category: tile.category,
111
+ suggestionGroup: tile.label,
112
+ suggestionShapes: widgetSizes,
113
+ suggestionPreview: (suggestionSize) => /* @__PURE__ */ jsx(WidgetPreview, { tile: {
114
+ ...tile,
115
+ size: suggestionSize,
116
+ span: void 0
117
+ } }),
118
+ preview: /* @__PURE__ */ jsx(WidgetPreview, { tile })
119
+ };
120
+ }),
91
121
  onDone
92
122
  }, "widgets");
93
123
  return /* @__PURE__ */ jsx(AppearanceProvider, { children: /* @__PURE__ */ jsx(PreviewProvider, {
94
124
  enabled: true,
95
125
  children: /* @__PURE__ */ jsx(TileGallery, {
96
- title: "Edit Controls",
126
+ title: "Control Center",
97
127
  kind: "controls",
98
128
  editor: controls.editor,
99
- tiles: controls.orderedTiles.map((tile) => ({
100
- id: tile.id,
101
- label: controls.editor.items.find((item) => item.id === tile.id)?.label ?? tile.id,
102
- shape: tile.span,
103
- category: categoryFor(controlCenter?.tiles.find((item) => item.id === tile.id)?.type ?? ""),
104
- preview: /* @__PURE__ */ jsx(TileContent, {
105
- entry: tile,
106
- context: {},
107
- onOpen: () => void 0
108
- })
109
- })),
129
+ tiles: configuredControls.map((configuredTile) => {
130
+ const tile = currentControls.get(configuredTile.id) ?? configuredTile;
131
+ const type = controlCenter?.tiles.find((item) => item.id === tile.id)?.type ?? "";
132
+ const label = controls.editor.items.find((item) => item.id === tile.id)?.label ?? tile.id;
133
+ return {
134
+ id: tile.id,
135
+ label,
136
+ shape: tile.span,
137
+ suggestionGroup: label,
138
+ suggestionShapes: suggestionShapesFor(type),
139
+ suggestionPreview: (span) => /* @__PURE__ */ jsx(TileContent, {
140
+ entry: {
141
+ ...tile,
142
+ span
143
+ },
144
+ context: {},
145
+ onOpen: () => void 0
146
+ }),
147
+ category: categoryFor(type),
148
+ preview: /* @__PURE__ */ jsx(TileContent, {
149
+ entry: tile,
150
+ context: {},
151
+ onOpen: () => void 0
152
+ })
153
+ };
154
+ }),
110
155
  onDone
111
156
  }, "controls")
112
157
  }) });
@@ -122,7 +167,7 @@ var SettingsPage = ({ onBack, section = "General", onSectionChange, controlCente
122
167
  if (window.matchMedia("(min-width: 768px)").matches) toggleNavigation();
123
168
  else setIsDrawerOpen((open) => !open);
124
169
  };
125
- useSidebarShortcut(toggleSidebar, active !== "Edit Widgets" && active !== "Edit Controls");
170
+ useSidebarShortcut(toggleSidebar, active !== "Widget Center" && active !== "Control Center");
126
171
  const { user } = useUser();
127
172
  const visibleSections = sections.filter((section) => `${section.title} ${section.keywords}`.toLowerCase().includes(query.toLowerCase().trim()));
128
173
  const openSection = (section) => {
@@ -130,7 +175,7 @@ var SettingsPage = ({ onBack, section = "General", onSectionChange, controlCente
130
175
  onSectionChange?.(section);
131
176
  setIsDrawerOpen(false);
132
177
  };
133
- if (active === "Edit Widgets" || active === "Edit Controls") return /* @__PURE__ */ jsx(SettingsGallery, {
178
+ if (active === "Widget Center" || active === "Control Center") return /* @__PURE__ */ jsx(SettingsGallery, {
134
179
  active,
135
180
  controlCenter,
136
181
  onDone: () => openSection("General")
@@ -1,4 +1,4 @@
1
- export type SettingsSection = 'General' | 'Appearance' | 'Notifications' | 'Account' | 'Edit Widgets' | 'Edit Controls';
1
+ export type SettingsSection = 'General' | 'Appearance' | 'Notifications' | 'Account' | 'Widget Center' | 'Control Center';
2
2
  export declare const SettingsNavigationContext: import('react').Context<((section: SettingsSection) => void) | null>;
3
3
  export declare const useSettingsNavigation: () => ((section: SettingsSection) => void) | null;
4
4
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/settings/navigation.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,SAAS,GACT,cAAc,GACd,eAAe,CAAA;AACnB,eAAO,MAAM,yBAAyB,qCACzB,eAAe,KAAK,IAAI,SAC9B,CAAA;AACP,eAAO,MAAM,qBAAqB,mBAFrB,eAAe,KAAK,IAAI,QAE2C,CAAA"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/settings/navigation.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,SAAS,GACT,eAAe,GACf,gBAAgB,CAAA;AACpB,eAAO,MAAM,yBAAyB,qCACzB,eAAe,KAAK,IAAI,SAC9B,CAAA;AACP,eAAO,MAAM,qBAAqB,mBAFrB,eAAe,KAAK,IAAI,QAE2C,CAAA"}
@@ -204,7 +204,7 @@ var settingsComponents = {
204
204
  };
205
205
  var SettingsContentView = ({ active }) => {
206
206
  const preferences = useSettingsPreferences();
207
- if (active === "Edit Widgets" || active === "Edit Controls") return null;
207
+ if (active === "Widget Center" || active === "Control Center") return null;
208
208
  const Content = settingsComponents[active];
209
209
  return /* @__PURE__ */ jsx(Content, { ...preferences });
210
210
  };
@@ -1,10 +1,15 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { EditorState } from '../../components/panel/footer/control-center/editor';
3
+ type GalleryShape = 'small' | 'medium' | 'large' | 'compact' | 'standard' | 'wide' | 'full';
3
4
  type GalleryTile = {
4
5
  id: string;
5
6
  label: string;
7
+ description?: string;
6
8
  category: string;
7
- shape: 'small' | 'medium' | 'large' | 'compact' | 'standard' | 'wide' | 'full';
9
+ shape: GalleryShape;
10
+ suggestionGroup?: string;
11
+ suggestionShapes?: readonly GalleryShape[];
12
+ suggestionPreview?: (shape: GalleryShape) => ReactNode;
8
13
  preview?: ReactNode;
9
14
  };
10
15
  type Props = {
@@ -1 +1 @@
1
- {"version":3,"file":"tile-gallery.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/settings/tile-gallery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAmB,MAAM,OAAO,CAAA;AAWvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAA;AAEtF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;IAC9E,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;IAC7B,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AA4YD,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,gCA4FvC,CAAA"}
1
+ {"version":3,"file":"tile-gallery.d.ts","sourceRoot":"","sources":["../../../../src/lib/pages/settings/tile-gallery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,OAAO,CAAA;AAWd,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAA;AAOtF,KAAK,YAAY,GACf,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AAMzE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAC1C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS,CAAA;IACtD,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AASD,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B,KAAK,EAAE,SAAS,WAAW,EAAE,CAAA;IAC7B,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAigBD,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,gCA6FvC,CAAA"}