tempest-react-sdk 0.61.0 → 0.63.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 (793) hide show
  1. package/README.md +19 -14
  2. package/dist/br/BrazilMap.module.cjs +1 -0
  3. package/dist/br/BrazilMap.module.cjs.map +1 -1
  4. package/dist/br/BrazilMap.module.js +1 -0
  5. package/dist/br/BrazilMap.module.js.map +1 -1
  6. package/dist/br/MapLegend.module.cjs +1 -0
  7. package/dist/br/MapLegend.module.cjs.map +1 -1
  8. package/dist/br/MapLegend.module.js +1 -0
  9. package/dist/br/MapLegend.module.js.map +1 -1
  10. package/dist/br/MunicipalitySearch.module.cjs +1 -0
  11. package/dist/br/MunicipalitySearch.module.cjs.map +1 -1
  12. package/dist/br/MunicipalitySearch.module.js +1 -0
  13. package/dist/br/MunicipalitySearch.module.js.map +1 -1
  14. package/dist/br/PixQRCode.module.cjs +1 -0
  15. package/dist/br/PixQRCode.module.cjs.map +1 -1
  16. package/dist/br/PixQRCode.module.js +1 -0
  17. package/dist/br/PixQRCode.module.js.map +1 -1
  18. package/dist/components/AIChat/AIChat.module.cjs +1 -0
  19. package/dist/components/AIChat/AIChat.module.cjs.map +1 -1
  20. package/dist/components/AIChat/AIChat.module.js +1 -0
  21. package/dist/components/AIChat/AIChat.module.js.map +1 -1
  22. package/dist/components/Accordion/Accordion.module.cjs +1 -0
  23. package/dist/components/Accordion/Accordion.module.cjs.map +1 -1
  24. package/dist/components/Accordion/Accordion.module.js +1 -0
  25. package/dist/components/Accordion/Accordion.module.js.map +1 -1
  26. package/dist/components/Alert/Alert.module.cjs +1 -0
  27. package/dist/components/Alert/Alert.module.cjs.map +1 -1
  28. package/dist/components/Alert/Alert.module.js +1 -0
  29. package/dist/components/Alert/Alert.module.js.map +1 -1
  30. package/dist/components/AppBar/AppBar.module.cjs +1 -0
  31. package/dist/components/AppBar/AppBar.module.cjs.map +1 -1
  32. package/dist/components/AppBar/AppBar.module.js +1 -0
  33. package/dist/components/AppBar/AppBar.module.js.map +1 -1
  34. package/dist/components/AppShell/AppShell.module.cjs +1 -0
  35. package/dist/components/AppShell/AppShell.module.cjs.map +1 -1
  36. package/dist/components/AppShell/AppShell.module.js +1 -0
  37. package/dist/components/AppShell/AppShell.module.js.map +1 -1
  38. package/dist/components/AspectRatio/AspectRatio.module.cjs +1 -0
  39. package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -1
  40. package/dist/components/AspectRatio/AspectRatio.module.js +1 -0
  41. package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -1
  42. package/dist/components/AudioPlayer/AudioPlayer.module.cjs +1 -0
  43. package/dist/components/AudioPlayer/AudioPlayer.module.cjs.map +1 -1
  44. package/dist/components/AudioPlayer/AudioPlayer.module.js +1 -0
  45. package/dist/components/AudioPlayer/AudioPlayer.module.js.map +1 -1
  46. package/dist/components/AudioRecorder/AudioRecorder.module.cjs +1 -0
  47. package/dist/components/AudioRecorder/AudioRecorder.module.cjs.map +1 -1
  48. package/dist/components/AudioRecorder/AudioRecorder.module.js +1 -0
  49. package/dist/components/AudioRecorder/AudioRecorder.module.js.map +1 -1
  50. package/dist/components/Avatar/Avatar.module.cjs +1 -0
  51. package/dist/components/Avatar/Avatar.module.cjs.map +1 -1
  52. package/dist/components/Avatar/Avatar.module.js +1 -0
  53. package/dist/components/Avatar/Avatar.module.js.map +1 -1
  54. package/dist/components/AvatarGroup/AvatarGroup.module.cjs +1 -0
  55. package/dist/components/AvatarGroup/AvatarGroup.module.cjs.map +1 -1
  56. package/dist/components/AvatarGroup/AvatarGroup.module.js +1 -0
  57. package/dist/components/AvatarGroup/AvatarGroup.module.js.map +1 -1
  58. package/dist/components/Badge/Badge.module.cjs +1 -0
  59. package/dist/components/Badge/Badge.module.cjs.map +1 -1
  60. package/dist/components/Badge/Badge.module.js +1 -0
  61. package/dist/components/Badge/Badge.module.js.map +1 -1
  62. package/dist/components/Banner/Banner.module.cjs +1 -0
  63. package/dist/components/Banner/Banner.module.cjs.map +1 -1
  64. package/dist/components/Banner/Banner.module.js +1 -0
  65. package/dist/components/Banner/Banner.module.js.map +1 -1
  66. package/dist/components/BarList/BarList.module.cjs +1 -0
  67. package/dist/components/BarList/BarList.module.cjs.map +1 -1
  68. package/dist/components/BarList/BarList.module.js +1 -0
  69. package/dist/components/BarList/BarList.module.js.map +1 -1
  70. package/dist/components/BarcodeScanner/BarcodeScanner.module.cjs +1 -0
  71. package/dist/components/BarcodeScanner/BarcodeScanner.module.cjs.map +1 -1
  72. package/dist/components/BarcodeScanner/BarcodeScanner.module.js +1 -0
  73. package/dist/components/BarcodeScanner/BarcodeScanner.module.js.map +1 -1
  74. package/dist/components/BottomNavigation/BottomNavigation.module.cjs +1 -0
  75. package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -1
  76. package/dist/components/BottomNavigation/BottomNavigation.module.js +1 -0
  77. package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -1
  78. package/dist/components/BottomSheet/BottomSheet.module.cjs +1 -0
  79. package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -1
  80. package/dist/components/BottomSheet/BottomSheet.module.js +1 -0
  81. package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -1
  82. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs +1 -0
  83. package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -1
  84. package/dist/components/Breadcrumbs/Breadcrumbs.module.js +1 -0
  85. package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -1
  86. package/dist/components/Button/Button.module.cjs +1 -0
  87. package/dist/components/Button/Button.module.cjs.map +1 -1
  88. package/dist/components/Button/Button.module.js +1 -0
  89. package/dist/components/Button/Button.module.js.map +1 -1
  90. package/dist/components/Calendar/Calendar.module.cjs +1 -0
  91. package/dist/components/Calendar/Calendar.module.cjs.map +1 -1
  92. package/dist/components/Calendar/Calendar.module.js +1 -0
  93. package/dist/components/Calendar/Calendar.module.js.map +1 -1
  94. package/dist/components/Card/Card.module.cjs +1 -0
  95. package/dist/components/Card/Card.module.cjs.map +1 -1
  96. package/dist/components/Card/Card.module.js +1 -0
  97. package/dist/components/Card/Card.module.js.map +1 -1
  98. package/dist/components/Carousel/Carousel.module.cjs +1 -0
  99. package/dist/components/Carousel/Carousel.module.cjs.map +1 -1
  100. package/dist/components/Carousel/Carousel.module.js +1 -0
  101. package/dist/components/Carousel/Carousel.module.js.map +1 -1
  102. package/dist/components/Center/Center.module.cjs +1 -0
  103. package/dist/components/Center/Center.module.cjs.map +1 -1
  104. package/dist/components/Center/Center.module.js +1 -0
  105. package/dist/components/Center/Center.module.js.map +1 -1
  106. package/dist/components/Chat/Chat.module.cjs +1 -0
  107. package/dist/components/Chat/Chat.module.cjs.map +1 -1
  108. package/dist/components/Chat/Chat.module.js +1 -0
  109. package/dist/components/Chat/Chat.module.js.map +1 -1
  110. package/dist/components/Checkbox/Checkbox.module.cjs +1 -0
  111. package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -1
  112. package/dist/components/Checkbox/Checkbox.module.js +1 -0
  113. package/dist/components/Checkbox/Checkbox.module.js.map +1 -1
  114. package/dist/components/ChipInput/ChipInput.module.cjs +1 -0
  115. package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -1
  116. package/dist/components/ChipInput/ChipInput.module.js +1 -0
  117. package/dist/components/ChipInput/ChipInput.module.js.map +1 -1
  118. package/dist/components/CodeBlock/CodeBlock.module.cjs +1 -0
  119. package/dist/components/CodeBlock/CodeBlock.module.cjs.map +1 -1
  120. package/dist/components/CodeBlock/CodeBlock.module.js +1 -0
  121. package/dist/components/CodeBlock/CodeBlock.module.js.map +1 -1
  122. package/dist/components/Collapsible/Collapsible.module.cjs +1 -0
  123. package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -1
  124. package/dist/components/Collapsible/Collapsible.module.js +1 -0
  125. package/dist/components/Collapsible/Collapsible.module.js.map +1 -1
  126. package/dist/components/Combobox/Combobox.module.cjs +1 -0
  127. package/dist/components/Combobox/Combobox.module.cjs.map +1 -1
  128. package/dist/components/Combobox/Combobox.module.js +1 -0
  129. package/dist/components/Combobox/Combobox.module.js.map +1 -1
  130. package/dist/components/Command/Command.module.cjs +1 -0
  131. package/dist/components/Command/Command.module.cjs.map +1 -1
  132. package/dist/components/Command/Command.module.js +1 -0
  133. package/dist/components/Command/Command.module.js.map +1 -1
  134. package/dist/components/ContextMenu/ContextMenu.module.cjs +1 -0
  135. package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -1
  136. package/dist/components/ContextMenu/ContextMenu.module.js +1 -0
  137. package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -1
  138. package/dist/components/CopyButton/CopyButton.module.cjs +1 -0
  139. package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -1
  140. package/dist/components/CopyButton/CopyButton.module.js +1 -0
  141. package/dist/components/CopyButton/CopyButton.module.js.map +1 -1
  142. package/dist/components/DataList/DataList.module.cjs +1 -0
  143. package/dist/components/DataList/DataList.module.cjs.map +1 -1
  144. package/dist/components/DataList/DataList.module.js +1 -0
  145. package/dist/components/DataList/DataList.module.js.map +1 -1
  146. package/dist/components/DataTable/DataTable.module.cjs +1 -0
  147. package/dist/components/DataTable/DataTable.module.cjs.map +1 -1
  148. package/dist/components/DataTable/DataTable.module.js +1 -0
  149. package/dist/components/DataTable/DataTable.module.js.map +1 -1
  150. package/dist/components/DateRangePicker/DateRangePicker.module.cjs +1 -0
  151. package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -1
  152. package/dist/components/DateRangePicker/DateRangePicker.module.js +1 -0
  153. package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -1
  154. package/dist/components/DescriptionList/DescriptionList.module.cjs +1 -0
  155. package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -1
  156. package/dist/components/DescriptionList/DescriptionList.module.js +1 -0
  157. package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -1
  158. package/dist/components/Divider/Divider.module.cjs +1 -0
  159. package/dist/components/Divider/Divider.module.cjs.map +1 -1
  160. package/dist/components/Divider/Divider.module.js +1 -0
  161. package/dist/components/Divider/Divider.module.js.map +1 -1
  162. package/dist/components/Drawer/Drawer.module.cjs +1 -0
  163. package/dist/components/Drawer/Drawer.module.cjs.map +1 -1
  164. package/dist/components/Drawer/Drawer.module.js +1 -0
  165. package/dist/components/Drawer/Drawer.module.js.map +1 -1
  166. package/dist/components/DropdownMenu/DropdownMenu.module.cjs +1 -0
  167. package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -1
  168. package/dist/components/DropdownMenu/DropdownMenu.module.js +1 -0
  169. package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -1
  170. package/dist/components/Dropzone/Dropzone.module.cjs +1 -0
  171. package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -1
  172. package/dist/components/Dropzone/Dropzone.module.js +1 -0
  173. package/dist/components/Dropzone/Dropzone.module.js.map +1 -1
  174. package/dist/components/EmptyState/EmptyState.module.cjs +1 -0
  175. package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -1
  176. package/dist/components/EmptyState/EmptyState.module.js +1 -0
  177. package/dist/components/EmptyState/EmptyState.module.js.map +1 -1
  178. package/dist/components/ErrorState/ErrorState.module.cjs +1 -0
  179. package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -1
  180. package/dist/components/ErrorState/ErrorState.module.js +1 -0
  181. package/dist/components/ErrorState/ErrorState.module.js.map +1 -1
  182. package/dist/components/ErrorText/ErrorText.module.cjs +1 -0
  183. package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -1
  184. package/dist/components/ErrorText/ErrorText.module.js +1 -0
  185. package/dist/components/ErrorText/ErrorText.module.js.map +1 -1
  186. package/dist/components/FileUpload/FileUpload.module.cjs +1 -0
  187. package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -1
  188. package/dist/components/FileUpload/FileUpload.module.js +1 -0
  189. package/dist/components/FileUpload/FileUpload.module.js.map +1 -1
  190. package/dist/components/FilterBar/FilterBar.module.cjs +1 -0
  191. package/dist/components/FilterBar/FilterBar.module.cjs.map +1 -1
  192. package/dist/components/FilterBar/FilterBar.module.js +1 -0
  193. package/dist/components/FilterBar/FilterBar.module.js.map +1 -1
  194. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs +1 -0
  195. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -1
  196. package/dist/components/FloatingActionButton/FloatingActionButton.module.js +1 -0
  197. package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -1
  198. package/dist/components/Form/Form.module.cjs +1 -0
  199. package/dist/components/Form/Form.module.cjs.map +1 -1
  200. package/dist/components/Form/Form.module.js +1 -0
  201. package/dist/components/Form/Form.module.js.map +1 -1
  202. package/dist/components/HoverCard/HoverCard.module.cjs +1 -0
  203. package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -1
  204. package/dist/components/HoverCard/HoverCard.module.js +1 -0
  205. package/dist/components/HoverCard/HoverCard.module.js.map +1 -1
  206. package/dist/components/Image/Image.module.cjs +1 -0
  207. package/dist/components/Image/Image.module.cjs.map +1 -1
  208. package/dist/components/Image/Image.module.js +1 -0
  209. package/dist/components/Image/Image.module.js.map +1 -1
  210. package/dist/components/ImageCropper/ImageCropper.module.cjs +1 -0
  211. package/dist/components/ImageCropper/ImageCropper.module.cjs.map +1 -1
  212. package/dist/components/ImageCropper/ImageCropper.module.js +1 -0
  213. package/dist/components/ImageCropper/ImageCropper.module.js.map +1 -1
  214. package/dist/components/Input/Input.module.cjs +1 -0
  215. package/dist/components/Input/Input.module.cjs.map +1 -1
  216. package/dist/components/Input/Input.module.js +1 -0
  217. package/dist/components/Input/Input.module.js.map +1 -1
  218. package/dist/components/InstallBanner/InstallBanner.module.cjs +1 -0
  219. package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -1
  220. package/dist/components/InstallBanner/InstallBanner.module.js +1 -0
  221. package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -1
  222. package/dist/components/Kanban/Kanban.module.cjs +1 -0
  223. package/dist/components/Kanban/Kanban.module.cjs.map +1 -1
  224. package/dist/components/Kanban/Kanban.module.js +1 -0
  225. package/dist/components/Kanban/Kanban.module.js.map +1 -1
  226. package/dist/components/Kbd/Kbd.module.cjs +1 -0
  227. package/dist/components/Kbd/Kbd.module.cjs.map +1 -1
  228. package/dist/components/Kbd/Kbd.module.js +1 -0
  229. package/dist/components/Kbd/Kbd.module.js.map +1 -1
  230. package/dist/components/Label/Label.module.cjs +1 -0
  231. package/dist/components/Label/Label.module.cjs.map +1 -1
  232. package/dist/components/Label/Label.module.js +1 -0
  233. package/dist/components/Label/Label.module.js.map +1 -1
  234. package/dist/components/Layout/Layout.module.cjs +1 -0
  235. package/dist/components/Layout/Layout.module.cjs.map +1 -1
  236. package/dist/components/Layout/Layout.module.js +1 -0
  237. package/dist/components/Layout/Layout.module.js.map +1 -1
  238. package/dist/components/Lightbox/Lightbox.module.cjs +1 -0
  239. package/dist/components/Lightbox/Lightbox.module.cjs.map +1 -1
  240. package/dist/components/Lightbox/Lightbox.module.js +1 -0
  241. package/dist/components/Lightbox/Lightbox.module.js.map +1 -1
  242. package/dist/components/ListTile/ListTile.module.cjs +1 -0
  243. package/dist/components/ListTile/ListTile.module.cjs.map +1 -1
  244. package/dist/components/ListTile/ListTile.module.js +1 -0
  245. package/dist/components/ListTile/ListTile.module.js.map +1 -1
  246. package/dist/components/Markdown/Markdown.module.cjs +1 -0
  247. package/dist/components/Markdown/Markdown.module.cjs.map +1 -1
  248. package/dist/components/Markdown/Markdown.module.js +1 -0
  249. package/dist/components/Markdown/Markdown.module.js.map +1 -1
  250. package/dist/components/Masonry/Masonry.module.cjs +1 -0
  251. package/dist/components/Masonry/Masonry.module.cjs.map +1 -1
  252. package/dist/components/Masonry/Masonry.module.js +1 -0
  253. package/dist/components/Masonry/Masonry.module.js.map +1 -1
  254. package/dist/components/Menubar/Menubar.module.cjs +1 -0
  255. package/dist/components/Menubar/Menubar.module.cjs.map +1 -1
  256. package/dist/components/Menubar/Menubar.module.js +1 -0
  257. package/dist/components/Menubar/Menubar.module.js.map +1 -1
  258. package/dist/components/Modal/Modal.module.cjs +1 -0
  259. package/dist/components/Modal/Modal.module.cjs.map +1 -1
  260. package/dist/components/Modal/Modal.module.js +1 -0
  261. package/dist/components/Modal/Modal.module.js.map +1 -1
  262. package/dist/components/ModalsManager/ModalsManager.module.cjs +1 -0
  263. package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -1
  264. package/dist/components/ModalsManager/ModalsManager.module.js +1 -0
  265. package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -1
  266. package/dist/components/MultiSelect/MultiSelect.module.cjs +1 -0
  267. package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -1
  268. package/dist/components/MultiSelect/MultiSelect.module.js +1 -0
  269. package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -1
  270. package/dist/components/NProgress/NProgress.module.cjs +1 -0
  271. package/dist/components/NProgress/NProgress.module.cjs.map +1 -1
  272. package/dist/components/NProgress/NProgress.module.js +1 -0
  273. package/dist/components/NProgress/NProgress.module.js.map +1 -1
  274. package/dist/components/Navbar/Navbar.module.cjs +1 -0
  275. package/dist/components/Navbar/Navbar.module.cjs.map +1 -1
  276. package/dist/components/Navbar/Navbar.module.js +1 -0
  277. package/dist/components/Navbar/Navbar.module.js.map +1 -1
  278. package/dist/components/NavigationMenu/NavigationMenu.module.cjs +1 -0
  279. package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -1
  280. package/dist/components/NavigationMenu/NavigationMenu.module.js +1 -0
  281. package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -1
  282. package/dist/components/NavigationRail/NavigationRail.module.cjs +1 -0
  283. package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -1
  284. package/dist/components/NavigationRail/NavigationRail.module.js +1 -0
  285. package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -1
  286. package/dist/components/NotificationCenter/NotificationCenter.module.cjs +1 -0
  287. package/dist/components/NotificationCenter/NotificationCenter.module.cjs.map +1 -1
  288. package/dist/components/NotificationCenter/NotificationCenter.module.js +1 -0
  289. package/dist/components/NotificationCenter/NotificationCenter.module.js.map +1 -1
  290. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs +1 -0
  291. package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -1
  292. package/dist/components/OfflineIndicator/OfflineIndicator.module.js +1 -0
  293. package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -1
  294. package/dist/components/Page/Page.module.cjs +1 -0
  295. package/dist/components/Page/Page.module.cjs.map +1 -1
  296. package/dist/components/Page/Page.module.js +1 -0
  297. package/dist/components/Page/Page.module.js.map +1 -1
  298. package/dist/components/Pagination/Pagination.module.cjs +1 -0
  299. package/dist/components/Pagination/Pagination.module.cjs.map +1 -1
  300. package/dist/components/Pagination/Pagination.module.js +1 -0
  301. package/dist/components/Pagination/Pagination.module.js.map +1 -1
  302. package/dist/components/PasswordInput/PasswordInput.module.cjs +1 -0
  303. package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -1
  304. package/dist/components/PasswordInput/PasswordInput.module.js +1 -0
  305. package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -1
  306. package/dist/components/PinInput/PinInput.module.cjs +1 -0
  307. package/dist/components/PinInput/PinInput.module.cjs.map +1 -1
  308. package/dist/components/PinInput/PinInput.module.js +1 -0
  309. package/dist/components/PinInput/PinInput.module.js.map +1 -1
  310. package/dist/components/Popover/Popover.module.cjs +1 -0
  311. package/dist/components/Popover/Popover.module.cjs.map +1 -1
  312. package/dist/components/Popover/Popover.module.js +1 -0
  313. package/dist/components/Popover/Popover.module.js.map +1 -1
  314. package/dist/components/Progress/Progress.module.cjs +1 -0
  315. package/dist/components/Progress/Progress.module.cjs.map +1 -1
  316. package/dist/components/Progress/Progress.module.js +1 -0
  317. package/dist/components/Progress/Progress.module.js.map +1 -1
  318. package/dist/components/QRCode/QRCode.module.cjs +1 -0
  319. package/dist/components/QRCode/QRCode.module.cjs.map +1 -1
  320. package/dist/components/QRCode/QRCode.module.js +1 -0
  321. package/dist/components/QRCode/QRCode.module.js.map +1 -1
  322. package/dist/components/Radio/Radio.module.cjs +1 -0
  323. package/dist/components/Radio/Radio.module.cjs.map +1 -1
  324. package/dist/components/Radio/Radio.module.js +1 -0
  325. package/dist/components/Radio/Radio.module.js.map +1 -1
  326. package/dist/components/RangeSlider/RangeSlider.module.cjs +1 -0
  327. package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -1
  328. package/dist/components/RangeSlider/RangeSlider.module.js +1 -0
  329. package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -1
  330. package/dist/components/RatingStars/RatingStars.module.cjs +1 -0
  331. package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -1
  332. package/dist/components/RatingStars/RatingStars.module.js +1 -0
  333. package/dist/components/RatingStars/RatingStars.module.js.map +1 -1
  334. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs +1 -0
  335. package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -1
  336. package/dist/components/RefreshIndicator/RefreshIndicator.module.js +1 -0
  337. package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -1
  338. package/dist/components/Resizable/Resizable.module.cjs +1 -0
  339. package/dist/components/Resizable/Resizable.module.cjs.map +1 -1
  340. package/dist/components/Resizable/Resizable.module.js +1 -0
  341. package/dist/components/Resizable/Resizable.module.js.map +1 -1
  342. package/dist/components/SafeArea/SafeArea.module.cjs +1 -0
  343. package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -1
  344. package/dist/components/SafeArea/SafeArea.module.js +1 -0
  345. package/dist/components/SafeArea/SafeArea.module.js.map +1 -1
  346. package/dist/components/Scheduler/Scheduler.module.cjs +1 -0
  347. package/dist/components/Scheduler/Scheduler.module.cjs.map +1 -1
  348. package/dist/components/Scheduler/Scheduler.module.js +1 -0
  349. package/dist/components/Scheduler/Scheduler.module.js.map +1 -1
  350. package/dist/components/ScrollArea/ScrollArea.module.cjs +1 -0
  351. package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -1
  352. package/dist/components/ScrollArea/ScrollArea.module.js +1 -0
  353. package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -1
  354. package/dist/components/SearchBar/SearchBar.module.cjs +1 -0
  355. package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -1
  356. package/dist/components/SearchBar/SearchBar.module.js +1 -0
  357. package/dist/components/SearchBar/SearchBar.module.js.map +1 -1
  358. package/dist/components/SegmentedControl/SegmentedControl.module.cjs +1 -0
  359. package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -1
  360. package/dist/components/SegmentedControl/SegmentedControl.module.js +1 -0
  361. package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -1
  362. package/dist/components/Select/Select.module.cjs +1 -0
  363. package/dist/components/Select/Select.module.cjs.map +1 -1
  364. package/dist/components/Select/Select.module.js +1 -0
  365. package/dist/components/Select/Select.module.js.map +1 -1
  366. package/dist/components/Sidebar/Sidebar.module.cjs +1 -0
  367. package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -1
  368. package/dist/components/Sidebar/Sidebar.module.js +1 -0
  369. package/dist/components/Sidebar/Sidebar.module.js.map +1 -1
  370. package/dist/components/SignaturePad/SignaturePad.module.cjs +1 -0
  371. package/dist/components/SignaturePad/SignaturePad.module.cjs.map +1 -1
  372. package/dist/components/SignaturePad/SignaturePad.module.js +1 -0
  373. package/dist/components/SignaturePad/SignaturePad.module.js.map +1 -1
  374. package/dist/components/Skeleton/Skeleton.module.cjs +1 -0
  375. package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -1
  376. package/dist/components/Skeleton/Skeleton.module.js +1 -0
  377. package/dist/components/Skeleton/Skeleton.module.js.map +1 -1
  378. package/dist/components/Slider/Slider.module.cjs +1 -0
  379. package/dist/components/Slider/Slider.module.cjs.map +1 -1
  380. package/dist/components/Slider/Slider.module.js +1 -0
  381. package/dist/components/Slider/Slider.module.js.map +1 -1
  382. package/dist/components/Spacer/Spacer.module.cjs +1 -0
  383. package/dist/components/Spacer/Spacer.module.cjs.map +1 -1
  384. package/dist/components/Spacer/Spacer.module.js +1 -0
  385. package/dist/components/Spacer/Spacer.module.js.map +1 -1
  386. package/dist/components/Sparkline/Sparkline.module.cjs +1 -0
  387. package/dist/components/Sparkline/Sparkline.module.cjs.map +1 -1
  388. package/dist/components/Sparkline/Sparkline.module.js +1 -0
  389. package/dist/components/Sparkline/Sparkline.module.js.map +1 -1
  390. package/dist/components/Spinner/Spinner.module.cjs +1 -0
  391. package/dist/components/Spinner/Spinner.module.cjs.map +1 -1
  392. package/dist/components/Spinner/Spinner.module.js +1 -0
  393. package/dist/components/Spinner/Spinner.module.js.map +1 -1
  394. package/dist/components/Stat/Stat.module.cjs +1 -0
  395. package/dist/components/Stat/Stat.module.cjs.map +1 -1
  396. package/dist/components/Stat/Stat.module.js +1 -0
  397. package/dist/components/Stat/Stat.module.js.map +1 -1
  398. package/dist/components/Stepper/Stepper.module.cjs +1 -0
  399. package/dist/components/Stepper/Stepper.module.cjs.map +1 -1
  400. package/dist/components/Stepper/Stepper.module.js +1 -0
  401. package/dist/components/Stepper/Stepper.module.js.map +1 -1
  402. package/dist/components/StepperInput/StepperInput.module.cjs +1 -0
  403. package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -1
  404. package/dist/components/StepperInput/StepperInput.module.js +1 -0
  405. package/dist/components/StepperInput/StepperInput.module.js.map +1 -1
  406. package/dist/components/Switch/Switch.module.cjs +1 -0
  407. package/dist/components/Switch/Switch.module.cjs.map +1 -1
  408. package/dist/components/Switch/Switch.module.js +1 -0
  409. package/dist/components/Switch/Switch.module.js.map +1 -1
  410. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs +1 -0
  411. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -1
  412. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js +1 -0
  413. package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -1
  414. package/dist/components/Table/Table.module.cjs +1 -0
  415. package/dist/components/Table/Table.module.cjs.map +1 -1
  416. package/dist/components/Table/Table.module.js +1 -0
  417. package/dist/components/Table/Table.module.js.map +1 -1
  418. package/dist/components/Tabs/Tabs.module.cjs +1 -0
  419. package/dist/components/Tabs/Tabs.module.cjs.map +1 -1
  420. package/dist/components/Tabs/Tabs.module.js +1 -0
  421. package/dist/components/Tabs/Tabs.module.js.map +1 -1
  422. package/dist/components/Tag/Tag.module.cjs +1 -0
  423. package/dist/components/Tag/Tag.module.cjs.map +1 -1
  424. package/dist/components/Tag/Tag.module.js +1 -0
  425. package/dist/components/Tag/Tag.module.js.map +1 -1
  426. package/dist/components/Textarea/Textarea.module.cjs +1 -0
  427. package/dist/components/Textarea/Textarea.module.cjs.map +1 -1
  428. package/dist/components/Textarea/Textarea.module.js +1 -0
  429. package/dist/components/Textarea/Textarea.module.js.map +1 -1
  430. package/dist/components/TimePicker/TimePicker.module.cjs +1 -0
  431. package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -1
  432. package/dist/components/TimePicker/TimePicker.module.js +1 -0
  433. package/dist/components/TimePicker/TimePicker.module.js.map +1 -1
  434. package/dist/components/Timeline/Timeline.module.cjs +1 -0
  435. package/dist/components/Timeline/Timeline.module.cjs.map +1 -1
  436. package/dist/components/Timeline/Timeline.module.js +1 -0
  437. package/dist/components/Timeline/Timeline.module.js.map +1 -1
  438. package/dist/components/Toast/Toast.module.cjs +1 -0
  439. package/dist/components/Toast/Toast.module.cjs.map +1 -1
  440. package/dist/components/Toast/Toast.module.js +1 -0
  441. package/dist/components/Toast/Toast.module.js.map +1 -1
  442. package/dist/components/Toggle/Toggle.module.cjs +1 -0
  443. package/dist/components/Toggle/Toggle.module.cjs.map +1 -1
  444. package/dist/components/Toggle/Toggle.module.js +1 -0
  445. package/dist/components/Toggle/Toggle.module.js.map +1 -1
  446. package/dist/components/ToggleGroup/ToggleGroup.module.cjs +1 -0
  447. package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -1
  448. package/dist/components/ToggleGroup/ToggleGroup.module.js +1 -0
  449. package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -1
  450. package/dist/components/Tooltip/Tooltip.module.cjs +1 -0
  451. package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -1
  452. package/dist/components/Tooltip/Tooltip.module.js +1 -0
  453. package/dist/components/Tooltip/Tooltip.module.js.map +1 -1
  454. package/dist/components/Tour/Tour.module.cjs +1 -0
  455. package/dist/components/Tour/Tour.module.cjs.map +1 -1
  456. package/dist/components/Tour/Tour.module.js +1 -0
  457. package/dist/components/Tour/Tour.module.js.map +1 -1
  458. package/dist/components/Transfer/Transfer.module.cjs +1 -0
  459. package/dist/components/Transfer/Transfer.module.cjs.map +1 -1
  460. package/dist/components/Transfer/Transfer.module.js +1 -0
  461. package/dist/components/Transfer/Transfer.module.js.map +1 -1
  462. package/dist/components/TreeView/TreeView.module.cjs +1 -0
  463. package/dist/components/TreeView/TreeView.module.cjs.map +1 -1
  464. package/dist/components/TreeView/TreeView.module.js +1 -0
  465. package/dist/components/TreeView/TreeView.module.js.map +1 -1
  466. package/dist/components/TruncateText/TruncateText.module.cjs +1 -0
  467. package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -1
  468. package/dist/components/TruncateText/TruncateText.module.js +1 -0
  469. package/dist/components/TruncateText/TruncateText.module.js.map +1 -1
  470. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs +1 -0
  471. package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -1
  472. package/dist/components/UpdatePrompt/UpdatePrompt.module.js +1 -0
  473. package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -1
  474. package/dist/components/VideoPlayer/VideoPlayer.module.cjs +1 -0
  475. package/dist/components/VideoPlayer/VideoPlayer.module.cjs.map +1 -1
  476. package/dist/components/VideoPlayer/VideoPlayer.module.js +1 -0
  477. package/dist/components/VideoPlayer/VideoPlayer.module.js.map +1 -1
  478. package/dist/components/VirtualList/VirtualList.module.cjs +1 -0
  479. package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -1
  480. package/dist/components/VirtualList/VirtualList.module.js +1 -0
  481. package/dist/components/VirtualList/VirtualList.module.js.map +1 -1
  482. package/dist/components/VirtualTable/VirtualTable.module.cjs +1 -0
  483. package/dist/components/VirtualTable/VirtualTable.module.cjs.map +1 -1
  484. package/dist/components/VirtualTable/VirtualTable.module.js +1 -0
  485. package/dist/components/VirtualTable/VirtualTable.module.js.map +1 -1
  486. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs +1 -0
  487. package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -1
  488. package/dist/components/VisuallyHidden/VisuallyHidden.module.js +1 -0
  489. package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -1
  490. package/dist/components/Wizard/Wizard.module.cjs +1 -0
  491. package/dist/components/Wizard/Wizard.module.cjs.map +1 -1
  492. package/dist/components/Wizard/Wizard.module.js +1 -0
  493. package/dist/components/Wizard/Wizard.module.js.map +1 -1
  494. package/dist/editor/RichTextEditor.module.cjs +1 -0
  495. package/dist/editor/RichTextEditor.module.cjs.map +1 -1
  496. package/dist/editor/RichTextEditor.module.js +1 -0
  497. package/dist/editor/RichTextEditor.module.js.map +1 -1
  498. package/dist/geo/TrajectoryMap.module.cjs +1 -0
  499. package/dist/geo/TrajectoryMap.module.cjs.map +1 -1
  500. package/dist/geo/TrajectoryMap.module.js +1 -0
  501. package/dist/geo/TrajectoryMap.module.js.map +1 -1
  502. package/dist/icons/IconPicker.module.cjs +1 -0
  503. package/dist/icons/IconPicker.module.cjs.map +1 -1
  504. package/dist/icons/IconPicker.module.js +1 -0
  505. package/dist/icons/IconPicker.module.js.map +1 -1
  506. package/dist/sse/create-event-stream.cjs +1 -1
  507. package/dist/sse/create-event-stream.cjs.map +1 -1
  508. package/dist/sse/create-event-stream.js +32 -27
  509. package/dist/sse/create-event-stream.js.map +1 -1
  510. package/dist/sse/use-event-stream.cjs.map +1 -1
  511. package/dist/sse/use-event-stream.js.map +1 -1
  512. package/dist/styles/AIChat.css +1 -78
  513. package/dist/styles/Accordion.css +1 -11
  514. package/dist/styles/Alert.css +1 -31
  515. package/dist/styles/AppBar.css +1 -16
  516. package/dist/styles/AppShell.css +1 -7
  517. package/dist/styles/AspectRatio.css +1 -2
  518. package/dist/styles/AudioPlayer.css +1 -12
  519. package/dist/styles/AudioRecorder.css +1 -19
  520. package/dist/styles/Avatar.css +1 -12
  521. package/dist/styles/AvatarGroup.css +1 -17
  522. package/dist/styles/Badge.css +1 -24
  523. package/dist/styles/Banner.css +1 -12
  524. package/dist/styles/BarList.css +1 -9
  525. package/dist/styles/BarcodeScanner.css +1 -20
  526. package/dist/styles/BottomNavigation.css +1 -9
  527. package/dist/styles/BottomSheet.css +1 -10
  528. package/dist/styles/BrazilMap.css +1 -19
  529. package/dist/styles/Breadcrumbs.css +1 -7
  530. package/dist/styles/Button.css +1 -41
  531. package/dist/styles/Calendar.css +1 -15
  532. package/dist/styles/Card.css +1 -14
  533. package/dist/styles/Carousel.css +1 -16
  534. package/dist/styles/Center.css +1 -4
  535. package/dist/styles/Chat.css +1 -34
  536. package/dist/styles/Checkbox.css +1 -10
  537. package/dist/styles/ChipInput.css +1 -12
  538. package/dist/styles/CodeBlock.css +1 -24
  539. package/dist/styles/Collapsible.css +1 -5
  540. package/dist/styles/Combobox.css +1 -17
  541. package/dist/styles/Command.css +1 -19
  542. package/dist/styles/ContextMenu.css +1 -10
  543. package/dist/styles/CopyButton.css +1 -3
  544. package/dist/styles/DataList.css +1 -2
  545. package/dist/styles/DataTable.css +1 -18
  546. package/dist/styles/DateRangePicker.css +1 -21
  547. package/dist/styles/DescriptionList.css +1 -3
  548. package/dist/styles/Divider.css +1 -10
  549. package/dist/styles/Drawer.css +1 -21
  550. package/dist/styles/DropdownMenu.css +1 -15
  551. package/dist/styles/Dropzone.css +1 -6
  552. package/dist/styles/EmptyState.css +1 -5
  553. package/dist/styles/ErrorState.css +1 -5
  554. package/dist/styles/ErrorText.css +1 -1
  555. package/dist/styles/FileUpload.css +1 -16
  556. package/dist/styles/FilterBar.css +1 -18
  557. package/dist/styles/FloatingActionButton.css +1 -22
  558. package/dist/styles/Form.css +1 -20
  559. package/dist/styles/HoverCard.css +1 -10
  560. package/dist/styles/IconPicker.css +1 -5
  561. package/dist/styles/Image.css +1 -1
  562. package/dist/styles/ImageCropper.css +1 -15
  563. package/dist/styles/Input.css +1 -23
  564. package/dist/styles/InstallBanner.css +1 -7
  565. package/dist/styles/Kanban.css +1 -14
  566. package/dist/styles/Kbd.css +1 -4
  567. package/dist/styles/Label.css +1 -2
  568. package/dist/styles/Layout.css +1 -21
  569. package/dist/styles/Lightbox.css +1 -20
  570. package/dist/styles/ListTile.css +1 -13
  571. package/dist/styles/MapLegend.css +1 -8
  572. package/dist/styles/Markdown.css +1 -23
  573. package/dist/styles/Masonry.css +1 -3
  574. package/dist/styles/Menubar.css +1 -16
  575. package/dist/styles/Modal.css +1 -20
  576. package/dist/styles/ModalsManager.css +1 -1
  577. package/dist/styles/MultiSelect.css +1 -20
  578. package/dist/styles/MunicipalitySearch.css +1 -5
  579. package/dist/styles/NProgress.css +1 -1
  580. package/dist/styles/Navbar.css +1 -9
  581. package/dist/styles/NavigationMenu.css +1 -11
  582. package/dist/styles/NavigationRail.css +1 -13
  583. package/dist/styles/NotificationCenter.css +1 -20
  584. package/dist/styles/OfflineIndicator.css +1 -6
  585. package/dist/styles/Page.css +1 -12
  586. package/dist/styles/Pagination.css +1 -11
  587. package/dist/styles/PasswordInput.css +1 -20
  588. package/dist/styles/PinInput.css +1 -12
  589. package/dist/styles/PixQRCode.css +1 -8
  590. package/dist/styles/Popover.css +1 -9
  591. package/dist/styles/Progress.css +1 -10
  592. package/dist/styles/QRCode.css +1 -2
  593. package/dist/styles/Radio.css +1 -13
  594. package/dist/styles/RangeSlider.css +1 -14
  595. package/dist/styles/RatingStars.css +1 -10
  596. package/dist/styles/RefreshIndicator.css +1 -4
  597. package/dist/styles/Resizable.css +1 -12
  598. package/dist/styles/RichTextEditor.css +1 -18
  599. package/dist/styles/SafeArea.css +1 -6
  600. package/dist/styles/Scheduler.css +1 -23
  601. package/dist/styles/ScrollArea.css +1 -6
  602. package/dist/styles/SearchBar.css +1 -10
  603. package/dist/styles/SegmentedControl.css +1 -11
  604. package/dist/styles/Select.css +1 -13
  605. package/dist/styles/Sidebar.css +1 -18
  606. package/dist/styles/SignaturePad.css +1 -5
  607. package/dist/styles/Skeleton.css +1 -6
  608. package/dist/styles/Slider.css +1 -14
  609. package/dist/styles/Spacer.css +1 -3
  610. package/dist/styles/Sparkline.css +1 -3
  611. package/dist/styles/Spinner.css +1 -11
  612. package/dist/styles/Stat.css +1 -11
  613. package/dist/styles/Stepper.css +1 -16
  614. package/dist/styles/StepperInput.css +1 -14
  615. package/dist/styles/Switch.css +1 -10
  616. package/dist/styles/SyncStatusBadge.css +1 -12
  617. package/dist/styles/Table.css +1 -15
  618. package/dist/styles/Tabs.css +1 -13
  619. package/dist/styles/Tag.css +1 -13
  620. package/dist/styles/Textarea.css +1 -12
  621. package/dist/styles/TimePicker.css +1 -13
  622. package/dist/styles/Timeline.css +1 -16
  623. package/dist/styles/Toast.css +1 -20
  624. package/dist/styles/Toggle.css +1 -11
  625. package/dist/styles/ToggleGroup.css +1 -8
  626. package/dist/styles/Tooltip.css +1 -9
  627. package/dist/styles/Tour.css +1 -19
  628. package/dist/styles/TrajectoryMap.css +1 -15
  629. package/dist/styles/Transfer.css +1 -20
  630. package/dist/styles/TreeView.css +1 -16
  631. package/dist/styles/TruncateText.css +1 -1
  632. package/dist/styles/UpdatePrompt.css +1 -9
  633. package/dist/styles/VideoPlayer.css +1 -22
  634. package/dist/styles/VirtualList.css +1 -4
  635. package/dist/styles/VirtualTable.css +1 -16
  636. package/dist/styles/VisuallyHidden.css +1 -1
  637. package/dist/styles/Wizard.css +1 -3
  638. package/dist/styles/component/AIChat.css +79 -0
  639. package/dist/styles/component/Accordion.css +12 -0
  640. package/dist/styles/component/Alert.css +32 -0
  641. package/dist/styles/component/AppBar.css +17 -0
  642. package/dist/styles/component/AppShell.css +8 -0
  643. package/dist/styles/component/AspectRatio.css +3 -0
  644. package/dist/styles/component/AudioPlayer.css +13 -0
  645. package/dist/styles/component/AudioRecorder.css +20 -0
  646. package/dist/styles/component/Avatar.css +13 -0
  647. package/dist/styles/component/AvatarGroup.css +18 -0
  648. package/dist/styles/component/Badge.css +25 -0
  649. package/dist/styles/component/Banner.css +13 -0
  650. package/dist/styles/component/BarList.css +10 -0
  651. package/dist/styles/component/BarcodeScanner.css +21 -0
  652. package/dist/styles/component/BottomNavigation.css +10 -0
  653. package/dist/styles/component/BottomSheet.css +11 -0
  654. package/dist/styles/component/BrazilMap.css +20 -0
  655. package/dist/styles/component/Breadcrumbs.css +8 -0
  656. package/dist/styles/component/Button.css +42 -0
  657. package/dist/styles/component/Calendar.css +16 -0
  658. package/dist/styles/component/Card.css +15 -0
  659. package/dist/styles/component/Carousel.css +17 -0
  660. package/dist/styles/component/Center.css +5 -0
  661. package/dist/styles/component/Chat.css +35 -0
  662. package/dist/styles/component/Checkbox.css +11 -0
  663. package/dist/styles/component/ChipInput.css +13 -0
  664. package/dist/styles/component/CodeBlock.css +25 -0
  665. package/dist/styles/component/Collapsible.css +6 -0
  666. package/dist/styles/component/Combobox.css +18 -0
  667. package/dist/styles/component/Command.css +20 -0
  668. package/dist/styles/component/ContextMenu.css +11 -0
  669. package/dist/styles/component/CopyButton.css +4 -0
  670. package/dist/styles/component/DataList.css +3 -0
  671. package/dist/styles/component/DataTable.css +19 -0
  672. package/dist/styles/component/DateRangePicker.css +22 -0
  673. package/dist/styles/component/DescriptionList.css +4 -0
  674. package/dist/styles/component/Divider.css +11 -0
  675. package/dist/styles/component/Drawer.css +22 -0
  676. package/dist/styles/component/DropdownMenu.css +16 -0
  677. package/dist/styles/component/Dropzone.css +7 -0
  678. package/dist/styles/component/EmptyState.css +6 -0
  679. package/dist/styles/component/ErrorState.css +6 -0
  680. package/dist/styles/component/ErrorText.css +2 -0
  681. package/dist/styles/component/FileUpload.css +17 -0
  682. package/dist/styles/component/FilterBar.css +19 -0
  683. package/dist/styles/component/FloatingActionButton.css +23 -0
  684. package/dist/styles/component/Form.css +21 -0
  685. package/dist/styles/component/HoverCard.css +11 -0
  686. package/dist/styles/component/IconPicker.css +6 -0
  687. package/dist/styles/component/Image.css +2 -0
  688. package/dist/styles/component/ImageCropper.css +16 -0
  689. package/dist/styles/component/Input.css +24 -0
  690. package/dist/styles/component/InstallBanner.css +8 -0
  691. package/dist/styles/component/Kanban.css +15 -0
  692. package/dist/styles/component/Kbd.css +5 -0
  693. package/dist/styles/component/Label.css +3 -0
  694. package/dist/styles/component/Layout.css +22 -0
  695. package/dist/styles/component/Lightbox.css +21 -0
  696. package/dist/styles/component/ListTile.css +14 -0
  697. package/dist/styles/component/MapLegend.css +9 -0
  698. package/dist/styles/component/Markdown.css +24 -0
  699. package/dist/styles/component/Masonry.css +4 -0
  700. package/dist/styles/component/Menubar.css +17 -0
  701. package/dist/styles/component/Modal.css +21 -0
  702. package/dist/styles/component/ModalsManager.css +2 -0
  703. package/dist/styles/component/MultiSelect.css +21 -0
  704. package/dist/styles/component/MunicipalitySearch.css +6 -0
  705. package/dist/styles/component/NProgress.css +2 -0
  706. package/dist/styles/component/Navbar.css +10 -0
  707. package/dist/styles/component/NavigationMenu.css +12 -0
  708. package/dist/styles/component/NavigationRail.css +14 -0
  709. package/dist/styles/component/NotificationCenter.css +21 -0
  710. package/dist/styles/component/OfflineIndicator.css +7 -0
  711. package/dist/styles/component/Page.css +13 -0
  712. package/dist/styles/component/Pagination.css +12 -0
  713. package/dist/styles/component/PasswordInput.css +21 -0
  714. package/dist/styles/component/PinInput.css +13 -0
  715. package/dist/styles/component/PixQRCode.css +9 -0
  716. package/dist/styles/component/Popover.css +10 -0
  717. package/dist/styles/component/Progress.css +11 -0
  718. package/dist/styles/component/QRCode.css +3 -0
  719. package/dist/styles/component/Radio.css +14 -0
  720. package/dist/styles/component/RangeSlider.css +15 -0
  721. package/dist/styles/component/RatingStars.css +11 -0
  722. package/dist/styles/component/RefreshIndicator.css +5 -0
  723. package/dist/styles/component/Resizable.css +13 -0
  724. package/dist/styles/component/RichTextEditor.css +19 -0
  725. package/dist/styles/component/SafeArea.css +7 -0
  726. package/dist/styles/component/Scheduler.css +24 -0
  727. package/dist/styles/component/ScrollArea.css +7 -0
  728. package/dist/styles/component/SearchBar.css +11 -0
  729. package/dist/styles/component/SegmentedControl.css +12 -0
  730. package/dist/styles/component/Select.css +14 -0
  731. package/dist/styles/component/Sidebar.css +19 -0
  732. package/dist/styles/component/SignaturePad.css +6 -0
  733. package/dist/styles/component/Skeleton.css +7 -0
  734. package/dist/styles/component/Slider.css +15 -0
  735. package/dist/styles/component/Spacer.css +4 -0
  736. package/dist/styles/component/Sparkline.css +4 -0
  737. package/dist/styles/component/Spinner.css +12 -0
  738. package/dist/styles/component/Stat.css +12 -0
  739. package/dist/styles/component/Stepper.css +17 -0
  740. package/dist/styles/component/StepperInput.css +15 -0
  741. package/dist/styles/component/Switch.css +11 -0
  742. package/dist/styles/component/SyncStatusBadge.css +13 -0
  743. package/dist/styles/component/Table.css +16 -0
  744. package/dist/styles/component/Tabs.css +14 -0
  745. package/dist/styles/component/Tag.css +14 -0
  746. package/dist/styles/component/Textarea.css +13 -0
  747. package/dist/styles/component/TimePicker.css +14 -0
  748. package/dist/styles/component/Timeline.css +17 -0
  749. package/dist/styles/component/Toast.css +21 -0
  750. package/dist/styles/component/Toggle.css +12 -0
  751. package/dist/styles/component/ToggleGroup.css +9 -0
  752. package/dist/styles/component/Tooltip.css +10 -0
  753. package/dist/styles/component/Tour.css +20 -0
  754. package/dist/styles/component/TrajectoryMap.css +16 -0
  755. package/dist/styles/component/Transfer.css +21 -0
  756. package/dist/styles/component/TreeView.css +17 -0
  757. package/dist/styles/component/TruncateText.css +2 -0
  758. package/dist/styles/component/UpdatePrompt.css +10 -0
  759. package/dist/styles/component/VideoPlayer.css +23 -0
  760. package/dist/styles/component/VirtualList.css +5 -0
  761. package/dist/styles/component/VirtualTable.css +17 -0
  762. package/dist/styles/component/VisuallyHidden.css +2 -0
  763. package/dist/styles/component/Wizard.css +4 -0
  764. package/dist/styles/manifest.json +190 -190
  765. package/dist/tempest-react-sdk.d.ts +180 -21
  766. package/dist/utils/dev-mode.cjs.map +1 -1
  767. package/dist/utils/dev-mode.js.map +1 -1
  768. package/dist/utils/json-frame.cjs +1 -1
  769. package/dist/utils/json-frame.cjs.map +1 -1
  770. package/dist/utils/json-frame.js +33 -14
  771. package/dist/utils/json-frame.js.map +1 -1
  772. package/dist/utils/schema-like.cjs +2 -0
  773. package/dist/utils/schema-like.cjs.map +1 -0
  774. package/dist/utils/schema-like.js +43 -0
  775. package/dist/utils/schema-like.js.map +1 -0
  776. package/dist/vite/narrow-tokens.cjs +3 -0
  777. package/dist/vite/narrow-tokens.cjs.map +1 -0
  778. package/dist/vite/narrow-tokens.js +50 -0
  779. package/dist/vite/narrow-tokens.js.map +1 -0
  780. package/dist/vite/tempest-styles.cjs +6 -4
  781. package/dist/vite/tempest-styles.cjs.map +1 -1
  782. package/dist/vite/tempest-styles.js +73 -47
  783. package/dist/vite/tempest-styles.js.map +1 -1
  784. package/dist/vite.d.ts +19 -0
  785. package/dist/ws/create-web-socket.cjs +1 -1
  786. package/dist/ws/create-web-socket.cjs.map +1 -1
  787. package/dist/ws/create-web-socket.js +54 -38
  788. package/dist/ws/create-web-socket.js.map +1 -1
  789. package/dist/ws/use-web-socket.cjs +1 -1
  790. package/dist/ws/use-web-socket.cjs.map +1 -1
  791. package/dist/ws/use-web-socket.js +5 -3
  792. package/dist/ws/use-web-socket.js.map +1 -1
  793. package/package.json +2 -2
