@orion-ds/react 4.3.7 → 4.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.
Files changed (193) hide show
  1. package/dist/blocks/sections/ActivityFeed/ActivityFeed.cjs +1 -0
  2. package/dist/blocks/sections/ActivityFeed/ActivityFeed.mjs +1 -0
  3. package/dist/blocks/sections/Breadcrumbs/Breadcrumbs.cjs +1 -0
  4. package/dist/blocks/sections/Breadcrumbs/Breadcrumbs.mjs +1 -0
  5. package/dist/blocks/sections/CTA/CTA.cjs +1 -0
  6. package/dist/blocks/sections/CTA/CTA.mjs +1 -0
  7. package/dist/blocks/sections/CarouselSection/CarouselSection.cjs +1 -0
  8. package/dist/blocks/sections/CarouselSection/CarouselSection.mjs +1 -0
  9. package/dist/blocks/sections/Chat/Chat.cjs +1 -0
  10. package/dist/blocks/sections/Chat/Chat.mjs +1 -0
  11. package/dist/blocks/sections/Comparison/Comparison.cjs +1 -0
  12. package/dist/blocks/sections/Comparison/Comparison.mjs +1 -0
  13. package/dist/blocks/sections/Contact/Contact.cjs +1 -0
  14. package/dist/blocks/sections/Contact/Contact.mjs +1 -0
  15. package/dist/blocks/sections/FAQ/FAQ.cjs +1 -0
  16. package/dist/blocks/sections/FAQ/FAQ.mjs +1 -0
  17. package/dist/blocks/sections/FAQ/FAQItemCard.cjs +1 -0
  18. package/dist/blocks/sections/FAQ/FAQItemCard.mjs +1 -0
  19. package/dist/blocks/sections/Gallery/Gallery.cjs +1 -0
  20. package/dist/blocks/sections/Gallery/Gallery.mjs +1 -0
  21. package/dist/blocks/sections/Hero/Hero.cjs +1 -0
  22. package/dist/blocks/sections/Hero/Hero.mjs +1 -0
  23. package/dist/blocks/sections/Newsletter/Newsletter.cjs +1 -0
  24. package/dist/blocks/sections/Newsletter/Newsletter.mjs +1 -0
  25. package/dist/blocks/sections/SettingsLayout/SettingsLayout.cjs +1 -0
  26. package/dist/blocks/sections/SettingsLayout/SettingsLayout.mjs +1 -0
  27. package/dist/calendar.cjs +2 -0
  28. package/dist/calendar.d.ts +15 -0
  29. package/dist/calendar.d.ts.map +1 -0
  30. package/dist/calendar.mjs +7 -0
  31. package/dist/chart.cjs +2 -0
  32. package/dist/chart.d.ts +13 -0
  33. package/dist/chart.d.ts.map +1 -0
  34. package/dist/chart.mjs +10 -0
  35. package/dist/client.cjs +2 -0
  36. package/dist/client.d.ts +163 -4
  37. package/dist/client.d.ts.map +1 -1
  38. package/dist/client.mjs +248 -0
  39. package/dist/components/Accordion/Accordion.cjs +1 -0
  40. package/dist/components/Accordion/Accordion.mjs +1 -0
  41. package/dist/components/AgentCard/AgentCard.cjs +1 -0
  42. package/dist/components/AgentCard/AgentCard.mjs +1 -0
  43. package/dist/components/Alert/Alert.cjs +1 -0
  44. package/dist/components/Alert/Alert.mjs +1 -0
  45. package/dist/components/AlertDialog/AlertDialog.cjs +1 -0
  46. package/dist/components/AlertDialog/AlertDialog.mjs +1 -0
  47. package/dist/components/Avatar/Avatar.cjs +1 -0
  48. package/dist/components/Avatar/Avatar.mjs +1 -0
  49. package/dist/components/Breadcrumb/Breadcrumb.cjs +1 -0
  50. package/dist/components/Breadcrumb/Breadcrumb.mjs +1 -0
  51. package/dist/components/Calendar/Calendar.cjs +1 -0
  52. package/dist/components/Calendar/Calendar.mjs +1 -0
  53. package/dist/components/Carousel/Carousel.cjs +1 -0
  54. package/dist/components/Carousel/Carousel.mjs +1 -0
  55. package/dist/components/Chart/Chart.cjs +1 -0
  56. package/dist/components/Chart/Chart.mjs +1 -0
  57. package/dist/components/Chat/components/ChatAudioPlayer.cjs +1 -0
  58. package/dist/components/Chat/components/ChatAudioPlayer.mjs +1 -0
  59. package/dist/components/Chat/components/ChatCodeBlock.cjs +1 -0
  60. package/dist/components/Chat/components/ChatCodeBlock.mjs +1 -0
  61. package/dist/components/Chat/components/ChatFileUpload.cjs +1 -0
  62. package/dist/components/Chat/components/ChatFileUpload.mjs +1 -0
  63. package/dist/components/Chat/components/ChatImagePreview.cjs +1 -0
  64. package/dist/components/Chat/components/ChatImagePreview.mjs +1 -0
  65. package/dist/components/Chat/components/ChatInput.cjs +1 -0
  66. package/dist/components/Chat/components/ChatInput.mjs +1 -0
  67. package/dist/components/Chat/components/ChatLightbox.cjs +1 -0
  68. package/dist/components/Chat/components/ChatLightbox.mjs +1 -0
  69. package/dist/components/Chat/components/ChatMarkdown.cjs +1 -0
  70. package/dist/components/Chat/components/ChatMarkdown.d.ts.map +1 -1
  71. package/dist/components/Chat/components/ChatMarkdown.mjs +1 -0
  72. package/dist/components/Chat/components/ChatMessages.cjs +1 -0
  73. package/dist/components/Chat/components/ChatMessages.d.ts.map +1 -1
  74. package/dist/components/Chat/components/ChatMessages.mjs +1 -0
  75. package/dist/components/Chat/components/ChatSidebar.cjs +1 -0
  76. package/dist/components/Chat/components/ChatSidebar.mjs +1 -0
  77. package/dist/components/Chat/components/ChatVoiceRecorder.cjs +1 -0
  78. package/dist/components/Chat/components/ChatVoiceRecorder.d.ts.map +1 -1
  79. package/dist/components/Chat/components/ChatVoiceRecorder.mjs +1 -0
  80. package/dist/components/Checkbox/Checkbox.cjs +1 -0
  81. package/dist/components/Checkbox/Checkbox.mjs +1 -0
  82. package/dist/components/CodeEditor/CodeEditor.cjs +1 -0
  83. package/dist/components/CodeEditor/CodeEditor.mjs +1 -0
  84. package/dist/components/Collapsible/Collapsible.cjs +1 -0
  85. package/dist/components/Collapsible/Collapsible.mjs +1 -0
  86. package/dist/components/CollapsibleFolder/CollapsibleFolder.cjs +1 -0
  87. package/dist/components/CollapsibleFolder/CollapsibleFolder.mjs +1 -0
  88. package/dist/components/Combobox/Combobox.cjs +1 -0
  89. package/dist/components/Combobox/Combobox.mjs +1 -0
  90. package/dist/components/Command/Command.cjs +1 -0
  91. package/dist/components/Command/Command.mjs +1 -0
  92. package/dist/components/CommandBar/CommandBar.cjs +1 -0
  93. package/dist/components/CommandBar/CommandBar.mjs +1 -0
  94. package/dist/components/DataTable/DataTable.cjs +1 -0
  95. package/dist/components/DataTable/DataTable.mjs +1 -0
  96. package/dist/components/DatePicker/DatePicker.cjs +1 -0
  97. package/dist/components/DatePicker/DatePicker.mjs +1 -0
  98. package/dist/components/DetailPanel/DetailPanel.cjs +1 -0
  99. package/dist/components/DetailPanel/DetailPanel.mjs +1 -0
  100. package/dist/components/Drawer/Drawer.cjs +1 -0
  101. package/dist/components/Drawer/Drawer.mjs +1 -0
  102. package/dist/components/Dropdown/Dropdown.cjs +1 -0
  103. package/dist/components/Dropdown/Dropdown.mjs +1 -0
  104. package/dist/components/Field/Field.cjs +1 -0
  105. package/dist/components/Field/Field.mjs +1 -0
  106. package/dist/components/FileUploader/FileUploader.cjs +1 -0
  107. package/dist/components/FileUploader/FileUploader.mjs +1 -0
  108. package/dist/components/FilterBar/FilterBar.cjs +1 -0
  109. package/dist/components/FilterBar/FilterBar.mjs +1 -0
  110. package/dist/components/FontLoader/FontLoader.cjs +1 -0
  111. package/dist/components/FontLoader/FontLoader.mjs +1 -0
  112. package/dist/components/FormSection/FormSection.cjs +1 -0
  113. package/dist/components/FormSection/FormSection.mjs +1 -0
  114. package/dist/components/Icon/Icon.cjs +1 -0
  115. package/dist/components/Icon/Icon.mjs +1 -0
  116. package/dist/components/IconGallery/IconGallery.cjs +1 -0
  117. package/dist/components/IconGallery/IconGallery.mjs +1 -0
  118. package/dist/components/InputOTP/InputOTP.cjs +1 -0
  119. package/dist/components/InputOTP/InputOTP.mjs +1 -0
  120. package/dist/components/List/List.cjs +1 -0
  121. package/dist/components/List/List.mjs +1 -0
  122. package/dist/components/Modal/Modal.cjs +1 -0
  123. package/dist/components/Modal/Modal.mjs +1 -0
  124. package/dist/components/NavTree/NavTree.cjs +1 -0
  125. package/dist/components/NavTree/NavTree.mjs +1 -0
  126. package/dist/components/Navbar/Navbar.cjs +1 -0
  127. package/dist/components/Navbar/Navbar.mjs +1 -0
  128. package/dist/components/NotificationCenter/NotificationCenter.cjs +1 -0
  129. package/dist/components/NotificationCenter/NotificationCenter.mjs +1 -0
  130. package/dist/components/Pagination/Pagination.cjs +1 -0
  131. package/dist/components/Pagination/Pagination.mjs +1 -0
  132. package/dist/components/Popover/Popover.cjs +1 -0
  133. package/dist/components/Popover/Popover.mjs +1 -0
  134. package/dist/components/QuickActions/QuickActions.cjs +1 -0
  135. package/dist/components/QuickActions/QuickActions.mjs +1 -0
  136. package/dist/components/Radio/Radio.cjs +1 -0
  137. package/dist/components/Radio/Radio.mjs +1 -0
  138. package/dist/components/SearchInput/SearchInput.cjs +1 -0
  139. package/dist/components/SearchInput/SearchInput.mjs +1 -0
  140. package/dist/components/Sidebar/Sidebar.cjs +1 -0
  141. package/dist/components/Sidebar/Sidebar.mjs +1 -0
  142. package/dist/components/Slider/Slider.cjs +1 -0
  143. package/dist/components/Slider/Slider.mjs +1 -0
  144. package/dist/components/Stepper/Stepper.cjs +1 -0
  145. package/dist/components/Stepper/Stepper.mjs +1 -0
  146. package/dist/components/Switch/Switch.cjs +1 -0
  147. package/dist/components/Switch/Switch.mjs +1 -0
  148. package/dist/components/Table/Table.cjs +1 -0
  149. package/dist/components/Table/Table.mjs +1 -0
  150. package/dist/components/Tabs/Tabs.cjs +1 -0
  151. package/dist/components/Tabs/Tabs.mjs +1 -0
  152. package/dist/components/Textarea/Textarea.cjs +1 -0
  153. package/dist/components/Textarea/Textarea.mjs +1 -0
  154. package/dist/components/ThemeController/ThemeController.cjs +1 -0
  155. package/dist/components/ThemeController/ThemeController.d.ts.map +1 -1
  156. package/dist/components/ThemeController/ThemeController.mjs +1 -0
  157. package/dist/components/Toast/Toast.cjs +1 -0
  158. package/dist/components/Toast/Toast.mjs +1 -0
  159. package/dist/components/Toggle/Toggle.cjs +1 -0
  160. package/dist/components/Toggle/Toggle.mjs +1 -0
  161. package/dist/components/ToggleGroup/ToggleGroup.cjs +1 -0
  162. package/dist/components/ToggleGroup/ToggleGroup.mjs +1 -0
  163. package/dist/components/Tooltip/Tooltip.cjs +1 -0
  164. package/dist/components/Tooltip/Tooltip.mjs +1 -0
  165. package/dist/components/UserMenu/UserMenu.cjs +1 -0
  166. package/dist/components/UserMenu/UserMenu.mjs +1 -0
  167. package/dist/components/WorkspaceSwitcher/WorkspaceSwitcher.cjs +1 -0
  168. package/dist/components/WorkspaceSwitcher/WorkspaceSwitcher.mjs +1 -0
  169. package/dist/contexts/ThemeContext.cjs +1 -0
  170. package/dist/contexts/ThemeContext.mjs +1 -0
  171. package/dist/dnd.cjs +2 -0
  172. package/dist/dnd.d.ts +16 -0
  173. package/dist/dnd.d.ts.map +1 -0
  174. package/dist/dnd.mjs +5 -0
  175. package/dist/editor.cjs +2 -0
  176. package/dist/editor.d.ts +13 -0
  177. package/dist/editor.d.ts.map +1 -0
  178. package/dist/editor.mjs +5 -0
  179. package/dist/index.cjs +1 -1
  180. package/dist/index.mjs +227 -227
  181. package/dist/rich.cjs +2 -0
  182. package/dist/rich.d.ts +16 -0
  183. package/dist/rich.d.ts.map +1 -0
  184. package/dist/rich.mjs +5 -0
  185. package/dist/sections/index.cjs +1 -0
  186. package/dist/sections/index.mjs +43 -0
  187. package/dist/tokens/brands.cjs +1 -1
  188. package/dist/tokens/brands.mjs +3 -2
  189. package/dist/tokens/index.cjs +1 -0
  190. package/dist/tokens/index.mjs +24 -0
  191. package/dist/tokens/utils.cjs +1 -1
  192. package/dist/tokens/utils.mjs +36 -24
  193. package/package.json +36 -13
