@geomak/ui 1.1.0 → 1.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.
package/dist/index.d.cts CHANGED
@@ -1,44 +1,8 @@
1
+ export { C as COLORS, S as SemanticColorKey, a as SemanticRadiusKey, V as VarColorKey, b as VarRadiusKey, c as VarShadowKey, P as palette, s as semanticTokens, v as vars } from './index-CPCiQllz.cjs';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
3
  import React$1 from 'react';
3
4
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
5
 
5
- declare const COLORS: {
6
- PALETTE: {
7
- readonly 'true-blue': "#0466C8";
8
- readonly 'usafa-blue': "#0353A4";
9
- readonly 'dark-cornflower-blue': "#023E7D";
10
- readonly 'oxford-blue-700': "#002855";
11
- readonly 'oxford-blue-800': "#001845";
12
- readonly 'oxford-blue-900': "#001233";
13
- readonly independence: "#33415C";
14
- readonly 'black-coral': "#5C677D";
15
- readonly 'roman-silver': "#7D8597";
16
- readonly manatee: "#979DAC";
17
- readonly white: "#fff";
18
- readonly ice: "#DBF1FD";
19
- readonly 'ice-dark': "#d0e3ed";
20
- readonly 'midnight-green-eagle-900': "#013E53";
21
- readonly 'midnight-green-eagle-700': "#125F6C";
22
- readonly 'midnight-green-eagle-500': "#125F6C";
23
- readonly 'rich-black-fogra': "#000202";
24
- readonly 'rich-black-fogra-opaque': "#0000005b";
25
- readonly 'prussian-blue': "#00273A";
26
- readonly 'indigo-dye': "#013C54";
27
- readonly ming: "#0F6372";
28
- readonly skobeloff: "#217479";
29
- readonly 'dark-cyan': "#2A8784";
30
- readonly 'celadon-green': "#297E74";
31
- readonly turquise: "#2EB8B0";
32
- readonly 'oxford-blue-700-opaque': "rgba(0, 40, 85, .3)";
33
- readonly disabled: "#dee2e6";
34
- readonly error: "tomato";
35
- readonly warning: "orange";
36
- readonly success: "lightgreen";
37
- readonly info: "lightblue";
38
- readonly transparent: "rgba(255, 255, 255, .0)";
39
- };
40
- };
41
-
42
6
  declare const Icon: {
43
7
  (): react_jsx_runtime.JSX.Element;
44
8
  Moon: ({ color }: {
@@ -501,22 +465,25 @@ interface NotificationPayload {
501
465
  * toast notifications. Then call `useNotification()` anywhere inside to
502
466
  * trigger them.
503
467
  *
468
+ * Toasts slide in from the right and exit to the right.
469
+ * `prefers-reduced-motion` is respected via `useReducedMotion()`.
470
+ *
504
471
  * @example
505
- * // _app.tsx / main.tsx
472
+ * // main.tsx / _app.tsx
506
473
  * <NotificationProvider>
507
474
  * <App />
508
475
  * </NotificationProvider>
509
476
  *
510
477
  * // Inside a component
511
478
  * const notify = useNotification()
512
- * notify.success({ title: 'Saved!', description: 'Your changes were saved.', duration: 3000 })
479
+ * notify.success({ title: 'Saved!', description: 'Your changes were saved.' })
513
480
  */
514
481
  declare function NotificationProvider({ children }: {
515
482
  children: React$1.ReactNode;
516
483
  }): react_jsx_runtime.JSX.Element;
517
484
  /** ─────────────────── hook ─────────────────── */
518
485
  /**
519
- * Imperative notification API.
486
+ * Imperative notification API. Must be called inside `NotificationProvider`.
520
487
  *
521
488
  * @example
522
489
  * const notify = useNotification()
@@ -863,38 +830,101 @@ interface ThemeSwitchProps {
863
830
  checked: boolean;
864
831
  };
865
832
  }) => void;
833
+ /** Optional accessible label (defaults to "Toggle dark mode") */
834
+ label?: string;
866
835
  }
867
836
  /**
868
837
  * Theme (dark-mode) toggle switch powered by Radix Switch.
869
838
  *
870
- * Displays a red/green dot to indicate the checked state.
871
- * Used as the dark-mode toggle in the TopBar.
839
+ * The thumb color indicates mode: green = light, slate = dark.
840
+ * Layout (position, margin) is the parent's responsibility this component
841
+ * renders inline with no external margins.
872
842
  *
873
843
  * @example
874
- * <Switch checked={isDarkMode} onChange={({ target }) => setDarkMode(target.checked)} />
844
+ * <ThemeSwitch checked={isDark} onChange={({ target }) => setDark(target.checked)} />
875
845
  */
876
- declare function Switch$1({ checked, onChange }: ThemeSwitchProps): react_jsx_runtime.JSX.Element;
846
+ declare function ThemeSwitch({ checked, onChange, label }: ThemeSwitchProps): react_jsx_runtime.JSX.Element;
847
+
848
+ interface TopBarProps {
849
+ /** Brand area — logo, wordmark, or app name. Rendered on the leading edge. */
850
+ brand?: React$1.ReactNode;
851
+ /**
852
+ * Centre content — primary navigation links, breadcrumb, or page title.
853
+ * On mobile (< md breakpoint) this moves below the brand row.
854
+ */
855
+ center?: React$1.ReactNode;
856
+ /**
857
+ * Trailing actions — theme toggle, user avatar, notification bell, etc.
858
+ * Rendered on the trailing edge.
859
+ */
860
+ actions?: React$1.ReactNode;
861
+ /**
862
+ * Height in pixels (default 56). Controls the `h-*` style directly so
863
+ * child scroll-offset calculations can consume it as a CSS var.
864
+ */
865
+ height?: number;
866
+ /** Additional className on the root element */
867
+ className?: string;
868
+ }
869
+ /**
870
+ * App-shell top navigation bar.
871
+ *
872
+ * Three named slots: brand (leading), center, actions (trailing).
873
+ * All slots are optional — omit what you don't need.
874
+ *
875
+ * The component is sticky by default (`sticky top-0`) with `z-[100]`.
876
+ * Height is exposed as `--topbar-height` CSS variable on the element so
877
+ * layout children can reference it for scroll-offset or sticky positioning.
878
+ *
879
+ * Light/dark aware via Phase B semantic tokens.
880
+ *
881
+ * @example
882
+ * <TopBar
883
+ * brand={<Logo />}
884
+ * center={<NavLinks />}
885
+ * actions={
886
+ * <>
887
+ * <ThemeSwitch checked={isDark} onChange={toggleDark} />
888
+ * <UserAvatar />
889
+ * </>
890
+ * }
891
+ * />
892
+ */
893
+ declare function TopBar({ brand, center, actions, height, className, }: TopBarProps): react_jsx_runtime.JSX.Element;
877
894
 
878
895
  interface ButtonProps {
879
896
  content?: React$1.ReactNode;
880
- /** HTML button type attribute */
897
+ /** Visual style variant */
898
+ variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
899
+ /** Size — controls height, padding, and font size */
900
+ size?: 'sm' | 'md' | 'lg';
901
+ /** HTML button type */
881
902
  buttonType?: 'button' | 'submit' | 'reset';
882
- /** Visual variant */
883
- type?: string;
884
903
  loading?: boolean;
885
904
  disabled?: boolean;
905
+ /** Inline style overrides (width, etc.). Margins/layout belong in the parent. */
886
906
  style?: React$1.CSSProperties;
907
+ /** Leading icon — rendered before content */
887
908
  icon?: React$1.ReactNode;
888
909
  onClick?: React$1.MouseEventHandler<HTMLButtonElement>;
910
+ /**
911
+ * @deprecated Pass `variant` instead. Kept for API compat — currently no-op.
912
+ * Will be removed in the next major version.
913
+ */
914
+ type?: string;
889
915
  }
890
916
  /**
891
- * Primary action button.
917
+ * Primary action button with variant + size system.
918
+ *
919
+ * Width is never hardcoded — set `style={{ width }}` or let the parent grid/flex control it.
892
920
  *
893
921
  * @example
894
922
  * <Button content="Save" onClick={handleSave} />
895
- * <Button content="Submit" buttonType="submit" loading={isPending} />
923
+ * <Button content="Delete" variant="danger" size="sm" />
924
+ * <Button content="Cancel" variant="secondary" />
925
+ * <Button content="Loading…" loading buttonType="submit" />
896
926
  */
897
- declare function Button({ content, buttonType, loading, disabled, style, icon, onClick, }: ButtonProps): react_jsx_runtime.JSX.Element;
927
+ declare function Button({ content, variant, size, buttonType, loading, disabled, style, icon, onClick, }: ButtonProps): react_jsx_runtime.JSX.Element;
898
928
 
899
929
  interface TextInputProps {
900
930
  value?: any;
@@ -1273,4 +1303,4 @@ declare const Temporal: {
1273
1303
  TemporalPicker: typeof TemporalPickerBase;
1274
1304
  };
1275
1305
 
1276
- export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, COLORS, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, Switch$1 as ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };
1306
+ export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };
package/dist/index.d.ts CHANGED
@@ -1,44 +1,8 @@
1
+ export { C as COLORS, S as SemanticColorKey, a as SemanticRadiusKey, V as VarColorKey, b as VarRadiusKey, c as VarShadowKey, P as palette, s as semanticTokens, v as vars } from './index-CPCiQllz.js';
1
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
3
  import React$1 from 'react';
3
4
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
4
5
 
5
- declare const COLORS: {
6
- PALETTE: {
7
- readonly 'true-blue': "#0466C8";
8
- readonly 'usafa-blue': "#0353A4";
9
- readonly 'dark-cornflower-blue': "#023E7D";
10
- readonly 'oxford-blue-700': "#002855";
11
- readonly 'oxford-blue-800': "#001845";
12
- readonly 'oxford-blue-900': "#001233";
13
- readonly independence: "#33415C";
14
- readonly 'black-coral': "#5C677D";
15
- readonly 'roman-silver': "#7D8597";
16
- readonly manatee: "#979DAC";
17
- readonly white: "#fff";
18
- readonly ice: "#DBF1FD";
19
- readonly 'ice-dark': "#d0e3ed";
20
- readonly 'midnight-green-eagle-900': "#013E53";
21
- readonly 'midnight-green-eagle-700': "#125F6C";
22
- readonly 'midnight-green-eagle-500': "#125F6C";
23
- readonly 'rich-black-fogra': "#000202";
24
- readonly 'rich-black-fogra-opaque': "#0000005b";
25
- readonly 'prussian-blue': "#00273A";
26
- readonly 'indigo-dye': "#013C54";
27
- readonly ming: "#0F6372";
28
- readonly skobeloff: "#217479";
29
- readonly 'dark-cyan': "#2A8784";
30
- readonly 'celadon-green': "#297E74";
31
- readonly turquise: "#2EB8B0";
32
- readonly 'oxford-blue-700-opaque': "rgba(0, 40, 85, .3)";
33
- readonly disabled: "#dee2e6";
34
- readonly error: "tomato";
35
- readonly warning: "orange";
36
- readonly success: "lightgreen";
37
- readonly info: "lightblue";
38
- readonly transparent: "rgba(255, 255, 255, .0)";
39
- };
40
- };
41
-
42
6
  declare const Icon: {
43
7
  (): react_jsx_runtime.JSX.Element;
44
8
  Moon: ({ color }: {
@@ -501,22 +465,25 @@ interface NotificationPayload {
501
465
  * toast notifications. Then call `useNotification()` anywhere inside to
502
466
  * trigger them.
503
467
  *
468
+ * Toasts slide in from the right and exit to the right.
469
+ * `prefers-reduced-motion` is respected via `useReducedMotion()`.
470
+ *
504
471
  * @example
505
- * // _app.tsx / main.tsx
472
+ * // main.tsx / _app.tsx
506
473
  * <NotificationProvider>
507
474
  * <App />
508
475
  * </NotificationProvider>
509
476
  *
510
477
  * // Inside a component
511
478
  * const notify = useNotification()
512
- * notify.success({ title: 'Saved!', description: 'Your changes were saved.', duration: 3000 })
479
+ * notify.success({ title: 'Saved!', description: 'Your changes were saved.' })
513
480
  */
514
481
  declare function NotificationProvider({ children }: {
515
482
  children: React$1.ReactNode;
516
483
  }): react_jsx_runtime.JSX.Element;
517
484
  /** ─────────────────── hook ─────────────────── */
518
485
  /**
519
- * Imperative notification API.
486
+ * Imperative notification API. Must be called inside `NotificationProvider`.
520
487
  *
521
488
  * @example
522
489
  * const notify = useNotification()
@@ -863,38 +830,101 @@ interface ThemeSwitchProps {
863
830
  checked: boolean;
864
831
  };
865
832
  }) => void;
833
+ /** Optional accessible label (defaults to "Toggle dark mode") */
834
+ label?: string;
866
835
  }
867
836
  /**
868
837
  * Theme (dark-mode) toggle switch powered by Radix Switch.
869
838
  *
870
- * Displays a red/green dot to indicate the checked state.
871
- * Used as the dark-mode toggle in the TopBar.
839
+ * The thumb color indicates mode: green = light, slate = dark.
840
+ * Layout (position, margin) is the parent's responsibility this component
841
+ * renders inline with no external margins.
872
842
  *
873
843
  * @example
874
- * <Switch checked={isDarkMode} onChange={({ target }) => setDarkMode(target.checked)} />
844
+ * <ThemeSwitch checked={isDark} onChange={({ target }) => setDark(target.checked)} />
875
845
  */
876
- declare function Switch$1({ checked, onChange }: ThemeSwitchProps): react_jsx_runtime.JSX.Element;
846
+ declare function ThemeSwitch({ checked, onChange, label }: ThemeSwitchProps): react_jsx_runtime.JSX.Element;
847
+
848
+ interface TopBarProps {
849
+ /** Brand area — logo, wordmark, or app name. Rendered on the leading edge. */
850
+ brand?: React$1.ReactNode;
851
+ /**
852
+ * Centre content — primary navigation links, breadcrumb, or page title.
853
+ * On mobile (< md breakpoint) this moves below the brand row.
854
+ */
855
+ center?: React$1.ReactNode;
856
+ /**
857
+ * Trailing actions — theme toggle, user avatar, notification bell, etc.
858
+ * Rendered on the trailing edge.
859
+ */
860
+ actions?: React$1.ReactNode;
861
+ /**
862
+ * Height in pixels (default 56). Controls the `h-*` style directly so
863
+ * child scroll-offset calculations can consume it as a CSS var.
864
+ */
865
+ height?: number;
866
+ /** Additional className on the root element */
867
+ className?: string;
868
+ }
869
+ /**
870
+ * App-shell top navigation bar.
871
+ *
872
+ * Three named slots: brand (leading), center, actions (trailing).
873
+ * All slots are optional — omit what you don't need.
874
+ *
875
+ * The component is sticky by default (`sticky top-0`) with `z-[100]`.
876
+ * Height is exposed as `--topbar-height` CSS variable on the element so
877
+ * layout children can reference it for scroll-offset or sticky positioning.
878
+ *
879
+ * Light/dark aware via Phase B semantic tokens.
880
+ *
881
+ * @example
882
+ * <TopBar
883
+ * brand={<Logo />}
884
+ * center={<NavLinks />}
885
+ * actions={
886
+ * <>
887
+ * <ThemeSwitch checked={isDark} onChange={toggleDark} />
888
+ * <UserAvatar />
889
+ * </>
890
+ * }
891
+ * />
892
+ */
893
+ declare function TopBar({ brand, center, actions, height, className, }: TopBarProps): react_jsx_runtime.JSX.Element;
877
894
 
878
895
  interface ButtonProps {
879
896
  content?: React$1.ReactNode;
880
- /** HTML button type attribute */
897
+ /** Visual style variant */
898
+ variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
899
+ /** Size — controls height, padding, and font size */
900
+ size?: 'sm' | 'md' | 'lg';
901
+ /** HTML button type */
881
902
  buttonType?: 'button' | 'submit' | 'reset';
882
- /** Visual variant */
883
- type?: string;
884
903
  loading?: boolean;
885
904
  disabled?: boolean;
905
+ /** Inline style overrides (width, etc.). Margins/layout belong in the parent. */
886
906
  style?: React$1.CSSProperties;
907
+ /** Leading icon — rendered before content */
887
908
  icon?: React$1.ReactNode;
888
909
  onClick?: React$1.MouseEventHandler<HTMLButtonElement>;
910
+ /**
911
+ * @deprecated Pass `variant` instead. Kept for API compat — currently no-op.
912
+ * Will be removed in the next major version.
913
+ */
914
+ type?: string;
889
915
  }
890
916
  /**
891
- * Primary action button.
917
+ * Primary action button with variant + size system.
918
+ *
919
+ * Width is never hardcoded — set `style={{ width }}` or let the parent grid/flex control it.
892
920
  *
893
921
  * @example
894
922
  * <Button content="Save" onClick={handleSave} />
895
- * <Button content="Submit" buttonType="submit" loading={isPending} />
923
+ * <Button content="Delete" variant="danger" size="sm" />
924
+ * <Button content="Cancel" variant="secondary" />
925
+ * <Button content="Loading…" loading buttonType="submit" />
896
926
  */
897
- declare function Button({ content, buttonType, loading, disabled, style, icon, onClick, }: ButtonProps): react_jsx_runtime.JSX.Element;
927
+ declare function Button({ content, variant, size, buttonType, loading, disabled, style, icon, onClick, }: ButtonProps): react_jsx_runtime.JSX.Element;
898
928
 
899
929
  interface TextInputProps {
900
930
  value?: any;
@@ -1273,4 +1303,4 @@ declare const Temporal: {
1273
1303
  TemporalPicker: typeof TemporalPickerBase;
1274
1304
  };
1275
1305
 
1276
- export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, COLORS, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, Switch$1 as ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };
1306
+ export { AutoComplete, type AutoCompleteProps, Button, type ButtonProps, Catalog, CatalogCarousel, type CatalogCarouselProps, CatalogGrid, type CatalogGridProps, type CatalogProps, Checkbox, type CheckboxProps, ContextMenu, type ContextMenuActionItem, type ContextMenuPosition, type ContextMenuProps, type DatePickerProps, Drawer, type DrawerProps, Dropdown, type DropdownItem, DropdownPill, type DropdownPillProps, type DropdownProps, type ExpandRowOptions, FadingBase, type FadingBaseProps, FileInput, type FileInputProps, GridCard, type GridCardItem, type GridCardProps, Icon, IconButton, type IconButtonProps, List, type ListItem, type ListProps, LoadingSpinner, type LoadingSpinnerProps, MenuBar, MenuBarItem, type MenuBarItemConfig, type MenuBarItemProps, type MenuBarProps, Modal, type ModalProps, type NotificationPayload, NotificationProvider, NumberInput, type NumberInputProps, OpaqueGridCard, type OpaqueGridCardProps, type PaginationOptions, Password, type PasswordProps, ScalableContainer, type ScalableContainerProps, SearchInput, type SearchInputProps, Switch, type SwitchInputProps, type TabItem, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Temporal, type TemporalPickerProps, TextInput, type TextInputProps, ThemeSwitch, type ThemeSwitchProps, ToggleButton, type ToggleButtonProps, type ToggleItem, Tooltip, type TooltipProps, TooltipProvider, TopBar, type TopBarProps, Tree, type TreeItemClickPayload, type TreeNode, type TreeProps, TreeSelect, type TreeSelectProps, Wizard, type WizardProps, type WizardStep, useNotification };