hazo_ui 2.17.0 → 3.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.
- package/CHANGE_LOG.md +56 -0
- package/README.md +170 -0
- package/SETUP_CHECKLIST.md +10 -0
- package/dist/index.cjs +937 -477
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +301 -2
- package/dist/index.d.ts +301 -2
- package/dist/index.js +866 -423
- package/dist/index.js.map +1 -1
- package/dist/test-harness/index.cjs +1006 -0
- package/dist/test-harness/index.cjs.map +1 -0
- package/dist/test-harness/index.d.cts +144 -0
- package/dist/test-harness/index.d.ts +144 -0
- package/dist/test-harness/index.js +984 -0
- package/dist/test-harness/index.js.map +1 -0
- package/package.json +13 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { RefObject } from 'react';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
5
|
import { Node, Extension } from '@tiptap/core';
|
|
4
6
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
5
7
|
import * as vaul from 'vaul';
|
|
@@ -25,6 +27,107 @@ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
|
25
27
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
26
28
|
export { toast as rawToast } from 'sonner';
|
|
27
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Merges class names using clsx and tailwind-merge
|
|
32
|
+
* @param inputs - Class values to merge
|
|
33
|
+
* @returns Merged class string
|
|
34
|
+
*/
|
|
35
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* hazo_context_provider/index.tsx
|
|
39
|
+
*
|
|
40
|
+
* <HazoContextProvider> — browser-side correlation-ID provider.
|
|
41
|
+
*
|
|
42
|
+
* Mounts hazo_core's browser context ref with a stable correlation ID for the
|
|
43
|
+
* current tab. Once mounted, every downstream consumer that calls
|
|
44
|
+
* `getCorrelationId()` / `getContext()` / `fetchWithRequestId()` from
|
|
45
|
+
* `hazo_core` (or any hazo_* package that does) sees the same ID.
|
|
46
|
+
*
|
|
47
|
+
* Per PRD §7: the browser uses a single module-level ref (vs the server's
|
|
48
|
+
* AsyncLocalStorage) — appropriate for the one-tab-one-context reality.
|
|
49
|
+
*
|
|
50
|
+
* Usage — wrap once at the app root, typically in app/layout.tsx:
|
|
51
|
+
*
|
|
52
|
+
* import { HazoContextProvider } from 'hazo_ui';
|
|
53
|
+
*
|
|
54
|
+
* <HazoContextProvider>
|
|
55
|
+
* <App />
|
|
56
|
+
* </HazoContextProvider>
|
|
57
|
+
*
|
|
58
|
+
* Props:
|
|
59
|
+
* - correlationId (optional): explicit ID to install. When omitted, a fresh
|
|
60
|
+
* `req_<uuid>` is generated on mount via `generateRequestId()`.
|
|
61
|
+
* - userId (optional): additional context field forwarded into the ref.
|
|
62
|
+
*
|
|
63
|
+
* The provider clears the context on unmount so server-side rendering or
|
|
64
|
+
* test harnesses that mount/unmount repeatedly do not leak IDs between runs.
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
interface HazoContextProviderProps {
|
|
68
|
+
/**
|
|
69
|
+
* Explicit correlation ID. Omit to auto-generate one on mount.
|
|
70
|
+
* Useful when the server passed an `X-Request-Id` header that the client
|
|
71
|
+
* should preserve for end-to-end traceability.
|
|
72
|
+
*/
|
|
73
|
+
correlationId?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Optional userId to surface on the browser context. Re-mounts when the
|
|
76
|
+
* value changes.
|
|
77
|
+
*/
|
|
78
|
+
userId?: string;
|
|
79
|
+
children: React.ReactNode;
|
|
80
|
+
}
|
|
81
|
+
declare function HazoContextProvider({ correlationId, userId, children, }: HazoContextProviderProps): React.ReactElement;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Logger utility for hazo_ui.
|
|
85
|
+
*
|
|
86
|
+
* Default: delegates to hazo_core's createLogger('hazo_ui'), which
|
|
87
|
+
* auto-injects correlationId, env, and writes structured JSON via hazo_logs.
|
|
88
|
+
* Consumers can still override with set_logger() — useful for tests, or for
|
|
89
|
+
* apps that want to route hazo_ui logs through their own sink.
|
|
90
|
+
*
|
|
91
|
+
* hazo_ui is primarily a client-side library; logger sites in src/ are rare.
|
|
92
|
+
* The factory exists so when a component does need to log (e.g. a server-side
|
|
93
|
+
* helper or a debug aid in a hook), it can do so consistently with the rest
|
|
94
|
+
* of the workspace rather than reaching for `console`.
|
|
95
|
+
*/
|
|
96
|
+
interface Logger {
|
|
97
|
+
info: (message: string, data?: Record<string, unknown>) => void;
|
|
98
|
+
debug: (message: string, data?: Record<string, unknown>) => void;
|
|
99
|
+
warn: (message: string, data?: Record<string, unknown>) => void;
|
|
100
|
+
error: (message: string, data?: Record<string, unknown>) => void;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Set the logger instance used throughout hazo_ui.
|
|
104
|
+
* Pass `undefined` to reset to the hazo_core default.
|
|
105
|
+
*/
|
|
106
|
+
declare function set_logger(logger: Logger | undefined): void;
|
|
107
|
+
/**
|
|
108
|
+
* Get the current logger instance — defaults to hazo_core's createLogger
|
|
109
|
+
* on first access if no consumer override has been set.
|
|
110
|
+
*/
|
|
111
|
+
declare function get_logger(): Logger;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* UUID helper for hazo_ui.
|
|
115
|
+
*
|
|
116
|
+
* Uses hazo_core's `generateRequestId()` and strips the `req_` prefix so the
|
|
117
|
+
* resulting value fits a v4-shaped UUID slot. The `req_<uuid>` form is
|
|
118
|
+
* preserved for correlation IDs that flow through logs and HTTP headers via
|
|
119
|
+
* hazo_core's withContext / fetchWithRequestId.
|
|
120
|
+
*
|
|
121
|
+
* Per the workspace convention (Wave 2, D-015): never introduce new
|
|
122
|
+
* randomUUID call sites — route everything through hazo_core so IDs stay
|
|
123
|
+
* traceable and tests can stub IDs deterministically.
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* Generate a bare UUID — same shape as a v4 UUID, but routed through hazo_core
|
|
127
|
+
* so the generator stays consistent across the workspace.
|
|
128
|
+
*/
|
|
129
|
+
declare function generateUUID(): string;
|
|
130
|
+
|
|
28
131
|
/**
|
|
29
132
|
* hazo_ui_config.ts
|
|
30
133
|
*
|
|
@@ -1179,6 +1282,152 @@ interface UseErrorDisplayResult {
|
|
|
1179
1282
|
}
|
|
1180
1283
|
declare function useErrorDisplay(): UseErrorDisplayResult;
|
|
1181
1284
|
|
|
1285
|
+
/**
|
|
1286
|
+
* Returns a debounced copy of `value`.
|
|
1287
|
+
* The returned value only updates after `delayMs` milliseconds have elapsed
|
|
1288
|
+
* with no new value. Useful for search inputs or any expensive effect that
|
|
1289
|
+
* should not run on every keystroke.
|
|
1290
|
+
*
|
|
1291
|
+
* @param value - The current value to debounce.
|
|
1292
|
+
* @param delayMs - Delay in milliseconds before the debounced value updates.
|
|
1293
|
+
* @returns The debounced value (same type as the input).
|
|
1294
|
+
*
|
|
1295
|
+
* @example
|
|
1296
|
+
* const [query, setQuery] = useState("");
|
|
1297
|
+
* const debouncedQuery = useDebounce(query, 300);
|
|
1298
|
+
* useEffect(() => { fetchResults(debouncedQuery); }, [debouncedQuery]);
|
|
1299
|
+
*/
|
|
1300
|
+
declare function useDebounce<T>(value: T, delayMs: number): T;
|
|
1301
|
+
|
|
1302
|
+
interface UseCopyToClipboardResult {
|
|
1303
|
+
/** True for ~2 s after a successful copy; false otherwise. */
|
|
1304
|
+
copied: boolean;
|
|
1305
|
+
/**
|
|
1306
|
+
* Write `text` to the clipboard. Resolves silently on success.
|
|
1307
|
+
* In unsupported environments the promise resolves without throwing.
|
|
1308
|
+
*/
|
|
1309
|
+
copy: (text: string) => Promise<void>;
|
|
1310
|
+
}
|
|
1311
|
+
/**
|
|
1312
|
+
* Clipboard write wrapper with a transient `copied` flag.
|
|
1313
|
+
*
|
|
1314
|
+
* @returns `{ copied, copy }` — call `copy(text)` to write to the clipboard.
|
|
1315
|
+
* `copied` is `true` for 2 seconds after a successful write.
|
|
1316
|
+
*
|
|
1317
|
+
* @example
|
|
1318
|
+
* const { copied, copy } = useCopyToClipboard();
|
|
1319
|
+
* <button onClick={() => copy("hello")}>{copied ? "Copied!" : "Copy"}</button>
|
|
1320
|
+
*/
|
|
1321
|
+
declare function useCopyToClipboard(): UseCopyToClipboardResult;
|
|
1322
|
+
|
|
1323
|
+
/**
|
|
1324
|
+
* Returns `true` when the viewport width is narrower than `breakpointPx`.
|
|
1325
|
+
* Re-renders when the match state changes. SSR-safe (returns `false` on server).
|
|
1326
|
+
*
|
|
1327
|
+
* @param breakpointPx - Pixel threshold for "mobile". Defaults to 768 px.
|
|
1328
|
+
*
|
|
1329
|
+
* @example
|
|
1330
|
+
* const isMobile = useIsMobile();
|
|
1331
|
+
* const isTablet = useIsMobile(1024);
|
|
1332
|
+
*/
|
|
1333
|
+
declare function useIsMobile(breakpointPx?: number): boolean;
|
|
1334
|
+
/**
|
|
1335
|
+
* Alias for `useIsMobile` — accepts a breakpoint in pixels.
|
|
1336
|
+
* Provided for consumers who prefer the `useViewport` name.
|
|
1337
|
+
*
|
|
1338
|
+
* @param breakpoint - Pixel threshold (same semantics as `useIsMobile`). Defaults to 768 px.
|
|
1339
|
+
*/
|
|
1340
|
+
declare function useViewport(breakpoint?: number): boolean;
|
|
1341
|
+
|
|
1342
|
+
/**
|
|
1343
|
+
* localStorage-backed state hook.
|
|
1344
|
+
* The stored value is JSON-serialised; parse errors fall back to `initialValue`.
|
|
1345
|
+
*
|
|
1346
|
+
* @param key - localStorage key.
|
|
1347
|
+
* @param initialValue - Value used when no stored entry exists or on SSR.
|
|
1348
|
+
* @returns `[storedValue, setValue]` — same API as `useState`.
|
|
1349
|
+
*
|
|
1350
|
+
* @example
|
|
1351
|
+
* const [theme, setTheme] = useLocalStorage<"light" | "dark">("theme", "light");
|
|
1352
|
+
*/
|
|
1353
|
+
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void];
|
|
1354
|
+
|
|
1355
|
+
/**
|
|
1356
|
+
* sessionStorage-backed state hook.
|
|
1357
|
+
* The stored value is JSON-serialised; parse errors fall back to `initialValue`.
|
|
1358
|
+
*
|
|
1359
|
+
* @param key - sessionStorage key.
|
|
1360
|
+
* @param initialValue - Value used when no stored entry exists or on SSR.
|
|
1361
|
+
* @returns `[storedValue, setValue]` — same API as `useState`.
|
|
1362
|
+
*
|
|
1363
|
+
* @example
|
|
1364
|
+
* const [draft, setDraft] = useSessionStorage("form_draft", "");
|
|
1365
|
+
*/
|
|
1366
|
+
declare function useSessionStorage<T>(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void];
|
|
1367
|
+
|
|
1368
|
+
/**
|
|
1369
|
+
* Fires `handler` when the user clicks (or taps) outside the element bound to `ref`.
|
|
1370
|
+
* Attaches a `mousedown` listener on `document`; cleans up on unmount or dependency change.
|
|
1371
|
+
*
|
|
1372
|
+
* @param ref - React ref pointing to the element to watch.
|
|
1373
|
+
* @param handler - Callback invoked when a click outside is detected.
|
|
1374
|
+
*
|
|
1375
|
+
* @example
|
|
1376
|
+
* const panel_ref = useRef<HTMLDivElement>(null);
|
|
1377
|
+
* useClickOutside(panel_ref, () => setOpen(false));
|
|
1378
|
+
* return <div ref={panel_ref}>...</div>;
|
|
1379
|
+
*/
|
|
1380
|
+
declare function useClickOutside<T extends HTMLElement>(ref: RefObject<T | null>, handler: () => void): void;
|
|
1381
|
+
|
|
1382
|
+
interface UseWakeLockResult {
|
|
1383
|
+
/** True when the Wake Lock API is available in this environment. */
|
|
1384
|
+
supported: boolean;
|
|
1385
|
+
/** True when a wake lock is currently held. */
|
|
1386
|
+
acquired: boolean;
|
|
1387
|
+
/** Request the screen wake lock. No-op if unsupported or already acquired. */
|
|
1388
|
+
request: () => Promise<void>;
|
|
1389
|
+
/** Release the currently held wake lock. No-op if not acquired. */
|
|
1390
|
+
release: () => Promise<void>;
|
|
1391
|
+
}
|
|
1392
|
+
/**
|
|
1393
|
+
* Web Wake Lock API wrapper. Prevents screen sleep while the lock is held.
|
|
1394
|
+
* Automatically reacquires the lock when the page becomes visible again
|
|
1395
|
+
* (e.g. after switching tabs), because the browser releases it on visibility change.
|
|
1396
|
+
*
|
|
1397
|
+
* Returns `supported: false` in environments that don't implement the API
|
|
1398
|
+
* (SSR, older browsers) — all other operations are no-ops in that case.
|
|
1399
|
+
*
|
|
1400
|
+
* @example
|
|
1401
|
+
* const { supported, acquired, request, release } = useWakeLock();
|
|
1402
|
+
* <button onClick={acquired ? release : request}>
|
|
1403
|
+
* {acquired ? "Release lock" : "Keep screen on"}
|
|
1404
|
+
* </button>
|
|
1405
|
+
*/
|
|
1406
|
+
declare function useWakeLock(): UseWakeLockResult;
|
|
1407
|
+
|
|
1408
|
+
interface UseFullscreenResult {
|
|
1409
|
+
/** True when the targeted element (or document) is currently fullscreen. */
|
|
1410
|
+
isFullscreen: boolean;
|
|
1411
|
+
/** Request fullscreen. No-op if already fullscreen or unsupported. */
|
|
1412
|
+
enter: () => Promise<void>;
|
|
1413
|
+
/** Exit fullscreen. No-op if not fullscreen or unsupported. */
|
|
1414
|
+
exit: () => Promise<void>;
|
|
1415
|
+
/** Toggle between fullscreen and normal. */
|
|
1416
|
+
toggle: () => Promise<void>;
|
|
1417
|
+
}
|
|
1418
|
+
/**
|
|
1419
|
+
* Fullscreen API wrapper.
|
|
1420
|
+
*
|
|
1421
|
+
* @param elementRef - Optional ref to the element to fullscreen.
|
|
1422
|
+
* Defaults to `document.documentElement` when omitted.
|
|
1423
|
+
*
|
|
1424
|
+
* @example
|
|
1425
|
+
* const container_ref = useRef<HTMLDivElement>(null);
|
|
1426
|
+
* const { isFullscreen, toggle } = useFullscreen(container_ref);
|
|
1427
|
+
* return <div ref={container_ref}><button onClick={toggle}>Fullscreen</button></div>;
|
|
1428
|
+
*/
|
|
1429
|
+
declare function useFullscreen(elementRef?: RefObject<HTMLElement | null>): UseFullscreenResult;
|
|
1430
|
+
|
|
1182
1431
|
/**
|
|
1183
1432
|
* Types for HazoUiKanban - Drag-Drop Kanban
|
|
1184
1433
|
*
|
|
@@ -1735,4 +1984,54 @@ declare function format_num(n: number | null | undefined | string): string;
|
|
|
1735
1984
|
*/
|
|
1736
1985
|
declare function pick_x_label_indices(length: number): [number, number, number];
|
|
1737
1986
|
|
|
1738
|
-
|
|
1987
|
+
/** Default gradient for the shareable card background. Override via shareableCard.background. */
|
|
1988
|
+
declare const CELEBRATION_GRADIENT = "linear-gradient(135deg, #667eea 0%, #764ba2 100%)";
|
|
1989
|
+
interface CelebrationShareableCard {
|
|
1990
|
+
/**
|
|
1991
|
+
* CSS background value applied to the 1080×1080 card.
|
|
1992
|
+
* Default: CELEBRATION_GRADIENT.
|
|
1993
|
+
*/
|
|
1994
|
+
background?: string;
|
|
1995
|
+
/** ReactNode rendered at full 1080×1080 size (scaled down for preview). */
|
|
1996
|
+
foreground: React.ReactNode;
|
|
1997
|
+
/**
|
|
1998
|
+
* Caption at the bottom of the card.
|
|
1999
|
+
* Falls back to the top-level subtitle when omitted.
|
|
2000
|
+
*/
|
|
2001
|
+
caption?: string;
|
|
2002
|
+
}
|
|
2003
|
+
interface CelebrationPayload {
|
|
2004
|
+
/**
|
|
2005
|
+
* Unique identifier. Also the sessionStorage dedup key:
|
|
2006
|
+
* hazo_ui_celebration_<id> = "1" once shown.
|
|
2007
|
+
*/
|
|
2008
|
+
id: string;
|
|
2009
|
+
title: string;
|
|
2010
|
+
subtitle?: string;
|
|
2011
|
+
shareableCard?: CelebrationShareableCard;
|
|
2012
|
+
/** Auto-dismiss the modal after autoDismissDelay ms. Default true. */
|
|
2013
|
+
autoDismiss?: boolean;
|
|
2014
|
+
/**
|
|
2015
|
+
* Duration in ms before auto-dismiss. Default 8000.
|
|
2016
|
+
* Set to a short value (e.g. 100) in tests.
|
|
2017
|
+
*/
|
|
2018
|
+
autoDismissDelay?: number;
|
|
2019
|
+
/** Play the bundled success chime when the modal opens. Default false. */
|
|
2020
|
+
audioChime?: boolean;
|
|
2021
|
+
}
|
|
2022
|
+
/**
|
|
2023
|
+
* Fire a celebration modal from anywhere in the tree.
|
|
2024
|
+
* No-ops when <CelebrationProvider /> is not mounted or the id was already
|
|
2025
|
+
* shown this session.
|
|
2026
|
+
*/
|
|
2027
|
+
declare function celebrate(payload: CelebrationPayload): void;
|
|
2028
|
+
interface CelebrationProviderProps {
|
|
2029
|
+
children: React.ReactNode;
|
|
2030
|
+
}
|
|
2031
|
+
/**
|
|
2032
|
+
* Mount once near the root of your app (e.g. (app)/layout.tsx).
|
|
2033
|
+
* Renders the current celebration modal and manages the FIFO queue.
|
|
2034
|
+
*/
|
|
2035
|
+
declare function CelebrationProvider({ children }: CelebrationProviderProps): react_jsx_runtime.JSX.Element;
|
|
2036
|
+
|
|
2037
|
+
export { ANIMATION_PRESETS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AnimationPreset, type BaseCommandInputProps, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CELEBRATION_GRADIENT, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type CelebrationPayload, CelebrationProvider, type CelebrationProviderProps, type CelebrationShareableCard, type ChartDataPoint, type ChartDataSeries, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, type CommandEditContext, type CommandItem$1 as CommandItem, CommandNodeExtension, CommandPill, type CommandPillProps, CommandPopover, type CommandPopoverProps, type CommandTextOutput, type ConfirmDialogVariant, type DateRangeOption, DateRangeSelector, type DateRangeSelectorProps, type DialogVariant, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, type ErrorBannerSeverity, ErrorPage, type ErrorPageProps, type FilterConfig, type FilterField, HazoContextProvider, type HazoContextProviderProps, type HazoUiConfig, HazoUiConfirmDialog, type HazoUiConfirmDialogProps, HazoUiDialog, DialogClose as HazoUiDialogClose, DialogContent as HazoUiDialogContent, DialogDescription as HazoUiDialogDescription, DialogFooter as HazoUiDialogFooter, DialogHeader as HazoUiDialogHeader, DialogOverlay as HazoUiDialogOverlay, DialogPortal as HazoUiDialogPortal, type HazoUiDialogProps, Dialog as HazoUiDialogRoot, DialogTitle as HazoUiDialogTitle, DialogTrigger as HazoUiDialogTrigger, HazoUiFlexInput, type HazoUiFlexInputProps, HazoUiFlexRadio, type HazoUiFlexRadioItem, type HazoUiFlexRadioProps, HazoUiKanban, HazoUiKanbanFilter, type HazoUiKanbanFilterProps, type HazoUiKanbanProps, HazoUiMultiFilterDialog, HazoUiMultiSortDialog, HazoUiPillRadio, type HazoUiPillRadioItem, type HazoUiPillRadioProps, HazoUiRte, type HazoUiRteProps, HazoUiTable, type HazoUiTablePagination, type HazoUiTableProps, type HazoUiTableServerLoadArgs, type HazoUiTableServerLoadResult, HazoUiTextarea, type HazoUiTextareaProps, HazoUiTextbox, type HazoUiTextboxProps, HazoUiToaster, type HazoUiToasterProps, HoverCard, HoverCardContent, HoverCardTrigger, Input, type InsertedCommand, InverseSparkline, type InverseSparklineProps, type KanbanAnnouncements, type KanbanColumn, type KanbanEditorCtx, type KanbanEditorField, type KanbanEditorFieldType, type KanbanFilterValue, type KanbanItem, type KanbanMoveEvent, type KanbanMoveHandle, type KanbanPriority, type KanbanReorderEvent, type KanbanSaveEvent, Label, LineChart, type LineChartProps, LoadingTimeout, type LoadingTimeoutProps, type Logger, MultiLineChart, type MultiLineChartProps, type MultiSeries, Popover, PopoverContent, PopoverTrigger, type PrefixColor, type PrefixConfig, ProgressiveImage, type ProgressiveImageProps, RadioGroup, RadioGroupItem, type RteAttachment, type RteOutput, type RteVariable, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Command as ShadcnCommand, CommandEmpty as ShadcnCommandEmpty, CommandGroup as ShadcnCommandGroup, CommandInput as ShadcnCommandInput, CommandItem as ShadcnCommandItem, CommandList as ShadcnCommandList, Skeleton, SkeletonBar, type SkeletonBarProps, SkeletonCircle, type SkeletonCircleProps, SkeletonGroup, type SkeletonGroupProps, SkeletonRect, type SkeletonRectProps, type SortConfig, type SortField, Sparkline, type SparklineProps, Spinner, type StackedBar, StackedBars, type StackedBarsProps, type SuggestionState, Switch, Table, TableBody, TableCaption, TableCell, type TableColumn, type TableFilter, TableFooter, type TableFormatter, TableHead, TableHeader, TableRow, type TableSort, type TableSortEntry, type TableSortProp, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type ToastOptions, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCopyToClipboardResult, type UseErrorDisplayResult, type UseFullscreenResult, type UseLoadingStateResult, type UseWakeLockResult, applyKanbanFilter, buttonGroupVariants, celebrate, cn, create_command_suggestion_extension, errorToast, format_num, generateUUID, get_hazo_ui_config, get_logger, parse_commands_from_text, pick_x_label_indices, reset_hazo_ui_config, resolve_animation_classes, set_hazo_ui_config, set_logger, successToast, text_to_tiptap_content, toggleVariants, useClickOutside, useCopyToClipboard, useDebounce, useErrorDisplay, useFullscreen, useIsMobile, useLoadingState, useLocalStorage, useMediaQuery, useSessionStorage, useViewport, useWakeLock };
|