@@ -0,0 +1,248 @@
1
+ "use client";
2
+ import { primitives as e, spacing as t } from "./tokens/primitives.mjs";
3
+ import { getBrand as a, getSemanticToken as m, getToken as f } from "./tokens/utils.mjs";
4
+ import { ComponentShowcase as i } from "./ComponentShowcase.mjs";
5
+ export * from "lucide-react";
6
+ import { AlertCircle as l, ArrowDown as d, ArrowLeft as u, ArrowRight as c, ArrowUp as C, Bell as g, Check as S, CheckCircle as T, ChevronDown as h, ChevronLeft as b, ChevronRight as w, ChevronUp as F, Copy as L, CreditCard as D, DollarSign as M, Download as P, Edit as k, Eye as A, EyeOff as B, File as v, FileText as y, Heart as O, HelpCircle as I, Home as N, Image as E, Info as U, LogIn as R, LogOut as _, Mail as G, Menu as H, MessageSquare as K, Minus as Q, Music as V, Plus as X, Search as q, Settings as W, Share2 as j, ShoppingCart as z, Star as J, Trash2 as Y, Upload as Z, User as $, Video as rr, X as or, XCircle as er } from "lucide-react";
7
+ import { ALL_FONTS as pr, BRAND_FONTS as ar, FONT_PRECONNECT_URLS as mr, GOOGLE_FONTS_URL as fr, areBrandFontsLoaded as xr, getFontLinkTags as ir, getMissingFonts as nr, isFontLoaded as sr, waitForFonts as lr } from "./utils/fonts.mjs";
8
+ import { Accordion as ur } from "./components/Accordion/Accordion.mjs";
9
+ import { ActivityFeed as Cr } from "./components/ActivityFeed/ActivityFeed.mjs";
10
+ import { AgentCard as Sr } from "./components/AgentCard/AgentCard.mjs";
11
+ import { Alert as hr } from "./components/Alert/Alert.mjs";
12
+ import { AlertDialog as wr } from "./components/AlertDialog/AlertDialog.mjs";
13
+ import { Avatar as Lr } from "./components/Avatar/Avatar.mjs";
14
+ import { Badge as Mr } from "./components/Badge/Badge.mjs";
15
+ import { Banner as kr } from "./components/Banner/Banner.mjs";
16
+ import { Breadcrumb as Br } from "./components/Breadcrumb/Breadcrumb.mjs";
17
+ import { Button as yr } from "./components/Button/Button.mjs";
18
+ import { Card as Ir } from "./components/Card/Card.mjs";
19
+ import { Carousel as Er } from "./components/Carousel/Carousel.mjs";
20
+ import { CarouselCard as Rr } from "./components/Carousel/CarouselCard.mjs";
21
+ import { Checkbox as Gr } from "./components/Checkbox/Checkbox.mjs";
22
+ import { Chip as Kr } from "./components/Chip/Chip.mjs";
23
+ import { Collapsible as Vr } from "./components/Collapsible/Collapsible.mjs";
24
+ import { Combobox as qr } from "./components/Combobox/Combobox.mjs";
25
+ import { Command as jr } from "./components/Command/Command.mjs";
26
+ import { CommandBar as Jr } from "./components/CommandBar/CommandBar.mjs";
27
+ import { Container as Zr } from "./sections/Container/Container.mjs";
28
+ import { DataTable as ro } from "./components/DataTable/DataTable.mjs";
29
+ import { DetailPanel as eo } from "./components/DetailPanel/DetailPanel.mjs";
30
+ import { Divider as po } from "./components/Divider/Divider.mjs";
31
+ import { Drawer as mo } from "./components/Drawer/Drawer.mjs";
32
+ import { Dropdown as xo } from "./components/Dropdown/Dropdown.mjs";
33
+ import { EmptyState as no } from "./components/EmptyState/EmptyState.mjs";
34
+ import { ErrorBoundary as lo } from "./components/ErrorBoundary/ErrorBoundary.mjs";
35
+ import { Field as co } from "./components/Field/Field.mjs";
36
+ import { FileUploader as go } from "./components/FileUploader/FileUploader.mjs";
37
+ import { FilterBar as To } from "./components/FilterBar/FilterBar.mjs";
38
+ import { FontLoader as bo } from "./components/FontLoader/FontLoader.mjs";
39
+ import { FormSection as Fo } from "./components/FormSection/FormSection.mjs";
40
+ import { Icon as Do } from "./components/Icon/Icon.mjs";
41
+ import { IconGallery as Po } from "./components/IconGallery/IconGallery.mjs";
42
+ import { Icons as Ao } from "./utils/icons.mjs";
43
+ import { InputOTP as vo } from "./components/InputOTP/InputOTP.mjs";
44
+ import { KanbanBoard as Oo } from "./components/KanbanBoard/KanbanBoard.mjs";
45
+ import { LandingPageExample as No } from "./examples/LandingPage.example.mjs";
46
+ import { Link as Uo } from "./components/Link/Link.mjs";
47
+ import { List as _o } from "./components/List/List.mjs";
48
+ import { MetricCard as Ho, MetricCards as Ko } from "./components/MetricCards/MetricCards.mjs";
49
+ import { Modal as Vo } from "./components/Modal/Modal.mjs";
50
+ import { NavTree as qo } from "./components/NavTree/NavTree.mjs";
51
+ import { Navbar as jo } from "./components/Navbar/Navbar.mjs";
52
+ import { NotificationCenter as Jo } from "./components/NotificationCenter/NotificationCenter.mjs";
53
+ import { PageHeader as Zo } from "./components/PageHeader/PageHeader.mjs";
54
+ import { Pagination as re } from "./components/Pagination/Pagination.mjs";
55
+ import { Popover as ee } from "./components/Popover/Popover.mjs";
56
+ import { ProgressBar as pe } from "./components/ProgressBar/ProgressBar.mjs";
57
+ import { QuickActions as me } from "./components/QuickActions/QuickActions.mjs";
58
+ import { Radio as xe } from "./components/Radio/Radio.mjs";
59
+ import { SearchInput as ne } from "./components/SearchInput/SearchInput.mjs";
60
+ import { Section as le } from "./sections/Section/Section.mjs";
61
+ import { Select as ue } from "./components/Select/Select.mjs";
62
+ import { Sidebar as Ce } from "./components/Sidebar/Sidebar.mjs";
63
+ import { Skeleton as Se } from "./components/Skeleton/Skeleton.mjs";
64
+ import { Slider as he } from "./components/Slider/Slider.mjs";
65
+ import { Spinner as we } from "./components/Spinner/Spinner.mjs";
66
+ import { Stepper as Le } from "./components/Stepper/Stepper.mjs";
67
+ import { Switch as Me } from "./components/Switch/Switch.mjs";
68
+ import { Table as ke } from "./components/Table/Table.mjs";
69
+ import { Tabs as Be } from "./components/Tabs/Tabs.mjs";
70
+ import { Textarea as ye } from "./components/Textarea/Textarea.mjs";
71
+ import { ThemeController as Ie } from "./components/ThemeController/ThemeController.mjs";
72
+ import { ThemeProvider as Ee, useThemeContext as Ue } from "./contexts/ThemeContext.mjs";
73
+ import { ToastProvider as _e, useToast as Ge } from "./components/Toast/Toast.mjs";
74
+ import { Toggle as Ke } from "./components/Toggle/Toggle.mjs";
75
+ import { ToggleGroup as Ve } from "./components/ToggleGroup/ToggleGroup.mjs";
76
+ import { Tooltip as qe } from "./components/Tooltip/Tooltip.mjs";
77
+ import { UserMenu as je } from "./components/UserMenu/UserMenu.mjs";
78
+ import { WorkspaceSwitcher as Je } from "./components/WorkspaceSwitcher/WorkspaceSwitcher.mjs";
79
+ import { useClickOutside as Ze, useClickOutsideMultiple as $e } from "./hooks/useClickOutside.mjs";
80
+ import { useCopy as ot, useCopyToClipboard as et } from "./hooks/useCopyToClipboard.mjs";
81
+ import { useDebounce as pt, useDebouncedCallback as at } from "./hooks/useDebounce.mjs";
82
+ import { useDisclosure as ft } from "./hooks/useDisclosure.mjs";
83
+ import { useIsDesktop as it, useIsMobile as nt, useIsTablet as st, useMediaQuery as lt, usePrefersDarkMode as dt, usePrefersReducedMotion as ut } from "./hooks/useMediaQuery.mjs";
84
+ import { useKeyboard as Ct, useKeyboardShortcuts as gt } from "./hooks/useKeyboard.mjs";
85
+ import { useLocalStorage as Tt, useSessionStorage as ht } from "./hooks/useLocalStorage.mjs";
86
+ import { useTheme as wt } from "./hooks/useTheme.mjs";
87
+ import { warnBrandProp as Lt, warnFieldChildren as Dt, warnGlassVariant as Mt, warnHardcodedColors as Pt, warnMissingAriaLabel as kt, warnThemeProp as At, warnUsePrebuiltSection as Bt } from "./utils/validation.mjs";
88
+ export {
89
+ pr as ALL_FONTS,
90
+ ur as Accordion,
91
+ Cr as ActivityFeed,
92
+ Sr as AgentCard,
93
+ hr as Alert,
94
+ l as AlertCircle,
95
+ wr as AlertDialog,
96
+ d as ArrowDown,
97
+ u as ArrowLeft,
98
+ c as ArrowRight,
99
+ C as ArrowUp,
100
+ Lr as Avatar,
101
+ ar as BRAND_FONTS,
102
+ Mr as Badge,
103
+ kr as Banner,
104
+ g as Bell,
105
+ Br as Breadcrumb,
106
+ yr as Button,
107
+ Ir as Card,
108
+ Er as Carousel,
109
+ Rr as CarouselCard,
110
+ S as Check,
111
+ T as CheckCircle,
112
+ Gr as Checkbox,
113
+ h as ChevronDown,
114
+ b as ChevronLeft,
115
+ w as ChevronRight,
116
+ F as ChevronUp,
117
+ Kr as Chip,
118
+ Vr as Collapsible,
119
+ qr as Combobox,
120
+ jr as Command,
121
+ Jr as CommandBar,
122
+ i as ComponentShowcase,
123
+ Zr as Container,
124
+ L as Copy,
125
+ D as CreditCard,
126
+ ro as DataTable,
127
+ eo as DetailPanel,
128
+ po as Divider,
129
+ M as DollarSign,
130
+ P as Download,
131
+ mo as Drawer,
132
+ xo as Dropdown,
133
+ k as Edit,
134
+ no as EmptyState,
135
+ lo as ErrorBoundary,
136
+ A as Eye,
137
+ B as EyeOff,
138
+ mr as FONT_PRECONNECT_URLS,
139
+ co as Field,
140
+ v as File,
141
+ y as FileText,
142
+ go as FileUploader,
143
+ To as FilterBar,
144
+ bo as FontLoader,
145
+ Fo as FormSection,
146
+ fr as GOOGLE_FONTS_URL,
147
+ O as Heart,
148
+ I as HelpCircle,
149
+ N as Home,
150
+ Do as Icon,
151
+ Po as IconGallery,
152
+ Ao as Icons,
153
+ E as Image,
154
+ U as Info,
155
+ vo as InputOTP,
156
+ Oo as KanbanBoard,
157
+ No as LandingPageExample,
158
+ Uo as Link,
159
+ _o as List,
160
+ R as LogIn,
161
+ _ as LogOut,
162
+ G as Mail,
163
+ H as Menu,
164
+ K as MessageSquare,
165
+ Ho as MetricCard,
166
+ Ko as MetricCards,
167
+ Q as Minus,
168
+ Vo as Modal,
169
+ V as Music,
170
+ qo as NavTree,
171
+ jo as Navbar,
172
+ Jo as NotificationCenter,
173
+ Zo as PageHeader,
174
+ re as Pagination,
175
+ X as Plus,
176
+ ee as Popover,
177
+ pe as ProgressBar,
178
+ me as QuickActions,
179
+ xe as Radio,
180
+ q as Search,
181
+ ne as SearchInput,
182
+ le as Section,
183
+ ue as Select,
184
+ W as Settings,
185
+ j as Share2,
186
+ z as ShoppingCart,
187
+ Ce as Sidebar,
188
+ Se as Skeleton,
189
+ he as Slider,
190
+ we as Spinner,
191
+ J as Star,
192
+ Le as Stepper,
193
+ Me as Switch,
194
+ ke as Table,
195
+ Be as Tabs,
196
+ ye as Textarea,
197
+ Ie as ThemeController,
198
+ Ee as ThemeProvider,
199
+ _e as ToastProvider,
200
+ Ke as Toggle,
201
+ Ve as ToggleGroup,
202
+ qe as Tooltip,
203
+ Y as Trash2,
204
+ Z as Upload,
205
+ $ as User,
206
+ je as UserMenu,
207
+ rr as Video,
208
+ Je as WorkspaceSwitcher,
209
+ or as X,
210
+ er as XCircle,
211
+ xr as areBrandFontsLoaded,
212
+ a as getBrand,
213
+ ir as getFontLinkTags,
214
+ nr as getMissingFonts,
215
+ m as getSemanticToken,
216
+ f as getToken,
217
+ sr as isFontLoaded,
218
+ e as primitives,
219
+ t as spacing,
220
+ Ze as useClickOutside,
221
+ $e as useClickOutsideMultiple,
222
+ ot as useCopy,
223
+ et as useCopyToClipboard,
224
+ pt as useDebounce,
225
+ at as useDebouncedCallback,
226
+ ft as useDisclosure,
227
+ it as useIsDesktop,
228
+ nt as useIsMobile,
229
+ st as useIsTablet,
230
+ Ct as useKeyboard,
231
+ gt as useKeyboardShortcuts,
232
+ Tt as useLocalStorage,
233
+ lt as useMediaQuery,
234
+ dt as usePrefersDarkMode,
235
+ ut as usePrefersReducedMotion,
236
+ ht as useSessionStorage,
237
+ wt as useTheme,
238
+ Ue as useThemeContext,
239
+ Ge as useToast,
240
+ lr as waitForFonts,
241
+ Lt as warnBrandProp,
242
+ Dt as warnFieldChildren,
243
+ Mt as warnGlassVariant,
244
+ Pt as warnHardcodedColors,
245
+ kt as warnMissingAriaLabel,
246
+ At as warnThemeProp,
247
+ Bt as warnUsePrebuiltSection
248
+ };
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),c=require("react"),y=require("lucide-react"),e=require("./Accordion.module.css.cjs"),A=({item:a,isExpanded:s,onToggle:i,variant:f,animated:r})=>{const t=c.useId(),u=c.useId(),h=[e.default.item,e.default[f],s&&e.default.expanded,a.disabled&&e.default.disabled].filter(Boolean).join(" "),x=[e.default.content,r&&e.default.animated,s&&e.default.contentExpanded].filter(Boolean).join(" ");return n.jsxs("div",{className:h,children:[n.jsxs("button",{id:u,type:"button",className:e.default.header,onClick:i,disabled:a.disabled,"aria-expanded":s,"aria-controls":t,children:[a.icon&&n.jsx("span",{className:e.default.icon,"aria-hidden":"true",children:a.icon}),n.jsx("span",{className:e.default.title,children:a.title}),n.jsx("span",{className:`${e.default.chevron} ${s?e.default.chevronExpanded:""}`,"aria-hidden":"true",children:n.jsx(y.ChevronDown,{size:20})})]}),n.jsx("div",{id:t,role:"region","aria-labelledby":u,className:x,hidden:!s,children:n.jsx("div",{className:e.default.contentInner,children:a.content})})]})},p=c.forwardRef(({items:a,variant:s="default",allowMultiple:i=!1,defaultExpanded:f=[],expanded:r,onChange:t,animated:u=!0,className:h,...x},b)=>{const[N,v]=c.useState(f),j=r!==void 0,l=j?r:N,m=c.useCallback(d=>{let o;l.includes(d)?o=l.filter(g=>g!==d):i?o=[...l,d]:o=[d],j||v(o),t?.(o)},[l,i,j,t]),C=[e.default.accordion,e.default[s],h].filter(Boolean).join(" ");return n.jsx("div",{ref:b,className:C,...x,children:a.map(d=>n.jsx(A,{item:d,isExpanded:l.includes(d.id),onToggle:()=>m(d.id),variant:s,animated:u},d.id))})});p.displayName="Accordion";exports.Accordion=p;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as s, jsxs as u } from "react/jsx-runtime";
2
3
  import { forwardRef as y, useState as I, useCallback as A, useId as b } from "react";
