@northslopetech/altitude-ui 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -6,6 +6,7 @@ import * as SelectPrimitive from '@radix-ui/react-select';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
  import * as LabelPrimitive from '@radix-ui/react-label';
8
8
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
9
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
9
10
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
10
11
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
11
12
  import { Table as Table$1 } from '@tanstack/react-table';
@@ -113,6 +114,119 @@ declare function FieldError({ className, children, errors, ...props }: React.Com
113
114
 
114
115
  declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof SeparatorPrimitive.Root>): react_jsx_runtime.JSX.Element;
115
116
 
117
+ type TooltipProviderProps = React$1.ComponentProps<typeof TooltipPrimitive.Provider> & {
118
+ delayDuration?: number;
119
+ };
120
+ type TooltipProps = React$1.ComponentProps<typeof TooltipPrimitive.Root> & {
121
+ delayDuration?: number;
122
+ };
123
+ type TooltipTriggerProps = React$1.ComponentProps<typeof TooltipPrimitive.Trigger>;
124
+ type TooltipContentProps = React$1.ComponentProps<typeof TooltipPrimitive.Content>;
125
+ declare function TooltipProvider({ delayDuration, ...props }: TooltipProviderProps): react_jsx_runtime.JSX.Element;
126
+ declare namespace TooltipProvider {
127
+ var displayName: string;
128
+ }
129
+ declare function Tooltip({ delayDuration, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
130
+ declare namespace Tooltip {
131
+ var displayName: string;
132
+ }
133
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
134
+ /**
135
+ * Tooltip content - the actual tooltip popup.
136
+ * @param {number} [props.sideOffset=2] - Distance from trigger element
137
+ */
138
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
139
+
140
+ /**
141
+ * @fileoverview Sidebar component for Altitude UI.
142
+ * Provides a collapsible sidebar navigation with icon-only and expanded states.
143
+ */
144
+
145
+ type SidebarContextProps = {
146
+ state: "expanded" | "collapsed";
147
+ open: boolean;
148
+ setOpen: (open: boolean) => void;
149
+ toggleSidebar: () => void;
150
+ };
151
+ /**
152
+ * Prop types for Sidebar components
153
+ */
154
+ type SidebarProviderProps = React$1.ComponentProps<"div"> & {
155
+ defaultOpen?: boolean;
156
+ open?: boolean;
157
+ onOpenChange?: (open: boolean) => void;
158
+ };
159
+ type SidebarProps = React$1.ComponentProps<"aside"> & {
160
+ collapsible?: "icon";
161
+ };
162
+ type SidebarInsetProps = React$1.ComponentProps<"main">;
163
+ type SidebarHeaderProps = React$1.ComponentProps<"div">;
164
+ type SidebarFooterProps = React$1.ComponentProps<"div">;
165
+ type SidebarContentProps = React$1.ComponentProps<"div">;
166
+ type SidebarGroupProps = React$1.ComponentProps<"div">;
167
+ type SidebarGroupContentProps = React$1.ComponentProps<"div">;
168
+ type SidebarMenuProps = React$1.ComponentProps<"ul">;
169
+ type SidebarMenuItemProps = React$1.ComponentProps<"li">;
170
+ type SidebarMenuButtonProps = React$1.ComponentProps<"button"> & {
171
+ isActive?: boolean;
172
+ tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
173
+ };
174
+ /**
175
+ * Hook to access sidebar context
176
+ * @throws {Error} If used outside of SidebarProvider
177
+ */
178
+ declare function useSidebar(): SidebarContextProps;
179
+ /**
180
+ * SidebarProvider - Root component that manages sidebar state
181
+ * @param {boolean} [props.defaultOpen=true] - Initial open state
182
+ * @param {boolean} [props.open] - Controlled open state
183
+ * @param {(open: boolean) => void} [props.onOpenChange] - Callback when open state changes
184
+ */
185
+ declare const SidebarProvider: React$1.ForwardRefExoticComponent<Omit<SidebarProviderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
186
+ /**
187
+ * Sidebar - Main sidebar container
188
+ * @param {('icon')} [props.collapsible='icon'] - Collapsible behavior
189
+ */
190
+ declare const Sidebar: React$1.ForwardRefExoticComponent<Omit<SidebarProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
191
+ /**
192
+ * SidebarInset - Main content area that sits beside the sidebar
193
+ */
194
+ declare const SidebarInset: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
195
+ /**
196
+ * SidebarHeader - Header section of sidebar
197
+ */
198
+ declare const SidebarHeader: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
199
+ /**
200
+ * SidebarFooter - Footer section of sidebar
201
+ */
202
+ declare const SidebarFooter: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
203
+ /**
204
+ * SidebarContent - Scrollable content area of sidebar
205
+ */
206
+ declare const SidebarContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
207
+ /**
208
+ * SidebarGroup - Logical grouping of sidebar items
209
+ */
210
+ declare const SidebarGroup: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
211
+ /**
212
+ * SidebarGroupContent - Content wrapper for sidebar group
213
+ */
214
+ declare const SidebarGroupContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
215
+ /**
216
+ * SidebarMenu - Menu list container
217
+ */
218
+ declare const SidebarMenu: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React$1.RefAttributes<HTMLUListElement>>;
219
+ /**
220
+ * SidebarMenuItem - Individual menu item container
221
+ */
222
+ declare const SidebarMenuItem: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React$1.RefAttributes<HTMLLIElement>>;
223
+ /**
224
+ * SidebarMenuButton - Interactive menu button with optional tooltip
225
+ * @param {boolean} [props.isActive=false] - Whether button is in active state
226
+ * @param {string | React.ComponentProps<typeof TooltipContent>} [props.tooltip] - Tooltip configuration
227
+ */
228
+ declare const SidebarMenuButton: React$1.ForwardRefExoticComponent<Omit<SidebarMenuButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
229
+
116
230
  /**
117
231
  * @fileoverview DatePicker component for Altitude UI.
118
232
  */
@@ -225,6 +339,112 @@ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement>, VariantPro
225
339
  */
226
340
  declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
227
341
 
342
+ /**
343
+ * @fileoverview Shared TypeScript types for PDF viewer components.
344
+ */
345
+ /**
346
+ * PDF file input type - can be a URL string or File object.
347
+ */
348
+ type PdfFile = string | File;
349
+ /**
350
+ * Props for PDF viewer components.
351
+ */
352
+ interface PdfViewerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onError"> {
353
+ /**
354
+ * The PDF file to display. Can be a URL string or a File object.
355
+ */
356
+ file?: PdfFile;
357
+ /**
358
+ * Document title to display in the header.
359
+ */
360
+ title?: string;
361
+ /**
362
+ * Optional custom page width in pixels. If not provided, pages will auto-fit to container width.
363
+ */
364
+ pageWidth?: number;
365
+ /**
366
+ * Callback when download button is clicked.
367
+ */
368
+ onDownload?: () => void;
369
+ /**
370
+ * Callback when print button is clicked.
371
+ */
372
+ onPrint?: () => void;
373
+ /**
374
+ * Callback when the PDF document loads successfully.
375
+ */
376
+ onLoadSuccess?: (numPages: number) => void;
377
+ /**
378
+ * Callback when there's an error loading or rendering the PDF.
379
+ */
380
+ onError?: (error: Error) => void;
381
+ /**
382
+ * Enable text layer for text selection. Defaults to false for performance.
383
+ */
384
+ enableTextLayer?: boolean;
385
+ }
386
+
387
+ /**
388
+ * @fileoverview PDF.js worker configuration.
389
+ */
390
+ /**
391
+ * Initialize PDF.js worker with a custom URL.
392
+ *
393
+ * The worker file is bundled with @northslopetech/altitude-ui at:
394
+ * @northslopetech/altitude-ui/pdf.worker.min.mjs
395
+ *
396
+ * **IMPORTANT**: You must call this function once at application startup before
397
+ * using the PdfViewer component.
398
+ *
399
+ * @param workerUrl - The URL where the PDF.js worker can be accessed
400
+ *
401
+ * @example
402
+ * ```tsx
403
+ * // For Vite/Webpack - import directly from the package (recommended):
404
+ * import workerUrl from '@northslopetech/altitude-ui/pdf.worker.min.mjs?url';
405
+ * import { initializePdfWorker } from '@northslopetech/altitude-ui';
406
+ *
407
+ * // Call once at app startup (e.g., in main.tsx, _app.tsx, or layout.tsx)
408
+ * initializePdfWorker(workerUrl);
409
+ *
410
+ * // Or if you've copied the worker to your public folder:
411
+ * initializePdfWorker('/pdf.worker.min.mjs');
412
+ * ```
413
+ */
414
+ declare function initializePdfWorker(workerUrl: string): void;
415
+
416
+ /**
417
+ * @fileoverview PDF viewer component for Altitude UI.
418
+ */
419
+
420
+ /**
421
+ * PDF document viewer component with multi-page support.
422
+ *
423
+ * @example
424
+ * ```tsx
425
+ * // Simple usage
426
+ * <PdfViewer file="/document.pdf" />
427
+ *
428
+ * // With title and callbacks
429
+ * <PdfViewer
430
+ * file={pdfFile}
431
+ * title="Invoice_2024.pdf"
432
+ * onDownload={() => console.log('Download clicked')}
433
+ * onPrint={() => console.log('Print clicked')}
434
+ * onLoadSuccess={(pages) => console.log(`Loaded ${pages} pages`)}
435
+ * onError={(error) => console.error(error)}
436
+ * />
437
+ *
438
+ * // With custom width and text layer
439
+ * <PdfViewer
440
+ * file="/document.pdf"
441
+ * pageWidth={800}
442
+ * enableTextLayer
443
+ * />
444
+ * ```
445
+ */
446
+ declare const PdfViewer: React$1.ForwardRefExoticComponent<PdfViewerProps & React$1.RefAttributes<HTMLDivElement>>;
447
+
228
448
  /**
229
449
  * Tabs trigger variant styles.
230
450
  */
@@ -377,6 +597,18 @@ declare const UserMulti: React$1.FC<IconProps>;
377
597
  declare const Warning: React$1.FC<IconProps>;
378
598
  declare const Wrench: React$1.FC<IconProps>;
379
599
  declare const Logout: React$1.FC<IconProps>;
600
+ /**
601
+ * Print icon component.
602
+ */
603
+ declare const Print: React$1.FC<IconProps>;
604
+ /**
605
+ * Download icon component.
606
+ */
607
+ declare const Download: React$1.FC<IconProps>;
608
+ /**
609
+ * Panel icon component.
610
+ */
611
+ declare const Panel: React$1.FC<IconProps>;
380
612
 
381
613
  /**
382
614
  * @fileoverview Chart utilities for Altitude UI chart components.
@@ -887,4 +1119,4 @@ interface TableProps<T> {
887
1119
  */
888
1120
  declare function Table<T>({ table, className, showPagination, paginationClassName, }: TableProps<T>): react_jsx_runtime.JSX.Element;
889
1121
 
890
- export { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Badge, type BadgeProps, BarChart, type BarChartData, type BarChartProps, Bell, Bookmark, Button, type ButtonProps, CHART_COLORS, CHART_CONSTANTS, COLOR_SCHEMES, Calendar, CaretDown, CaretLeft, CaretRight, CaretUp, type ChartColorScheme, ChartLegend, type ChartLegendProps, Chat, Check, CheckIcon, Checkbox, type CheckboxProps, CheckmarkCircle, CheckmarkSquare, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Close, CloseSmall, Cog, Credentials, DatePicker, type DatePickerProps, Doc, Dollar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type DropdownMenuTriggerProps, Edit, Envelope, Exclamation, EyeClosed, EyeOpen, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Filter, FilterDescending, GenericTooltip, type GenericTooltipProps, GraphBar, GraphDonut, GraphLine, GraphPie, HamburgerMenu, Home, type IconProps, type IconVariant, Information, Input, type InputProps, Label, type LabelProps, type LegendItem, LineChart, type LineChartData, type LineChartProps, type LineSeries, Location, Lock, Logout, MagnifyingGlass, Minus, MoreMenu, Phone, PieChart, type PieChartData, type PieChartProps, type PieLabelProps, Plus, QuestionCircle, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Share, Star, Statement, Table, TableIcon, type TableProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type TickProps, TooltipContainer, type TooltipContainerProps, TooltipItem, type TooltipItemProps, Trash, Typography, type TypographyProps, Upload, type UploadProps, User, UserMulti, Warning, Wrench, X, badgeVariants, buttonVariants, calculateYAxisWidth, checkboxVariants, createCustomXAxisLabel, createCustomYAxisLabel, createCustomYAxisRightLabel, createLegendItems, customXAxisTick, customXAxisTickRotated, customYAxisTick, formatLargeNumber, formatPercentage, getHeatmapColor, getPerformanceColor, getSeriesColor, selectTriggerVariants, tabsVariants, typographyVariants, uploadVariants };
1122
+ export { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Badge, type BadgeProps, BarChart, type BarChartData, type BarChartProps, Bell, Bookmark, Button, type ButtonProps, CHART_COLORS, CHART_CONSTANTS, COLOR_SCHEMES, Calendar, CaretDown, CaretLeft, CaretRight, CaretUp, type ChartColorScheme, ChartLegend, type ChartLegendProps, Chat, Check, CheckIcon, Checkbox, type CheckboxProps, CheckmarkCircle, CheckmarkSquare, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Close, CloseSmall, Cog, Credentials, DatePicker, type DatePickerProps, Doc, Dollar, Download, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type DropdownMenuTriggerProps, Edit, Envelope, Exclamation, EyeClosed, EyeOpen, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Filter, FilterDescending, GenericTooltip, type GenericTooltipProps, GraphBar, GraphDonut, GraphLine, GraphPie, HamburgerMenu, Home, type IconProps, type IconVariant, Information, Input, type InputProps, Label, type LabelProps, type LegendItem, LineChart, type LineChartData, type LineChartProps, type LineSeries, Location, Lock, Logout, MagnifyingGlass, Minus, MoreMenu, Panel, type PdfFile, PdfViewer, type PdfViewerProps, Phone, PieChart, type PieChartData, type PieChartProps, type PieLabelProps, Plus, Print, QuestionCircle, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Share, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, SidebarGroupContent, type SidebarGroupContentProps, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarInset, type SidebarInsetProps, SidebarMenu, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, Star, Statement, Table, TableIcon, type TableProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type TickProps, Tooltip, TooltipContainer, type TooltipContainerProps, TooltipContent, type TooltipContentProps, TooltipItem, type TooltipItemProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, Trash, Typography, type TypographyProps, Upload, type UploadProps, User, UserMulti, Warning, Wrench, X, badgeVariants, buttonVariants, calculateYAxisWidth, checkboxVariants, createCustomXAxisLabel, createCustomYAxisLabel, createCustomYAxisRightLabel, createLegendItems, customXAxisTick, customXAxisTickRotated, customYAxisTick, formatLargeNumber, formatPercentage, getHeatmapColor, getPerformanceColor, getSeriesColor, initializePdfWorker, selectTriggerVariants, tabsVariants, typographyVariants, uploadVariants, useSidebar };
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ import * as SelectPrimitive from '@radix-ui/react-select';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
  import * as LabelPrimitive from '@radix-ui/react-label';
8
8
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
9
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
9
10
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
10
11
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
11
12
  import { Table as Table$1 } from '@tanstack/react-table';
@@ -113,6 +114,119 @@ declare function FieldError({ className, children, errors, ...props }: React.Com
113
114
 
114
115
  declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof SeparatorPrimitive.Root>): react_jsx_runtime.JSX.Element;
115
116
 
117
+ type TooltipProviderProps = React$1.ComponentProps<typeof TooltipPrimitive.Provider> & {
118
+ delayDuration?: number;
119
+ };
120
+ type TooltipProps = React$1.ComponentProps<typeof TooltipPrimitive.Root> & {
121
+ delayDuration?: number;
122
+ };
123
+ type TooltipTriggerProps = React$1.ComponentProps<typeof TooltipPrimitive.Trigger>;
124
+ type TooltipContentProps = React$1.ComponentProps<typeof TooltipPrimitive.Content>;
125
+ declare function TooltipProvider({ delayDuration, ...props }: TooltipProviderProps): react_jsx_runtime.JSX.Element;
126
+ declare namespace TooltipProvider {
127
+ var displayName: string;
128
+ }
129
+ declare function Tooltip({ delayDuration, ...props }: TooltipProps): react_jsx_runtime.JSX.Element;
130
+ declare namespace Tooltip {
131
+ var displayName: string;
132
+ }
133
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
134
+ /**
135
+ * Tooltip content - the actual tooltip popup.
136
+ * @param {number} [props.sideOffset=2] - Distance from trigger element
137
+ */
138
+ declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
139
+
140
+ /**
141
+ * @fileoverview Sidebar component for Altitude UI.
142
+ * Provides a collapsible sidebar navigation with icon-only and expanded states.
143
+ */
144
+
145
+ type SidebarContextProps = {
146
+ state: "expanded" | "collapsed";
147
+ open: boolean;
148
+ setOpen: (open: boolean) => void;
149
+ toggleSidebar: () => void;
150
+ };
151
+ /**
152
+ * Prop types for Sidebar components
153
+ */
154
+ type SidebarProviderProps = React$1.ComponentProps<"div"> & {
155
+ defaultOpen?: boolean;
156
+ open?: boolean;
157
+ onOpenChange?: (open: boolean) => void;
158
+ };
159
+ type SidebarProps = React$1.ComponentProps<"aside"> & {
160
+ collapsible?: "icon";
161
+ };
162
+ type SidebarInsetProps = React$1.ComponentProps<"main">;
163
+ type SidebarHeaderProps = React$1.ComponentProps<"div">;
164
+ type SidebarFooterProps = React$1.ComponentProps<"div">;
165
+ type SidebarContentProps = React$1.ComponentProps<"div">;
166
+ type SidebarGroupProps = React$1.ComponentProps<"div">;
167
+ type SidebarGroupContentProps = React$1.ComponentProps<"div">;
168
+ type SidebarMenuProps = React$1.ComponentProps<"ul">;
169
+ type SidebarMenuItemProps = React$1.ComponentProps<"li">;
170
+ type SidebarMenuButtonProps = React$1.ComponentProps<"button"> & {
171
+ isActive?: boolean;
172
+ tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
173
+ };
174
+ /**
175
+ * Hook to access sidebar context
176
+ * @throws {Error} If used outside of SidebarProvider
177
+ */
178
+ declare function useSidebar(): SidebarContextProps;
179
+ /**
180
+ * SidebarProvider - Root component that manages sidebar state
181
+ * @param {boolean} [props.defaultOpen=true] - Initial open state
182
+ * @param {boolean} [props.open] - Controlled open state
183
+ * @param {(open: boolean) => void} [props.onOpenChange] - Callback when open state changes
184
+ */
185
+ declare const SidebarProvider: React$1.ForwardRefExoticComponent<Omit<SidebarProviderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
186
+ /**
187
+ * Sidebar - Main sidebar container
188
+ * @param {('icon')} [props.collapsible='icon'] - Collapsible behavior
189
+ */
190
+ declare const Sidebar: React$1.ForwardRefExoticComponent<Omit<SidebarProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
191
+ /**
192
+ * SidebarInset - Main content area that sits beside the sidebar
193
+ */
194
+ declare const SidebarInset: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
195
+ /**
196
+ * SidebarHeader - Header section of sidebar
197
+ */
198
+ declare const SidebarHeader: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
199
+ /**
200
+ * SidebarFooter - Footer section of sidebar
201
+ */
202
+ declare const SidebarFooter: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
203
+ /**
204
+ * SidebarContent - Scrollable content area of sidebar
205
+ */
206
+ declare const SidebarContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
207
+ /**
208
+ * SidebarGroup - Logical grouping of sidebar items
209
+ */
210
+ declare const SidebarGroup: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
211
+ /**
212
+ * SidebarGroupContent - Content wrapper for sidebar group
213
+ */
214
+ declare const SidebarGroupContent: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
215
+ /**
216
+ * SidebarMenu - Menu list container
217
+ */
218
+ declare const SidebarMenu: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React$1.RefAttributes<HTMLUListElement>>;
219
+ /**
220
+ * SidebarMenuItem - Individual menu item container
221
+ */
222
+ declare const SidebarMenuItem: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React$1.RefAttributes<HTMLLIElement>>;
223
+ /**
224
+ * SidebarMenuButton - Interactive menu button with optional tooltip
225
+ * @param {boolean} [props.isActive=false] - Whether button is in active state
226
+ * @param {string | React.ComponentProps<typeof TooltipContent>} [props.tooltip] - Tooltip configuration
227
+ */
228
+ declare const SidebarMenuButton: React$1.ForwardRefExoticComponent<Omit<SidebarMenuButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
229
+
116
230
  /**
117
231
  * @fileoverview DatePicker component for Altitude UI.
118
232
  */
@@ -225,6 +339,112 @@ interface BadgeProps extends React$1.HTMLAttributes<HTMLSpanElement>, VariantPro
225
339
  */
226
340
  declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
227
341
 
342
+ /**
343
+ * @fileoverview Shared TypeScript types for PDF viewer components.
344
+ */
345
+ /**
346
+ * PDF file input type - can be a URL string or File object.
347
+ */
348
+ type PdfFile = string | File;
349
+ /**
350
+ * Props for PDF viewer components.
351
+ */
352
+ interface PdfViewerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onError"> {
353
+ /**
354
+ * The PDF file to display. Can be a URL string or a File object.
355
+ */
356
+ file?: PdfFile;
357
+ /**
358
+ * Document title to display in the header.
359
+ */
360
+ title?: string;
361
+ /**
362
+ * Optional custom page width in pixels. If not provided, pages will auto-fit to container width.
363
+ */
364
+ pageWidth?: number;
365
+ /**
366
+ * Callback when download button is clicked.
367
+ */
368
+ onDownload?: () => void;
369
+ /**
370
+ * Callback when print button is clicked.
371
+ */
372
+ onPrint?: () => void;
373
+ /**
374
+ * Callback when the PDF document loads successfully.
375
+ */
376
+ onLoadSuccess?: (numPages: number) => void;
377
+ /**
378
+ * Callback when there's an error loading or rendering the PDF.
379
+ */
380
+ onError?: (error: Error) => void;
381
+ /**
382
+ * Enable text layer for text selection. Defaults to false for performance.
383
+ */
384
+ enableTextLayer?: boolean;
385
+ }
386
+
387
+ /**
388
+ * @fileoverview PDF.js worker configuration.
389
+ */
390
+ /**
391
+ * Initialize PDF.js worker with a custom URL.
392
+ *
393
+ * The worker file is bundled with @northslopetech/altitude-ui at:
394
+ * @northslopetech/altitude-ui/pdf.worker.min.mjs
395
+ *
396
+ * **IMPORTANT**: You must call this function once at application startup before
397
+ * using the PdfViewer component.
398
+ *
399
+ * @param workerUrl - The URL where the PDF.js worker can be accessed
400
+ *
401
+ * @example
402
+ * ```tsx
403
+ * // For Vite/Webpack - import directly from the package (recommended):
404
+ * import workerUrl from '@northslopetech/altitude-ui/pdf.worker.min.mjs?url';
405
+ * import { initializePdfWorker } from '@northslopetech/altitude-ui';
406
+ *
407
+ * // Call once at app startup (e.g., in main.tsx, _app.tsx, or layout.tsx)
408
+ * initializePdfWorker(workerUrl);
409
+ *
410
+ * // Or if you've copied the worker to your public folder:
411
+ * initializePdfWorker('/pdf.worker.min.mjs');
412
+ * ```
413
+ */
414
+ declare function initializePdfWorker(workerUrl: string): void;
415
+
416
+ /**
417
+ * @fileoverview PDF viewer component for Altitude UI.
418
+ */
419
+
420
+ /**
421
+ * PDF document viewer component with multi-page support.
422
+ *
423
+ * @example
424
+ * ```tsx
425
+ * // Simple usage
426
+ * <PdfViewer file="/document.pdf" />
427
+ *
428
+ * // With title and callbacks
429
+ * <PdfViewer
430
+ * file={pdfFile}
431
+ * title="Invoice_2024.pdf"
432
+ * onDownload={() => console.log('Download clicked')}
433
+ * onPrint={() => console.log('Print clicked')}
434
+ * onLoadSuccess={(pages) => console.log(`Loaded ${pages} pages`)}
435
+ * onError={(error) => console.error(error)}
436
+ * />
437
+ *
438
+ * // With custom width and text layer
439
+ * <PdfViewer
440
+ * file="/document.pdf"
441
+ * pageWidth={800}
442
+ * enableTextLayer
443
+ * />
444
+ * ```
445
+ */
446
+ declare const PdfViewer: React$1.ForwardRefExoticComponent<PdfViewerProps & React$1.RefAttributes<HTMLDivElement>>;
447
+
228
448
  /**
229
449
  * Tabs trigger variant styles.
230
450
  */
