@skunkworksai/ui-kit 0.1.18

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 (274) hide show
  1. package/AGENTS.md +250 -0
  2. package/README.md +429 -0
  3. package/dist/assets/Service-applets-apps/audience-measurement.png +0 -0
  4. package/dist/assets/Service-applets-apps/coatro-app.png +0 -0
  5. package/dist/assets/Service-applets-apps/content-effectiveness.png +0 -0
  6. package/dist/assets/Service-applets-apps/hop-tracking.png +0 -0
  7. package/dist/assets/Service-applets-apps/index.ts +13 -0
  8. package/dist/assets/Service-applets-apps/journeys-app.png +0 -0
  9. package/dist/assets/Service-applets-apps/people-counting.png +0 -0
  10. package/dist/assets/Service-applets-apps/petra.png +0 -0
  11. package/dist/assets/Service-applets-apps/sam-generic.png +0 -0
  12. package/dist/assets/Service-applets-apps/sami-for-environment.png +0 -0
  13. package/dist/assets/Service-applets-apps/shelf-engagement.png +0 -0
  14. package/dist/assets/Service-applets-apps/traffic-management.png +0 -0
  15. package/dist/assets/Service-applets-apps/viana.png +0 -0
  16. package/dist/assets/Service-applets-apps/zone-engagement.png +0 -0
  17. package/dist/assets/icons/Dashboard-active.svg +29 -0
  18. package/dist/assets/icons/Dashboard.svg +25 -0
  19. package/dist/assets/icons/DashboardActiveIcon.tsx +35 -0
  20. package/dist/assets/icons/DashboardIcon.tsx +31 -0
  21. package/dist/assets/icons/Devices-active.svg +27 -0
  22. package/dist/assets/icons/Devices.svg +20 -0
  23. package/dist/assets/icons/DevicesActiveIcon.tsx +33 -0
  24. package/dist/assets/icons/DevicesIcon.tsx +26 -0
  25. package/dist/assets/icons/Installer-active.svg +29 -0
  26. package/dist/assets/icons/Installer.svg +17 -0
  27. package/dist/assets/icons/InstallerActiveIcon.tsx +35 -0
  28. package/dist/assets/icons/InstallerIcon.tsx +23 -0
  29. package/dist/assets/icons/Manifest-active.svg +49 -0
  30. package/dist/assets/icons/Manifest.svg +49 -0
  31. package/dist/assets/icons/ManifestActiveIcon.tsx +55 -0
  32. package/dist/assets/icons/ManifestIcon.tsx +55 -0
  33. package/dist/assets/icons/Sensor-active.svg +15 -0
  34. package/dist/assets/icons/Sensor.svg +11 -0
  35. package/dist/assets/icons/SensorActiveIcon.tsx +21 -0
  36. package/dist/assets/icons/SensorIcon.tsx +17 -0
  37. package/dist/assets/icons/Site-active.svg +14 -0
  38. package/dist/assets/icons/Site.svg +10 -0
  39. package/dist/assets/icons/SiteActiveIcon.tsx +20 -0
  40. package/dist/assets/icons/SiteIcon.tsx +16 -0
  41. package/dist/assets/icons/X-ray-active.svg +199 -0
  42. package/dist/assets/icons/X-ray.svg +47 -0
  43. package/dist/assets/icons/XrayActiveIcon.tsx +205 -0
  44. package/dist/assets/icons/XrayIcon.tsx +53 -0
  45. package/dist/assets/icons/index.ts +14 -0
  46. package/dist/assets/logos/DarkLogo.tsx +28 -0
  47. package/dist/assets/logos/DarkSymbol.tsx +9 -0
  48. package/dist/assets/logos/PrimaryLogo.tsx +28 -0
  49. package/dist/assets/logos/PrimarySymbol.tsx +9 -0
  50. package/dist/assets/logos/WhiteLogo.tsx +28 -0
  51. package/dist/assets/logos/WhiteSymbol.tsx +9 -0
  52. package/dist/assets/logos/dark_logo.svg +22 -0
  53. package/dist/assets/logos/dark_symbol.svg +3 -0
  54. package/dist/assets/logos/index.ts +6 -0
  55. package/dist/assets/logos/primary-logo.svg +22 -0
  56. package/dist/assets/logos/primary_logo.svg +22 -0
  57. package/dist/assets/logos/primary_symbol.svg +3 -0
  58. package/dist/assets/logos/white_symbol.svg +3 -0
  59. package/dist/index.cjs +160 -0
  60. package/dist/index.cjs.map +1 -0
  61. package/dist/index.js +45276 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/tokens-source.css +121 -0
  64. package/dist/types/assets/Service-applets-apps/index.d.ts +13 -0
  65. package/dist/types/assets/icons/DashboardActiveIcon.d.ts +2 -0
  66. package/dist/types/assets/icons/DashboardIcon.d.ts +2 -0
  67. package/dist/types/assets/icons/DevicesActiveIcon.d.ts +2 -0
  68. package/dist/types/assets/icons/DevicesIcon.d.ts +2 -0
  69. package/dist/types/assets/icons/InstallerActiveIcon.d.ts +2 -0
  70. package/dist/types/assets/icons/InstallerIcon.d.ts +2 -0
  71. package/dist/types/assets/icons/ManifestActiveIcon.d.ts +2 -0
  72. package/dist/types/assets/icons/ManifestIcon.d.ts +2 -0
  73. package/dist/types/assets/icons/SensorActiveIcon.d.ts +2 -0
  74. package/dist/types/assets/icons/SensorIcon.d.ts +2 -0
  75. package/dist/types/assets/icons/SiteActiveIcon.d.ts +2 -0
  76. package/dist/types/assets/icons/SiteIcon.d.ts +2 -0
  77. package/dist/types/assets/icons/XrayActiveIcon.d.ts +2 -0
  78. package/dist/types/assets/icons/XrayIcon.d.ts +2 -0
  79. package/dist/types/assets/icons/index.d.ts +14 -0
  80. package/dist/types/assets/logos/DarkLogo.d.ts +2 -0
  81. package/dist/types/assets/logos/DarkSymbol.d.ts +2 -0
  82. package/dist/types/assets/logos/PrimaryLogo.d.ts +2 -0
  83. package/dist/types/assets/logos/PrimarySymbol.d.ts +2 -0
  84. package/dist/types/assets/logos/WhiteLogo.d.ts +2 -0
  85. package/dist/types/assets/logos/WhiteSymbol.d.ts +2 -0
  86. package/dist/types/assets/logos/index.d.ts +6 -0
  87. package/dist/types/components/blocks/AppBentoMenu.d.ts +31 -0
  88. package/dist/types/components/blocks/AppDashboard.d.ts +121 -0
  89. package/dist/types/components/blocks/AppHeader.d.ts +198 -0
  90. package/dist/types/components/blocks/AppLocationTreeFilter.d.ts +44 -0
  91. package/dist/types/components/blocks/AppNotificationsMenu.d.ts +50 -0
  92. package/dist/types/components/blocks/AppPageTitle.d.ts +86 -0
  93. package/dist/types/components/blocks/AppProfile.d.ts +53 -0
  94. package/dist/types/components/blocks/TableManager.d.ts +194 -0
  95. package/dist/types/components/blocks/backgrounds/AppDashboardBackgroundDots.d.ts +14 -0
  96. package/dist/types/components/blocks/backgrounds/AppDashboardBackgroundWave.d.ts +14 -0
  97. package/dist/types/components/blocks/backgrounds/index.d.ts +3 -0
  98. package/dist/types/components/blocks/backgrounds/types.d.ts +13 -0
  99. package/dist/types/components/blocks/index.d.ts +9 -0
  100. package/dist/types/components/primitives/AppAccordion.d.ts +22 -0
  101. package/dist/types/components/primitives/AppAlert.d.ts +33 -0
  102. package/dist/types/components/primitives/AppAlertDialog.d.ts +79 -0
  103. package/dist/types/components/primitives/AppAspectRatio.d.ts +7 -0
  104. package/dist/types/components/primitives/AppAvatar.d.ts +17 -0
  105. package/dist/types/components/primitives/AppBadge.d.ts +9 -0
  106. package/dist/types/components/primitives/AppBreadcrumb.d.ts +45 -0
  107. package/dist/types/components/primitives/AppButton.d.ts +24 -0
  108. package/dist/types/components/primitives/AppButtonGroup.d.ts +10 -0
  109. package/dist/types/components/primitives/AppCalendar.d.ts +51 -0
  110. package/dist/types/components/primitives/AppCard.d.ts +41 -0
  111. package/dist/types/components/primitives/AppCarousel.d.ts +26 -0
  112. package/dist/types/components/primitives/AppChart.d.ts +27 -0
  113. package/dist/types/components/primitives/AppCheckbox.d.ts +9 -0
  114. package/dist/types/components/primitives/AppCollapsible.d.ts +20 -0
  115. package/dist/types/components/primitives/AppCombobox.d.ts +37 -0
  116. package/dist/types/components/primitives/AppCommand.d.ts +47 -0
  117. package/dist/types/components/primitives/AppContextMenu.d.ts +82 -0
  118. package/dist/types/components/primitives/AppDataTable.d.ts +23 -0
  119. package/dist/types/components/primitives/AppDatePicker.d.ts +26 -0
  120. package/dist/types/components/primitives/AppDialog.d.ts +40 -0
  121. package/dist/types/components/primitives/AppDrawer.d.ts +58 -0
  122. package/dist/types/components/primitives/AppDropdownMenu.d.ts +85 -0
  123. package/dist/types/components/primitives/AppEmpty.d.ts +35 -0
  124. package/dist/types/components/primitives/AppField.d.ts +65 -0
  125. package/dist/types/components/primitives/AppForm.d.ts +58 -0
  126. package/dist/types/components/primitives/AppHoverCard.d.ts +19 -0
  127. package/dist/types/components/primitives/AppInput.d.ts +21 -0
  128. package/dist/types/components/primitives/AppKbd.d.ts +18 -0
  129. package/dist/types/components/primitives/AppLabel.d.ts +8 -0
  130. package/dist/types/components/primitives/AppMenubar.d.ts +83 -0
  131. package/dist/types/components/primitives/AppNavigationMenu.d.ts +51 -0
  132. package/dist/types/components/primitives/AppPagination.d.ts +46 -0
  133. package/dist/types/components/primitives/AppPopover.d.ts +20 -0
  134. package/dist/types/components/primitives/AppProgress.d.ts +9 -0
  135. package/dist/types/components/primitives/AppRadioGroup.d.ts +15 -0
  136. package/dist/types/components/primitives/AppScrollArea.d.ts +12 -0
  137. package/dist/types/components/primitives/AppScrollText.d.ts +7 -0
  138. package/dist/types/components/primitives/AppSelect.d.ts +46 -0
  139. package/dist/types/components/primitives/AppSeparator.d.ts +8 -0
  140. package/dist/types/components/primitives/AppSheet.d.ts +32 -0
  141. package/dist/types/components/primitives/AppSidebar.d.ts +59 -0
  142. package/dist/types/components/primitives/AppSkeleton.d.ts +6 -0
  143. package/dist/types/components/primitives/AppSpinner.d.ts +13 -0
  144. package/dist/types/components/primitives/AppSwitch.d.ts +8 -0
  145. package/dist/types/components/primitives/AppTable.d.ts +53 -0
  146. package/dist/types/components/primitives/AppTabs.d.ts +10 -0
  147. package/dist/types/components/primitives/AppTextarea.d.ts +9 -0
  148. package/dist/types/components/primitives/AppThemeProvider.d.ts +46 -0
  149. package/dist/types/components/primitives/AppToaster.d.ts +7 -0
  150. package/dist/types/components/primitives/AppToggle.d.ts +9 -0
  151. package/dist/types/components/primitives/AppToggleGroup.d.ts +18 -0
  152. package/dist/types/components/primitives/AppTooltip.d.ts +26 -0
  153. package/dist/types/components/primitives/AppTypography.d.ts +80 -0
  154. package/dist/types/components/primitives/index.d.ts +57 -0
  155. package/dist/types/components/ui/accordion.d.ts +7 -0
  156. package/dist/types/components/ui/alert-dialog.d.ts +20 -0
  157. package/dist/types/components/ui/alert.d.ts +8 -0
  158. package/dist/types/components/ui/aspect-ratio.d.ts +4 -0
  159. package/dist/types/components/ui/avatar.d.ts +6 -0
  160. package/dist/types/components/ui/badge.d.ts +9 -0
  161. package/dist/types/components/ui/breadcrumb.d.ts +19 -0
  162. package/dist/types/components/ui/button.d.ts +13 -0
  163. package/dist/types/components/ui/calendar.d.ts +8 -0
  164. package/dist/types/components/ui/card.d.ts +11 -0
  165. package/dist/types/components/ui/carousel.d.ts +28 -0
  166. package/dist/types/components/ui/chart.d.ts +48 -0
  167. package/dist/types/components/ui/checkbox.d.ts +4 -0
  168. package/dist/types/components/ui/collapsible.d.ts +6 -0
  169. package/dist/types/components/ui/combobox.d.ts +83 -0
  170. package/dist/types/components/ui/command.d.ts +82 -0
  171. package/dist/types/components/ui/context-menu.d.ts +27 -0
  172. package/dist/types/components/ui/dialog.d.ts +19 -0
  173. package/dist/types/components/ui/drawer.d.ts +23 -0
  174. package/dist/types/components/ui/dropdown-menu.d.ts +27 -0
  175. package/dist/types/components/ui/empty.d.ts +14 -0
  176. package/dist/types/components/ui/field.d.ts +40 -0
  177. package/dist/types/components/ui/form.d.ts +22 -0
  178. package/dist/types/components/ui/hover-card.d.ts +6 -0
  179. package/dist/types/components/ui/input.d.ts +3 -0
  180. package/dist/types/components/ui/kbd.d.ts +4 -0
  181. package/dist/types/components/ui/label.d.ts +4 -0
  182. package/dist/types/components/ui/menubar.d.ts +30 -0
  183. package/dist/types/components/ui/navigation-menu.d.ts +12 -0
  184. package/dist/types/components/ui/pagination.d.ts +28 -0
  185. package/dist/types/components/ui/popover.d.ts +6 -0
  186. package/dist/types/components/ui/progress.d.ts +4 -0
  187. package/dist/types/components/ui/radio-group.d.ts +5 -0
  188. package/dist/types/components/ui/scroll-area.d.ts +5 -0
  189. package/dist/types/components/ui/scroll-text.d.ts +6 -0
  190. package/dist/types/components/ui/select.d.ts +13 -0
  191. package/dist/types/components/ui/separator.d.ts +4 -0
  192. package/dist/types/components/ui/sheet.d.ts +25 -0
  193. package/dist/types/components/ui/sidebar.d.ts +69 -0
  194. package/dist/types/components/ui/skeleton.d.ts +2 -0
  195. package/dist/types/components/ui/sonner.d.ts +2 -0
  196. package/dist/types/components/ui/switch.d.ts +4 -0
  197. package/dist/types/components/ui/table.d.ts +10 -0
  198. package/dist/types/components/ui/tabs.d.ts +19 -0
  199. package/dist/types/components/ui/textarea.d.ts +5 -0
  200. package/dist/types/components/ui/toggle-group.d.ts +15 -0
  201. package/dist/types/components/ui/toggle.d.ts +12 -0
  202. package/dist/types/components/ui/tooltip.d.ts +7 -0
  203. package/dist/types/hooks/use-mobile.d.ts +13 -0
  204. package/dist/types/hooks/use-page-title.d.ts +23 -0
  205. package/dist/types/index.d.ts +2 -0
  206. package/dist/types/lib/utils.d.ts +2 -0
  207. package/dist/ui-kit.css +1 -0
  208. package/package.json +117 -0
  209. package/rules/accordion.md +60 -0
  210. package/rules/alert-dialog.md +62 -0
  211. package/rules/alert.md +61 -0
  212. package/rules/aspect-ratio.md +47 -0
  213. package/rules/avatar.md +52 -0
  214. package/rules/badge.md +55 -0
  215. package/rules/bento-menu.md +86 -0
  216. package/rules/breadcrumb.md +80 -0
  217. package/rules/button-group.md +58 -0
  218. package/rules/button.md +66 -0
  219. package/rules/calendar.md +97 -0
  220. package/rules/card.md +84 -0
  221. package/rules/carousel.md +113 -0
  222. package/rules/chart.md +125 -0
  223. package/rules/checkbox.md +49 -0
  224. package/rules/collapsible.md +57 -0
  225. package/rules/combobox.md +133 -0
  226. package/rules/command.md +73 -0
  227. package/rules/context-menu.md +65 -0
  228. package/rules/dashboard.md +368 -0
  229. package/rules/data-table.md +91 -0
  230. package/rules/date-picker.md +65 -0
  231. package/rules/dialog.md +60 -0
  232. package/rules/drawer.md +65 -0
  233. package/rules/dropdown-menu.md +72 -0
  234. package/rules/empty.md +110 -0
  235. package/rules/field.md +149 -0
  236. package/rules/form.md +60 -0
  237. package/rules/header.md +245 -0
  238. package/rules/hover-card.md +53 -0
  239. package/rules/icons.md +141 -0
  240. package/rules/input.md +66 -0
  241. package/rules/kbd.md +58 -0
  242. package/rules/label.md +30 -0
  243. package/rules/location-tree-filter.md +165 -0
  244. package/rules/logo.md +58 -0
  245. package/rules/menubar.md +75 -0
  246. package/rules/navigation-menu.md +68 -0
  247. package/rules/notifications-menu.md +137 -0
  248. package/rules/pagetitle.md +160 -0
  249. package/rules/pagination.md +71 -0
  250. package/rules/popover.md +48 -0
  251. package/rules/profile.md +125 -0
  252. package/rules/progress.md +41 -0
  253. package/rules/radio-group.md +44 -0
  254. package/rules/scroll-area.md +32 -0
  255. package/rules/scroll-text.md +40 -0
  256. package/rules/select.md +86 -0
  257. package/rules/separator.md +43 -0
  258. package/rules/sheet.md +76 -0
  259. package/rules/sidebar.md +442 -0
  260. package/rules/skeleton.md +46 -0
  261. package/rules/spinner.md +43 -0
  262. package/rules/switch.md +46 -0
  263. package/rules/table-manager.md +306 -0
  264. package/rules/table.md +177 -0
  265. package/rules/tabs.md +82 -0
  266. package/rules/text.md +3 -0
  267. package/rules/textarea.md +38 -0
  268. package/rules/toaster.md +58 -0
  269. package/rules/toggle-group.md +50 -0
  270. package/rules/toggle.md +40 -0
  271. package/rules/tokens.md +88 -0
  272. package/rules/tooltip.md +78 -0
  273. package/rules/typography.md +81 -0
  274. package/scripts/scaffold.mjs +28 -0