3
4
  import { ChevronDown as B } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),O=require("react"),s=require("lucide-react"),a=require("./AgentCard.module.css.cjs"),n=require("../Card/Card.cjs"),T=require("../Avatar/Avatar.cjs"),k=require("../Dropdown/Dropdown.cjs"),w=require("../Button/Button.cjs"),x=({id:i,avatar:d,title:l,description:C,timestamp:u,isMultiAgent:D=!1,onClick:c,onEdit:g,onDelete:f,availableFolders:o,onMoveToFolder:m,draggable:r=!1,isDragging:v=!1,className:N,...A})=>{const S=typeof d=="string",[h,j]=O.useState(v),q=[a.default.agentCard,c&&a.default.clickable,r&&a.default.draggable,h&&a.default.dragging,N].filter(Boolean).join(" "),y=()=>{c?.()},b=t=>{r&&(j(!0),t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",i),t.dataTransfer.setData("application/json",JSON.stringify({id:i,title:l})))},z=()=>{j(!1)},B=t=>{r&&(t.preventDefault(),t.dataTransfer.dropEffect="move")},p=[...g?[{id:"edit",label:"Edit",icon:e.jsx(s.Edit,{size:16}),onClick:g}]:[],...f?[{id:"delete",label:"Delete",icon:e.jsx(s.Trash2,{size:16}),danger:!0,onClick:f}]:[],...m&&o&&o.length>0?[{id:"_move-sep",label:"",separator:!0},...o.map(t=>({id:`move-to-${t.id}`,label:t.title,icon:e.jsx(s.Folder,{size:16}),onClick:()=>m(t.id)}))]:[]];return e.jsxs(n.Card,{variant:"base",interactive:!!c,className:q,onClick:y,draggable:r,onDragStart:b,onDragEnd:z,onDragOver:B,"data-agent-id":i,"data-dragging":h,...A,children:[e.jsx(n.Card.Header,{children:e.jsxs("div",{className:a.default.headerContent,children:[S?e.jsx(T.Avatar,{src:d,alt:l,size:"lg"}):e.jsx("div",{className:a.default.iconAvatar,children:d}),e.jsxs("div",{className:a.default.headerRight,children:[D&&e.jsx("span",{className:a.default.multiBadge,children:"Multi"}),p.length>0&&e.jsx(k.Dropdown,{trigger:e.jsx(w.Button,{variant:"ghost",iconOnly:!0,size:"sm",icon:e.jsx(s.MoreVertical,{size:20}),"aria-label":"Actions",onDragStart:t=>t.stopPropagation()}),items:p,placement:"bottom-end",minWidth:140})]})]})}),e.jsxs(n.Card.Body,{children:[e.jsx("h3",{className:a.default.title,children:l}),e.jsx("p",{className:a.default.description,children:C??""})]}),u&&e.jsx(n.Card.Footer,{children:e.jsx("time",{className:a.default.timestamp,children:u})})]})};x.displayName="AgentCard";exports.AgentCard=x;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
3
  import { useState as B } from "react";
3
4
  import { Edit as E, Trash2 as O, Folder as T, MoreVertical as w } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("react"),l=require("lucide-react"),s=require("./Alert.module.css.cjs"),b={success:e.jsx(l.CheckCircle,{size:20}),error:e.jsx(l.XCircle,{size:20}),warning:e.jsx(l.AlertTriangle,{size:20}),info:e.jsx(l.Info,{size:20}),inverse:e.jsx(l.Info,{size:20})},u=({variant:t="info",title:a,dismissible:d=!1,onClose:f,icon:i,className:n,children:o,...j})=>{const[m,x]=r.useState(!0),h=()=>{x(!1),f?.()},N=r.useMemo(()=>[s.default.alert,s.default[t],n].filter(Boolean).join(" "),[t,n]),c=r.useMemo(()=>i!==void 0?i:b[t],[i,t]);return m?e.jsxs("div",{className:N,role:"alert",...j,children:[c&&e.jsx("div",{className:s.default.icon,"aria-hidden":"true",children:c}),e.jsxs("div",{className:s.default.content,children:[a&&e.jsx("div",{className:s.default.title,children:a}),o&&e.jsx("div",{className:s.default.message,children:o})]}),d&&e.jsx("button",{type:"button",className:s.default.closeButton,onClick:h,"aria-label":"Close alert",children:e.jsx(l.X,{size:18,"aria-hidden":"true"})})]}):null};u.displayName="Alert";exports.Alert=u;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
3
  import { useState as z, useMemo as c } from "react";
3
4
  import { X as b, Info as d, AlertTriangle as v, XCircle as y, CheckCircle as A } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),n=require("react"),I=require("react-dom"),d=require("lucide-react"),o=require("./AlertDialog.module.css.cjs"),g=n.createContext(null);function m(){return n.useContext(g)}const b={info:l.jsx(d.Info,{size:24}),warning:l.jsx(d.AlertTriangle,{size:24}),danger:l.jsx(d.AlertCircle,{size:24})},r=({open:e,onClose:t,closeOnBackdrop:i=!1,closeOnEscape:a=!1,children:c,className:x})=>{const u=n.useId(),f=n.useId();if(n.useEffect(()=>{if(!e||!a)return;const s=p=>{p.key==="Escape"&&t()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,a,t]),n.useEffect(()=>(e?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[e]),!e)return null;const N=[o.default.dialog,x].filter(Boolean).join(" "),v=s=>{i&&s.target===s.currentTarget&&t()};return I.createPortal(l.jsx(g.Provider,{value:{titleId:u,descriptionId:f},children:l.jsx("div",{className:o.default.backdrop,onClick:v,role:"alertdialog","aria-modal":"true","aria-labelledby":u,"aria-describedby":f,children:l.jsx("div",{className:N,children:c})})}),document.body)},A=({variant:e="info",icon:t,className:i})=>{const a={info:o.default.iconInfo,warning:o.default.iconWarning,danger:o.default.iconDanger}[e],c=[o.default.icon,a,i].filter(Boolean).join(" ");return l.jsx("div",{className:c,"aria-hidden":"true",children:t||b[e]})},D=({className:e,children:t})=>{const i=m(),a=[o.default.title,e].filter(Boolean).join(" ");return l.jsx("h2",{id:i?.titleId,className:a,children:t})},y=({className:e,children:t})=>{const i=m(),a=[o.default.description,e].filter(Boolean).join(" ");return l.jsx("p",{id:i?.descriptionId,className:a,children:t})},j=({className:e,children:t})=>{const i=[o.default.actions,e].filter(Boolean).join(" ");return l.jsx("div",{className:i,children:t})};r.Icon=A;r.Title=D;r.Description=y;r.Actions=j;r.displayName="AlertDialog";A.displayName="AlertDialog.Icon";D.displayName="AlertDialog.Title";y.displayName="AlertDialog.Description";j.displayName="AlertDialog.Actions";exports.AlertDialog=r;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as o } from "react/jsx-runtime";
2
3
  import { useId as m, useEffect as f, createContext as h, useContext as x } from "react";
3
4
  import { createPortal as C } from "react-dom";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),N=require("react"),h=require("lucide-react"),a=require("./Avatar.module.css.cjs"),I={xs:"xs",sm:"sm",md:"md",lg:"lg",xl:"xl","2xl":"xxl","3xl":"xxxl","4xl":"xxxxl","5xl":"xxxxxl",profile:"profile"},x=({src:r,alt:d="",initials:n,icon:o,size:c="md",status:l,interactive:u=!1,className:m,...f})=>{const[j,g]=N.useState(!1),p=I[c]||c,v=[a.default.avatar,a.default[p],u&&a.default.interactive,m].filter(Boolean).join(" "),s=r&&!j,t=!s&&n,i=!s&&!t&&o;return e.jsxs("div",{className:v,...f,children:[s&&e.jsx("img",{src:r,alt:d,className:a.default.image,onError:()=>g(!0)}),t&&e.jsx("span",{className:a.default.initials,children:n}),i&&e.jsx("span",{className:a.default.icon,children:o}),!s&&!t&&!i&&e.jsx("span",{className:a.default.icon,children:e.jsx(h.User,{})}),l&&e.jsx("span",{className:`${a.default.statusIndicator} ${a.default[l]}`,"aria-label":`Status: ${l}`})]})};x.displayName="Avatar";exports.Avatar=x;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as v, jsx as a } from "react/jsx-runtime";
2
3
  import { useState as I } from "react";
3
4
  import { User as j } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),f=require("react"),B=require("lucide-react"),a=require("./Breadcrumb.module.css.cjs"),h=({items:l,separator:c="chevron",customSeparator:u,showHomeIcon:m=!1,maxItems:n,size:i="md",className:j,linkProps:p})=>{const t=f.useMemo(()=>{if(!n||l.length<=n)return l;const e=l[0],s=l.slice(-(n-1));return[...e?[e]:[],{label:"...",href:void 0},...s]},[l,n]),b=e=>{const s=[a.default.separator,c==="chevron"&&a.default.chevron,c==="slash"&&a.default.slash].filter(Boolean).join(" ");return c==="custom"&&u?r.jsx("span",{className:a.default.separator,"aria-hidden":"true",children:u},`sep-${e}`):r.jsx("span",{className:s,"aria-hidden":"true"},`sep-${e}`)},N=()=>{switch(i){case"sm":return 14;case"lg":return 18;default:return 16}},o=()=>m?r.jsx("span",{className:a.default.homeIcon,"aria-label":"Home",children:r.jsx(B.Home,{size:N()})}):null,g=(e,s)=>{const d=s===t.length-1;return e.label==="..."?r.jsx("li",{className:a.default.item,children:r.jsx("span",{className:a.default.ellipsis,"aria-label":"More items",children:"…"})},`ellipsis-${s}`):d||!e.href?r.jsx("li",{className:a.default.item,"aria-current":d?"page":void 0,children:r.jsxs("span",{className:a.default.current,children:[s===0&&o(),e.icon&&r.jsx("span",{className:a.default.icon,children:e.icon}),e.label]})},s):r.jsx("li",{className:a.default.item,children:r.jsxs("a",{href:e.href,className:a.default.link,...p,children:[s===0&&o(),e.icon&&r.jsx("span",{className:a.default.icon,children:e.icon}),e.label]})},s)},v=[a.default.breadcrumb,a.default[i],j].filter(Boolean).join(" ");return r.jsx("nav",{"aria-label":"Breadcrumb",children:r.jsx("ol",{className:v,children:t.map((e,s)=>r.jsxs(f.Fragment,{children:[g(e,s),s<t.length-1&&b(s)]},s))})})};h.displayName="Breadcrumb";exports.Breadcrumb=h;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
