@gtcx/ui 0.1.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.
Files changed (155) hide show
  1. package/dist/components/ai/index.d.ts +3 -0
  2. package/dist/components/ai/index.d.ts.map +1 -0
  3. package/dist/components/ai/insight-card.d.ts +16 -0
  4. package/dist/components/ai/insight-card.d.ts.map +1 -0
  5. package/dist/components/data/advanced-table.d.ts +45 -0
  6. package/dist/components/data/advanced-table.d.ts.map +1 -0
  7. package/dist/components/data/avatar-group.d.ts +19 -0
  8. package/dist/components/data/avatar-group.d.ts.map +1 -0
  9. package/dist/components/data/avatar.d.ts +42 -0
  10. package/dist/components/data/avatar.d.ts.map +1 -0
  11. package/dist/components/data/badge.d.ts +53 -0
  12. package/dist/components/data/badge.d.ts.map +1 -0
  13. package/dist/components/data/card.d.ts +64 -0
  14. package/dist/components/data/card.d.ts.map +1 -0
  15. package/dist/components/data/data-visualization.d.ts +31 -0
  16. package/dist/components/data/data-visualization.d.ts.map +1 -0
  17. package/dist/components/data/index.d.ts +17 -0
  18. package/dist/components/data/index.d.ts.map +1 -0
  19. package/dist/components/data/rating.d.ts +25 -0
  20. package/dist/components/data/rating.d.ts.map +1 -0
  21. package/dist/components/data/skeleton.d.ts +16 -0
  22. package/dist/components/data/skeleton.d.ts.map +1 -0
  23. package/dist/components/effects/glassmorphism-card.d.ts +12 -0
  24. package/dist/components/effects/glassmorphism-card.d.ts.map +1 -0
  25. package/dist/components/effects/index.d.ts +3 -0
  26. package/dist/components/effects/index.d.ts.map +1 -0
  27. package/dist/components/feedback/accordion.d.ts +30 -0
  28. package/dist/components/feedback/accordion.d.ts.map +1 -0
  29. package/dist/components/feedback/alert-dialog.d.ts +67 -0
  30. package/dist/components/feedback/alert-dialog.d.ts.map +1 -0
  31. package/dist/components/feedback/alert.d.ts +60 -0
  32. package/dist/components/feedback/alert.d.ts.map +1 -0
  33. package/dist/components/feedback/collapsible.d.ts +32 -0
  34. package/dist/components/feedback/collapsible.d.ts.map +1 -0
  35. package/dist/components/feedback/content-loader.d.ts +12 -0
  36. package/dist/components/feedback/content-loader.d.ts.map +1 -0
  37. package/dist/components/feedback/dialog.d.ts +73 -0
  38. package/dist/components/feedback/dialog.d.ts.map +1 -0
  39. package/dist/components/feedback/hover-card.d.ts +22 -0
  40. package/dist/components/feedback/hover-card.d.ts.map +1 -0
  41. package/dist/components/feedback/index.d.ts +28 -0
  42. package/dist/components/feedback/index.d.ts.map +1 -0
  43. package/dist/components/feedback/popover.d.ts +29 -0
  44. package/dist/components/feedback/popover.d.ts.map +1 -0
  45. package/dist/components/feedback/progress.d.ts +33 -0
  46. package/dist/components/feedback/progress.d.ts.map +1 -0
  47. package/dist/components/feedback/screen-loader.d.ts +13 -0
  48. package/dist/components/feedback/screen-loader.d.ts.map +1 -0
  49. package/dist/components/feedback/sheet.d.ts +69 -0
  50. package/dist/components/feedback/sheet.d.ts.map +1 -0
  51. package/dist/components/feedback/toaster.d.ts +31 -0
  52. package/dist/components/feedback/toaster.d.ts.map +1 -0
  53. package/dist/components/feedback/tooltip.d.ts +13 -0
  54. package/dist/components/feedback/tooltip.d.ts.map +1 -0
  55. package/dist/components/forms/button.d.ts +34 -0
  56. package/dist/components/forms/button.d.ts.map +1 -0
  57. package/dist/components/forms/calendar.d.ts +12 -0
  58. package/dist/components/forms/calendar.d.ts.map +1 -0
  59. package/dist/components/forms/checkbox.d.ts +17 -0
  60. package/dist/components/forms/checkbox.d.ts.map +1 -0
  61. package/dist/components/forms/file-upload.d.ts +37 -0
  62. package/dist/components/forms/file-upload.d.ts.map +1 -0
  63. package/dist/components/forms/form.d.ts +48 -0
  64. package/dist/components/forms/form.d.ts.map +1 -0
  65. package/dist/components/forms/image-input.d.ts +20 -0
  66. package/dist/components/forms/image-input.d.ts.map +1 -0
  67. package/dist/components/forms/index.d.ts +29 -0
  68. package/dist/components/forms/index.d.ts.map +1 -0
  69. package/dist/components/forms/input.d.ts +58 -0
  70. package/dist/components/forms/input.d.ts.map +1 -0
  71. package/dist/components/forms/label.d.ts +19 -0
  72. package/dist/components/forms/label.d.ts.map +1 -0
  73. package/dist/components/forms/radio-group.d.ts +39 -0
  74. package/dist/components/forms/radio-group.d.ts.map +1 -0
  75. package/dist/components/forms/select.d.ts +18 -0
  76. package/dist/components/forms/select.d.ts.map +1 -0
  77. package/dist/components/forms/switch.d.ts +32 -0
  78. package/dist/components/forms/switch.d.ts.map +1 -0
  79. package/dist/components/forms/textarea.d.ts +14 -0
  80. package/dist/components/forms/textarea.d.ts.map +1 -0
  81. package/dist/components/forms/toggle-group.d.ts +33 -0
  82. package/dist/components/forms/toggle-group.d.ts.map +1 -0
  83. package/dist/components/forms/toggle.d.ts +27 -0
  84. package/dist/components/forms/toggle.d.ts.map +1 -0
  85. package/dist/components/index.d.ts +8 -0
  86. package/dist/components/index.d.ts.map +1 -0
  87. package/dist/components/layout/header.d.ts +49 -0
  88. package/dist/components/layout/header.d.ts.map +1 -0
  89. package/dist/components/layout/index.d.ts +13 -0
  90. package/dist/components/layout/index.d.ts.map +1 -0
  91. package/dist/components/layout/metronic-layout.d.ts +104 -0
  92. package/dist/components/layout/metronic-layout.d.ts.map +1 -0
  93. package/dist/components/layout/responsive-grid.d.ts +49 -0
  94. package/dist/components/layout/responsive-grid.d.ts.map +1 -0
  95. package/dist/components/layout/scroll-area.d.ts +24 -0
  96. package/dist/components/layout/scroll-area.d.ts.map +1 -0
  97. package/dist/components/layout/separator.d.ts +12 -0
  98. package/dist/components/layout/separator.d.ts.map +1 -0
  99. package/dist/components/layout/split-pane.d.ts +32 -0
  100. package/dist/components/layout/split-pane.d.ts.map +1 -0
  101. package/dist/components/navigation/breadcrumbs.d.ts +24 -0
  102. package/dist/components/navigation/breadcrumbs.d.ts.map +1 -0
  103. package/dist/components/navigation/command.d.ts +35 -0
  104. package/dist/components/navigation/command.d.ts.map +1 -0
  105. package/dist/components/navigation/context-menu.d.ts +24 -0
  106. package/dist/components/navigation/context-menu.d.ts.map +1 -0
  107. package/dist/components/navigation/dropdown-menu.d.ts +49 -0
  108. package/dist/components/navigation/dropdown-menu.d.ts.map +1 -0
  109. package/dist/components/navigation/index.d.ts +21 -0
  110. package/dist/components/navigation/index.d.ts.map +1 -0
  111. package/dist/components/navigation/mega-menu.d.ts +47 -0
  112. package/dist/components/navigation/mega-menu.d.ts.map +1 -0
  113. package/dist/components/navigation/menubar.d.ts +25 -0
  114. package/dist/components/navigation/menubar.d.ts.map +1 -0
  115. package/dist/components/navigation/navigation-menu.d.ts +28 -0
  116. package/dist/components/navigation/navigation-menu.d.ts.map +1 -0
  117. package/dist/components/navigation/platform-tabs.d.ts +39 -0
  118. package/dist/components/navigation/platform-tabs.d.ts.map +1 -0
  119. package/dist/components/navigation/side-nav.d.ts +55 -0
  120. package/dist/components/navigation/side-nav.d.ts.map +1 -0
  121. package/dist/components/navigation/tabs.d.ts +40 -0
  122. package/dist/components/navigation/tabs.d.ts.map +1 -0
  123. package/dist/components/navigation/toolbar.d.ts +33 -0
  124. package/dist/components/navigation/toolbar.d.ts.map +1 -0
  125. package/dist/hooks/index.d.ts +15 -0
  126. package/dist/hooks/index.d.ts.map +1 -0
  127. package/dist/hooks/use-body-class.d.ts +8 -0
  128. package/dist/hooks/use-body-class.d.ts.map +1 -0
  129. package/dist/hooks/use-breakpoint.d.ts +22 -0
  130. package/dist/hooks/use-breakpoint.d.ts.map +1 -0
  131. package/dist/hooks/use-copy-to-clipboard.d.ts +15 -0
  132. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  133. package/dist/hooks/use-menu.d.ts +19 -0
  134. package/dist/hooks/use-menu.d.ts.map +1 -0
  135. package/dist/hooks/use-mounted.d.ts +8 -0
  136. package/dist/hooks/use-mounted.d.ts.map +1 -0
  137. package/dist/hooks/use-responsive.d.ts +11 -0
  138. package/dist/hooks/use-responsive.d.ts.map +1 -0
  139. package/dist/hooks/use-scroll-position.d.ts +13 -0
  140. package/dist/hooks/use-scroll-position.d.ts.map +1 -0
  141. package/dist/hooks/use-slider-input.d.ts +24 -0
  142. package/dist/hooks/use-slider-input.d.ts.map +1 -0
  143. package/dist/hooks/use-viewport.d.ts +6 -0
  144. package/dist/hooks/use-viewport.d.ts.map +1 -0
  145. package/dist/index.d.mts +566 -0
  146. package/dist/index.d.ts +12 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +6590 -0
  149. package/dist/index.mjs +6418 -0
  150. package/dist/themes/index.d.ts +6 -0
  151. package/dist/themes/index.d.ts.map +1 -0
  152. package/dist/tokens/index.d.ts +6 -0
  153. package/dist/tokens/index.d.ts.map +1 -0
  154. package/package.json +55 -0
  155. package/readme.md +143 -0
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ export interface SplitPaneProps {
3
+ /** Split direction. @default 'horizontal' */
4
+ direction?: 'horizontal' | 'vertical';
5
+ /** Default size of the first pane as a percentage (0–100). @default 50 */
6
+ defaultSize?: number;
7
+ /** Minimum size percentage. @default 10 */
8
+ minSize?: number;
9
+ /** Maximum size percentage. @default 90 */
10
+ maxSize?: number;
11
+ /** Callback when pane is resized. */
12
+ onResize?: (size: number) => void;
13
+ /** Expects exactly 2 children. */
14
+ children: [React.ReactNode, React.ReactNode];
15
+ /** Accessible label for the first scroll pane. */
16
+ firstPaneAriaLabel?: string;
17
+ /** Accessible label for the second scroll pane. */
18
+ secondPaneAriaLabel?: string;
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ }
22
+ /** Clamp a value between min and max. Exported for testing. */
23
+ export declare function clampSize(value: number, min: number, max: number): number;
24
+ /**
25
+ * SplitPane -- resizable split panel layout.
26
+ *
27
+ * CSS + React state implementation with a draggable handle.
28
+ * Uses theme tokens for divider styling. Supports mouse, touch,
29
+ * and keyboard (arrow keys) input with full ARIA attributes.
30
+ */
31
+ export declare const SplitPane: React.ForwardRefExoticComponent<SplitPaneProps & React.RefAttributes<HTMLDivElement>>;
32
+ //# sourceMappingURL=split-pane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-pane.d.ts","sourceRoot":"","sources":["../../../src/components/layout/split-pane.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzE;AAID;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,uFA2KrB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export interface BreadcrumbItem {
3
+ /** Display label. */
4
+ label: string;
5
+ /** URL path. When provided, the item is rendered as a link. */
6
+ href?: string;
7
+ /** Icon shown before the label. */
8
+ icon?: React.ReactNode;
9
+ }
10
+ export interface BreadcrumbsProps {
11
+ /** Ordered breadcrumb trail. Last item is treated as the current page. */
12
+ items: BreadcrumbItem[];
13
+ /** Custom separator element. @default <RightOutlined /> */
14
+ separator?: React.ReactNode;
15
+ /** Show a home icon before the first item. @default false */
16
+ showHome?: boolean;
17
+ /** Callback when a breadcrumb link is clicked. */
18
+ onClick?: (href: string) => void;
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ }
22
+ /** Breadcrumb trail for page navigation. */
23
+ export declare function Breadcrumbs({ items, separator, showHome, onClick, className, style, }: BreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=breadcrumbs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/breadcrumbs.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CA+DlB"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ export interface CommandItem {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ value: string;
6
+ icon?: React.ReactNode;
7
+ group?: string;
8
+ disabled?: boolean;
9
+ }
10
+ export interface CommandProps {
11
+ /** Available command items. */
12
+ items?: CommandItem[];
13
+ /** Placeholder text. @default 'Type a command or search...' */
14
+ placeholder?: string;
15
+ /** Show as modal dialog. @default false */
16
+ modal?: boolean;
17
+ /** Controlled open state (for modal mode). */
18
+ open?: boolean;
19
+ /** Callback when open state changes. */
20
+ onOpenChange?: (open: boolean) => void;
21
+ /** Callback when an item is selected. */
22
+ onSelect?: (key: string) => void;
23
+ /** Callback when search value changes. */
24
+ onSearch?: (value: string) => void;
25
+ className?: string;
26
+ style?: React.CSSProperties;
27
+ }
28
+ /**
29
+ * Command — mirrors Metronic Command palette.
30
+ *
31
+ * A searchable command palette using Ant Design AutoComplete.
32
+ * Can render inline or as a modal dialog.
33
+ */
34
+ export declare function Command({ items, placeholder, modal, open, onOpenChange, onSelect, onSearch, className, style, }: CommandProps): import("react/jsx-runtime").JSX.Element;
35
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/command.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAU,EACV,WAA2C,EAC3C,KAAa,EACb,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,YAAY,2CAmEd"}
@@ -0,0 +1,24 @@
1
+ import type { DropdownProps as AntDropdownProps } from 'antd';
2
+ import React from 'react';
3
+ export interface ContextMenuItem {
4
+ key: string;
5
+ label: React.ReactNode;
6
+ icon?: React.ReactNode;
7
+ disabled?: boolean;
8
+ danger?: boolean;
9
+ type?: 'item' | 'divider';
10
+ }
11
+ export interface ContextMenuProps extends Omit<AntDropdownProps, 'trigger' | 'menu'> {
12
+ /** Menu items. */
13
+ items?: ContextMenuItem[];
14
+ /** Callback when a menu item is clicked. */
15
+ onSelect?: (key: string) => void;
16
+ children?: React.ReactNode;
17
+ }
18
+ /**
19
+ * ContextMenu — mirrors Metronic ContextMenu.
20
+ *
21
+ * Uses Ant Design Dropdown with trigger='contextMenu'.
22
+ */
23
+ export declare function ContextMenu({ items, onSelect, children, ...rest }: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/context-menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAa,MAAM,MAAM,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC;IAClF,kBAAkB;IAClB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,2CAwBxF"}
@@ -0,0 +1,49 @@
1
+ import type { DropdownProps as AntDropdownProps } from 'antd';
2
+ import React from 'react';
3
+ export interface DropdownMenuProps {
4
+ /** Controlled open state. */
5
+ open?: boolean;
6
+ /** Callback when open state changes. */
7
+ onOpenChange?: (open: boolean) => void;
8
+ children?: React.ReactNode;
9
+ }
10
+ /**
11
+ * DropdownMenu — mirrors Metronic DropdownMenu.
12
+ *
13
+ * State container for compound dropdown menu components.
14
+ */
15
+ export declare function DropdownMenu({ children }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
16
+ export interface DropdownMenuTriggerProps {
17
+ children: React.ReactNode;
18
+ }
19
+ export declare function DropdownMenuTrigger({ children }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
20
+ export interface DropdownMenuItem {
21
+ key: string;
22
+ label: React.ReactNode;
23
+ icon?: React.ReactNode;
24
+ disabled?: boolean;
25
+ danger?: boolean;
26
+ type?: 'item' | 'divider' | 'group';
27
+ children?: DropdownMenuItem[];
28
+ }
29
+ export interface DropdownMenuContentProps extends Omit<AntDropdownProps, 'menu'> {
30
+ /** Menu items. */
31
+ items?: DropdownMenuItem[];
32
+ /** Callback when a menu item is clicked. */
33
+ onSelect?: (key: string) => void;
34
+ children?: React.ReactNode;
35
+ }
36
+ /**
37
+ * DropdownMenuContent — renders the dropdown overlay.
38
+ *
39
+ * Pass `items` for simple usage, or use as a wrapper with Ant Dropdown props.
40
+ */
41
+ export declare function DropdownMenuContent({ items, onSelect, children, ...rest }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function DropdownMenuSeparator(): null;
43
+ export interface DropdownMenuLabelProps {
44
+ children: React.ReactNode;
45
+ className?: string;
46
+ style?: React.CSSProperties;
47
+ }
48
+ export declare function DropdownMenuLabel({ children, className, style }: DropdownMenuLabelProps): import("react/jsx-runtime").JSX.Element;
49
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/dropdown-menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAa,MAAM,MAAM,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAE3D;AAID,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2CAEzE;AAID,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC9E,kBAAkB;IAClB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAU,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,wBAAwB,2CA+B1B;AAID,wBAAgB,qBAAqB,SAEpC;AAID,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,sBAAsB,2CAkBvF"}
@@ -0,0 +1,21 @@
1
+ export { SideNav } from './side-nav';
2
+ export type { SideNavProps, SideNavItem } from './side-nav';
3
+ export { Toolbar, ToolbarHeading, ToolbarPageTitle, ToolbarDescription, ToolbarActions, } from './toolbar';
4
+ export type { ToolbarProps, ToolbarHeadingProps, ToolbarPageTitleProps, ToolbarDescriptionProps, ToolbarActionsProps, } from './toolbar';
5
+ export { Breadcrumbs } from './breadcrumbs';
6
+ export type { BreadcrumbsProps, BreadcrumbItem } from './breadcrumbs';
7
+ export { MegaMenu } from './mega-menu';
8
+ export type { MegaMenuProps, MegaMenuSection, MegaMenuColumn, MegaMenuLink } from './mega-menu';
9
+ export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuLabel, } from './dropdown-menu';
10
+ export type { DropdownMenuProps, DropdownMenuTriggerProps, DropdownMenuItem, DropdownMenuContentProps, DropdownMenuLabelProps, } from './dropdown-menu';
11
+ export { ContextMenu } from './context-menu';
12
+ export type { ContextMenuProps, ContextMenuItem } from './context-menu';
13
+ export { Menubar } from './menubar';
14
+ export type { MenubarProps, MenubarItem } from './menubar';
15
+ export { Command } from './command';
16
+ export type { CommandProps, CommandItem } from './command';
17
+ export { Tabs } from './tabs';
18
+ export type { TabsProps, TabItem, TabsVariant } from './tabs';
19
+ export { NavigationMenu } from './navigation-menu';
20
+ export type { NavigationMenuProps, NavigationMenuItem } from './navigation-menu';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EACL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ export interface MegaMenuColumn {
3
+ /** Column heading. */
4
+ title: string;
5
+ /** Items in this column. */
6
+ items: MegaMenuLink[];
7
+ }
8
+ export interface MegaMenuLink {
9
+ key: string;
10
+ label: string;
11
+ description?: string;
12
+ icon?: React.ReactNode;
13
+ href?: string;
14
+ disabled?: boolean;
15
+ }
16
+ export interface MegaMenuSection {
17
+ /** Trigger label shown in the menu bar. */
18
+ label: string;
19
+ key: string;
20
+ /** Optional icon next to the trigger label. */
21
+ icon?: React.ReactNode;
22
+ /** Direct link — no dropdown. */
23
+ href?: string;
24
+ /** Multi-column dropdown content. */
25
+ columns?: MegaMenuColumn[];
26
+ }
27
+ export interface MegaMenuProps {
28
+ /** Top-level menu sections. */
29
+ sections: MegaMenuSection[];
30
+ /** Currently active section key. */
31
+ activeKey?: string;
32
+ /** Callback when a menu link is clicked. */
33
+ onSelect?: (sectionKey: string, itemKey: string) => void;
34
+ /** Callback when a direct-link section is clicked. */
35
+ onNavigate?: (href: string) => void;
36
+ className?: string;
37
+ style?: React.CSSProperties;
38
+ }
39
+ /**
40
+ * Multi-column mega menu — mirrors Metronic KTMegaMenu / NavigationMenu.
41
+ *
42
+ * Active and hover colors come from the theme (via ConfigProvider).
43
+ * Uses `token.colorPrimary` for active state, matching whatever platform
44
+ * theme is configured at the app level.
45
+ */
46
+ export declare function MegaMenu({ sections, activeKey, onSelect, onNavigate, className, style, }: MegaMenuProps): import("react/jsx-runtime").JSX.Element;
47
+ //# sourceMappingURL=mega-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mega-menu.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/mega-menu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,cAAc;IAC7B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,sDAAsD;IACtD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,KAAK,GACN,EAAE,aAAa,2CA8Jf"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export interface MenubarItem {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ icon?: React.ReactNode;
6
+ disabled?: boolean;
7
+ children?: MenubarItem[];
8
+ }
9
+ export interface MenubarProps {
10
+ /** Menu items. */
11
+ items: MenubarItem[];
12
+ /** Currently active key. */
13
+ activeKey?: string;
14
+ /** Callback when a menu item is clicked. */
15
+ onSelect?: (key: string) => void;
16
+ className?: string;
17
+ style?: React.CSSProperties;
18
+ }
19
+ /**
20
+ * Menubar — mirrors Metronic Menubar.
21
+ *
22
+ * A horizontal menu bar using Ant Design Menu mode='horizontal'.
23
+ */
24
+ export declare function Menubar({ items, activeKey, onSelect, className, style }: MenubarProps): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=menubar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/menubar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,YAAY,2CAwBrF"}
@@ -0,0 +1,28 @@
1
+ import type { MenuRef } from 'antd';
2
+ import React from 'react';
3
+ export interface NavigationMenuItem {
4
+ key: string;
5
+ label: React.ReactNode;
6
+ icon?: React.ReactNode;
7
+ disabled?: boolean;
8
+ children?: NavigationMenuItem[];
9
+ }
10
+ export interface NavigationMenuProps {
11
+ /** Menu items. */
12
+ items: NavigationMenuItem[];
13
+ /** Controlled active item key. */
14
+ activeKey?: string;
15
+ /** Callback when active item changes. */
16
+ onChange?: (key: string) => void;
17
+ /** Menu orientation. @default 'horizontal' */
18
+ orientation?: 'horizontal' | 'vertical';
19
+ className?: string;
20
+ style?: React.CSSProperties;
21
+ }
22
+ /**
23
+ * NavigationMenu -- horizontal/vertical navigation.
24
+ *
25
+ * Wraps Ant Design Menu with a simplified item structure.
26
+ */
27
+ export declare const NavigationMenu: React.ForwardRefExoticComponent<NavigationMenuProps & React.RefAttributes<MenuRef>>;
28
+ //# sourceMappingURL=navigation-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/navigation-menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAa,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAYD;;;;GAIG;AACH,eAAO,MAAM,cAAc,qFAc1B,CAAC"}
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ export interface PlatformTab {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ icon?: React.ReactNode;
6
+ disabled?: boolean;
7
+ /** Tab panel content. */
8
+ children?: React.ReactNode;
9
+ }
10
+ export interface PlatformTabsProps {
11
+ /** Tab definitions. */
12
+ items: PlatformTab[];
13
+ /** Active tab key (controlled). */
14
+ activeKey?: string;
15
+ /** Default active tab key (uncontrolled). */
16
+ defaultActiveKey?: string;
17
+ /** Callback when the active tab changes. */
18
+ onChange?: (key: string) => void;
19
+ /** Tab bar position. @default 'top' */
20
+ tabPosition?: 'top' | 'left' | 'right' | 'bottom';
21
+ /** Tab type. @default 'line' */
22
+ type?: 'line' | 'card' | 'editable-card';
23
+ /** Size variant. @default 'middle' */
24
+ size?: 'small' | 'middle' | 'large';
25
+ /** Whether to center tabs. @default false */
26
+ centered?: boolean;
27
+ /** Extra content on the right side of the tab bar. */
28
+ tabBarExtraContent?: React.ReactNode;
29
+ className?: string;
30
+ style?: React.CSSProperties;
31
+ }
32
+ /**
33
+ * Tab navigation — mirrors Metronic KTTabs.
34
+ *
35
+ * Wraps Ant Design Tabs with consistent styling. Active tab color
36
+ * comes from the theme (via ConfigProvider), not a platform prop.
37
+ */
38
+ export declare function PlatformTabs({ items, activeKey, defaultActiveKey, onChange, tabPosition, type, size, centered, tabBarExtraContent, className, style, }: PlatformTabsProps): import("react/jsx-runtime").JSX.Element;
39
+ //# sourceMappingURL=platform-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-tabs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/platform-tabs.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,uCAAuC;IACvC,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClD,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;IACzC,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,WAAmB,EACnB,IAAa,EACb,IAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,2CAiCnB"}
@@ -0,0 +1,55 @@
1
+ import React from 'react';
2
+ export interface SideNavItem {
3
+ key: string;
4
+ label: string;
5
+ icon?: React.ReactNode;
6
+ children?: SideNavItem[];
7
+ href?: string;
8
+ disabled?: boolean;
9
+ /** Section heading — rendered as a group label (mirrors Metronic AccordionMenuLabel). */
10
+ group?: boolean;
11
+ /** Badge text shown next to disabled items (e.g. "Soon"). */
12
+ badge?: string;
13
+ }
14
+ export interface SideNavProps {
15
+ /** Menu items — supports nesting and group headings. */
16
+ items: SideNavItem[];
17
+ /** Currently selected item key. */
18
+ selectedKey?: string;
19
+ /** Currently open sub-menu keys (controlled). */
20
+ openKeys?: string[];
21
+ /** Width when expanded. @default 260 */
22
+ width?: number;
23
+ /** Width when collapsed. @default 80 */
24
+ collapsedWidth?: number;
25
+ /** Whether the sidebar starts collapsed. */
26
+ defaultCollapsed?: boolean;
27
+ /** Controlled collapsed state. */
28
+ collapsed?: boolean;
29
+ /** Callback when collapse state changes. */
30
+ onCollapse?: (collapsed: boolean) => void;
31
+ /** Callback when a menu item is clicked. */
32
+ onSelect?: (key: string) => void;
33
+ /** Callback when sub-menus open/close. */
34
+ onOpenChange?: (openKeys: string[]) => void;
35
+ /** Logo element rendered at the top of the sidebar. */
36
+ logo?: React.ReactNode;
37
+ /** Compact logo shown when collapsed. */
38
+ collapsedLogo?: React.ReactNode;
39
+ /** Title shown next to the logo. */
40
+ title?: string;
41
+ /** Fix the sidebar position. @default true */
42
+ fixed?: boolean;
43
+ /** Use dark theme. @default true */
44
+ darkTheme?: boolean;
45
+ className?: string;
46
+ style?: React.CSSProperties;
47
+ }
48
+ /**
49
+ * Sidebar navigation — mirrors Metronic KTAside/KTMenu.
50
+ *
51
+ * Collapsible sidebar with accordion-style nested menus, group headings,
52
+ * and badge support. Theming comes from ConfigProvider — no platform prop needed.
53
+ */
54
+ export declare function SideNav({ items, selectedKey, openKeys, width, collapsedWidth, defaultCollapsed, collapsed: controlledCollapsed, onCollapse, onSelect, onOpenChange, logo, collapsedLogo, title, fixed, darkTheme, className, style, }: SideNavProps): import("react/jsx-runtime").JSX.Element;
55
+ //# sourceMappingURL=side-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-nav.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/side-nav.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA4B,MAAM,OAAO,CAAC;AASjD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,uDAAuD;IACvD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,yCAAyC;IACzC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAgDD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAW,EACX,cAAmB,EACnB,gBAAwB,EACxB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,KAAK,EACL,KAAY,EACZ,SAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,YAAY,2CA0Gd"}
@@ -0,0 +1,40 @@
1
+ import type { TabsProps as AntTabsProps } from 'antd';
2
+ import React from 'react';
3
+ export interface TabItem {
4
+ key: string;
5
+ label: React.ReactNode;
6
+ children?: React.ReactNode;
7
+ icon?: React.ReactNode;
8
+ disabled?: boolean;
9
+ closable?: boolean;
10
+ }
11
+ export type TabsVariant = 'line' | 'card' | 'pill';
12
+ export interface TabsProps {
13
+ /** Tab items. */
14
+ items: TabItem[];
15
+ /** Controlled active tab key. */
16
+ activeKey?: string;
17
+ /** Default active tab key. */
18
+ defaultActiveKey?: string;
19
+ /** Callback when active tab changes. */
20
+ onChange?: (key: string) => void;
21
+ /** Visual variant. @default 'line' */
22
+ variant?: TabsVariant;
23
+ /** Tab size. @default 'md' */
24
+ size?: 'sm' | 'md' | 'lg';
25
+ /** Center tabs. @default false */
26
+ centered?: boolean;
27
+ className?: string;
28
+ style?: React.CSSProperties;
29
+ }
30
+ declare function resolveAntProps(variant: TabsVariant, size: 'sm' | 'md' | 'lg'): Partial<AntTabsProps>;
31
+ /** Exported for testing. */
32
+ export { resolveAntProps as resolveTabsAntProps };
33
+ /**
34
+ * Tabs -- tab navigation component.
35
+ *
36
+ * Wraps Ant Design Tabs with a simplified variant API.
37
+ * The `pill` variant injects scoped CSS for rounded pill-shaped tabs.
38
+ */
39
+ export declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
40
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/tabs.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,sCAAsC;IACtC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAwBD,iBAAS,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CA4B9F;AAED,4BAA4B;AAC5B,OAAO,EAAE,eAAe,IAAI,mBAAmB,EAAE,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,kFA8ChB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ export interface ToolbarProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ }
7
+ /** Page-level toolbar — wraps heading, breadcrumbs, and action buttons. */
8
+ export declare function Toolbar({ children, className, style }: ToolbarProps): import("react/jsx-runtime").JSX.Element;
9
+ export interface ToolbarHeadingProps {
10
+ children: React.ReactNode;
11
+ style?: React.CSSProperties;
12
+ }
13
+ /** Container for the title + description section of the toolbar. */
14
+ export declare function ToolbarHeading({ children, style }: ToolbarHeadingProps): import("react/jsx-runtime").JSX.Element;
15
+ export interface ToolbarPageTitleProps {
16
+ children: React.ReactNode;
17
+ style?: React.CSSProperties;
18
+ }
19
+ /** Page title rendered inside the toolbar heading. */
20
+ export declare function ToolbarPageTitle({ children, style }: ToolbarPageTitleProps): import("react/jsx-runtime").JSX.Element;
21
+ export interface ToolbarDescriptionProps {
22
+ children: React.ReactNode;
23
+ style?: React.CSSProperties;
24
+ }
25
+ /** Subtitle or description text below the page title. */
26
+ export declare function ToolbarDescription({ children, style }: ToolbarDescriptionProps): import("react/jsx-runtime").JSX.Element;
27
+ export interface ToolbarActionsProps {
28
+ children: React.ReactNode;
29
+ style?: React.CSSProperties;
30
+ }
31
+ /** Right-aligned action buttons area. */
32
+ export declare function ToolbarActions({ children, style }: ToolbarActionsProps): import("react/jsx-runtime").JSX.Element;
33
+ //# sourceMappingURL=toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/navigation/toolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,YAAY,2CAqBnE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CActE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,qBAAqB,2CAiB1E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,uBAAuB,2CAc9E;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAetE"}
@@ -0,0 +1,15 @@
1
+ export { useBreakpoint } from './use-breakpoint';
2
+ export type { Breakpoint, UseBreakpointResult } from './use-breakpoint';
3
+ export { useResponsive } from './use-responsive';
4
+ export { useBodyClass } from './use-body-class';
5
+ export { useCopyToClipboard } from './use-copy-to-clipboard';
6
+ export type { UseCopyToClipboardResult } from './use-copy-to-clipboard';
7
+ export { useMounted } from './use-mounted';
8
+ export { useScrollPosition } from './use-scroll-position';
9
+ export type { ScrollPosition } from './use-scroll-position';
10
+ export { useMenu } from './use-menu';
11
+ export type { MenuItem } from './use-menu';
12
+ export { useViewport } from './use-viewport';
13
+ export { useSliderInput } from './use-slider-input';
14
+ export type { UseSliderInputOptions } from './use-slider-input';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * useBodyClass — add/remove a CSS class on document.body.
3
+ *
4
+ * Mirrors Metronic's useBodyClass hook. Automatically removes
5
+ * the class on unmount.
6
+ */
7
+ export declare function useBodyClass(className: string, active?: boolean): void;
8
+ //# sourceMappingURL=use-body-class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-body-class.d.ts","sourceRoot":"","sources":["../../src/hooks/use-body-class.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,IAAI,CASnE"}
@@ -0,0 +1,22 @@
1
+ import { breakpoints } from '../tokens';
2
+ export type Breakpoint = keyof typeof breakpoints;
3
+ export interface UseBreakpointResult {
4
+ /** Current breakpoint name. `null` during SSR before hydration. */
5
+ current: Breakpoint | null;
6
+ isMobile: boolean;
7
+ isTablet: boolean;
8
+ isDesktop: boolean;
9
+ /** Returns `true` if current viewport is at or above `bp`. */
10
+ isAbove: (bp: Breakpoint) => boolean;
11
+ /** Returns `true` if current viewport is at or below `bp`. */
12
+ isBelow: (bp: Breakpoint) => boolean;
13
+ breakpoints: typeof breakpoints;
14
+ }
15
+ /**
16
+ * Responsive breakpoint hook with SSR safety and throttled resize.
17
+ *
18
+ * Initial state is `null` (SSR-safe) until the first client-side measurement.
19
+ * Boolean helpers (`isMobile`, `isDesktop`, etc.) default to `false` during SSR.
20
+ */
21
+ export declare function useBreakpoint(): UseBreakpointResult;
22
+ //# sourceMappingURL=use-breakpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-breakpoint.d.ts","sourceRoot":"","sources":["../../src/hooks/use-breakpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAqClD,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,OAAO,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC;IACrC,8DAA8D;IAC9D,OAAO,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC;IACrC,WAAW,EAAE,OAAO,WAAW,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,mBAAmB,CAkDnD"}
@@ -0,0 +1,15 @@
1
+ export interface UseCopyToClipboardResult {
2
+ /** Whether the copy was successful (resets after timeout). */
3
+ copied: boolean;
4
+ /** Copy the given text to clipboard. */
5
+ copy: (text: string) => Promise<boolean>;
6
+ }
7
+ /**
8
+ * useCopyToClipboard — copy text to clipboard with feedback.
9
+ *
10
+ * Mirrors Metronic's useCopyToClipboard hook.
11
+ *
12
+ * @param resetTimeout - Time in ms before `copied` resets to false. @default 2000
13
+ */
14
+ export declare function useCopyToClipboard(resetTimeout?: number): UseCopyToClipboardResult;
15
+ //# sourceMappingURL=use-copy-to-clipboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,SAAO,GAAG,wBAAwB,CA2BhF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Path-aware menu state hook.
3
+ * Ported from Metronic useMenu.
4
+ */
5
+ export interface MenuItem {
6
+ path?: string;
7
+ title?: string;
8
+ children?: MenuItem[];
9
+ [key: string]: unknown;
10
+ }
11
+ export declare function useMenu(pathname: string): {
12
+ isActive: (path?: string) => boolean;
13
+ hasActiveChild: (children?: MenuItem[]) => boolean;
14
+ isItemActive: (item: MenuItem) => boolean;
15
+ getCurrentItem: (items: MenuItem[]) => MenuItem | undefined;
16
+ getBreadcrumb: (items: MenuItem[]) => MenuItem[];
17
+ getChildren: (items: MenuItem[], level: number) => MenuItem[] | null;
18
+ };
19
+ //# sourceMappingURL=use-menu.d.ts.map