@@ -0,0 +1,50 @@
1
+ import * as React from "react";
2
+ export type AppNotificationVariant = "info" | "success" | "warning" | "destructive";
3
+ export type AppNotification = {
4
+ id: string;
5
+ title: string;
6
+ description?: string;
7
+ /** ISO string or Date. Displayed as relative time (e.g. "20d ago"). */
8
+ timestamp: string | Date;
9
+ variant?: AppNotificationVariant;
10
+ /** When false, renders an unread dot before the title. */
11
+ read?: boolean;
12
+ /** Overrides the default variant icon. */
13
+ icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;
14
+ href?: string;
15
+ onClick?: () => void;
16
+ };
17
+ export type AppNotificationsMenuProps = {
18
+ notifications?: AppNotification[];
19
+ /** Total count on server. Falls back to notifications.length when omitted. */
20
+ totalCount?: number;
21
+ /** Initial visible count. @default 10 */
22
+ pageSize?: number;
23
+ /** Called when "Show More" is clicked. Caller appends more items to `notifications`. */
24
+ onShowMore?: () => void;
25
+ onMarkAllAsRead?: () => void;
26
+ /** Controlled open state for the popover. */
27
+ open?: boolean;
28
+ onOpenChange?: (open: boolean) => void;
29
+ /** Replace the default bell trigger. */
30
+ trigger?: React.ReactNode;
31
+ className?: string;
32
+ };
33
+ /**
34
+ * AppNotificationsMenu — Bell icon trigger opening a notifications panel.
35
+ *
36
+ * Desktop: floating popover. Mobile: side drawer.
37
+ *
38
+ * Data-dumb: caller owns the array. Pass `onShowMore` to fetch more items and
39
+ * append them to `notifications`. The footer shows `Show More (N of total)`
40
+ * while `notifications.length < totalCount`.
41
+ *
42
+ * Place between the searchbar and the network combobox in AppHeader default actions.
43
+ *
44
+ * @note If a prop you need is missing, stop and inform the design team.
45
+ */
46
+ declare function AppNotificationsMenu({ notifications, totalCount, pageSize, onShowMore, onMarkAllAsRead, open, onOpenChange, trigger, className, }: AppNotificationsMenuProps): import("react/jsx-runtime").JSX.Element;
47
+ declare namespace AppNotificationsMenu {
48
+ var displayName: string;
49
+ }
50
+ export { AppNotificationsMenu };
@@ -0,0 +1,86 @@
1
+ import * as React from "react";
2
+ export type AppPageTitleBreadcrumb = {
3
+ label: string;
4
+ /** Omit for the last (current-page) segment. */
5
+ href?: string;
6
+ };
7
+ export type AppPageTitleProps = {
8
+ /**
9
+ * Page heading rendered as an <h1>.
10
+ * Auto-derived from the last pathname segment when omitted.
11
+ */
12
+ title?: string;
13
+ /** Optional description rendered below the heading. */
14
+ subtitle?: string;
15
+ /**
16
+ * Breadcrumb trail. Auto-generated from window.location.pathname when omitted.
17
+ * Pass an explicit array to override.
18
+ */
19
+ breadcrumbs?: AppPageTitleBreadcrumb[];
20
+ /**
21
+ * Right-side action slot. Accepts any ReactNode — buttons, selects, text, etc.
22
+ * Renders nothing by default.
23
+ */
24
+ actions?: React.ReactNode;
25
+ /**
26
+ * Optional icon rendered to the left of the title text stack.
27
+ * Accepts any ReactNode — <img>, SVG, Lucide icon, etc.
28
+ * Renders nothing when omitted.
29
+ */
30
+ icon?: React.ReactNode;
31
+ /**
32
+ * Controls the h1 heading color.
33
+ * - "default" — text-foreground
34
+ * - "primary" — text-primary (brand blue)
35
+ * @default "default"
36
+ */
37
+ titleColor?: "default" | "primary";
38
+ /** Hides the entire block when true. */
39
+ hidden?: boolean;
40
+ className?: string;
41
+ };
42
+ /**
43
+ * AppPageTitle — Standard page header block used across most pages.
44
+ *
45
+ * Renders a breadcrumb trail (auto-generated from the current pathname when not
46
+ * provided), an <h1> title, an optional subtitle, and a right-side action slot
47
+ * that is empty by default.
48
+ *
49
+ * Used inside AppDashboard via the `pageTitle` prop. Can also be composed
50
+ * directly for custom layouts.
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * // Via AppDashboard (recommended)
55
+ * <AppDashboard
56
+ * nav={nav}
57
+ * pageTitle={{ title: "Site", subtitle: "Stay up to date to everything in your network" }}
58
+ * >
59
+ * <PageContent />
60
+ * </AppDashboard>
61
+ *
62
+ * // With actions
63
+ * <AppDashboard
64
+ * nav={nav}
65
+ * pageTitle={{
66
+ * title: "Site",
67
+ * subtitle: "Stay up to date to everything in your network",
68
+ * actions: <AppButton>+ Add Site</AppButton>,
69
+ * }}
70
+ * >
71
+ * <PageContent />
72
+ * </AppDashboard>
73
+ *
74
+ * // Hidden (title block suppressed)
75
+ * <AppDashboard nav={nav} pageTitle={false}>
76
+ * <PageContent />
77
+ * </AppDashboard>
78
+ * ```
79
+ *
80
+ * @note If a prop you need is missing, stop and inform the design team.
81
+ */
82
+ declare function AppPageTitle({ title, subtitle, breadcrumbs, actions, icon, titleColor, hidden, className, }: AppPageTitleProps): import("react/jsx-runtime").JSX.Element | null;
83
+ declare namespace AppPageTitle {
84
+ var displayName: string;
85
+ }
86
+ export { AppPageTitle };
@@ -0,0 +1,53 @@
1
+ import * as React from "react";
2
+ export type AppProfileItem = {
3
+ label: string;
4
+ icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;
5
+ onClick?: () => void;
6
+ href?: string;
7
+ destructive?: boolean;
8
+ };
9
+ export type AppProfileUser = {
10
+ name: string;
11
+ role?: string;
12
+ avatarSrc?: string;
13
+ /** Initials displayed when no avatarSrc. Derived from name when omitted. */
14
+ avatarFallback?: string;
15
+ };
16
+ export type AppProfileProps = {
17
+ user: AppProfileUser;
18
+ /** Menu items. Defaults to Settings + Administrator + Log Out when handlers provided. */
19
+ items?: AppProfileItem[];
20
+ onSettings?: () => void;
21
+ onAdministrator?: () => void;
22
+ onLogout?: () => void;
23
+ /** Controlled open state. */
24
+ open?: boolean;
25
+ onOpenChange?: (open: boolean) => void;
26
+ /** Replace default avatar trigger. */
27
+ trigger?: React.ReactNode;
28
+ className?: string;
29
+ };
30
+ /**
31
+ * AppProfile — Avatar trigger that opens a user profile panel.
32
+ *
33
+ * Desktop: floating popover. Mobile: side drawer.
34
+ *
35
+ * Renders inside AppHeader automatically when `profile` prop is set on AppDashboard/AppHeader.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <AppDashboard
40
+ * header={{
41
+ * profile: { name: "Joshua Intern", role: "Admin" },
42
+ * onLogout: handleLogout,
43
+ * }}
44
+ * />
45
+ * ```
46
+ *
47
+ * @note If a prop you need is missing, stop and inform the design team.
48
+ */
49
+ declare function AppProfile({ user, items, onSettings, onAdministrator, onLogout, open, onOpenChange, trigger, className, }: AppProfileProps): import("react/jsx-runtime").JSX.Element;
50
+ declare namespace AppProfile {
51
+ var displayName: string;
52
+ }
53
+ export { AppProfile };
@@ -0,0 +1,194 @@
1
+ import * as React from "react";
2
+ export type TableManagerColumnDef<T> = {
3
+ id: string;
4
+ header: string;
5
+ type?: "date" | "text" | "other";
6
+ accessorKey?: keyof T;
7
+ cell?: (row: T) => React.ReactNode;
8
+ enableSorting?: boolean;
9
+ enableFiltering?: boolean;
10
+ filterPopover?: () => React.ReactNode;
11
+ defaultVisible?: boolean;
12
+ /** Extra class merged into the rendered `<TableHead>`. */
13
+ headerClassName?: string;
14
+ /** Header content alignment. When `headerCell` is provided, only affects the `<TableHead>` wrapper. */
15
+ headerAlign?: "left" | "right" | "center";
16
+ /** Body cell text alignment. */
17
+ cellAlign?: "left" | "right" | "center";
18
+ /** Full custom header renderer. Overrides text/sort/filter content; `headerClassName` still applies. */
19
+ headerCell?: () => React.ReactNode;
20
+ };
21
+ export type TableManagerFilterOption = {
22
+ value: string;
23
+ label: string;
24
+ icon?: React.ReactNode;
25
+ };
26
+ export type TableManagerExportOption = {
27
+ label: string;
28
+ value: string;
29
+ icon?: React.ReactNode;
30
+ };
31
+ export type TableManagerProps<T extends {
32
+ id: string | number;
33
+ }> = {
34
+ columns: TableManagerColumnDef<T>[];
35
+ data: T[];
36
+ totalCount: number;
37
+ loading?: boolean;
38
+ defaultRowsPerPage?: number;
39
+ defaultVisibleColumns?: string[];
40
+ defaultFilters?: Record<string, string[]>;
41
+ onSearchChange?: (term: string) => void;
42
+ onFilterChange?: (filters: Record<string, string[]>) => void;
43
+ onDateRangeChange?: (range: {
44
+ from?: Date;
45
+ to?: Date;
46
+ }) => void;
47
+ onPageChange?: (page: number) => void;
48
+ onRowsPerPageChange?: (rowsPerPage: number) => void;
49
+ onSelectionChange?: (rows: T[]) => void;
50
+ children: React.ReactNode;
51
+ };
52
+ /**
53
+ * TableManager — Root provider for the table management block.
54
+ * Wraps all TableManager sub-components and manages client-side sort,
55
+ * column visibility, and row selection state.
56
+ *
57
+ * @note All data objects must have an `id: string | number` field.
58
+ * @note Filtering and pagination are server-side — pass filtered data via `data`
59
+ * and respond to onSearchChange, onFilterChange, onDateRangeChange, onPageChange.
60
+ * @note If a prop you need is missing, stop and inform the design team.
61
+ */
62
+ declare function TableManager<T extends {
63
+ id: string | number;
64
+ }>({ columns, data, totalCount, loading, defaultRowsPerPage, defaultVisibleColumns, defaultFilters, onSearchChange, onFilterChange, onDateRangeChange, onPageChange, onRowsPerPageChange, onSelectionChange, children, }: TableManagerProps<T>): import("react/jsx-runtime").JSX.Element;
65
+ declare namespace TableManager {
66
+ var displayName: string;
67
+ }
68
+ /**
69
+ * TableManagerToolbar — Flex container for the search input and toolbar actions.
70
+ * @note If a prop you need is missing, stop and inform the design team.
71
+ */
72
+ declare function TableManagerToolbar({ className, children, }: {
73
+ className?: string;
74
+ children: React.ReactNode;
75
+ }): import("react/jsx-runtime").JSX.Element;
76
+ declare namespace TableManagerToolbar {
77
+ var displayName: string;
78
+ }
79
+ /**
80
+ * TableManagerSearch — Search input that fires onSearchChange (debounced 300ms).
81
+ * @note If a prop you need is missing, stop and inform the design team.
82
+ */
83
+ declare function TableManagerSearch({ placeholder, debounceMs, className, }: {
84
+ placeholder?: string;
85
+ debounceMs?: number;
86
+ className?: string;
87
+ }): import("react/jsx-runtime").JSX.Element;
88
+ declare namespace TableManagerSearch {
89
+ var displayName: string;
90
+ }
91
+ /**
92
+ * TableManagerToolbarActions — Right-side extensibility slot for toolbar controls.
93
+ * @note If a prop you need is missing, stop and inform the design team.
94
+ */
95
+ declare function TableManagerToolbarActions({ className, children, }: {
96
+ className?: string;
97
+ children: React.ReactNode;
98
+ }): import("react/jsx-runtime").JSX.Element;
99
+ declare namespace TableManagerToolbarActions {
100
+ var displayName: string;
101
+ }
102
+ /**
103
+ * TableManagerMultiFilter — Multiselect filter popover with search.
104
+ * Shows icon + label on the trigger. Displays a count badge when items are selected.
105
+ * @note If a prop you need is missing, stop and inform the design team.
106
+ */
107
+ declare function TableManagerMultiFilter({ name, label, icon, options, searchPlaceholder, className, }: {
108
+ name: string;
109
+ label: string;
110
+ icon?: React.ReactNode;
111
+ options: TableManagerFilterOption[];
112
+ searchPlaceholder?: string;
113
+ className?: string;
114
+ }): import("react/jsx-runtime").JSX.Element;
115
+ declare namespace TableManagerMultiFilter {
116
+ var displayName: string;
117
+ }
118
+ /**
119
+ * TableManagerDateRange — Date range picker that fires onDateRangeChange.
120
+ * @note If a prop you need is missing, stop and inform the design team.
121
+ */
122
+ declare function TableManagerDateRange({ placeholder, className, }: {
123
+ placeholder?: string;
124
+ className?: string;
125
+ }): import("react/jsx-runtime").JSX.Element;
126
+ declare namespace TableManagerDateRange {
127
+ var displayName: string;
128
+ }
129
+ /**
130
+ * TableManagerRowsPerPage — Rows per page selector. Fires onRowsPerPageChange.
131
+ * @note If a prop you need is missing, stop and inform the design team.
132
+ */
133
+ declare function TableManagerRowsPerPage({ options, className, }: {
134
+ options?: number[];
135
+ className?: string;
136
+ }): import("react/jsx-runtime").JSX.Element;
137
+ declare namespace TableManagerRowsPerPage {
138
+ var displayName: string;
139
+ }
140
+ /**
141
+ * TableManagerPagination — Page navigation. Fires onPageChange.
142
+ * @note If a prop you need is missing, stop and inform the design team.
143
+ */
144
+ declare function TableManagerPagination({ className }: {
145
+ className?: string;
146
+ }): import("react/jsx-runtime").JSX.Element;
147
+ declare namespace TableManagerPagination {
148
+ var displayName: string;
149
+ }
150
+ /**
151
+ * TableManagerColumnToggle — Dropdown to show/hide and reorder table columns.
152
+ * Drag the grip handle to reorder. At least one column always remains visible.
153
+ * @note If a prop you need is missing, stop and inform the design team.
154
+ */
155
+ declare function TableManagerColumnToggle({ className }: {
156
+ className?: string;
157
+ }): import("react/jsx-runtime").JSX.Element;
158
+ declare namespace TableManagerColumnToggle {
159
+ var displayName: string;
160
+ }
161
+ /**
162
+ * TableManagerExport — Export dropdown with format options.
163
+ * @note If a prop you need is missing, stop and inform the design team.
164
+ */
165
+ declare function TableManagerExport({ options, onExport, className, }: {
166
+ options: TableManagerExportOption[];
167
+ onExport: (format: string) => void;
168
+ className?: string;
169
+ }): import("react/jsx-runtime").JSX.Element;
170
+ declare namespace TableManagerExport {
171
+ var displayName: string;
172
+ }
173
+ /**
174
+ * TableManagerContent — The data table. Reads sorted data from context.
175
+ * Shows a loading overlay when `loading` is true (toolbar/footer stay interactive).
176
+ * @note If a prop you need is missing, stop and inform the design team.
177
+ */
178
+ declare function TableManagerContent({ className }: {
179
+ className?: string;
180
+ }): import("react/jsx-runtime").JSX.Element;
181
+ declare namespace TableManagerContent {
182
+ var displayName: string;
183
+ }
184
+ /**
185
+ * TableManagerFooter — Bottom bar with selection count, rows-per-page, and pagination.
186
+ * @note If a prop you need is missing, stop and inform the design team.
187
+ */
188
+ declare function TableManagerFooter({ className }: {
189
+ className?: string;
190
+ }): import("react/jsx-runtime").JSX.Element;
191
+ declare namespace TableManagerFooter {
192
+ var displayName: string;
193
+ }
194
+ export { TableManager, TableManagerToolbar, TableManagerSearch, TableManagerToolbarActions, TableManagerMultiFilter, TableManagerDateRange, TableManagerRowsPerPage, TableManagerPagination, TableManagerColumnToggle, TableManagerExport, TableManagerContent, TableManagerFooter, };
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { motion } from "motion/react";
3
+ import { type AppDashboardBackgroundProps } from "./types";
4
+ /**
5
+ * AppDashboardBackgroundDots — Canvas dot grid with cursor-proximity opacity inversion.
6
+ * Dots at full opacity (0.35) by default; fade down to 0.12 near cursor.
7
+ * Reads animated/interactive/themeClass from AppDashboardBackgroundContext when used inside AppDashboard.
8
+ * Can also be used standalone — props override context.
9
+ */
10
+ declare function AppDashboardBackgroundDots({ animated: animatedProp, interactive: interactiveProp, className, ...props }: AppDashboardBackgroundProps & Omit<React.ComponentProps<typeof motion.div>, "children">): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace AppDashboardBackgroundDots {
12
+ var displayName: string;
13
+ }
14
+ export { AppDashboardBackgroundDots };
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { motion } from "motion/react";
3
+ import { type AppDashboardBackgroundProps } from "./types";
4
+ /**
5
+ * AppDashboardBackgroundWave — Canvas-driven Perlin noise wave grid with mouse-follow glow.
6
+ * Renders as an absolute-positioned layer behind all dashboard content.
7
+ * Reads animated/interactive/themeClass from AppDashboardBackgroundContext when used inside AppDashboard.
8
+ * Can also be used standalone — props override context.
9
+ */
10
+ declare function AppDashboardBackgroundWave({ animated: animatedProp, interactive: interactiveProp, className, ...props }: AppDashboardBackgroundProps & Omit<React.ComponentProps<typeof motion.div>, "children">): import("react/jsx-runtime").JSX.Element;
11
+ declare namespace AppDashboardBackgroundWave {
12
+ var displayName: string;
13
+ }
14
+ export { AppDashboardBackgroundWave };
@@ -0,0 +1,3 @@
1
+ export { AppDashboardBackgroundWave } from "./AppDashboardBackgroundWave";
2
+ export { AppDashboardBackgroundDots } from "./AppDashboardBackgroundDots";
3
+ export { AppDashboardBackgroundContext, useAppDashboardBackgroundContext, type AppDashboardBackgroundProps, type AppDashboardBackgroundContextValue, } from "./types";
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ export type AppDashboardBackgroundProps = {
3
+ animated?: boolean;
4
+ interactive?: boolean;
5
+ className?: string;
6
+ };
7
+ export type AppDashboardBackgroundContextValue = {
8
+ themeClass: string;
9
+ animated: boolean;
10
+ interactive: boolean;
11
+ };
12
+ export declare const AppDashboardBackgroundContext: React.Context<AppDashboardBackgroundContextValue>;
13
+ export declare function useAppDashboardBackgroundContext(): AppDashboardBackgroundContextValue;
@@ -0,0 +1,9 @@
1
+ export { AppDashboard, AppDashboardContent, AppDashboardMain, type AppDashboardProps, type AppDashboardNavSection, type AppDashboardNavItem, type AppDashboardBackgroundTheme, type AppDashboardAnimated, } from "./AppDashboard";
2
+ export { AppDashboardBackgroundWave, AppDashboardBackgroundDots, AppDashboardBackgroundContext, useAppDashboardBackgroundContext, type AppDashboardBackgroundProps, type AppDashboardBackgroundContextValue, } from "./backgrounds";
3
+ export { AppHeader, AppHeaderNetworkCombobox, AppHeaderContent, AppHeaderTitle, AppHeaderSearchbar, AppHeaderActions, type NetworkOption, type AppHeaderNetworkComboboxProps, } from "./AppHeader";
4
+ export { AppProfile, type AppProfileUser, type AppProfileItem, type AppProfileProps, } from "./AppProfile";
5
+ export { AppNotificationsMenu, type AppNotification, type AppNotificationVariant, type AppNotificationsMenuProps, } from "./AppNotificationsMenu";
6
+ export { AppBentoMenu, AppBentoMenuItem, DEFAULT_BENTO_APPS, type BentoApp, type AppBentoMenuProps, type AppBentoMenuItemProps, } from "./AppBentoMenu";
7
+ export { AppPageTitle, type AppPageTitleProps, type AppPageTitleBreadcrumb, } from "./AppPageTitle";
8
+ export { AppLocationTreeFilter, type AppLocationTreeFilterProps, type TreeNode, type UnallocatedConfig, } from "./AppLocationTreeFilter";
9
+ export { TableManager, TableManagerToolbar, TableManagerSearch, TableManagerToolbarActions, TableManagerMultiFilter, TableManagerDateRange, TableManagerRowsPerPage, TableManagerPagination, TableManagerColumnToggle, TableManagerExport, TableManagerContent, TableManagerFooter, type TableManagerColumnDef, type TableManagerFilterOption, type TableManagerExportOption, type TableManagerProps, } from "./TableManager";
@@ -0,0 +1,22 @@
1
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "../ui/accordion";
2
+ /**
3
+ * AppAccordion — A vertically stacked set of interactive headings that each reveal a section of content.
4
+ * @note If a prop you need is missing, stop and inform the design team.
5
+ */
6
+ declare function AppAccordion({ className, ...props }: React.ComponentProps<typeof Accordion>): import("react/jsx-runtime").JSX.Element;
7
+ /**
8
+ * AppAccordionItem — The item component for AppAccordion.
9
+ * @note If a prop you need is missing, stop and inform the design team.
10
+ */
11
+ declare function AppAccordionItem(props: React.ComponentProps<typeof AccordionItem>): import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * AppAccordionTrigger — The trigger component for AppAccordion.
14
+ * @note If a prop you need is missing, stop and inform the design team.
15
+ */
16
+ declare function AppAccordionTrigger(props: React.ComponentProps<typeof AccordionTrigger>): import("react/jsx-runtime").JSX.Element;
17
+ /**
18
+ * AppAccordionContent — The content component for AppAccordion.
19
+ * @note If a prop you need is missing, stop and inform the design team.
20
+ */
21
+ declare function AppAccordionContent(props: React.ComponentProps<typeof AccordionContent>): import("react/jsx-runtime").JSX.Element;
22
+ export { AppAccordion, AppAccordionItem, AppAccordionTrigger, AppAccordionContent };
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ import { Alert } from "../ui/alert";
3
+ declare const extendedVariantClasses: {
4
+ readonly success: "border text-green-700 dark:text-green-700 [&>svg]:text-green-700";
5
+ readonly warning: "border text-amber-600 dark:text-amber-600 [&>svg]:text-amber-600";
6
+ readonly info: "border text-blue-400 dark:text-blue-400 [&>svg]:text-blue-400";
7
+ };
8
+ type ExtendedVariant = "default" | "destructive" | keyof typeof extendedVariantClasses;
9
+ type AppAlertProps = Omit<React.ComponentProps<typeof Alert>, "variant"> & {
10
+ variant?: ExtendedVariant;
11
+ };
12
+ /**
13
+ * AppAlert — Displays a callout for user attention.
14
+ * @note If a prop you need is missing, stop and inform the design team.
15
+ */
16
+ declare function AppAlert({ variant, className, ...props }: AppAlertProps): import("react/jsx-runtime").JSX.Element;
17
+ /**
18
+ * AppAlertTitle — The title component for AppAlert.
19
+ * @note If a prop you need is missing, stop and inform the design team.
20
+ */
21
+ declare const AppAlertTitle: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
22
+ /**
23
+ * AppAlertDescription — The description component for AppAlert.
24
+ * @note If a prop you need is missing, stop and inform the design team.
25
+ */
26
+ declare const AppAlertDescription: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
27
+ /**
28
+ * AppAlertContent — The content container for AppAlert.
29
+ * @note If a prop you need is missing, stop and inform the design team.
30
+ */
31
+ declare const AppAlertContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
32
+ export { AppAlert, AppAlertTitle, AppAlertDescription, AppAlertContent };
33
+ export type { AppAlertProps };
@@ -0,0 +1,79 @@
1
+ import * as React from "react";
2
+ import { AlertDialogAction } from "../ui/alert-dialog";
3
+ declare const actionVariantClasses: {
4
+ readonly default: "bg-primary text-primary-foreground hover:bg-primary/90";
5
+ readonly destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90";
6
+ readonly secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80";
7
+ readonly outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground";
8
+ };
9
+ type ActionVariant = keyof typeof actionVariantClasses;
10
+ type AppAlertDialogActionProps = React.ComponentPropsWithoutRef<typeof AlertDialogAction> & {
11
+ variant?: ActionVariant;
12
+ };
13
+ /**
14
+ * AppAlertDialog — A modal dialog that interrupts the user with important content and expects a response.
15
+ * @note If a prop you need is missing, stop and inform the design team.
16
+ */
17
+ declare const AppAlertDialog: React.FC<import("@radix-ui/react-alert-dialog").AlertDialogProps>;
18
+ /**
19
+ * AppAlertDialogPortal — The portal component for AppAlertDialog.
20
+ * @note If a prop you need is missing, stop and inform the design team.
21
+ */
22
+ declare const AppAlertDialogPortal: React.FC<import("@radix-ui/react-alert-dialog").AlertDialogPortalProps>;
23
+ /**
24
+ * AppAlertDialogOverlay — The overlay component for AppAlertDialog.
25
+ * @note If a prop you need is missing, stop and inform the design team.
26
+ */
27
+ declare const AppAlertDialogOverlay: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-alert-dialog").AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
28
+ /**
29
+ * AppAlertDialogTrigger — The trigger component for AppAlertDialog.
30
+ * @note If a prop you need is missing, stop and inform the design team.
31
+ */
32
+ declare const AppAlertDialogTrigger: React.ForwardRefExoticComponent<import("@radix-ui/react-alert-dialog").AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
33
+ /**
34
+ * AppAlertDialogContent — The content component for AppAlertDialog.
35
+ * @note If a prop you need is missing, stop and inform the design team.
36
+ */
37
+ declare const AppAlertDialogContent: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-alert-dialog").AlertDialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
38
+ /**
39
+ * AppAlertDialogHeader — The header component for AppAlertDialog.
40
+ * @note If a prop you need is missing, stop and inform the design team.
41
+ */
42
+ declare const AppAlertDialogHeader: {
43
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
44
+ displayName: string;
45
+ };
46
+ /**
47
+ * AppAlertDialogFooter — The footer component for AppAlertDialog.
48
+ * @note If a prop you need is missing, stop and inform the design team.
49
+ */
50
+ declare const AppAlertDialogFooter: {
51
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
52
+ displayName: string;
53
+ };
54
+ /**
55
+ * AppAlertDialogTitle — The title component for AppAlertDialog.
56
+ * @note If a prop you need is missing, stop and inform the design team.
57
+ */
58
+ declare const AppAlertDialogTitle: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-alert-dialog").AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
59
+ /**
60
+ * AppAlertDialogDescription — The description component for AppAlertDialog.
61
+ * @note If a prop you need is missing, stop and inform the design team.
62
+ */
63
+ declare const AppAlertDialogDescription: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-alert-dialog").AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
64
+ /**
65
+ * AppAlertDialogAction — The action button component for AppAlertDialog.
66
+ * @note If a prop you need is missing, stop and inform the design team.
67
+ */
68
+ declare const AppAlertDialogAction: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-alert-dialog").AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & {
69
+ variant?: ActionVariant;
70
+ } & React.RefAttributes<HTMLButtonElement>>;
71
+ /**
72
+ * AppAlertDialogCancel — The cancel button component for AppAlertDialog.
73
+ * @note If a prop you need is missing, stop and inform the design team.
74
+ */
75
+ declare const AppAlertDialogCancel: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-alert-dialog").AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>, "ref"> & {
76
+ variant?: ActionVariant;
77
+ } & React.RefAttributes<HTMLButtonElement>>;
78
+ export { AppAlertDialog, AppAlertDialogPortal, AppAlertDialogOverlay, AppAlertDialogTrigger, AppAlertDialogContent, AppAlertDialogHeader, AppAlertDialogFooter, AppAlertDialogTitle, AppAlertDialogDescription, AppAlertDialogAction, AppAlertDialogCancel, };
79
+ export type { AppAlertDialogActionProps, ActionVariant };
@@ -0,0 +1,7 @@
1
+ import { AspectRatio } from "../ui/aspect-ratio";
2
+ /**
3
+ * AppAspectRatio — Displays content within a desired ratio.
4
+ * @note If a prop you need is missing, stop and inform the design team.
5
+ */
6
+ declare function AppAspectRatio({ className, ...props }: React.ComponentProps<typeof AspectRatio>): import("react/jsx-runtime").JSX.Element;
7
+ export { AppAspectRatio };
@@ -0,0 +1,17 @@
1
+ import { Avatar, AvatarFallback, AvatarImage } from "../ui/avatar";
2
+ /**
3
+ * AppAvatar — An image element with a fallback for representing the user.
4
+ * @note If a prop you need is missing, stop and inform the design team.
5
+ */
6
+ declare function AppAvatar(props: React.ComponentProps<typeof Avatar>): import("react/jsx-runtime").JSX.Element;
7
+ /**
8
+ * AppAvatarImage — The image component for AppAvatar.
9
+ * @note If a prop you need is missing, stop and inform the design team.
10
+ */
11
+ declare function AppAvatarImage(props: React.ComponentProps<typeof AvatarImage>): import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * AppAvatarFallback — The fallback component for AppAvatar.
14
+ * @note If a prop you need is missing, stop and inform the design team.
15
+ */
16
+ declare function AppAvatarFallback(props: React.ComponentProps<typeof AvatarFallback>): import("react/jsx-runtime").JSX.Element;
17
+ export { AppAvatar, AppAvatarImage, AppAvatarFallback };
@@ -0,0 +1,9 @@
1
+ import { Badge, badgeVariants } from "../ui/badge";
2
+ import type { VariantProps } from "class-variance-authority";
3
+ type AppBadgeProps = React.ComponentProps<typeof Badge> & VariantProps<typeof badgeVariants>;
4
+ /**
5
+ * AppBadge — Displays a badge or a component that looks like a badge.
6
+ * @note If a prop you need is missing, stop and inform the design team.
7
+ */
8
+ declare function AppBadge(props: AppBadgeProps): import("react/jsx-runtime").JSX.Element;
9
+ export { AppBadge, type AppBadgeProps };