3
  import p from "react";
3
4
  import { Home as j } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),u=require("react"),n=require("date-fns"),x=require("lucide-react"),a=require("./Calendar.module.css.cjs"),O=require("../Button/Button.cjs"),R=["Su","Mo","Tu","We","Th","Fr","Sa"];function _(t,r){const c=t.length,d=(r%c+c)%c;return[...t.slice(d),...t.slice(0,d)]}const C=t=>{const{mode:r="single",min:c,max:d,disabled:m,weekStartsOn:h=0,showOutsideDays:j=!0,className:v,...k}=t,{selected:W,onSelect:F,...E}=k,[f,S]=u.useState(()=>r==="single"&&t.mode!=="range"&&t.mode!=="multiple"&&t.selected?n.startOfMonth(t.selected):r==="range"&&t.mode==="range"&&t.selected?.from?n.startOfMonth(t.selected.from):n.startOfMonth(new Date)),N=u.useMemo(()=>{const e=n.startOfMonth(f),s=n.endOfMonth(f),l=n.startOfWeek(e,{weekStartsOn:h}),o=n.endOfWeek(s,{weekStartsOn:h});return n.eachDayOfInterval({start:l,end:o})},[f,h]),B=u.useMemo(()=>_(R,h),[h]),g=u.useCallback(e=>c&&n.isBefore(e,z(c))||d&&n.isAfter(e,P(d))?!0:m?Array.isArray(m)?m.some(s=>n.isSameDay(s,e)):m(e):!1,[c,d,m]),y=u.useCallback(e=>r==="single"&&t.mode!=="range"&&t.mode!=="multiple"?t.selected?n.isSameDay(t.selected,e):!1:r==="multiple"&&t.mode==="multiple"?t.selected?.some(s=>n.isSameDay(s,e))??!1:!1,[r,t]),M=u.useCallback(e=>{if(r!=="range"||t.mode!=="range"||!t.selected)return null;const{from:s,to:l}=t.selected;return s?l?n.isSameDay(e,s)&&n.isSameDay(e,l)||n.isSameDay(e,s)?"start":n.isSameDay(e,l)?"end":n.isAfter(e,s)&&n.isBefore(e,l)?"middle":null:n.isSameDay(e,s)?"start":null:null},[r,t]),w=u.useCallback(e=>{if(!g(e)){if(r==="single"&&t.mode!=="range"&&t.mode!=="multiple"){const s=t.onSelect;s?.(e)}else if(r==="range"&&t.mode==="range"){const s=t.onSelect,l=t.selected;!l?.from||l.from&&l.to?s?.({from:e,to:void 0}):n.isBefore(e,l.from)?s?.({from:e,to:l.from}):s?.({from:l.from,to:e})}else if(r==="multiple"&&t.mode==="multiple"){const s=t.onSelect,l=t.selected??[],o=l.findIndex(D=>n.isSameDay(D,e));o>=0?s?.(l.filter((D,L)=>L!==o)):s?.([...l,e])}}},[r,t,g]),A=()=>S(e=>n.subMonths(e,1)),I=()=>S(e=>n.addMonths(e,1)),T=e=>{const s=[a.default.day];if(!n.isSameMonth(e,f)&&s.push(a.default.outside),n.isToday(e)&&s.push(a.default.today),g(e)&&s.push(a.default.disabled),r==="range"){const o=M(e);o==="start"&&(s.push(a.default.rangeStart),t.mode==="range"&&t.selected?.from&&t.selected?.to&&n.isSameDay(t.selected.from,t.selected.to)&&s.push(a.default.rangeEnd)),o==="middle"&&s.push(a.default.rangeMiddle),o==="end"&&s.push(a.default.rangeEnd)}else y(e)&&s.push(a.default.selected);return s.join(" ")},q=[a.default.calendar,v].filter(Boolean).join(" "),b=u.useId();return i.jsxs("div",{className:q,...E,children:[i.jsxs("div",{className:a.default.header,children:[i.jsx(O.Button,{variant:"ghost",iconOnly:!0,size:"sm",icon:i.jsx(x.ChevronLeft,{size:16}),onClick:A,"aria-label":"Previous month"}),i.jsx("span",{id:b,className:a.default.monthLabel,children:n.format(f,"MMMM yyyy")}),i.jsx(O.Button,{variant:"ghost",iconOnly:!0,size:"sm",icon:i.jsx(x.ChevronRight,{size:16}),onClick:I,"aria-label":"Next month"})]}),i.jsxs("div",{className:a.default.grid,role:"grid","aria-labelledby":b,children:[B.map(e=>i.jsx("div",{className:a.default.weekday,role:"columnheader","aria-label":e,children:e},e)),N.map(e=>!n.isSameMonth(e,f)&&!j?i.jsx("div",{},e.toISOString()):i.jsx("button",{type:"button",className:T(e),onClick:()=>w(e),disabled:g(e),tabIndex:n.isToday(e)?0:-1,"aria-label":n.format(e,"EEEE, MMMM d, yyyy"),"aria-selected":y(e)||M(e)!==null,children:n.format(e,"d")},e.toISOString()))]})]})};C.displayName="Calendar";function z(t){const r=new Date(t);return r.setHours(0,0,0,0),r}function P(t){const r=new Date(t);return r.setHours(23,59,59,999),r}exports.Calendar=C;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as M, jsx as c } from "react/jsx-runtime";