@@ -377,6 +597,18 @@ declare const UserMulti: React$1.FC<IconProps>;
377
597
  declare const Warning: React$1.FC<IconProps>;
378
598
  declare const Wrench: React$1.FC<IconProps>;
379
599
  declare const Logout: React$1.FC<IconProps>;
600
+ /**
601
+ * Print icon component.
602
+ */
603
+ declare const Print: React$1.FC<IconProps>;
604
+ /**
605
+ * Download icon component.
606
+ */
607
+ declare const Download: React$1.FC<IconProps>;
608
+ /**
609
+ * Panel icon component.
610
+ */
611
+ declare const Panel: React$1.FC<IconProps>;
380
612
 
381
613
  /**
382
614
  * @fileoverview Chart utilities for Altitude UI chart components.
@@ -887,4 +1119,4 @@ interface TableProps<T> {
887
1119
  */
888
1120
  declare function Table<T>({ table, className, showPagination, paginationClassName, }: TableProps<T>): react_jsx_runtime.JSX.Element;
889
1121
 
890
- export { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Badge, type BadgeProps, BarChart, type BarChartData, type BarChartProps, Bell, Bookmark, Button, type ButtonProps, CHART_COLORS, CHART_CONSTANTS, COLOR_SCHEMES, Calendar, CaretDown, CaretLeft, CaretRight, CaretUp, type ChartColorScheme, ChartLegend, type ChartLegendProps, Chat, Check, CheckIcon, Checkbox, type CheckboxProps, CheckmarkCircle, CheckmarkSquare, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Close, CloseSmall, Cog, Credentials, DatePicker, type DatePickerProps, Doc, Dollar, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type DropdownMenuTriggerProps, Edit, Envelope, Exclamation, EyeClosed, EyeOpen, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Filter, FilterDescending, GenericTooltip, type GenericTooltipProps, GraphBar, GraphDonut, GraphLine, GraphPie, HamburgerMenu, Home, type IconProps, type IconVariant, Information, Input, type InputProps, Label, type LabelProps, type LegendItem, LineChart, type LineChartData, type LineChartProps, type LineSeries, Location, Lock, Logout, MagnifyingGlass, Minus, MoreMenu, Phone, PieChart, type PieChartData, type PieChartProps, type PieLabelProps, Plus, QuestionCircle, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Share, Star, Statement, Table, TableIcon, type TableProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type TickProps, TooltipContainer, type TooltipContainerProps, TooltipItem, type TooltipItemProps, Trash, Typography, type TypographyProps, Upload, type UploadProps, User, UserMulti, Warning, Wrench, X, badgeVariants, buttonVariants, calculateYAxisWidth, checkboxVariants, createCustomXAxisLabel, createCustomYAxisLabel, createCustomYAxisRightLabel, createLegendItems, customXAxisTick, customXAxisTickRotated, customYAxisTick, formatLargeNumber, formatPercentage, getHeatmapColor, getPerformanceColor, getSeriesColor, selectTriggerVariants, tabsVariants, typographyVariants, uploadVariants };
1122
+ export { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, Badge, type BadgeProps, BarChart, type BarChartData, type BarChartProps, Bell, Bookmark, Button, type ButtonProps, CHART_COLORS, CHART_CONSTANTS, COLOR_SCHEMES, Calendar, CaretDown, CaretLeft, CaretRight, CaretUp, type ChartColorScheme, ChartLegend, type ChartLegendProps, Chat, Check, CheckIcon, Checkbox, type CheckboxProps, CheckmarkCircle, CheckmarkSquare, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Close, CloseSmall, Cog, Credentials, DatePicker, type DatePickerProps, Doc, Dollar, Download, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type DropdownMenuTriggerProps, Edit, Envelope, Exclamation, EyeClosed, EyeOpen, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Filter, FilterDescending, GenericTooltip, type GenericTooltipProps, GraphBar, GraphDonut, GraphLine, GraphPie, HamburgerMenu, Home, type IconProps, type IconVariant, Information, Input, type InputProps, Label, type LabelProps, type LegendItem, LineChart, type LineChartData, type LineChartProps, type LineSeries, Location, Lock, Logout, MagnifyingGlass, Minus, MoreMenu, Panel, type PdfFile, PdfViewer, type PdfViewerProps, Phone, PieChart, type PieChartData, type PieChartProps, type PieLabelProps, Plus, Print, QuestionCircle, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Share, Sidebar, SidebarContent, type SidebarContentProps, SidebarFooter, type SidebarFooterProps, SidebarGroup, SidebarGroupContent, type SidebarGroupContentProps, type SidebarGroupProps, SidebarHeader, type SidebarHeaderProps, SidebarInset, type SidebarInsetProps, SidebarMenu, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, Star, Statement, Table, TableIcon, type TableProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type TickProps, Tooltip, TooltipContainer, type TooltipContainerProps, TooltipContent, type TooltipContentProps, TooltipItem, type TooltipItemProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, Trash, Typography, type TypographyProps, Upload, type UploadProps, User, UserMulti, Warning, Wrench, X, badgeVariants, buttonVariants, calculateYAxisWidth, checkboxVariants, createCustomXAxisLabel, createCustomYAxisLabel, createCustomYAxisRightLabel, createLegendItems, customXAxisTick, customXAxisTickRotated, customYAxisTick, formatLargeNumber, formatPercentage, getHeatmapColor, getPerformanceColor, getSeriesColor, initializePdfWorker, selectTriggerVariants, tabsVariants, typographyVariants, uploadVariants, useSidebar };