@@ -1,13 +1,18 @@
1
1
  import { decodeFrame as e } from "../utils/json-frame.js";
2
2
  //#region src/sse/create-event-stream.ts
3
3
  function t(t, n = {}) {
4
- let { withCredentials: r = !1, namedEvents: i = [], heartbeatEvents: a = ["ping"], maxRetries: o = 10, initialBackoff: s = 1e3, maxBackoff: c = 3e4, parser: l, onOpen: u, onMessage: d, onError: f, onParseError: p, onStatusChange: m } = n, h = null, g = null, _ = 0, v = "idle", y = !1;
5
- function b(e) {
6
- v !== e && (v = e, m?.(e));
4
+ let { withCredentials: r = !1, namedEvents: i = [], heartbeatEvents: a = ["ping"], maxRetries: o = 10, initialBackoff: s = 1e3, maxBackoff: c = 3e4, parser: l, onOpen: u, onMessage: d, onError: f, onParseError: p, schema: m, onValidationError: h, onStatusChange: g } = n, _ = null, v = null, y = 0, b = "idle", x = !1;
5
+ function S(e) {
6
+ b !== e && (b = e, g?.(e));
7
7
  }
8
- function x(t, n) {
8
+ function C(t, n) {
9
9
  if (a.includes(t)) return;
10
- let r = e(typeof n.data == "string" ? n.data : "", l, p, "createEventStream");
10
+ let r = e(typeof n.data == "string" ? n.data : "", "createEventStream", {
11
+ parser: l,
12
+ onParseError: p,
13
+ schema: m,
14
+ onValidationError: h
15
+ });
11
16
  r.delivered && d?.({
12
17
  event: t,
13
18
  data: r.data,
@@ -15,39 +20,39 @@ function t(t, n = {}) {
15
20
  raw: n
16
21
  });
17
22
  }
18
- function S() {
19
- if (y) return;
20
- if (_ >= o) {
21
- b("error");
23
+ function w() {
24
+ if (x) return;
25
+ if (y >= o) {
26
+ S("error");
22
27
  return;
23
28
  }
24
- let e = Math.min(s * 2 ** _, c);
25
- _ += 1, g = setTimeout(C, e);
29
+ let e = Math.min(s * 2 ** y, c);
30
+ y += 1, v = setTimeout(T, e);
26
31
  }
27
- function C() {
28
- if (y) return;
29
- h && h.close(), b("connecting");
32
+ function T() {
33
+ if (x) return;
34
+ _ && _.close(), S("connecting");
30
35
  let e = new EventSource(t, { withCredentials: r });
31
- h = e, e.onopen = () => {
32
- _ = 0, b("open"), u?.();
33
- }, e.onmessage = (e) => x("message", e);
34
- for (let t of i) e.addEventListener(t, (e) => x(t, e));
36
+ _ = e, e.onopen = () => {
37
+ y = 0, S("open"), u?.();
38
+ }, e.onmessage = (e) => C("message", e);
39
+ for (let t of i) e.addEventListener(t, (e) => C(t, e));
35
40
  for (let t of a) e.addEventListener(t, () => {});
36
41
  e.onerror = (t) => {
37
- f?.(t), e.close(), h = null, b("closed"), S();
42
+ f?.(t), e.close(), _ = null, S("closed"), w();
38
43
  };
39
44
  }
40
- function w() {
41
- y = !0, g &&= (clearTimeout(g), null), _ = 0, h &&= (h.close(), null), b("closed");
45
+ function E() {
46
+ x = !0, v &&= (clearTimeout(v), null), y = 0, _ &&= (_.close(), null), S("closed");
42
47
  }
43
- function T() {
44
- g &&= (clearTimeout(g), null), _ = 0, y = !1, C();
48
+ function D() {
49
+ v &&= (clearTimeout(v), null), y = 0, x = !1, T();
45
50
  }
46
- return C(), {
47
- close: w,
48
- reconnect: T,
51
+ return T(), {
52
+ close: E,
53
+ reconnect: D,
49
54
  get status() {
50
- return v;
55
+ return b;
51
56
  }
52
57
  };
53
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-event-stream.js","names":[],"sources":["../../src/sse/create-event-stream.ts"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body is the SSE line protocol — accumulate\n * `data:` lines until a blank line, track `id:` for Last-Event-ID, honour `retry:` —\n * plus the reconnect that uses the id it just tracked.\n */\nimport { decodeFrame } from \"../utils/json-frame\";\nexport type EventStreamStatus = \"idle\" | \"connecting\" | \"open\" | \"closed\" | \"error\";\n\nexport interface EventStreamMessage<T> {\n /** Server-named event (default `\"message\"`). */\n event: string;\n /** Parsed payload — JSON-decoded when possible, raw string otherwise. */\n data: T;\n /** Server-supplied id, if any. */\n id?: string;\n /** Raw `MessageEvent` for advanced cases. */\n raw: MessageEvent;\n}\n\nexport interface CreateEventStreamOptions<T> {\n /** Send cookies with the EventSource handshake. Default: false. */\n withCredentials?: boolean;\n /** Subscribe to named events in addition to `message`. */\n namedEvents?: readonly string[];\n /** Treat these named events as heartbeat-only (no callback). Default: `[\"ping\"]`. */\n heartbeatEvents?: readonly string[];\n /** Max reconnect attempts. Default: 10. Pass 0 to disable reconnect. */\n maxRetries?: number;\n /** Initial backoff in ms; doubles per attempt, capped at `maxBackoff`. Default: 1000. */\n initialBackoff?: number;\n /** Maximum backoff in ms. Default: 30000. */\n maxBackoff?: number;\n /** Parse `event.data`. Defaults to JSON with raw-string fallback. */\n parser?: (raw: string) => T;\n /**\n * A frame arrived that is not valid JSON, and no `parser` was supplied.\n *\n * Registering this drops the frame instead of delivering it: the previous\n * behaviour handed `onMessage` the raw `string` announced as your message\n * type, so the failure surfaced later, at the first property access, with\n * nothing left pointing at the parse. Leave it out and that behaviour is\n * kept, with a one-time warning in development builds.\n */\n onParseError?: (error: unknown, raw: string) => void;\n onOpen?: () => void;\n onMessage?: (message: EventStreamMessage<T>) => void;\n onError?: (error: Event) => void;\n onStatusChange?: (status: EventStreamStatus) => void;\n}\n\nexport interface EventStreamController {\n close: () => void;\n /** Force an immediate reconnect, resetting the retry counter. */\n reconnect: () => void;\n /** Current connection status. */\n readonly status: EventStreamStatus;\n}\n\n/**\n * Open a Server-Sent Events stream with automatic exponential-backoff reconnect.\n *\n * Heartbeat events (default `\"ping\"`) keep the socket alive without firing\n * `onMessage`. Pass `withCredentials: true` when the backend authenticates via\n * cookies. Call `close()` from the returned controller to tear down.\n *\n * @param url - Full SSE endpoint URL.\n * @param options - Stream configuration and callbacks.\n * @returns A controller exposing `close`, `reconnect` and the current `status`.\n */\nexport function createEventStream<T = unknown>(\n url: string,\n options: CreateEventStreamOptions<T> = {},\n): EventStreamController {\n const {\n withCredentials = false,\n namedEvents = [],\n heartbeatEvents = [\"ping\"],\n maxRetries = 10,\n initialBackoff = 1000,\n maxBackoff = 30000,\n parser,\n onOpen,\n onMessage,\n onError,\n onParseError,\n onStatusChange,\n } = options;\n\n let source: EventSource | null = null;\n let retryTimer: ReturnType<typeof setTimeout> | null = null;\n let retries = 0;\n let status: EventStreamStatus = \"idle\";\n let closed = false;\n\n function setStatus(next: EventStreamStatus): void {\n if (status === next) return;\n status = next;\n onStatusChange?.(next);\n }\n\n function emit(eventName: string, event: MessageEvent): void {\n if (heartbeatEvents.includes(eventName)) return;\n const decoded = decodeFrame<T>(\n typeof event.data === \"string\" ? event.data : \"\",\n parser,\n onParseError,\n \"createEventStream\",\n );\n if (!decoded.delivered) return;\n onMessage?.({\n event: eventName,\n data: decoded.data,\n id: event.lastEventId || undefined,\n raw: event,\n });\n }\n\n function scheduleReconnect(): void {\n if (closed) return;\n if (retries >= maxRetries) {\n setStatus(\"error\");\n return;\n }\n const delay = Math.min(initialBackoff * 2 ** retries, maxBackoff);\n retries += 1;\n retryTimer = setTimeout(connect, delay);\n }\n\n function connect(): void {\n if (closed) return;\n if (source) source.close();\n setStatus(\"connecting\");\n\n const es = new EventSource(url, { withCredentials });\n source = es;\n\n es.onopen = () => {\n retries = 0;\n setStatus(\"open\");\n onOpen?.();\n };\n\n es.onmessage = (event) => emit(\"message\", event);\n for (const name of namedEvents) {\n es.addEventListener(name, (event) => emit(name, event as MessageEvent));\n }\n for (const name of heartbeatEvents) {\n es.addEventListener(name, () => {\n /* heartbeat — keep socket alive */\n });\n }\n\n es.onerror = (event) => {\n onError?.(event);\n es.close();\n source = null;\n setStatus(\"closed\");\n scheduleReconnect();\n };\n }\n\n function close(): void {\n closed = true;\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n if (source) {\n source.close();\n source = null;\n }\n setStatus(\"closed\");\n }\n\n function reconnect(): void {\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n closed = false;\n connect();\n }\n\n connect();\n\n return {\n close,\n reconnect,\n get status() {\n return status;\n },\n };\n}\n"],"mappings":";;AAqEA,SAAgB,EACZ,GACA,IAAuC,CAAC,GACnB;CACrB,IAAM,EACF,qBAAkB,IAClB,iBAAc,CAAC,GACf,qBAAkB,CAAC,MAAM,GACzB,gBAAa,IACb,oBAAiB,KACjB,gBAAa,KACb,WACA,WACA,cACA,YACA,iBACA,sBACA,GAEA,IAA6B,MAC7B,IAAmD,MACnD,IAAU,GACV,IAA4B,QAC5B,IAAS;CAEb,SAAS,EAAU,GAA+B;EAC1C,MAAW,MACf,IAAS,GACT,IAAiB,CAAI;CACzB;CAEA,SAAS,EAAK,GAAmB,GAA2B;EACxD,IAAI,EAAgB,SAAS,CAAS,GAAG;EACzC,IAAM,IAAU,EACZ,OAAO,EAAM,QAAS,WAAW,EAAM,OAAO,IAC9C,GACA,GACA,mBACJ;EACK,EAAQ,aACb,IAAY;GACR,OAAO;GACP,MAAM,EAAQ;GACd,IAAI,EAAM,eAAe,KAAA;GACzB,KAAK;EACT,CAAC;CACL;CAEA,SAAS,IAA0B;EAC/B,IAAI,GAAQ;EACZ,IAAI,KAAW,GAAY;GACvB,EAAU,OAAO;GACjB;EACJ;EACA,IAAM,IAAQ,KAAK,IAAI,IAAiB,KAAK,GAAS,CAAU;EAEhE,AADA,KAAW,GACX,IAAa,WAAW,GAAS,CAAK;CAC1C;CAEA,SAAS,IAAgB;EACrB,IAAI,GAAQ;EAEZ,AADI,KAAQ,EAAO,MAAM,GACzB,EAAU,YAAY;EAEtB,IAAM,IAAK,IAAI,YAAY,GAAK,EAAE,mBAAgB,CAAC;EASnD,AARA,IAAS,GAET,EAAG,eAAe;GAGd,AAFA,IAAU,GACV,EAAU,MAAM,GAChB,IAAS;EACb,GAEA,EAAG,aAAa,MAAU,EAAK,WAAW,CAAK;EAC/C,KAAK,IAAM,KAAQ,GACf,EAAG,iBAAiB,IAAO,MAAU,EAAK,GAAM,CAAqB,CAAC;EAE1E,KAAK,IAAM,KAAQ,GACf,EAAG,iBAAiB,SAAY,CAEhC,CAAC;EAGL,EAAG,WAAW,MAAU;GAKpB,AAJA,IAAU,CAAK,GACf,EAAG,MAAM,GACT,IAAS,MACT,EAAU,QAAQ,GAClB,EAAkB;EACtB;CACJ;CAEA,SAAS,IAAc;EAWnB,AAVA,IAAS,IACT,AAEI,OADA,aAAa,CAAU,GACV,OAEjB,IAAU,GACV,AAEI,OADA,EAAO,MAAM,GACJ,OAEb,EAAU,QAAQ;CACtB;CAEA,SAAS,IAAkB;EAOvB,AANA,AAEI,OADA,aAAa,CAAU,GACV,OAEjB,IAAU,GACV,IAAS,IACT,EAAQ;CACZ;CAIA,OAFA,EAAQ,GAED;EACH;EACA;EACA,IAAI,SAAS;GACT,OAAO;EACX;CACJ;AACJ"}
1
+ {"version":3,"file":"create-event-stream.js","names":[],"sources":["../../src/sse/create-event-stream.ts"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body is the SSE line protocol — accumulate\n * `data:` lines until a blank line, track `id:` for Last-Event-ID, honour `retry:` —\n * plus the reconnect that uses the id it just tracked.\n */\nimport { decodeFrame } from \"../utils/json-frame\";\nimport type { SchemaIssue, SchemaLike } from \"../utils/schema-like\";\nexport type EventStreamStatus = \"idle\" | \"connecting\" | \"open\" | \"closed\" | \"error\";\n\nexport interface EventStreamMessage<T> {\n /** Server-named event (default `\"message\"`). */\n event: string;\n /** Parsed payload — validated when `schema` is set, JSON-decoded when possible, raw string otherwise. */\n data: T;\n /** Server-supplied id, if any. */\n id?: string;\n /** Raw `MessageEvent` for advanced cases. */\n raw: MessageEvent;\n}\n\nexport interface CreateEventStreamOptions<T> {\n /** Send cookies with the EventSource handshake. Default: false. */\n withCredentials?: boolean;\n /** Subscribe to named events in addition to `message`. */\n namedEvents?: readonly string[];\n /** Treat these named events as heartbeat-only (no callback). Default: `[\"ping\"]`. */\n heartbeatEvents?: readonly string[];\n /** Max reconnect attempts. Default: 10. Pass 0 to disable reconnect. */\n maxRetries?: number;\n /** Initial backoff in ms; doubles per attempt, capped at `maxBackoff`. Default: 1000. */\n initialBackoff?: number;\n /** Maximum backoff in ms. Default: 30000. */\n maxBackoff?: number;\n /** Parse `event.data`. Defaults to JSON with raw-string fallback. */\n parser?: (raw: string) => T;\n /**\n * A frame arrived that is not valid JSON, and no `parser` was supplied.\n *\n * Registering this drops the frame instead of delivering it: the previous\n * behaviour handed `onMessage` the raw `string` announced as your message\n * type, so the failure surfaced later, at the first property access, with\n * nothing left pointing at the parse. Leave it out and that behaviour is\n * kept, with a one-time warning in development builds.\n */\n onParseError?: (error: unknown, raw: string) => void;\n /**\n * Schema every decoded frame must satisfy, from zod, valibot, arktype or\n * anything else exposing `~standard` or `.safeParse`.\n *\n * Without it nothing changes: the payload reaches `onMessage` announced as\n * `T` on the strength of the type argument alone, which is a promise about\n * the server that TypeScript cannot keep. With it, a frame that does not\n * match is **not** delivered — the same rule `onParseError` already follows —\n * and `onValidationError` hears why. The value delivered is the schema's\n * output, so coercions and defaults are honoured.\n *\n * When `parser` is also supplied, it decodes first and the schema validates\n * what it returned.\n *\n * The validation must be synchronous. A frame is decoded inside the\n * `message` handler and delivered from it, so an async schema would deliver\n * frames in whatever order their validations settled; that case is reported\n * through `onValidationError` instead of awaited.\n */\n schema?: SchemaLike<T>;\n /**\n * A frame was decoded but the `schema` refused it, so it was dropped.\n *\n * The one signal that does not depend on how the app's bundler resolves\n * `process`: the one-time development warning behind `onParseError` needs\n * `isDevBuild()` to be able to answer, and this callback is the app's own.\n */\n onValidationError?: (issues: SchemaIssue[], raw: string) => void;\n onOpen?: () => void;\n onMessage?: (message: EventStreamMessage<T>) => void;\n onError?: (error: Event) => void;\n onStatusChange?: (status: EventStreamStatus) => void;\n}\n\nexport interface EventStreamController {\n close: () => void;\n /** Force an immediate reconnect, resetting the retry counter. */\n reconnect: () => void;\n /** Current connection status. */\n readonly status: EventStreamStatus;\n}\n\n/**\n * Open a Server-Sent Events stream with automatic exponential-backoff reconnect.\n *\n * Heartbeat events (default `\"ping\"`) keep the socket alive without firing\n * `onMessage`. Pass `withCredentials: true` when the backend authenticates via\n * cookies. Call `close()` from the returned controller to tear down.\n *\n * @param url - Full SSE endpoint URL.\n * @param options - Stream configuration and callbacks.\n * @returns A controller exposing `close`, `reconnect` and the current `status`.\n */\nexport function createEventStream<T = unknown>(\n url: string,\n options: CreateEventStreamOptions<T> = {},\n): EventStreamController {\n const {\n withCredentials = false,\n namedEvents = [],\n heartbeatEvents = [\"ping\"],\n maxRetries = 10,\n initialBackoff = 1000,\n maxBackoff = 30000,\n parser,\n onOpen,\n onMessage,\n onError,\n onParseError,\n schema,\n onValidationError,\n onStatusChange,\n } = options;\n\n let source: EventSource | null = null;\n let retryTimer: ReturnType<typeof setTimeout> | null = null;\n let retries = 0;\n let status: EventStreamStatus = \"idle\";\n let closed = false;\n\n function setStatus(next: EventStreamStatus): void {\n if (status === next) return;\n status = next;\n onStatusChange?.(next);\n }\n\n function emit(eventName: string, event: MessageEvent): void {\n if (heartbeatEvents.includes(eventName)) return;\n const decoded = decodeFrame<T>(\n typeof event.data === \"string\" ? event.data : \"\",\n \"createEventStream\",\n { parser, onParseError, schema, onValidationError },\n );\n if (!decoded.delivered) return;\n onMessage?.({\n event: eventName,\n data: decoded.data,\n id: event.lastEventId || undefined,\n raw: event,\n });\n }\n\n function scheduleReconnect(): void {\n if (closed) return;\n if (retries >= maxRetries) {\n setStatus(\"error\");\n return;\n }\n const delay = Math.min(initialBackoff * 2 ** retries, maxBackoff);\n retries += 1;\n retryTimer = setTimeout(connect, delay);\n }\n\n function connect(): void {\n if (closed) return;\n if (source) source.close();\n setStatus(\"connecting\");\n\n const es = new EventSource(url, { withCredentials });\n source = es;\n\n es.onopen = () => {\n retries = 0;\n setStatus(\"open\");\n onOpen?.();\n };\n\n es.onmessage = (event) => emit(\"message\", event);\n for (const name of namedEvents) {\n es.addEventListener(name, (event) => emit(name, event as MessageEvent));\n }\n for (const name of heartbeatEvents) {\n es.addEventListener(name, () => {\n /* heartbeat — keep socket alive */\n });\n }\n\n es.onerror = (event) => {\n onError?.(event);\n es.close();\n source = null;\n setStatus(\"closed\");\n scheduleReconnect();\n };\n }\n\n function close(): void {\n closed = true;\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n if (source) {\n source.close();\n source = null;\n }\n setStatus(\"closed\");\n }\n\n function reconnect(): void {\n if (retryTimer) {\n clearTimeout(retryTimer);\n retryTimer = null;\n }\n retries = 0;\n closed = false;\n connect();\n }\n\n connect();\n\n return {\n close,\n reconnect,\n get status() {\n return status;\n },\n };\n}\n"],"mappings":";;AAkGA,SAAgB,EACZ,GACA,IAAuC,CAAC,GACnB;CACrB,IAAM,EACF,qBAAkB,IAClB,iBAAc,CAAC,GACf,qBAAkB,CAAC,MAAM,GACzB,gBAAa,IACb,oBAAiB,KACjB,gBAAa,KACb,WACA,WACA,cACA,YACA,iBACA,WACA,sBACA,sBACA,GAEA,IAA6B,MAC7B,IAAmD,MACnD,IAAU,GACV,IAA4B,QAC5B,IAAS;CAEb,SAAS,EAAU,GAA+B;EAC1C,MAAW,MACf,IAAS,GACT,IAAiB,CAAI;CACzB;CAEA,SAAS,EAAK,GAAmB,GAA2B;EACxD,IAAI,EAAgB,SAAS,CAAS,GAAG;EACzC,IAAM,IAAU,EACZ,OAAO,EAAM,QAAS,WAAW,EAAM,OAAO,IAC9C,qBACA;GAAE;GAAQ;GAAc;GAAQ;EAAkB,CACtD;EACK,EAAQ,aACb,IAAY;GACR,OAAO;GACP,MAAM,EAAQ;GACd,IAAI,EAAM,eAAe,KAAA;GACzB,KAAK;EACT,CAAC;CACL;CAEA,SAAS,IAA0B;EAC/B,IAAI,GAAQ;EACZ,IAAI,KAAW,GAAY;GACvB,EAAU,OAAO;GACjB;EACJ;EACA,IAAM,IAAQ,KAAK,IAAI,IAAiB,KAAK,GAAS,CAAU;EAEhE,AADA,KAAW,GACX,IAAa,WAAW,GAAS,CAAK;CAC1C;CAEA,SAAS,IAAgB;EACrB,IAAI,GAAQ;EAEZ,AADI,KAAQ,EAAO,MAAM,GACzB,EAAU,YAAY;EAEtB,IAAM,IAAK,IAAI,YAAY,GAAK,EAAE,mBAAgB,CAAC;EASnD,AARA,IAAS,GAET,EAAG,eAAe;GAGd,AAFA,IAAU,GACV,EAAU,MAAM,GAChB,IAAS;EACb,GAEA,EAAG,aAAa,MAAU,EAAK,WAAW,CAAK;EAC/C,KAAK,IAAM,KAAQ,GACf,EAAG,iBAAiB,IAAO,MAAU,EAAK,GAAM,CAAqB,CAAC;EAE1E,KAAK,IAAM,KAAQ,GACf,EAAG,iBAAiB,SAAY,CAEhC,CAAC;EAGL,EAAG,WAAW,MAAU;GAKpB,AAJA,IAAU,CAAK,GACf,EAAG,MAAM,GACT,IAAS,MACT,EAAU,QAAQ,GAClB,EAAkB;EACtB;CACJ;CAEA,SAAS,IAAc;EAWnB,AAVA,IAAS,IACT,AAEI,OADA,aAAa,CAAU,GACV,OAEjB,IAAU,GACV,AAEI,OADA,EAAO,MAAM,GACJ,OAEb,EAAU,QAAQ;CACtB;CAEA,SAAS,IAAkB;EAOvB,AANA,AAEI,OADA,aAAa,CAAU,GACV,OAEjB,IAAU,GACV,IAAS,IACT,EAAQ;CACZ;CAIA,OAFA,EAAQ,GAED;EACH;EACA;EACA,IAAI,SAAS;GACT,OAAO;EACX;CACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-stream.cjs","names":[],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: string,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n\n useEffect(() => {\n if (!enabled || !url) {\n setStatus(\"idle\");\n return;\n }\n\n const controller = createEventStream<T>(url, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":"6GAqCA,SAAgB,EACZ,EACA,EAAoC,CAAC,EACd,CACvB,GAAM,CAAE,UAAU,GAAM,YAAW,GAAG,GAAS,EACzC,CAAC,EAAQ,IAAA,EAAa,EAAA,SAAA,CAA4B,MAAM,EACxD,CAAC,EAAa,IAAA,EAAkB,EAAA,SAAA,CAAuC,IAAI,EAC3E,GAAA,EAAe,EAAA,OAAA,CAA4B,IAAI,EAE/C,EAAe,EAAA,aAAa,CAAS,EAyB3C,OAvBA,EAAA,EAAA,UAAA,KAAgB,CACZ,GAAI,CAAC,GAAW,CAAC,EAAK,CAClB,EAAU,MAAM,EAChB,MACJ,CAEA,IAAM,EAAa,EAAA,kBAAqB,EAAK,CACzC,GAAG,EACH,eAAgB,EAChB,UAAY,GAAY,CACpB,EAAe,CAAO,EACtB,EAAa,UAAU,CAAO,CAClC,CACJ,CAAC,EAGD,MAFA,GAAa,QAAU,EAAW,cAErB,CACT,EAAW,MAAM,EACjB,EAAa,QAAU,IAC3B,CAEJ,EAAG,CAAC,EAAK,CAAO,CAAC,EAEV,CACH,SACA,cACA,cAAiB,EAAa,UAAU,CAC5C,CACJ"}
1
+ {"version":3,"file":"use-event-stream.cjs","names":[],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * Pass `schema` to have every frame validated before it reaches `onMessage`,\n * instead of trusting the type argument: without it `data` is announced as `T`\n * on the strength of the generic alone, which is a promise about the server\n * that TypeScript cannot keep. It is read when the stream opens, so declare it\n * outside the component rather than building one inline per render.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @example\n * // Validated: a frame that does not match never reaches `onMessage`\n * const notificationSchema = z.object({ id: z.string(), message: z.string() });\n *\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * schema: notificationSchema,\n * onValidationError: (issues) => logger.warn(\"stream drift\", { issues }),\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: string,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n\n useEffect(() => {\n if (!enabled || !url) {\n setStatus(\"idle\");\n return;\n }\n\n const controller = createEventStream<T>(url, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":"6GAqDA,SAAgB,EACZ,EACA,EAAoC,CAAC,EACd,CACvB,GAAM,CAAE,UAAU,GAAM,YAAW,GAAG,GAAS,EACzC,CAAC,EAAQ,IAAA,EAAa,EAAA,SAAA,CAA4B,MAAM,EACxD,CAAC,EAAa,IAAA,EAAkB,EAAA,SAAA,CAAuC,IAAI,EAC3E,GAAA,EAAe,EAAA,OAAA,CAA4B,IAAI,EAE/C,EAAe,EAAA,aAAa,CAAS,EAyB3C,OAvBA,EAAA,EAAA,UAAA,KAAgB,CACZ,GAAI,CAAC,GAAW,CAAC,EAAK,CAClB,EAAU,MAAM,EAChB,MACJ,CAEA,IAAM,EAAa,EAAA,kBAAqB,EAAK,CACzC,GAAG,EACH,eAAgB,EAChB,UAAY,GAAY,CACpB,EAAe,CAAO,EACtB,EAAa,UAAU,CAAO,CAClC,CACJ,CAAC,EAGD,MAFA,GAAa,QAAU,EAAW,cAErB,CACT,EAAW,MAAM,EACjB,EAAa,QAAU,IAC3B,CAEJ,EAAG,CAAC,EAAK,CAAO,CAAC,EAEV,CACH,SACA,cACA,cAAiB,EAAa,UAAU,CAC5C,CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-stream.js","names":[],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: string,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n\n useEffect(() => {\n if (!enabled || !url) {\n setStatus(\"idle\");\n return;\n }\n\n const controller = createEventStream<T>(url, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":";;;;AAqCA,SAAgB,EACZ,GACA,IAAoC,CAAC,GACd;CACvB,IAAM,EAAE,aAAU,IAAM,cAAW,GAAG,MAAS,GACzC,CAAC,GAAQ,KAAa,EAA4B,MAAM,GACxD,CAAC,GAAa,KAAkB,EAAuC,IAAI,GAC3E,IAAe,EAA4B,IAAI,GAE/C,IAAe,EAAa,CAAS;CAyB3C,OAvBA,QAAgB;EACZ,IAAI,CAAC,KAAW,CAAC,GAAK;GAClB,EAAU,MAAM;GAChB;EACJ;EAEA,IAAM,IAAa,EAAqB,GAAK;GACzC,GAAG;GACH,gBAAgB;GAChB,YAAY,MAAY;IAEpB,AADA,EAAe,CAAO,GACtB,EAAa,UAAU,CAAO;GAClC;EACJ,CAAC;EAGD,OAFA,EAAa,UAAU,EAAW,iBAErB;GAET,AADA,EAAW,MAAM,GACjB,EAAa,UAAU;EAC3B;CAEJ,GAAG,CAAC,GAAK,CAAO,CAAC,GAEV;EACH;EACA;EACA,iBAAiB,EAAa,UAAU;CAC5C;AACJ"}
1
+ {"version":3,"file":"use-event-stream.js","names":[],"sources":["../../src/sse/use-event-stream.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { useLatestRef } from \"@/hooks/use-latest-ref\";\nimport {\n createEventStream,\n type CreateEventStreamOptions,\n type EventStreamMessage,\n type EventStreamStatus,\n} from \"./create-event-stream\";\n\nexport interface UseEventStreamOptions<T> extends Omit<\n CreateEventStreamOptions<T>,\n \"onStatusChange\"\n> {\n /** When false, the stream is not opened. Useful for \"wait for auth\". Default: true. */\n enabled?: boolean;\n}\n\nexport interface UseEventStreamResult<T> {\n status: EventStreamStatus;\n /** Last message received (excluding heartbeats). */\n lastMessage: EventStreamMessage<T> | null;\n /** Force a reconnect. */\n reconnect: () => void;\n}\n\n/**\n * React hook wrapper around {@link createEventStream}. Connection lifecycle is\n * tied to the component (and the `url`/`enabled` dependencies); the stream\n * closes on unmount.\n *\n * Pass `schema` to have every frame validated before it reaches `onMessage`,\n * instead of trusting the type argument: without it `data` is announced as `T`\n * on the strength of the generic alone, which is a promise about the server\n * that TypeScript cannot keep. It is read when the stream opens, so declare it\n * outside the component rather than building one inline per render.\n *\n * @example\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * enabled: !!user,\n * withCredentials: true,\n * onMessage: ({ data }) => addNotification(data),\n * });\n *\n * @example\n * // Validated: a frame that does not match never reaches `onMessage`\n * const notificationSchema = z.object({ id: z.string(), message: z.string() });\n *\n * useEventStream<Notification>(`${API}/notifications/stream`, {\n * schema: notificationSchema,\n * onValidationError: (issues) => logger.warn(\"stream drift\", { issues }),\n * onMessage: ({ data }) => addNotification(data),\n * });\n */\nexport function useEventStream<T = unknown>(\n url: string,\n options: UseEventStreamOptions<T> = {},\n): UseEventStreamResult<T> {\n const { enabled = true, onMessage, ...rest } = options;\n const [status, setStatus] = useState<EventStreamStatus>(\"idle\");\n const [lastMessage, setLastMessage] = useState<EventStreamMessage<T> | null>(null);\n const reconnectRef = useRef<(() => void) | null>(null);\n\n const onMessageRef = useLatestRef(onMessage);\n\n useEffect(() => {\n if (!enabled || !url) {\n setStatus(\"idle\");\n return;\n }\n\n const controller = createEventStream<T>(url, {\n ...rest,\n onStatusChange: setStatus,\n onMessage: (message) => {\n setLastMessage(message);\n onMessageRef.current?.(message);\n },\n });\n reconnectRef.current = controller.reconnect;\n\n return () => {\n controller.close();\n reconnectRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url, enabled]);\n\n return {\n status,\n lastMessage,\n reconnect: () => reconnectRef.current?.(),\n };\n}\n"],"mappings":";;;;AAqDA,SAAgB,EACZ,GACA,IAAoC,CAAC,GACd;CACvB,IAAM,EAAE,aAAU,IAAM,cAAW,GAAG,MAAS,GACzC,CAAC,GAAQ,KAAa,EAA4B,MAAM,GACxD,CAAC,GAAa,KAAkB,EAAuC,IAAI,GAC3E,IAAe,EAA4B,IAAI,GAE/C,IAAe,EAAa,CAAS;CAyB3C,OAvBA,QAAgB;EACZ,IAAI,CAAC,KAAW,CAAC,GAAK;GAClB,EAAU,MAAM;GAChB;EACJ;EAEA,IAAM,IAAa,EAAqB,GAAK;GACzC,GAAG;GACH,gBAAgB;GAChB,YAAY,MAAY;IAEpB,AADA,EAAe,CAAO,GACtB,EAAa,UAAU,CAAO;GAClC;EACJ,CAAC;EAGD,OAFA,EAAa,UAAU,EAAW,iBAErB;GAET,AADA,EAAW,MAAM,GACjB,EAAa,UAAU;EAC3B;CAEJ,GAAG,CAAC,GAAK,CAAO,CAAC,GAEV;EACH;EACA;EACA,iBAAiB,EAAa,UAAU;CAC5C;AACJ"}
@@ -1,79 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_panel_W0CCy{min-width:0;min-height:0;height:var(--tempest-ai-chat-height,100%);background-color:var(--tempest-bg);color:var(--tempest-text);font-family:var(--tempest-font-sans);flex-direction:column;display:flex}
3
- .tempest_header_KYy5l{padding:var(--tempest-space-3) var(--tempest-space-4);border-bottom:1px solid var(--tempest-border);flex:none}
4
- .tempest_threadWrapper_LjoF6{flex:auto;min-width:0;min-height:0;display:flex;position:relative}
5
- .tempest_thread_RqELz{gap:var(--tempest-space-5);min-width:0;min-height:0;padding:var(--tempest-space-4);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}
6
- .tempest_thread_RqELz:focus-visible{outline:2px solid var(--tempest-primary);outline-offset:-2px}
7
- .tempest_jump_oBKxQ{right:var(--tempest-space-4);bottom:var(--tempest-space-3);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-full);background-color:var(--tempest-surface);width:2rem;height:2rem;color:var(--tempest-text);box-shadow:var(--tempest-shadow-md);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}
8
- .tempest_jump_oBKxQ:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
9
- @media (pointer:coarse){.tempest_jump_oBKxQ:after{content:"";position:absolute;inset:-6px}}
10
- .tempest_turn_k7h7J{gap:var(--tempest-space-2);min-width:0;max-width:var(--tempest-ai-chat-width,48rem);flex-direction:column;width:100%;margin-inline:auto;display:flex}
11
- .tempest_userTurn_7Csx0{align-items:flex-end}
12
- .tempest_systemTurn_xpQmC{padding:var(--tempest-space-2) var(--tempest-space-3);border:1px dashed var(--tempest-border);border-radius:var(--tempest-radius-md);background-color:var(--tempest-surface);color:var(--tempest-text-muted);font-size:var(--tempest-text-sm)}
13
- .tempest_turnHeader_l7lv3{align-items:center;gap:var(--tempest-space-2);min-width:0;display:flex}
14
- .tempest_avatar_XqQ8R{flex:none;display:inline-flex}
15
- .tempest_role_Vz6Dn{color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);font-weight:var(--tempest-weight-semibold)}
16
- .tempest_visuallyHiddenRole_raKmR{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
17
- .tempest_model_Z55Ho,.tempest_time_o07s8{color:var(--tempest-text-muted);font-size:var(--tempest-text-2xs);font-variant-numeric:tabular-nums}
18
- .tempest_body_GnhC7{overflow-wrap:anywhere;min-width:0}
19
- .tempest_userTurn_7Csx0 .tempest_body_GnhC7{padding:var(--tempest-space-2) var(--tempest-space-3);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-primary-soft);color:var(--tempest-primary-on-soft);font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-normal);max-width:min(85%,36rem)}
20
- .tempest_plain_MRQet{white-space:pre-wrap}
21
- .tempest_markdownRoot_nem2U{font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-relaxed)}
22
- .tempest_streamingBody_YMx1->.tempest_markdownRoot_nem2U>:last-child:after{content:"▍";color:var(--tempest-primary);margin-left:.125em;animation:1s steps(2,jump-none) infinite tempest_caretBlink_IpIIw}
23
- @keyframes tempest_caretBlink_IpIIw{to{opacity:.2}}
24
- @media (prefers-reduced-motion:reduce){.tempest_streamingBody_YMx1->.tempest_markdownRoot_nem2U>:last-child:after{animation:none}}
25
- .tempest_dots_FtZUe{align-items:center;gap:3px;display:inline-flex}
26
- .tempest_dots_FtZUe>span{background-color:var(--tempest-text-subtle);width:5px;height:5px;animation:tempest_dotPulse_nZJHU 1.2s var(--tempest-ease-in-out) infinite;border-radius:50%}
27
- .tempest_dots_FtZUe>span:nth-child(2){animation-delay:.15s}
28
- .tempest_dots_FtZUe>span:nth-child(3){animation-delay:.3s}
29
- @keyframes tempest_dotPulse_nZJHU{0%,60%,to{opacity:.25}30%{opacity:1}}
30
- @media (prefers-reduced-motion:reduce){.tempest_dots_FtZUe>span{opacity:.6;animation:none}}
31
- .tempest_thinking_Dk96l{align-items:center;gap:var(--tempest-space-2);max-width:var(--tempest-ai-chat-width,48rem);width:100%;color:var(--tempest-text-muted);font-size:var(--tempest-text-sm);margin:0 auto;display:flex}
32
- .tempest_reasoning_kJof1{border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);background-color:var(--tempest-surface)}
33
- .tempest_reasoning_kJof1 button[aria-expanded]{color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);font-weight:var(--tempest-weight-medium)}
34
- .tempest_reasoning_kJof1 button[aria-expanded=true] .tempest_reasoningChevron_TObJ2{transform:rotate(90deg)}
35
- .tempest_reasoningChevron_TObJ2{transition:transform var(--tempest-duration-fast) var(--tempest-ease-out);flex:none}
36
- @media (prefers-reduced-motion:reduce){.tempest_reasoningChevron_TObJ2{transition:none}}
37
- .tempest_reasoningBody_ZR910{color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);line-height:var(--tempest-leading-relaxed);white-space:pre-wrap}
38
- .tempest_attachments_qQH3a{gap:var(--tempest-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}
39
- .tempest_attachment_z4T-R{align-items:center;gap:var(--tempest-space-2);max-width:16rem;padding:var(--tempest-space-1) var(--tempest-space-2);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);background-color:var(--tempest-surface);font-size:var(--tempest-text-xs);display:inline-flex}
40
- .tempest_attachmentName_2DCGR{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
41
- .tempest_attachmentMeta_xBy5U{color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);flex:none}
42
- .tempest_thumb_w70uR{border-radius:var(--tempest-radius-sm);object-fit:cover;width:4rem;height:4rem;display:block}
43
- .tempest_error_CS0Gp{align-items:center;gap:var(--tempest-space-2);padding:var(--tempest-space-2) var(--tempest-space-3);border:1px solid var(--tempest-danger);border-radius:var(--tempest-radius-md);background-color:var(--tempest-danger-bg);color:var(--tempest-text);font-size:var(--tempest-text-sm);margin:0;display:flex}
44
- .tempest_retry_8a6Vm{color:var(--tempest-danger);font:inherit;font-weight:var(--tempest-weight-medium);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}
45
- .tempest_actions_SZnxe{align-items:center;gap:var(--tempest-space-1);opacity:0;transition:opacity var(--tempest-duration-fast) var(--tempest-ease-out);display:flex}
46
- .tempest_turn_k7h7J:hover .tempest_actions_SZnxe,.tempest_actions_SZnxe:focus-within{opacity:1}
47
- @media (hover:none){.tempest_actions_SZnxe{opacity:1}}
48
- @media (prefers-reduced-motion:reduce){.tempest_actions_SZnxe{transition:none}}
49
- .tempest_actions_SZnxe .tempest_action_YPvQH{border-radius:var(--tempest-radius-sm);width:1.75rem;height:1.75rem;color:var(--tempest-text-muted);cursor:pointer;transition:var(--tempest-transition-color);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}
50
- @media (pointer:coarse){.tempest_actions_SZnxe .tempest_action_YPvQH:after{content:"";position:absolute;inset:-8px}}
51
- @media (hover:hover) and (pointer:fine){.tempest_actions_SZnxe .tempest_action_YPvQH:hover{background-color:var(--tempest-surface-2);color:var(--tempest-text)}}
52
- .tempest_actions_SZnxe .tempest_action_YPvQH:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:1px}
53
- .tempest_actions_SZnxe .tempest_action_YPvQH[data-copied],.tempest_actions_SZnxe .tempest_actionActive_DW5O1{color:var(--tempest-primary);background:0 0}
54
- @media (prefers-reduced-motion:reduce){.tempest_actions_SZnxe .tempest_action_YPvQH{transition:none}}
55
- .tempest_editor_rk4hA{gap:var(--tempest-space-2);flex-direction:column;width:100%;max-width:min(85%,36rem);display:flex}
56
- .tempest_editField_Z9neJ{width:100%;padding:var(--tempest-space-2) var(--tempest-space-3);border:1px solid var(--tempest-primary);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-bg);color:var(--tempest-text);font:inherit;font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-normal);resize:vertical}
57
- .tempest_editField_Z9neJ:focus-visible{outline:2px solid var(--tempest-primary);outline-offset:-1px}
58
- .tempest_editActions_vfC0b{justify-content:flex-end;gap:var(--tempest-space-2);display:flex}
59
- .tempest_ghost_S1yuC{padding:var(--tempest-space-1) var(--tempest-space-3);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);color:var(--tempest-text);font:inherit;font-size:var(--tempest-text-sm);cursor:pointer;background-color:#0000}
60
- .tempest_primary_wZ-Wu{padding:var(--tempest-space-1) var(--tempest-space-3);border-radius:var(--tempest-radius-md);background-color:var(--tempest-primary);color:var(--tempest-primary-foreground);font:inherit;font-size:var(--tempest-text-sm);font-weight:var(--tempest-weight-medium);cursor:pointer;border:none}
61
- .tempest_primary_wZ-Wu:disabled{background-color:var(--tempest-surface-3);color:var(--tempest-text-subtle);cursor:not-allowed}
62
- .tempest_suggestions_V7Zhh{align-items:flex-start;gap:var(--tempest-space-2);max-width:var(--tempest-ai-chat-width,48rem);flex-direction:column;width:100%;margin:auto auto 0;display:flex}
63
- .tempest_suggestionsTitle_Z-wWe{color:var(--tempest-text-muted);font-size:var(--tempest-text-sm);margin:0}
64
- .tempest_suggestion_4NYhq{padding:var(--tempest-space-2) var(--tempest-space-3);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);background-color:var(--tempest-surface);color:var(--tempest-text);font:inherit;font-size:var(--tempest-text-sm);text-align:left;cursor:pointer}
65
- @media (hover:hover) and (pointer:fine){.tempest_suggestion_4NYhq:hover{background-color:var(--tempest-surface-2)}}
66
- .tempest_suggestion_4NYhq:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
67
- .tempest_composer_AaB1Q{gap:var(--tempest-space-1);padding:var(--tempest-space-3) var(--tempest-space-4);border-top:1px solid var(--tempest-border);flex-direction:column;flex:none;display:flex}
68
- .tempest_composerBox_Fz-GG{align-items:flex-end;gap:var(--tempest-space-2);max-width:var(--tempest-ai-chat-width,48rem);width:100%;padding:var(--tempest-space-2);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-surface);margin-inline:auto;display:flex}
69
- .tempest_composerBox_Fz-GG:focus-within{border-color:var(--tempest-primary)}
70
- .tempest_field_7m1Pa{min-width:0;padding:var(--tempest-space-1) var(--tempest-space-2);color:inherit;font:inherit;font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-normal);resize:none;background:0 0;border:none;flex:auto}
71
- .tempest_field_7m1Pa:focus-visible{outline:none}
72
- .tempest_field_7m1Pa:disabled{color:var(--tempest-text-subtle);cursor:not-allowed}
73
- .tempest_composerActions_z1oj9{align-items:center;gap:var(--tempest-space-2);flex:none;display:flex}
74
- .tempest_composerFooter_WZ1Fo{max-width:var(--tempest-ai-chat-width,48rem);width:100%;padding-inline:var(--tempest-space-2);color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);margin-inline:auto}
75
- .tempest_send_eVkd6{padding:var(--tempest-space-2) var(--tempest-space-4);border-radius:var(--tempest-radius-md);background-color:var(--tempest-primary);color:var(--tempest-primary-foreground);font:inherit;font-size:var(--tempest-text-sm);font-weight:var(--tempest-weight-medium);cursor:pointer;border:none}
76
- .tempest_send_eVkd6:disabled{background-color:var(--tempest-surface-3);color:var(--tempest-text-subtle);cursor:not-allowed}
77
- .tempest_stop_KWS9o{align-items:center;gap:var(--tempest-space-2);padding:var(--tempest-space-2) var(--tempest-space-4);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);background-color:var(--tempest-surface-2);color:var(--tempest-text);font:inherit;font-size:var(--tempest-text-sm);font-weight:var(--tempest-weight-medium);cursor:pointer;display:inline-flex}
78
- .tempest_stopGlyph_Nc19c{background-color:currentColor;border-radius:2px;width:.625rem;height:.625rem;display:inline-block}
79
- @media (width<=480px){.tempest_thread_RqELz{gap:var(--tempest-space-4);padding:var(--tempest-space-3)}.tempest_userTurn_7Csx0 .tempest_body_GnhC7,.tempest_editor_rk4hA{max-width:100%}.tempest_composer_AaB1Q{padding:var(--tempest-space-2) var(--tempest-space-3)}}
2
+ @import "./component/AIChat.css";
@@ -1,12 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_accordion_LVhhv{border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-bg);flex-direction:column;width:100%;display:flex;overflow:hidden}
3
- .tempest_item_7ryVk{border-bottom:1px solid var(--tempest-border)}
4
- .tempest_item_7ryVk:last-child{border-bottom:none}
5
- .tempest_header_WaTdJ{margin:0}
6
- .tempest_trigger_9BYFY{justify-content:space-between;align-items:center;gap:var(--tempest-space-3);width:100%;padding:var(--tempest-space-3) var(--tempest-space-4);text-align:left;color:var(--tempest-text);font-family:var(--tempest-font-sans);font-size:var(--tempest-text-base);font-weight:var(--tempest-weight-semibold);line-height:var(--tempest-leading-snug);cursor:pointer;transition:var(--tempest-transition-color);background:0 0;border:none;display:flex}
7
- @media (hover:hover) and (pointer:fine){.tempest_trigger_9BYFY:hover{background-color:var(--tempest-surface)}}
8
- .tempest_trigger_9BYFY:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:-2px}
9
- .tempest_trigger_9BYFY:disabled{opacity:.55;cursor:not-allowed}
10
- .tempest_chevron_i-HVZ{transition:transform var(--tempest-duration-base) var(--tempest-ease-emphasized);color:var(--tempest-text-muted);flex-shrink:0}
11
- .tempest_open_98jLY .tempest_chevron_i-HVZ{transform:rotate(180deg)}
12
- .tempest_panel_Wx50w{padding:0 var(--tempest-space-4) var(--tempest-space-4);color:var(--tempest-text);line-height:var(--tempest-leading-normal)}
2
+ @import "./component/Accordion.css";
@@ -1,32 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_alert_7cYyI{align-items:flex-start;gap:var(--tempest-space-3);padding:var(--tempest-space-3) var(--tempest-space-4);border-radius:var(--tempest-radius-lg);font-family:var(--tempest-font-sans);font-size:var(--tempest-text-base);line-height:var(--tempest-leading-snug);color:var(--tempest-text);border:1px solid #0000;width:100%;display:flex}
3
- .tempest_content_UXnmZ{flex:1;min-width:0}
4
- .tempest_title_abGgF{font-size:var(--tempest-text-base);font-weight:var(--tempest-weight-semibold);line-height:var(--tempest-leading-snug);margin:0}
5
- .tempest_description_pXPvw{font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-snug);color:var(--tempest-text-muted);margin:2px 0 0}
6
- .tempest_icon_Zg6SB{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:inline-flex}
7
- .tempest_close_narep{color:inherit;opacity:.7;border-radius:var(--tempest-radius-sm);transition:var(--tempest-transition-color), opacity var(--tempest-duration-fast) var(--tempest-ease-out);background:0 0;border:none;align-items:center;margin-left:auto;padding:4px;display:flex}
8
- .tempest_close_narep:hover{opacity:1;background-color:#0f172a0f}
9
- .tempest_close_narep:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:var(--tempest-focus-ring-offset)}
10
- .tempest_neutral_J7MH1{background-color:var(--tempest-surface);color:var(--tempest-text);border-color:var(--tempest-border)}
11
- .tempest_neutral_J7MH1.tempest_solid_s-oW5{background-color:var(--tempest-gray-700);color:var(--tempest-neutral-on-solid);border-color:#0000}
12
- .tempest_neutral_J7MH1.tempest_outline_v7w9b{border-color:var(--tempest-border-strong);background-color:#0000}
13
- .tempest_info_9r3r1{background-color:var(--tempest-info-bg);color:var(--tempest-info-fg);border-color:var(--tempest-info-border)}
14
- .tempest_info_9r3r1 .tempest_description_pXPvw{color:var(--tempest-info-fg);opacity:.85}
15
- .tempest_info_9r3r1.tempest_solid_s-oW5{background-color:var(--tempest-info-solid);color:var(--tempest-info-on-solid);border-color:#0000}
16
- .tempest_info_9r3r1.tempest_solid_s-oW5 .tempest_description_pXPvw{color:#ffffffe6}
17
- .tempest_info_9r3r1.tempest_outline_v7w9b{color:var(--tempest-info);border-color:var(--tempest-info);background-color:#0000}
18
- .tempest_success_1bzoB{background-color:var(--tempest-success-bg);color:var(--tempest-success-fg);border-color:var(--tempest-success-border)}
19
- .tempest_success_1bzoB .tempest_description_pXPvw{color:var(--tempest-success-fg);opacity:.85}
20
- .tempest_success_1bzoB.tempest_solid_s-oW5{background-color:var(--tempest-success-solid);color:var(--tempest-success-on-solid);border-color:#0000}
21
- .tempest_success_1bzoB.tempest_solid_s-oW5 .tempest_description_pXPvw{color:#ffffffe6}
22
- .tempest_success_1bzoB.tempest_outline_v7w9b{color:var(--tempest-success);border-color:var(--tempest-success);background-color:#0000}
23
- .tempest_warning_q-j1Q{background-color:var(--tempest-warning-bg);color:var(--tempest-warning-fg);border-color:var(--tempest-warning-border)}
24
- .tempest_warning_q-j1Q .tempest_description_pXPvw{color:var(--tempest-warning-fg);opacity:.85}
25
- .tempest_warning_q-j1Q.tempest_solid_s-oW5{background-color:var(--tempest-warning-solid);color:var(--tempest-warning-on-solid);border-color:#0000}
26
- .tempest_warning_q-j1Q.tempest_solid_s-oW5 .tempest_description_pXPvw{color:#ffffffe6}
27
- .tempest_warning_q-j1Q.tempest_outline_v7w9b{color:var(--tempest-warning);border-color:var(--tempest-warning);background-color:#0000}
28
- .tempest_danger_CiZkW{background-color:var(--tempest-danger-bg);color:var(--tempest-danger-fg);border-color:var(--tempest-danger-border)}
29
- .tempest_danger_CiZkW .tempest_description_pXPvw{color:var(--tempest-danger-fg);opacity:.85}
30
- .tempest_danger_CiZkW.tempest_solid_s-oW5{background-color:var(--tempest-danger-solid);color:var(--tempest-danger-on-solid);border-color:#0000}
31
- .tempest_danger_CiZkW.tempest_solid_s-oW5 .tempest_description_pXPvw{color:#ffffffe6}
32
- .tempest_danger_CiZkW.tempest_outline_v7w9b{color:var(--tempest-danger);border-color:var(--tempest-danger);background-color:#0000}
2
+ @import "./component/Alert.css";
@@ -1,17 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_bar_SHqWS{align-items:center;gap:var(--tempest-space-2);width:100%;min-height:56px;padding:var(--tempest-space-3) var(--tempest-space-4);font-family:var(--tempest-font-sans);grid-template-columns:auto 1fr auto;display:grid}
3
- .tempest_bar_SHqWS.tempest_centered_S0CCw{grid-template-columns:1fr auto 1fr}
4
- .tempest_bar_SHqWS.tempest_surface_fusKb{background:var(--tempest-surface);color:var(--tempest-text)}
5
- .tempest_bar_SHqWS.tempest_primary_QcCyN{background:var(--tempest-primary);color:var(--tempest-primary-foreground)}
6
- .tempest_bar_SHqWS.tempest_transparent_uGrsu{color:inherit;background:0 0}
7
- .tempest_bar_SHqWS.tempest_bordered_5M9FZ{border-bottom:1px solid var(--tempest-border)}
8
- .tempest_bar_SHqWS.tempest_sticky_DStUO{z-index:30;position:sticky;top:0}
9
- .tempest_bar_SHqWS.tempest_safeArea_Vo3Bi{padding-top:max(var(--tempest-space-3), env(safe-area-inset-top,0px))}
10
- .tempest_leading_mXv-d{align-items:center;gap:var(--tempest-space-2);min-width:0;display:flex}
11
- .tempest_actions_x7tMx{justify-content:flex-end;align-items:center;gap:var(--tempest-space-1);min-width:0;display:flex}
12
- .tempest_title_qaMMQ{min-width:0;font-size:var(--tempest-text-xl);font-weight:var(--tempest-weight-bold);text-align:left;white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.2;overflow:hidden}
13
- .tempest_bar_SHqWS.tempest_centered_S0CCw .tempest_title_qaMMQ{text-align:center}
14
- .tempest_brand_xKt54{font-size:var(--tempest-text-lg);font-weight:var(--tempest-weight-bold);color:inherit;white-space:nowrap}
15
- .tempest_iconBtn_S-BTg{border-radius:var(--tempest-radius-full);width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}
16
- .tempest_iconBtn_S-BTg:hover{background:var(--tempest-surface-2)}
17
- .tempest_iconBtn_S-BTg:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:var(--tempest-focus-ring-offset)}
2
+ @import "./component/AppBar.css";
@@ -1,8 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_shell_-xp0O{background:var(--tempest-bg);width:100%;min-height:100dvh;color:var(--tempest-text);font-family:var(--tempest-font-sans);flex-direction:column;display:flex}
3
- .tempest_navbar_liTKV{flex:none}
4
- .tempest_row_PE41P{flex:auto;width:100%;min-height:0;display:flex}
5
- .tempest_sidebar_wyx-V{flex:none}
6
- .tempest_main_O3GFv{flex:auto;min-width:0;overflow-x:auto}
7
- .tempest_footer_IFW4q{flex:none}
8
- .tempest_bottomNav_pKJ1v{z-index:30;flex:none;position:sticky;bottom:0}
2
+ @import "./component/AppShell.css";
@@ -1,3 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_aspect_GnAJt{width:100%;position:relative}
3
- .tempest_aspect_GnAJt>*{width:100%;height:100%}
2
+ @import "./component/AspectRatio.css";
@@ -1,13 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_player_NEgFD{align-items:center;gap:var(--tempest-space-3);min-width:0;padding:var(--tempest-space-2) var(--tempest-space-3);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-surface);color:var(--tempest-text);font-family:var(--tempest-font-sans);display:flex}
3
- .tempest_transport_-7WMK{border-radius:var(--tempest-radius-full);background-color:var(--tempest-primary);width:2.25rem;height:2.25rem;color:var(--tempest-primary-foreground);cursor:pointer;transition:var(--tempest-transition-color);border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}
4
- .tempest_transport_-7WMK:disabled{background-color:var(--tempest-surface-3);color:var(--tempest-text-subtle);cursor:not-allowed}
5
- .tempest_transport_-7WMK:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
6
- @media (prefers-reduced-motion:reduce){.tempest_transport_-7WMK{transition:none}}
7
- .tempest_seek_-iy4f{min-width:3rem;height:1.25rem;accent-color:var(--tempest-primary);cursor:pointer;background:0 0;flex:auto;margin:0}
8
- .tempest_seek_-iy4f:disabled{accent-color:var(--tempest-surface-3);cursor:not-allowed}
9
- .tempest_seek_-iy4f:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px;border-radius:var(--tempest-radius-sm)}
10
- .tempest_time_zNVm8{gap:var(--tempest-space-1);color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);font-variant-numeric:tabular-nums;flex:none;display:inline-flex}
11
- .tempest_actions_QZ7Yn{align-items:center;gap:var(--tempest-space-1);flex:none;display:inline-flex}
12
- @media (pointer:coarse){.tempest_transport_-7WMK:after{content:"";position:absolute;inset:-4px}}
13
- @media (width<=480px){.tempest_player_NEgFD{gap:var(--tempest-space-2);padding:var(--tempest-space-2)}}
2
+ @import "./component/AudioPlayer.css";
@@ -1,20 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_recorder_4p8pT{gap:var(--tempest-space-2);min-width:0;padding:var(--tempest-space-3);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-bg);color:var(--tempest-text);font-family:var(--tempest-font-sans);flex-direction:column;display:flex}
3
- .tempest_row_gNlbi{align-items:center;gap:var(--tempest-space-2);flex-wrap:wrap;min-width:0;display:flex}
4
- .tempest_record_dhkt8,.tempest_stop_yMMLh,.tempest_secondary_C13wq{align-items:center;gap:var(--tempest-space-2);padding:var(--tempest-space-2) var(--tempest-space-3);border-radius:var(--tempest-radius-md);font:inherit;font-size:var(--tempest-text-sm);font-weight:var(--tempest-weight-medium);cursor:pointer;transition:var(--tempest-transition-color);border:1px solid #0000;flex:none;display:inline-flex;position:relative}
5
- .tempest_record_dhkt8{background-color:var(--tempest-primary);color:var(--tempest-primary-foreground)}
6
- .tempest_record_dhkt8:disabled{background-color:var(--tempest-surface-3);color:var(--tempest-text-subtle);cursor:not-allowed}
7
- .tempest_stop_yMMLh{border-color:var(--tempest-danger);background-color:var(--tempest-danger-bg);color:var(--tempest-danger-fg)}
8
- .tempest_secondary_C13wq{border-color:var(--tempest-border);background-color:var(--tempest-surface);color:var(--tempest-text);padding-inline:var(--tempest-space-2)}
9
- .tempest_record_dhkt8:focus-visible,.tempest_stop_yMMLh:focus-visible,.tempest_secondary_C13wq:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
10
- @media (prefers-reduced-motion:reduce){.tempest_record_dhkt8,.tempest_stop_yMMLh,.tempest_secondary_C13wq{transition:none}}
11
- @media (pointer:coarse){.tempest_secondary_C13wq:after{content:"";position:absolute;inset:-6px}}
12
- .tempest_meter_6QDc9{border-radius:var(--tempest-radius-full);background-color:var(--tempest-surface-2);flex:6rem;min-width:3rem;height:.5rem;overflow:hidden}
13
- .tempest_meterFill_oUoGY{background-color:var(--tempest-success);transform-origin:0;width:100%;height:100%;transition:transform 80ms linear;display:block;transform:scaleX(0)}
14
- @media (prefers-reduced-motion:reduce){.tempest_meterFill_oUoGY{transition:none}}
15
- .tempest_clock_VGvvJ{color:var(--tempest-text);font-size:var(--tempest-text-sm);font-variant-numeric:tabular-nums;flex:none}
16
- .tempest_max_kx9VL{color:var(--tempest-text-muted)}
17
- .tempest_status_v2kHH{min-height:1.25em;color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);margin:0}
18
- .tempest_notice_MtPVY{color:var(--tempest-text-muted);font-size:var(--tempest-text-sm);margin:0}
19
- .tempest_footer_tfueB{color:var(--tempest-text-muted);font-size:var(--tempest-text-xs)}
20
- @media (width<=480px){.tempest_recorder_4p8pT{padding:var(--tempest-space-2)}.tempest_meter_6QDc9{flex-basis:100%;order:1}}
2
+ @import "./component/AudioRecorder.css";
@@ -1,13 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_avatar_3xMuZ{background-color:var(--tempest-surface-2);color:var(--tempest-text);font-family:var(--tempest-font-sans);font-weight:var(--tempest-weight-semibold);text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}
3
- .tempest_image_ieqGp{object-fit:cover;width:100%;height:100%}
4
- .tempest_xs_oSaLL{width:24px;height:24px;font-size:var(--tempest-text-2xs)}
5
- .tempest_sm_sZ2bk{width:32px;height:32px;font-size:var(--tempest-text-xs)}
6
- .tempest_md_Fdkbz{width:40px;height:40px;font-size:var(--tempest-text-base)}
7
- .tempest_lg_pTTUA{width:56px;height:56px;font-size:var(--tempest-text-xl)}
8
- .tempest_xl_mW58F{width:80px;height:80px;font-size:var(--tempest-text-3xl)}
9
- .tempest_status_ISBnL{position:relative}
10
- .tempest_dot_Wgfo-{border:2px solid var(--tempest-bg);border-radius:50%;width:28%;height:28%;position:absolute;bottom:0;right:0}
11
- .tempest_dot_Wgfo-.tempest_online_-aWoW{background-color:var(--tempest-success-solid)}
12
- .tempest_dot_Wgfo-.tempest_offline_-StX3{background-color:var(--tempest-text-subtle)}
13
- .tempest_dot_Wgfo-.tempest_busy_TbwuF{background-color:var(--tempest-danger-solid)}
2
+ @import "./component/Avatar.css";
@@ -1,18 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_group_qCSYk{align-items:center;display:inline-flex}
3
- .tempest_slot_KyJQJ{border-radius:var(--tempest-radius-full);box-shadow:0 0 0 2px var(--tempest-bg);display:inline-flex}
4
- .tempest_slot_KyJQJ+.tempest_slot_KyJQJ{margin-inline-start:var(--tempest-avatar-overlap,-10px)}
5
- .tempest_xs_PPTP5 .tempest_slot_KyJQJ+.tempest_slot_KyJQJ{margin-inline-start:var(--tempest-avatar-overlap,-8px)}
6
- .tempest_sm_ptoRA .tempest_slot_KyJQJ+.tempest_slot_KyJQJ{margin-inline-start:var(--tempest-avatar-overlap,-10px)}
7
- .tempest_md_YbE61 .tempest_slot_KyJQJ+.tempest_slot_KyJQJ{margin-inline-start:var(--tempest-avatar-overlap,-12px)}
8
- .tempest_lg_oAEMY .tempest_slot_KyJQJ+.tempest_slot_KyJQJ{margin-inline-start:var(--tempest-avatar-overlap,-16px)}
9
- .tempest_xl_78RZG .tempest_slot_KyJQJ+.tempest_slot_KyJQJ{margin-inline-start:var(--tempest-avatar-overlap,-22px)}
10
- .tempest_overflow_JZIo-{box-sizing:border-box;border-radius:var(--tempest-radius-full);background-color:var(--tempest-surface-3);width:40px;height:40px;color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);font-weight:var(--tempest-weight-medium);font-variant-numeric:tabular-nums;border:0;justify-content:center;align-items:center;display:inline-flex}
11
- .tempest_xs_PPTP5 .tempest_overflow_JZIo-{width:24px;height:24px;font-size:var(--tempest-text-2xs)}
12
- .tempest_sm_ptoRA .tempest_overflow_JZIo-{width:32px;height:32px}
13
- .tempest_lg_oAEMY .tempest_overflow_JZIo-{width:56px;height:56px;font-size:var(--tempest-text-sm)}
14
- .tempest_xl_78RZG .tempest_overflow_JZIo-{width:80px;height:80px;font-size:var(--tempest-text-base)}
15
- .tempest_overflowButton_hSf-2{cursor:pointer;transition:background-color var(--tempest-duration-fast) var(--tempest-ease-out)}
16
- .tempest_overflowButton_hSf-2:hover{background-color:var(--tempest-border-strong);color:var(--tempest-text)}
17
- .tempest_overflowButton_hSf-2:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:var(--tempest-focus-ring-offset)}
18
- @media (prefers-reduced-motion:reduce){.tempest_overflowButton_hSf-2{transition:none}}
2
+ @import "./component/AvatarGroup.css";
@@ -1,25 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_badge_RsuMz{align-items:center;gap:var(--tempest-space-1);padding:2px var(--tempest-space-2);border-radius:var(--tempest-radius-full);font-family:var(--tempest-font-sans);font-size:var(--tempest-text-xs);font-weight:var(--tempest-weight-semibold);line-height:var(--tempest-leading-snug);letter-spacing:var(--tempest-tracking-normal);white-space:nowrap;border:1px solid #0000;display:inline-flex}
3
- .tempest_sm_LYsCn{padding:1px var(--tempest-space-2);font-size:var(--tempest-text-2xs)}
4
- .tempest_md_4Or8q{padding:2px var(--tempest-space-2);font-size:var(--tempest-text-xs)}
5
- .tempest_lg_Bseje{padding:3px var(--tempest-space-3);font-size:var(--tempest-text-sm)}
6
- .tempest_square_l63D-{border-radius:var(--tempest-radius-sm)}
7
- .tempest_neutral_lulSm{background-color:var(--tempest-surface-2);color:var(--tempest-text)}
8
- .tempest_neutral_lulSm.tempest_solid_0Leug{background-color:var(--tempest-gray-700);color:var(--tempest-neutral-on-solid)}
9
- .tempest_neutral_lulSm.tempest_outline_x06HL{color:var(--tempest-text);border-color:var(--tempest-border-strong);background-color:#0000}
10
- .tempest_success_u9JiS{background-color:var(--tempest-success-bg);color:var(--tempest-success-fg)}
11
- .tempest_success_u9JiS.tempest_solid_0Leug{background-color:var(--tempest-success-solid);color:var(--tempest-success-on-solid)}
12
- .tempest_success_u9JiS.tempest_outline_x06HL{color:var(--tempest-success);border-color:var(--tempest-success-border);background-color:#0000}
13
- .tempest_warning_nsGp-{background-color:var(--tempest-warning-bg);color:var(--tempest-warning-fg)}
14
- .tempest_warning_nsGp-.tempest_solid_0Leug{background-color:var(--tempest-warning-solid);color:var(--tempest-warning-on-solid)}
15
- .tempest_warning_nsGp-.tempest_outline_x06HL{color:var(--tempest-warning);border-color:var(--tempest-warning-border);background-color:#0000}
16
- .tempest_danger_PD2hz{background-color:var(--tempest-danger-bg);color:var(--tempest-danger-fg)}
17
- .tempest_danger_PD2hz.tempest_solid_0Leug{background-color:var(--tempest-danger-solid);color:var(--tempest-danger-on-solid)}
18
- .tempest_danger_PD2hz.tempest_outline_x06HL{color:var(--tempest-danger);border-color:var(--tempest-danger-border);background-color:#0000}
19
- .tempest_info_na6DQ{background-color:var(--tempest-info-bg);color:var(--tempest-info-fg)}
20
- .tempest_info_na6DQ.tempest_solid_0Leug{background-color:var(--tempest-info-solid);color:var(--tempest-info-on-solid)}
21
- .tempest_info_na6DQ.tempest_outline_x06HL{color:var(--tempest-info);border-color:var(--tempest-info-border);background-color:#0000}
22
- .tempest_primary_S0WCS{background-color:var(--tempest-primary-soft);color:var(--tempest-primary-on-soft)}
23
- .tempest_primary_S0WCS.tempest_solid_0Leug{background-color:var(--tempest-primary);color:var(--tempest-primary-foreground)}
24
- .tempest_primary_S0WCS.tempest_outline_x06HL{color:var(--tempest-primary);border-color:var(--tempest-primary);background-color:#0000}
25
- .tempest_dot_i0c-G{border-radius:var(--tempest-radius-full);background-color:currentColor;flex-shrink:0;width:6px;height:6px;display:inline-block}
2
+ @import "./component/Badge.css";
@@ -1,13 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_banner_oyoWE{align-items:flex-start;gap:var(--tempest-space-3);padding:var(--tempest-space-3) var(--tempest-space-4);border-radius:var(--tempest-radius-md);width:100%;font-family:var(--tempest-font-sans);font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-snug);border:1px solid;display:flex}
3
- .tempest_banner_oyoWE.tempest_info_s2q0P{background:var(--tempest-info-bg);color:var(--tempest-info-fg);border-color:var(--tempest-info-border)}
4
- .tempest_banner_oyoWE.tempest_success_uLYQ3{background:var(--tempest-success-bg);color:var(--tempest-success-fg);border-color:var(--tempest-success-border)}
5
- .tempest_banner_oyoWE.tempest_warning_9rua8{background:var(--tempest-warning-bg);color:var(--tempest-warning-fg);border-color:var(--tempest-warning-border)}
6
- .tempest_banner_oyoWE.tempest_danger_Uzb-6{background:var(--tempest-danger-bg);color:var(--tempest-danger-fg);border-color:var(--tempest-danger-border)}
7
- .tempest_icon_vzKmx{flex:none;align-items:center;line-height:1;display:inline-flex}
8
- .tempest_body_-Qm4K{flex:auto;min-width:0}
9
- .tempest_title_AeTHT{margin:0 0 var(--tempest-space-1);font-weight:var(--tempest-weight-semibold)}
10
- .tempest_description_nbyf-{margin:0}
11
- .tempest_action_47P8e{flex:none}
12
- .tempest_close_Iy2oN{color:currentColor;cursor:pointer;border-radius:var(--tempest-radius-sm);background:0 0;border:0;flex:none;width:24px;height:24px;padding:0;font-size:20px;line-height:1}
13
- .tempest_close_Iy2oN:hover{background:color-mix(in srgb, currentColor 10%, transparent)}
2
+ @import "./component/Banner.css";
@@ -1,10 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_list_XtltA{gap:var(--tempest-space-3,.75rem);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}
3
- .tempest_item_y-W9f{gap:var(--tempest-space-1,.25rem);flex-direction:column;display:flex}
4
- .tempest_line_WKQ57{justify-content:space-between;align-items:baseline;gap:var(--tempest-space-3,.75rem);font-size:var(--tempest-text-sm);display:flex}
5
- .tempest_label_AywVf{min-width:0;color:var(--tempest-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
6
- .tempest_value_Y0DD0{align-items:baseline;gap:var(--tempest-space-2,.5rem);color:var(--tempest-text);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}
7
- .tempest_percentage_YTyMa{color:var(--tempest-text-subtle);font-size:var(--tempest-text-xs)}
8
- .tempest_track_OVSC3{border-radius:var(--tempest-radius-sm,.25rem);background-color:var(--tempest-surface-2);width:100%;height:.5rem;overflow:hidden}
9
- .tempest_fill_kg-Vl{border-radius:inherit;height:100%;transition:width var(--tempest-duration-base) ease}
10
- @media (prefers-reduced-motion:reduce){.tempest_fill_kg-Vl{transition:none}}
2
+ @import "./component/BarList.css";
@@ -1,21 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_scanner_pIsey{gap:var(--tempest-space-2);min-width:0;color:var(--tempest-text);font-family:var(--tempest-font-sans);flex-direction:column;display:flex}
3
- .tempest_viewport_PA5gg{border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-surface-3);width:100%;position:relative;overflow:hidden}
4
- .tempest_video_vxiea{object-fit:cover;width:100%;height:100%;display:block}
5
- .tempest_frame_sWB0M{background-image:linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0), linear-gradient(var(--tempest-primary) 0 0);pointer-events:none;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:22% 3px,3px 22%,22% 3px,3px 22%,22% 3px,3px 22%,22% 3px,3px 22%;position:absolute;inset:12%}
6
- .tempest_laser_wloBH{background-color:var(--tempest-primary);opacity:.35;height:2px;position:absolute;top:0;left:0;right:0}
7
- .tempest_laserActive_cCUwf{opacity:.9;animation:1.6s ease-in-out infinite alternate tempest_tempest-barcode-sweep_UmIe5}
8
- @keyframes tempest_tempest-barcode-sweep_UmIe5{0%{top:0}to{top:calc(100% - 2px)}}
9
- @media (prefers-reduced-motion:reduce){.tempest_laserActive_cCUwf{animation:none}}
10
- .tempest_torch_aw7tt{top:var(--tempest-space-2);right:var(--tempest-space-2);padding:var(--tempest-space-2);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-full);background-color:var(--tempest-surface);color:var(--tempest-text);cursor:pointer;transition:var(--tempest-transition-color);justify-content:center;align-items:center;display:inline-flex;position:absolute}
11
- .tempest_torch_aw7tt[aria-pressed=true]{border-color:var(--tempest-warning);background-color:var(--tempest-warning-bg);color:var(--tempest-warning-fg)}
12
- .tempest_torch_aw7tt:focus-visible,.tempest_retry_3K88V:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
13
- @media (prefers-reduced-motion:reduce){.tempest_torch_aw7tt{transition:none}}
14
- @media (pointer:coarse){.tempest_torch_aw7tt:after{content:"";position:absolute;inset:-8px}}
15
- .tempest_overlay_ZWMCa{justify-content:center;align-items:center;gap:var(--tempest-space-2);padding:var(--tempest-space-3);background-color:var(--tempest-surface);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}
16
- .tempest_overlayText_jBln2{color:var(--tempest-text);font-size:var(--tempest-text-sm);margin:0}
17
- .tempest_retry_3K88V{padding:var(--tempest-space-2) var(--tempest-space-3);border-radius:var(--tempest-radius-md);background-color:var(--tempest-primary);color:var(--tempest-primary-foreground);font:inherit;font-size:var(--tempest-text-sm);font-weight:var(--tempest-weight-medium);cursor:pointer;border:1px solid #0000}
18
- .tempest_status_9eKPi{align-items:center;gap:var(--tempest-space-1);min-height:1.25em;color:var(--tempest-text-muted);font-size:var(--tempest-text-xs);margin:0;display:flex}
19
- .tempest_statusIcon_k2Hmu{flex:none}
20
- .tempest_notice_ELics{padding:var(--tempest-space-3);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);background-color:var(--tempest-surface);color:var(--tempest-text-muted);font-size:var(--tempest-text-sm);margin:0}
21
- .tempest_footer_6SO7U{color:var(--tempest-text-muted);font-size:var(--tempest-text-xs)}
2
+ @import "./component/BarcodeScanner.css";
@@ -1,10 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_bar_kp35Q{background:var(--tempest-surface);border-top:1px solid var(--tempest-border);width:100%;padding-bottom:env(safe-area-inset-bottom,0);font-family:var(--tempest-font-sans);display:flex}
3
- .tempest_item_XfDIW{cursor:pointer;color:var(--tempest-text-muted);font-size:var(--tempest-text-2xs);transition:color var(--tempest-duration-fast,.12s) var(--tempest-ease-out,ease-out);background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:8px 4px;display:flex}
4
- .tempest_item_XfDIW:hover{color:var(--tempest-text)}
5
- .tempest_item_XfDIW.tempest_active_sK54f{color:var(--tempest-primary)}
6
- .tempest_item_XfDIW:disabled{opacity:.4;cursor:not-allowed}
7
- .tempest_iconWrap_yJ20b{display:inline-flex;position:relative}
8
- .tempest_icon_TAjtI{justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}
9
- .tempest_badge_-c3Do{border-radius:var(--tempest-radius-full);background:var(--tempest-danger-solid);min-width:14px;height:14px;color:var(--tempest-danger-on-solid);text-align:center;font-size:10px;line-height:14px;font-weight:var(--tempest-weight-semibold);padding:0 4px;position:absolute;top:-4px;right:-8px}
10
- .tempest_label_qJj3L{line-height:1}
2
+ @import "./component/BottomNavigation.css";
@@ -1,11 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_root_qXce2{z-index:60;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}
3
- .tempest_backdrop_WLqh0{animation:tempest_fadeIn_fyyhf var(--tempest-duration-base,.2s) var(--tempest-ease-out,ease-out);background:#00000073;position:absolute;inset:0}
4
- .tempest_sheet_Okz1P{background:var(--tempest-surface);border-top-left-radius:var(--tempest-radius-2xl,var(--tempest-radius-lg));border-top-right-radius:var(--tempest-radius-2xl,var(--tempest-radius-lg));width:100%;max-width:720px;max-height:90dvh;box-shadow:var(--tempest-shadow-xl,0 -10px 30px #00000040);padding-bottom:env(safe-area-inset-bottom,0);animation:tempest_slideUp_CSrpB var(--tempest-duration-base,.24s) var(--tempest-ease-out,ease-out);font-family:var(--tempest-font-sans);flex-direction:column;display:flex;position:relative;overflow:hidden}
5
- .tempest_handle_GWCoK{padding:var(--tempest-space-2) 0;cursor:grab;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:flex}
6
- .tempest_handleBar_XPPiI{background:var(--tempest-border-strong);border-radius:var(--tempest-radius-full);width:36px;height:4px;display:block}
7
- .tempest_title_i5Vuc{padding:var(--tempest-space-2) var(--tempest-space-4) var(--tempest-space-3);font-size:var(--tempest-text-lg);font-weight:var(--tempest-weight-semibold);color:var(--tempest-text);border-bottom:1px solid var(--tempest-border);flex:none}
8
- .tempest_body_bgDhJ{padding:var(--tempest-space-4);color:var(--tempest-text);flex:auto;overflow-y:auto}
9
- @keyframes tempest_fadeIn_fyyhf{0%{opacity:0}to{opacity:1}}
10
- @keyframes tempest_slideUp_CSrpB{0%{transform:translateY(100%)}to{transform:translateY(0)}}
11
- @media (prefers-reduced-motion:reduce){.tempest_backdrop_WLqh0,.tempest_sheet_Okz1P{animation:none}}
2
+ @import "./component/BottomSheet.css";
@@ -1,20 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_map_t-hwx{background:var(--tempest-surface-2);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-lg);width:100%;font-family:var(--tempest-font-sans);position:relative;overflow:hidden}
3
- .tempest_svg_mUsn2{width:100%;display:block}
4
- .tempest_loading_55clN{height:100%;color:var(--tempest-text-muted);font-size:var(--tempest-text-sm);justify-content:center;align-items:center;display:flex}
5
- .tempest_state_JV7Hu{fill:var(--tempest-surface-3);stroke:var(--tempest-border-strong);stroke-width:.75px;stroke-linejoin:round;transition:fill .12s,opacity .12s}
6
- .tempest_state_JV7Hu[role=button]{cursor:pointer}
7
- .tempest_state_JV7Hu[role=button]:hover{fill:var(--tempest-primary-soft)}
8
- .tempest_state_JV7Hu[role=button]:focus-visible{stroke:var(--tempest-primary);stroke-width:1.5px;outline:none}
9
- .tempest_selected_CNxWu{fill:var(--tempest-primary);stroke:var(--tempest-primary-active);stroke-width:1.25px}
10
- .tempest_selected_CNxWu:hover{fill:var(--tempest-primary-hover)}
11
- .tempest_label_PK-ES{fill:var(--tempest-text);font-size:10px;font-weight:var(--tempest-weight-medium);pointer-events:none;-webkit-user-select:none;user-select:none}
12
- .tempest_tooltip_7n2Ui{z-index:2;max-width:240px;padding:var(--tempest-space-2) var(--tempest-space-3);background:var(--tempest-surface);color:var(--tempest-text);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);box-shadow:var(--tempest-shadow-md,0 4px 12px #0000001f);font-size:var(--tempest-text-xs);line-height:var(--tempest-leading-snug);pointer-events:none;white-space:nowrap;position:absolute;transform:translate(12px,12px)}
13
- .tempest_tooltipTitle_PJZp0{font-weight:var(--tempest-weight-semibold);font-size:var(--tempest-text-sm)}
14
- .tempest_tooltipMeta_hmNSP{color:var(--tempest-text-muted)}
15
- .tempest_marker_5td7B{stroke:var(--tempest-surface);stroke-width:2px}
16
- .tempest_marker_5td7B[role=button]{cursor:pointer}
17
- .tempest_marker_5td7B[role=button]:hover{stroke:var(--tempest-primary-active)}
18
- .tempest_marker_5td7B[role=button]:focus-visible{stroke:var(--tempest-primary);stroke-width:3px;outline:none}
19
- .tempest_zoomReset_IXmak{top:var(--tempest-space-2);right:var(--tempest-space-2);padding:var(--tempest-space-1) var(--tempest-space-2);font-family:var(--tempest-font-sans);font-size:var(--tempest-text-xs);color:var(--tempest-text);background:var(--tempest-surface);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-sm);cursor:pointer;position:absolute}
20
- .tempest_zoomReset_IXmak:hover{background:var(--tempest-surface-2)}
2
+ @import "./component/BrazilMap.css";
@@ -1,8 +1,2 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_nav_H4g6P{align-items:center;gap:var(--tempest-space-1);font-family:var(--tempest-font-sans);font-size:var(--tempest-text-sm);color:var(--tempest-text-muted);flex-wrap:wrap;display:flex}
3
- .tempest_item_O4g3P{align-items:center;gap:var(--tempest-space-1);display:inline-flex}
4
- .tempest_link_7WM67{color:var(--tempest-text-muted);border-radius:var(--tempest-radius-sm);transition:var(--tempest-transition-color);padding:2px 6px;text-decoration:none}
5
- @media (hover:hover) and (pointer:fine){.tempest_link_7WM67:hover{color:var(--tempest-text);background-color:var(--tempest-surface)}}
6
- .tempest_link_7WM67:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:var(--tempest-focus-ring-offset)}
7
- .tempest_current_JdlcS{color:var(--tempest-text);font-weight:var(--tempest-weight-semibold)}
8
- .tempest_separator_zGWyJ{color:var(--tempest-text-subtle);-webkit-user-select:none;user-select:none;margin:0 2px}
2
+ @import "./component/Breadcrumbs.css";