2
3
  import { useState as K, useMemo as N, useCallback as g, useId as Y } from "react";
3
4
  import { startOfMonth as S, endOfMonth as q, startOfWeek as G, endOfWeek as J, eachDayOfInterval as Q, isBefore as y, isAfter as k, isSameDay as i, format as b, isSameMonth as x, isToday as w, subMonths as U, addMonths as V } from "date-fns";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("react"),tt=require("./CarouselCard.cjs"),q=require("lucide-react"),p=require("../../tokens/primitives.cjs"),r=require("./Carousel.module.css.cjs"),et=parseInt(p.spacing[6],10),rt=parseInt(p.spacing[4],10),st=parseInt(p.spacing[6],10),lt=parseInt(p.spacing[8],10),T=l.forwardRef(({items:n,variant:_="editorial",aspectRatio:B="16/9",peek:D=!0,autoScroll:R=!1,autoScrollInterval:j=5e3,gap:i="md",align:I="edge",alignOffset:S,showNavigation:$=!0,showPagination:w=!1,onSlideChange:W,renderNavigation:N,highlightActive:y=!1,loop:x=!1,className:z,...H},F)=>{const s=l.useRef(null),[K,J]=l.useState(!1),[Q,U]=l.useState(!0),[f,V]=l.useState(0),M=l.useRef(0),u=l.useCallback(()=>i==="sm"?rt:i==="lg"?lt:st,[i]),d=l.useCallback(t=>{const e=t.children[0];return e?e.offsetWidth:0},[]),v=l.useCallback(()=>{if(!s.current)return;const{scrollLeft:t,scrollWidth:e,clientWidth:c}=s.current,h=d(s.current),g=u(),b=t>=e-c-1,m=t<=1;J(!m),U(!b);let o;if(b)o=n.length-1;else{const L=Math.round(t/(h+g));o=Math.min(Math.max(0,L),n.length-1)}o!==M.current&&(M.current=o,V(o),W?.(o))},[i,n.length,W,u,d]),C=l.useCallback(t=>{if(!s.current)return;const{scrollLeft:e,scrollWidth:c,clientWidth:h}=s.current,g=d(s.current),b=u(),m=g+b,o=e<=1,L=e>=c-h-1;if(x){if(t==="right"&&L){s.current.scrollTo({left:0,behavior:"smooth"});return}if(t==="left"&&o){s.current.scrollTo({left:c-h,behavior:"smooth"});return}}s.current.scrollBy({left:t==="left"?-m:m,behavior:"smooth"})},[i,x,u,d]),k=l.useCallback(t=>{if(!s.current)return;const e=d(s.current),c=u();s.current.scrollTo({left:t*(e+c),behavior:"smooth"})},[u,d]);l.useEffect(()=>{const t=s.current;if(t)return v(),t.addEventListener("scroll",v),()=>{t.removeEventListener("scroll",v)}},[v]),l.useEffect(()=>{if(!R||n.length<=1)return;const t=setInterval(()=>{const e=(f+1)%n.length;k(e)},j);return()=>clearInterval(t)},[R,j,f,n.length,k]);const P=I==="container"&&S!==void 0,E=P?Math.max(0,S-et):0,X=i==="sm"?r.default.gapSm:i==="lg"?r.default.gapLg:r.default.gapMd,Y=I==="container"?r.default.trackContainer:r.default.trackEdge,Z=[r.default.carousel,D&&r.default.peek,y&&r.default.highlightActive,X,z].filter(Boolean).join(" "),O=[r.default.track,Y].filter(Boolean).join(" "),G=x&&n.length>1,A={canScrollLeft:G||K,canScrollRight:G||Q,scrollLeft:()=>C("left"),scrollRight:()=>C("right"),activeIndex:f,totalItems:n.length};return a.jsxs("div",{ref:F,className:Z,...H,children:[a.jsx("div",{ref:s,className:O,style:P?{scrollPaddingInlineStart:S}:void 0,role:"region","aria-label":"Carousel",children:n.map((t,e)=>{const c=e===0,g=e===f&&y;return a.jsx(tt.CarouselCard,{item:t,aspectRatio:B,variant:_,className:g?r.default.cardHighlighted:void 0,style:c&&E>0?{marginLeft:E}:void 0},t.title||e)})}),$&&n.length>1&&(N?N(A):a.jsxs("div",{className:r.default.navigation,children:[a.jsx("button",{type:"button",className:r.default.navButton,onClick:()=>C("left"),disabled:!A.canScrollLeft,"aria-label":"Previous",children:a.jsx(q.ChevronLeft,{size:24})}),a.jsx("button",{type:"button",className:r.default.navButton,onClick:()=>C("right"),disabled:!A.canScrollRight,"aria-label":"Next",children:a.jsx(q.ChevronRight,{size:24})})]})),w&&n.length>1&&a.jsx("div",{className:r.default.pagination,children:n.map((t,e)=>a.jsx("button",{type:"button",className:`${r.default.dot} ${e===f?r.default.dotActive:""}`,onClick:()=>k(e),"aria-label":`Go to slide ${e+1}`},e))})]})});T.displayName="Carousel";exports.Carousel=T;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as _, jsx as c } from "react/jsx-runtime";
2
3
  import { forwardRef as et, useRef as j, useState as k, useCallback as f, useEffect as D } from "react";
3
4
  import { CarouselCard as nt } from "./CarouselCard.mjs";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),h=require("react"),p=require("recharts"),R=require("./useResolvedChartColors.cjs"),t=require("./Chart.module.css.cjs"),f=h.createContext({}),j=({config:s,children:o,className:a,style:n,...l})=>{const{resolvedConfig:r,resolvedColorVars:i}=R.useResolvedChartColors(s),d=[t.default.container,a].filter(Boolean).join(" ");return e.jsx(f.Provider,{value:r,children:e.jsx("div",{role:"figure",className:d,style:{...i,...n},...l,children:e.jsx(p.ResponsiveContainer,{width:"100%",height:"100%",children:o})})})};j.displayName="ChartContainer";const v=({active:s,payload:o,label:a,indicator:n="dot",hideLabel:l=!1,hideIndicator:r=!1,labelFormatter:i,formatter:d,className:u})=>{const L=h.useContext(f);if(!s||!o?.length)return null;const b=[t.default.tooltip,u].filter(Boolean).join(" "),g=i?i(String(a)):a,T={dot:t.default.tooltipDot,line:t.default.tooltipLine,dashed:t.default.tooltipDashed}[n];return e.jsxs("div",{className:b,children:[!l&&g&&e.jsx("div",{className:t.default.tooltipLabel,children:g}),e.jsx("div",{className:t.default.tooltipItems,children:o.map(c=>{const C=String(c.dataKey||c.name),m=L[C],q=m?.label||C,I=d?d(c.value,C):String(c.value),x=c.color||m?.color;return e.jsxs("div",{className:t.default.tooltipItem,children:[!r&&e.jsx("span",{className:T,style:{backgroundColor:x,borderColor:x}}),e.jsx("span",{className:t.default.tooltipName,children:q}),e.jsx("span",{className:t.default.tooltipValue,children:I})]},C)})})]})};v.displayName="ChartTooltipContent";const N=({payload:s,className:o})=>{const a=h.useContext(f);if(!s?.length)return null;const n=[t.default.legend,o].filter(Boolean).join(" ");return e.jsx("div",{className:n,children:s.map(l=>{const r=l.dataKey||l.value,i=a[r],d=i?.label||r,u=l.color||i?.color;return e.jsxs("div",{className:t.default.legendItem,children:[e.jsx("span",{className:t.default.legendDot,style:{backgroundColor:u}}),e.jsx("span",{children:d})]},r)})})};N.displayName="ChartLegendContent";const y=({id:s,color:o,startOpacity:a=.4,endOpacity:n=.05})=>e.jsxs("linearGradient",{id:s,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:o,stopOpacity:a}),e.jsx("stop",{offset:"95%",stopColor:o,stopOpacity:n})]});y.displayName="ChartGradient";const S=p.Tooltip,G=p.Legend;exports.ChartContainer=j;exports.ChartGradient=y;exports.ChartLegend=G;exports.ChartLegendContent=N;exports.ChartTooltip=S;exports.ChartTooltipContent=v;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as t, jsxs as C } from "react/jsx-runtime";
2
3
  import { useContext as v, createContext as j } from "react";
3
4
  import { Legend as I, Tooltip as K, ResponsiveContainer as T } from "recharts";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),P=require("lucide-react"),m=require("../utils.cjs"),l=require("../Chat.module.css.cjs"),p=({src:k,duration:T,title:h,className:b,...x})=>{const[o,f]=r.useState(!1),[s,d]=r.useState(0),[a,g]=r.useState(T||0),n=r.useRef(null),j=r.useCallback(()=>{const e=n.current;e&&!isNaN(e.duration)&&isFinite(e.duration)&&g(e.duration)},[]),v=r.useCallback(()=>{const e=n.current;e&&d(e.currentTime)},[]),C=r.useCallback(()=>{f(!1),d(0)},[]),w=r.useCallback(()=>{const e=n.current;e&&(o?e.pause():e.play().catch(()=>{f(!1)}),f(!o))},[o]),N=r.useCallback(e=>{const c=n.current;if(!c||!a)return;const u=e.currentTarget.getBoundingClientRect(),y=(e.clientX-u.left)/u.width*a;c.currentTime=y,d(y)},[a]),A=r.useCallback(e=>{const c=n.current;if(!c||!a)return;const u=5;let i=s;switch(e.key){case"ArrowRight":case"ArrowUp":e.preventDefault(),i=Math.min(s+u,a);break;case"ArrowLeft":case"ArrowDown":e.preventDefault(),i=Math.max(s-u,0);break;case"Home":e.preventDefault(),i=0;break;case"End":e.preventDefault(),i=a;break;default:return}c.currentTime=i,d(i)},[s,a]),D=a>0?s/a*100:0;return r.useEffect(()=>()=>{const e=n.current;e&&e.pause()},[]),t.jsxs("div",{className:[l.default.audioPlayer,b].filter(Boolean).join(" "),...x,children:[t.jsx("audio",{ref:n,src:k,onLoadedMetadata:j,onTimeUpdate:v,onEnded:C,preload:"metadata"}),t.jsx("button",{className:l.default.audioPlayerButton,onClick:w,"aria-label":o?"Pause":"Play",children:o?t.jsx(P.Pause,{size:16}):t.jsx(P.Play,{size:16})}),t.jsxs("div",{className:l.default.audioPlayerProgress,children:[h&&t.jsx("span",{className:l.default.attachmentPreviewName,children:h}),t.jsx("div",{className:l.default.audioPlayerTrack,onClick:N,onKeyDown:A,role:"slider","aria-label":"Audio progress","aria-valuemin":0,"aria-valuemax":a,"aria-valuenow":s,"aria-valuetext":`${m.formatTime(s)} of ${m.formatTime(a)}`,tabIndex:0,children:t.jsx("div",{className:l.default.audioPlayerFill,style:{width:`${D}%`}})}),t.jsxs("div",{className:l.default.audioPlayerTime,children:[t.jsx("span",{children:m.formatTime(s)}),t.jsx("span",{children:m.formatTime(a)})]})]})]})};p.displayName="ChatAudioPlayer";exports.ChatAudioPlayer=p;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as p, jsx as r } from "react/jsx-runtime";
2
3
  import { useState as h, useRef as M, useCallback as s, useEffect as R } from "react";
3
4
  import { Pause as j, Play as B } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),f=require("react-syntax-highlighter"),d=require("react-syntax-highlighter/dist/esm/styles/prism"),u=require("lucide-react"),o=require("../Chat.module.css.cjs"),k=require("../../../contexts/ThemeContext.cjs"),b=t=>t?{js:"javascript",ts:"typescript",jsx:"jsx",tsx:"tsx",py:"python",rb:"ruby",sh:"bash",shell:"bash",yml:"yaml",md:"markdown"}[t.toLowerCase()]||t.toLowerCase():"text",h=({code:t,language:s,showLineNumbers:m=!1,showCopyButton:p=!0,maxHeight:y="400px",className:C,...x})=>{const[a,r]=n.useState(!1);let c="dark";try{c=k.useThemeContext().theme}catch{}const g=n.useCallback(async()=>{try{await navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),2e3)}catch(l){console.error("Failed to copy code:",l)}},[t]),i=b(s),j=c==="light"?d.oneLight:d.oneDark;return e.jsxs("div",{className:[o.default.codeBlock,C].filter(Boolean).join(" "),...x,children:[e.jsxs("div",{className:o.default.codeBlockHeader,children:[e.jsx("span",{className:o.default.codeBlockLanguage,children:i}),p&&e.jsx("button",{className:[o.default.codeBlockCopy,a&&o.default.codeBlockCopied].filter(Boolean).join(" "),onClick:g,"aria-label":a?"Copied!":"Copy code",children:a?e.jsxs(e.Fragment,{children:[e.jsx(u.Check,{size:14}),"Copied!"]}):e.jsxs(e.Fragment,{children:[e.jsx(u.Copy,{size:14}),"Copy"]})})]}),e.jsx("div",{className:o.default.codeBlockContent,style:{maxHeight:y},children:e.jsx(f.Prism,{language:i,style:j,showLineNumbers:m,customStyle:{margin:0,padding:0,background:"transparent",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"var(--font-mono)"}},children:t})})]})};h.displayName="ChatCodeBlock";exports.ChatCodeBlock=h;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as r, jsx as o, Fragment as d } from "react/jsx-runtime";
2
3
  import { useState as g, useCallback as k } from "react";
3
4
  import { Prism as x } from "react-syntax-highlighter";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),t=require("react"),R=require("lucide-react"),h=require("../utils.cjs"),o=require("../Chat.module.css.cjs"),g=({onFilesSelected:f,accept:i=["*/*"],multiple:C=!0,maxSize:s=10*1024*1024,children:v,className:D,...k})=>{const[m,u]=t.useState(!1),c=t.useRef(null),d=t.useCallback(e=>{if(!e||e.length===0)return;const r=[];Array.from(e).forEach(l=>{if(s&&l.size>s){console.warn(`File ${l.name} exceeds max size of ${h.formatFileSize(s)}`);return}const F=i.includes("*/*"),q=i.flatMap(n=>(n.endsWith("/*"),n));if(!(F||q.some(n=>{if(n.endsWith("/*")){const N=n.split("/")[0];return l.type.startsWith(`${N}/`)}return l.type===n||l.name.endsWith(n)}))){console.warn(`File ${l.name} type not accepted`);return}r.push(l)}),r.length>0&&f?.(r)},[i,s,f]),b=t.useCallback(e=>{e.preventDefault(),e.stopPropagation(),u(!0)},[]),j=t.useCallback(e=>{e.preventDefault(),e.stopPropagation(),u(!1)},[]),y=t.useCallback(e=>{e.preventDefault(),e.stopPropagation(),u(!1);const{files:r}=e.dataTransfer;d(r)},[d]),x=t.useCallback(e=>{d(e.target.files),c.current&&(c.current.value="")},[d]),p=t.useCallback(()=>{c.current?.click()},[]),U=t.useCallback(e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),p())},[p]);return a.jsxs("div",{className:[o.default.fileUpload,m&&o.default.fileUploadDragging,D].filter(Boolean).join(" "),onDragOver:b,onDragLeave:j,onDrop:y,onClick:p,onKeyDown:U,role:"button",tabIndex:0,"aria-label":"Upload files",...k,children:[a.jsx("input",{ref:c,type:"file",accept:i.join(","),multiple:C,onChange:x,style:{display:"none"},"aria-hidden":"true"}),v||a.jsxs(a.Fragment,{children:[a.jsx("div",{className:o.default.fileUploadIcon,children:a.jsx(R.Upload,{size:32})}),a.jsxs("div",{className:o.default.fileUploadText,children:[a.jsx("strong",{children:"Click to upload"})," or drag and drop"]}),a.jsxs("div",{className:o.default.fileUploadHint,children:["Max file size: ",h.formatFileSize(s)]})]})]})};g.displayName="ChatFileUpload";exports.ChatFileUpload=g;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as d, jsx as p, Fragment as A } from "react/jsx-runtime";
2
3
  import { useState as I, useRef as W, useCallback as a } from "react";
3
4
  import { Upload as $ } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),I=require("lucide-react"),a=require("../Chat.module.css.cjs"),w=require("./ChatLightbox.cjs"),u=({src:i,alt:t="Image attachment",thumbnail:g,onClick:n,enableLightbox:s=!0,className:o,...l})=>{const[h,c]=d.useState(!1),[f,v]=d.useState(!1),m=()=>{n?n():s&&c(!0)},x=r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),m())},j=()=>{v(!0)};return f?e.jsxs("div",{className:[a.default.imagePreview,a.default.attachmentPreview,o].filter(Boolean).join(" "),...l,children:[e.jsx("div",{className:a.default.attachmentPreviewIcon,children:e.jsx(I.ImageOff,{size:20})}),e.jsx("span",{className:a.default.attachmentPreviewName,children:"Image failed to load"})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:[a.default.imagePreview,o].filter(Boolean).join(" "),onClick:m,onKeyDown:x,role:"button",tabIndex:0,"aria-label":t,...l,children:e.jsx("img",{src:g||i,alt:t,className:a.default.imagePreviewImg,onError:j,loading:"lazy"})}),s&&e.jsx(w.ChatLightbox,{src:i,alt:t,isOpen:h,onClose:()=>c(!1)})]})};u.displayName="ChatImagePreview";exports.ChatImagePreview=u;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as f, jsx as e, Fragment as u } from "react/jsx-runtime";
2
3
  import { useState as g } from "react";
3
4
  import { ImageOff as P } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),o=require("lucide-react"),_=require("../hooks/useChatInput.cjs"),$=require("./ChatVoiceRecorder.cjs"),E=require("../utils.cjs"),a=require("../Chat.module.css.cjs"),X=m=>m.type.startsWith("image/")?e.jsx(o.Image,{size:14}):e.jsx(o.File,{size:14}),y=l.forwardRef(({onSend:m,placeholder:R="Type a message...",allowAttachments:N=!0,allowVoiceRecording:S=!0,allowAudioUpload:G=!0,disabled:i=!1,maxLength:f,acceptedFileTypes:k=["image/*","audio/*",".pdf",".doc",".docx",".txt"],isLoading:s=!1,pendingAttachments:z,onRemoveAttachment:I,className:q,...w},r)=>{const[j,h]=l.useState(!1),u=l.useRef(null),{value:x,setValue:B,attachments:D,addAttachments:c,removeAttachment:F,handleSubmit:g,handleKeyDown:V,textareaRef:C,isEmpty:P}=_.useChatInput({maxLength:f,onSend:m,disabled:i||s}),d=z||D,M=I||F,T=l.useCallback(t=>{C.current=t,typeof r=="function"?r(t):r&&(r.current=t)},[r,C]),W=l.useCallback(t=>{const n=t.target.files;n&&n.length>0&&c(Array.from(n)),u.current&&(u.current.value="")},[c]),K=l.useCallback(t=>{const n=t.clipboardData.items,p=[];for(const v of n)if(v.type.startsWith("image/")){const A=v.getAsFile();A&&p.push(A)}p.length>0&&(t.preventDefault(),c(p))},[c]),O=l.useCallback(t=>{const n=Object.assign(t,{name:`voice-${Date.now()}.webm`,lastModified:Date.now()});c([n]),h(!1)},[c]),U=l.useCallback(()=>{i||s||g()},[i,s,g]),b=!P||d.length>0;return e.jsx("div",{className:[a.default.inputContainer,q].filter(Boolean).join(" "),children:e.jsxs("div",{className:a.default.inputWrapper,children:[d.length>0&&e.jsx("div",{className:a.default.pendingAttachments,children:d.map((t,n)=>e.jsxs("div",{className:a.default.pendingAttachment,children:[X(t),e.jsx("span",{children:t.name}),e.jsxs("span",{className:a.default.pendingAttachmentSize,children:["(",E.formatFileSize(t.size),")"]}),e.jsx("button",{className:a.default.pendingAttachmentRemove,onClick:()=>M(n),"aria-label":`Remove ${t.name}`,children:e.jsx(o.X,{size:14})})]},n))}),j&&e.jsx($.ChatVoiceRecorder,{onRecordingComplete:O,onCancel:()=>h(!1)}),!j&&e.jsxs("div",{className:a.default.inputBox,children:[N&&e.jsxs("div",{className:a.default.inputActions,children:[e.jsx("input",{ref:u,type:"file",accept:k.join(","),multiple:!0,onChange:W,style:{display:"none"},"aria-hidden":"true"}),e.jsx("button",{className:a.default.inputButton,onClick:()=>u.current?.click(),disabled:i||s,"aria-label":"Attach file",title:"Attach file",children:e.jsx(o.Paperclip,{size:20})})]}),e.jsx("textarea",{ref:T,className:a.default.inputTextarea,value:x,onChange:t=>B(t.target.value),onKeyDown:V,onPaste:K,placeholder:R,disabled:i||s,maxLength:f,rows:1,"aria-label":"Message input",...w}),e.jsxs("div",{className:a.default.inputActions,children:[S&&!x&&d.length===0&&e.jsx("button",{className:a.default.inputButton,onClick:()=>h(!0),disabled:i||s,"aria-label":"Record voice message",title:"Record voice message",children:e.jsx(o.Mic,{size:20})}),e.jsx("button",{className:[a.default.inputButton,b&&a.default.inputButtonPrimary].filter(Boolean).join(" "),onClick:U,disabled:i||s||!b,"aria-label":"Send message",title:"Send message",children:s?e.jsx("span",{className:a.default.inputSpinner}):e.jsx(o.Send,{size:20})})]})]})]})})});y.displayName="ChatInput";exports.ChatInput=y;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
3
  import { forwardRef as E, useState as O, useRef as X, useCallback as r } from "react";
3
4
  import { X as _, Paperclip as q, Mic as G, Send as H, Image as J, File as Q } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),n=require("react"),b=require("lucide-react"),i=require("../Chat.module.css.cjs"),l=({src:s,alt:d="Image",isOpen:a,onClose:t,className:f,...m})=>{const u=n.useRef(null),r=n.useRef(null),c=n.useCallback(e=>{if(e.key==="Escape"){t();return}e.key==="Tab"&&(e.preventDefault(),u.current?.focus())},[t]),g=e=>{e.target===e.currentTarget&&t()};return n.useEffect(()=>(a&&(r.current=document.activeElement,document.addEventListener("keydown",c),document.body.style.overflow="hidden",requestAnimationFrame(()=>{u.current?.focus()})),()=>{document.removeEventListener("keydown",c),document.body.style.overflow="",r.current&&typeof r.current.focus=="function"&&r.current.focus()}),[a,c]),a?o.jsxs("div",{className:[i.default.lightbox,f].filter(Boolean).join(" "),onClick:g,role:"dialog","aria-modal":"true","aria-label":"Image viewer",...m,children:[o.jsx("button",{ref:u,className:i.default.lightboxClose,onClick:t,"aria-label":"Close image viewer",children:o.jsx(b.X,{size:24})}),o.jsx("img",{src:s,alt:d,className:i.default.lightboxImage})]}):null};l.displayName="ChatLightbox";exports.ChatLightbox=l;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as g, jsx as i } from "react/jsx-runtime";
2
3
  import { useRef as c, useCallback as b, useEffect as h } from "react";
3
4
  import { X as y } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),d=require("react-markdown"),u=require("remark-gfm"),m=require("./ChatCodeBlock.cjs"),g=require("../Chat.module.css.cjs"),o=({content:s,className:c,...i})=>r.jsx("div",{className:[g.default.markdown,c].filter(Boolean).join(" "),...i,children:r.jsx(d,{remarkPlugins:[u],components:{code({className:e,children:t,...a}){const n=/language-(\w+)/.exec(e||"");if(!n)return r.jsx("code",{className:e,...a,children:t});const l=String(t).replace(/\n$/,"");return r.jsx(m.ChatCodeBlock,{code:l,language:n[1]})},pre({children:e}){return r.jsx(r.Fragment,{children:e})},a({href:e,children:t,...a}){const n=e?.startsWith("http");return r.jsx("a",{href:e,target:n?"_blank":void 0,rel:n?"noopener noreferrer":void 0,...a,children:t})}},children:s})});o.displayName="ChatMarkdown";exports.ChatMarkdown=o;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMarkdown.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyDpD,CAAC"}
1
+ {"version":3,"file":"ChatMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMarkdown.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyDpD,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as e, Fragment as c } from "react/jsx-runtime";
2
3
  import l from "react-markdown";
3
4
  import d from "remark-gfm";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),g=require("react"),f=require("lucide-react"),h=require("../hooks/useAutoScroll.cjs"),t=require("../Chat.module.css.cjs"),j=require("../../Button/Button.cjs"),a=g.forwardRef(({children:l,autoScroll:r=!0,className:i,...n},s)=>{const{scrollRef:c,isAtBottom:u,scrollToBottom:m}=h.useAutoScroll({enabled:r}),d=o=>{c.current=o,typeof s=="function"?s(o):s&&(s.current=o)};return e.jsxs("div",{ref:d,className:[t.default.messages,i].filter(Boolean).join(" "),role:"log","aria-live":"polite","aria-label":"Chat messages","aria-relevant":"additions",...n,children:[e.jsx("div",{className:t.default.messagesInner,children:l}),!u&&e.jsx("div",{className:t.default.scrollToBottomWrapper,children:e.jsx(j.Button,{variant:"secondary",size:"sm",iconOnly:!0,icon:e.jsx(f.ArrowDown,{size:18}),onClick:m,"aria-label":"Scroll to latest messages",className:t.default.scrollToBottomButton})})]})});a.displayName="ChatMessages";exports.ChatMessages=a;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMessages.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,YAAY,0FAiDxB,CAAC"}
1
+ {"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMessages.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,YAAY,0FAiDxB,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as p, jsx as s } from "react/jsx-runtime";
2
3
  import { forwardRef as f } from "react";
3
4
  import { ArrowDown as u } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),c=require("lucide-react"),t=require("../Chat.module.css.cjs"),O={today:"Today",yesterday:"Yesterday",previous7:"Previous 7 days",previous30:"Previous 30 days",older:"Older"},y=["today","yesterday","previous7","previous30","older"],C=a=>{const r=new Date,u=(new Date(r.getFullYear(),r.getMonth(),r.getDate()).getTime()-new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime())/(1e3*60*60*24);return u<1?"today":u<2?"yesterday":u<7?"previous7":u<30?"previous30":"older"},P=a=>{const r=C(a);return r==="today"?new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit"}).format(a):r==="yesterday"?"Yesterday":r==="previous7"?new Intl.DateTimeFormat("en-US",{weekday:"short"}).format(a):new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)},z=a=>{const r=new Map;return y.forEach(n=>r.set(n,[])),a.forEach(n=>{const b=C(n.updatedAt);r.get(b)?.push(n)}),r},S=({conversations:a=[],activeConversationId:r,onSelectConversation:n,onNewConversation:b,onDeleteConversation:u,onSearch:x,header:w,footer:N,collapsed:m=!1,onCollapsedChange:f,className:I,...D})=>{const[h,T]=d.useState(""),[p,j]=d.useState(null),o=d.useRef(void 0);d.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const g=d.useMemo(()=>{if(!h.trim())return a;const s=h.toLowerCase();return a.filter(l=>l.title.toLowerCase().includes(s)||l.preview?.toLowerCase().includes(s))},[a,h]),v=d.useMemo(()=>z(g),[g]),B=d.useCallback(s=>{const l=s.target.value;T(l),x?.(l)},[x]),k=d.useCallback(s=>{n?.(s),m&&f&&f(!0)},[n,m,f]),F=d.useCallback((s,l)=>{s.stopPropagation(),p===l?(u?.(l),j(null),o.current&&clearTimeout(o.current)):(j(l),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(null)},3e3))},[p,u]),M=y.some(s=>(v.get(s)?.length??0)>0);return e.jsxs(e.Fragment,{children:[!m&&e.jsx("div",{className:t.default.sidebarOverlay,onClick:()=>f?.(!0),"aria-hidden":"true"}),e.jsxs("aside",{className:[t.default.sidebar,m&&t.default.sidebarCollapsed,!m&&t.default.sidebarOpen,I].filter(Boolean).join(" "),...D,children:[e.jsx("div",{className:t.default.sidebarHeader,children:w||e.jsxs(e.Fragment,{children:[e.jsx("button",{className:[t.default.inputButton,t.default.inputButtonPrimary,t.default.sidebarNewButton].filter(Boolean).join(" "),onClick:b,"aria-label":"New conversation",children:e.jsxs("span",{className:t.default.sidebarNewButtonInner,children:[e.jsx(c.Plus,{size:18}),e.jsx("span",{children:"New Chat"})]})}),e.jsx("button",{className:[t.default.inputButton,t.default.sidebarCloseButton].join(" "),onClick:()=>f?.(!0),"aria-label":"Close sidebar",children:e.jsx(c.X,{size:20})})]})}),e.jsx("div",{className:t.default.sidebarSearch,children:e.jsxs("div",{className:t.default.sidebarSearchWrapper,children:[e.jsx(c.Search,{size:16,className:t.default.sidebarSearchIcon}),e.jsx("input",{type:"search",className:[t.default.sidebarSearchInput,t.default.sidebarSearchInputWithIcon].join(" "),placeholder:"Search conversations...",value:h,onChange:B,"aria-label":"Search conversations"})]})}),e.jsx("div",{className:t.default.sidebarList,role:"list","aria-label":"Conversations",children:M?y.map(s=>{const l=v.get(s)??[];return l.length===0?null:e.jsxs("div",{children:[e.jsx("div",{className:t.default.sidebarGroupHeader,children:O[s]}),l.map(i=>e.jsxs("button",{className:[t.default.sidebarItem,i.id===r&&t.default.sidebarItemActive].filter(Boolean).join(" "),onClick:()=>k(i.id),role:"listitem","aria-selected":i.id===r,"aria-label":`Conversation: ${i.title}`,children:[e.jsx(c.MessageSquare,{size:18,className:t.default.sidebarItemIcon}),e.jsxs("div",{className:t.default.sidebarItemContent,children:[e.jsx("span",{className:t.default.sidebarItemTitle,children:i.title}),i.preview&&e.jsx("span",{className:t.default.sidebarItemPreview,children:i.preview})]}),e.jsx("span",{className:t.default.sidebarItemDate,children:P(i.updatedAt)}),u&&e.jsx("button",{className:t.default.sidebarItemDelete,onClick:q=>F(q,i.id),"aria-label":p===i.id?`Confirm delete ${i.title}`:`Delete ${i.title}`,children:p===i.id?e.jsx("span",{className:t.default.sidebarItemDeleteConfirm,children:"Delete?"}):e.jsx(c.Trash2,{size:16})})]},i.id))]},s)}):e.jsxs("div",{className:t.default.sidebarEmpty,children:[e.jsx(c.MessageSquare,{size:32,className:t.default.sidebarEmptyIcon}),e.jsx("p",{children:h?"No conversations found":"No conversations yet"})]})}),N&&e.jsx("div",{className:t.default.sidebarFooter,children:N})]})]})};S.displayName="ChatSidebar";exports.ChatSidebar=S;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as l, Fragment as C, jsx as r } from "react/jsx-runtime";
2
3
  import { useState as D, useRef as Y, useEffect as x, useMemo as S, useCallback as y } from "react";
3
4
  import { Plus as A, X as U, Search as $, MessageSquare as T, Trash2 as q } from "lucide-react";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("lucide-react"),g=require("../hooks/useVoiceRecorder.cjs"),b=require("../utils.cjs"),r=require("../Chat.module.css.cjs"),t=({onRecordingComplete:s,onCancel:u,maxDuration:f=300,className:a,...d})=>{const{isRecording:o,duration:v,audioBlob:c,error:l,startRecording:R,stopRecording:j,cancelRecording:x,reset:n,isSupported:m}=g.useVoiceRecorder({maxDuration:f,onRecordingComplete:s,onError:B=>console.error("Recording error:",B)}),h=()=>{o?j():c?(s?.(c),n()):R()},N=()=>{x(),u?.()};return m?l?e.jsxs("div",{className:[r.default.voiceRecorder,a].filter(Boolean).join(" "),...d,children:[e.jsx("div",{className:r.default.voiceRecorderInfo,children:e.jsx("span",{className:[r.default.voiceRecorderLabel,r.default.voiceRecorderError].join(" "),children:l})}),e.jsx("button",{className:r.default.inputButton,onClick:n,"aria-label":"Try again",children:e.jsx(i.X,{size:20})})]}):e.jsxs("div",{className:[r.default.voiceRecorder,a].filter(Boolean).join(" "),...d,children:[e.jsx("button",{className:[r.default.voiceRecorderButton,!o&&!c&&r.default.voiceRecorderButtonIdle].filter(Boolean).join(" "),onClick:h,"aria-label":o?"Stop recording":c?"Send recording":"Start recording",children:o?e.jsx(i.Square,{size:20}):c?e.jsx(i.Send,{size:20}):e.jsx(i.Mic,{size:20})}),e.jsxs("div",{className:r.default.voiceRecorderInfo,children:[e.jsx("span",{className:r.default.voiceRecorderDuration,children:b.formatTime(v)}),e.jsx("span",{className:r.default.voiceRecorderLabel,children:o?"Recording...":c?"Recording ready":"Click to record"})]}),o&&e.jsxs("div",{className:r.default.voiceRecorderWaveform,children:[e.jsx("div",{className:r.default.voiceRecorderBar}),e.jsx("div",{className:r.default.voiceRecorderBar}),e.jsx("div",{className:r.default.voiceRecorderBar}),e.jsx("div",{className:r.default.voiceRecorderBar}),e.jsx("div",{className:r.default.voiceRecorderBar})]}),(o||c)&&e.jsx("div",{className:r.default.voiceRecorderActions,children:e.jsx("button",{className:r.default.inputButton,onClick:N,"aria-label":"Cancel recording",children:e.jsx(i.X,{size:20})})})]}):e.jsx("div",{className:[r.default.voiceRecorder,a].filter(Boolean).join(" "),...d,children:e.jsx("div",{className:r.default.voiceRecorderInfo,children:e.jsx("span",{className:r.default.voiceRecorderLabel,children:"Voice recording is not supported in this browser"})})})};t.displayName="ChatVoiceRecorder";exports.ChatVoiceRecorder=t;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatVoiceRecorder.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAK5D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwJ9D,CAAC"}
1
+ {"version":3,"file":"ChatVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatVoiceRecorder.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAK5D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwJ9D,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as r, jsxs as c } from "react/jsx-runtime";
2
3
  import { X as t, Square as b, Send as C, Mic as j } from "lucide-react";
3
4
  import { useVoiceRecorder as S } from "../hooks/useVoiceRecorder.mjs";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),u=require("lucide-react"),s=require("./Checkbox.module.css.cjs"),m=t.forwardRef(({label:i,helperText:n,error:a,size:j="md",indeterminate:r=!1,className:k,id:N,disabled:h,required:o,checked:v,"aria-label":f,"aria-describedby":p,...C},y)=>{const R=t.useId(),l=N||`checkbox-${R}`,x=`${l}-error`,b=`${l}-helper`,g=t.useRef(null),d=y||g;t.useEffect(()=>{d.current&&(d.current.indeterminate=r)},[r,d]);const c=[];a&&c.push(x),n&&!a&&c.push(b),p&&c.push(p);const I=c.length>0?c.join(" "):void 0;!(i||f)&&process.env.NODE_ENV==="development"&&console.warn("Checkbox: Missing accessible name. Provide either a `label` prop or `aria-label` for screen reader users.");const q=r?"mixed":void 0,M=[s.default.container,s.default[j],a&&s.default.error,h&&s.default.disabled,k].filter(Boolean).join(" ");return e.jsxs("div",{className:M,children:[e.jsx("input",{ref:d,type:"checkbox",id:l,className:s.default.input,disabled:h,required:o,checked:v,"aria-required":o||void 0,"aria-invalid":a?"true":"false","aria-checked":q,"aria-describedby":I,"aria-label":i?void 0:f,...C}),e.jsxs("label",{htmlFor:l,className:s.default.labelWrapper,children:[e.jsx("span",{className:s.default.checkbox,"aria-hidden":"true",children:e.jsx("span",{className:s.default.checkmark,children:r?e.jsx(u.Minus,{strokeWidth:3}):e.jsx(u.Check,{strokeWidth:3})})}),i&&e.jsxs("span",{className:s.default.label,children:[i,o&&e.jsx("span",{className:s.default.required,"aria-hidden":"true",children:"*"})]})]}),n&&!a&&e.jsx("p",{id:b,className:s.default.helperText,children:n}),a&&e.jsxs("p",{id:x,className:s.default.errorMessage,role:"alert","aria-live":"assertive",children:[e.jsx(u.AlertCircle,{size:14,"aria-hidden":"true"}),e.jsx("span",{children:a})]})]})});m.displayName="Checkbox";exports.Checkbox=m;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as l, jsx as s } from "react/jsx-runtime";
2
3
  import { forwardRef as A, useId as B, useRef as E, useEffect as M } from "react";
3
4
  import { Minus as W, Check as $, AlertCircle as w } from "lucide-react";
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react"),_=require("react-syntax-highlighter"),$=require("react-syntax-highlighter/dist/esm/styles/prism"),l=require("./CodeEditor.module.css.cjs"),z=require("../../contexts/ThemeContext.cjs");try{const r=require("refractor/all");r.default&&r.default.registered&&r.default.registered("markdown")&&!r.default.languages.markdown?.["quoted-string"]&&r.default.languages.insertBefore("markdown","bold",{"quoted-string":{pattern:/"(?:\\.|[^"\\])*"/,greedy:!0,alias:"string"}})}catch{}const A=i.forwardRef(({value:r="",onChange:g,language:j,readOnly:T=!1,showLineNumbers:k=!0,placeholder:C,minRows:m=10,className:B,"aria-label":S,...R},D)=>{const p=i.useRef(null),x=i.useRef(null),v=i.useRef(null),E=i.useRef(null),K=i.useRef(null),u=i.useRef(null),h=D||K,[y,F]=i.useState(0),[d,O]=i.useState([]);let q="dark";try{q=z.useThemeContext().theme}catch{}const P=q==="light"?$.oneLight:$.oneDark,L=Math.max(r.split(`
2
3
  `).length,m);i.useEffect(()=>{if(u.current&&h.current){const{start:e,end:t}=u.current;h.current.setSelectionRange(e,t),u.current=null}}),i.useEffect(()=>{const e=v.current,t=E.current;if(!e||!t)return;const n=()=>{const o=t.clientWidth;if(o<=0)return;e.style.width=`${o}px`;const a=r.split(`
3
4
  `),f=Math.max(a.length,m),b=[];for(let N=0;N<f;N++){const V=a[N]??"";e.textContent=V||" ",b.push(e.scrollHeight)}O(b)};n();const c=new ResizeObserver(n);return c.observe(t),()=>c.disconnect()},[r,m]),i.useEffect(()=>{const e=n=>{const c=n.target;p.current&&(p.current.scrollTop=c.scrollTop),x.current&&(x.current.scrollTop=c.scrollTop,x.current.scrollLeft=c.scrollLeft)},t=h?.current;if(t)return t.addEventListener("scroll",e),()=>{t.removeEventListener("scroll",e)}},[h]);const w=e=>{const t=e.value.substring(0,e.selectionStart);F(t.split(`
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as k, jsx as l } from "react/jsx-runtime";
2
3
  import { forwardRef as U, useRef as g, useState as K, useEffect as T } from "react";
3
4
  import { Prism as W } from "react-syntax-highlighter";
@@ -1 +1,2 @@
1
+ "use client";
1
2
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("react/jsx-runtime"),e=require("react"),p=require("./Collapsible.module.css.cjs"),x=e.createContext(null);function j(){const t=e.useContext(x);if(!t)throw new Error("Collapsible.Trigger/Content must be used within a Collapsible");return t}const I=e.forwardRef(({asChild:t,className:d,children:l,onClick:n,...u},s)=>{const{open:a,disabled:r,toggle:i,contentId:b,triggerId:c}=j(),o=e.useCallback(g=>{i(),n?.(g)},[i,n]);if(t&&e.isValidElement(l))return e.cloneElement(l,{id:c,"aria-expanded":a,"aria-controls":b,disabled:r,onClick:o});const f=[p.default.trigger,d].filter(Boolean).join(" ");return C.jsx("button",{ref:s,id:c,type:"button",className:f,"aria-expanded":a,"aria-controls":b,disabled:r,onClick:o,...u,children:l})});I.displayName="Collapsible.Trigger";const N=e.forwardRef(({forceMount:t,className:d,children:l,...n},u)=>{const{open:s,triggerId:a,contentId:r}=j();if(!t&&!s)return null;const i=[p.default.content,s&&p.default.contentOpen,d].filter(Boolean).join(" ");return C.jsx("div",{ref:u,id:r,role:"region","aria-labelledby":a,className:i,...n,children:C.jsx("div",{className:p.default.contentInner,children:l})})});N.displayName="Collapsible.Content";const v=e.forwardRef(({open:t,defaultOpen:d=!1,onOpenChange:l,disabled:n=!1,className:u,children:s,...a},r)=>{const[i,b]=e.useState(d),c=t!==void 0,o=c?t:i,f=e.useId(),g=e.useId(),y=e.useCallback(()=>{if(n)return;const m=!o;c||b(m),l?.(m)},[o,c,n,l]),w=[p.default.collapsible,u].filter(Boolean).join(" "),R={open:o,disabled:n,toggle:y,contentId:f,triggerId:g};return C.jsx(x.Provider,{value:R,children:C.jsx("div",{ref:r,className:w,"data-state":o?"open":"closed",...a,children:s})})});v.displayName="Collapsible";const O=Object.assign(v,{Trigger:I,Content:N});exports.Collapsible=O;