tempest-react-sdk 0.73.0 → 0.75.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 (246) hide show
  1. package/README.md +6 -4
  2. package/dist/br/BrazilMap.module.cjs.map +1 -1
  3. package/dist/br/BrazilMap.module.js.map +1 -1
  4. package/dist/br/MapMarkers.cjs +1 -1
  5. package/dist/br/MapMarkers.cjs.map +1 -1
  6. package/dist/br/MapMarkers.js +19 -22
  7. package/dist/br/MapMarkers.js.map +1 -1
  8. package/dist/br/MunicipalitySearch.cjs +1 -1
  9. package/dist/br/MunicipalitySearch.cjs.map +1 -1
  10. package/dist/br/MunicipalitySearch.js +66 -48
  11. package/dist/br/MunicipalitySearch.js.map +1 -1
  12. package/dist/br/MunicipalitySearch.module.cjs +1 -1
  13. package/dist/br/MunicipalitySearch.module.cjs.map +1 -1
  14. package/dist/br/MunicipalitySearch.module.js +4 -3
  15. package/dist/br/MunicipalitySearch.module.js.map +1 -1
  16. package/dist/br.d.ts +12 -0
  17. package/dist/components/AIChat/AIChat.module.cjs.map +1 -1
  18. package/dist/components/AIChat/AIChat.module.js.map +1 -1
  19. package/dist/components/AIChat/AIChatTurn.cjs +1 -1
  20. package/dist/components/AIChat/AIChatTurn.cjs.map +1 -1
  21. package/dist/components/AIChat/AIChatTurn.js +1 -1
  22. package/dist/components/AIChat/AIChatTurn.js.map +1 -1
  23. package/dist/components/AppBar/AppBar.cjs +1 -1
  24. package/dist/components/AppBar/AppBar.cjs.map +1 -1
  25. package/dist/components/AppBar/AppBar.js +1 -0
  26. package/dist/components/AppBar/AppBar.js.map +1 -1
  27. package/dist/components/AppBar/AppBar.module.cjs +1 -1
  28. package/dist/components/AppBar/AppBar.module.cjs.map +1 -1
  29. package/dist/components/AppBar/AppBar.module.js +12 -11
  30. package/dist/components/AppBar/AppBar.module.js.map +1 -1
  31. package/dist/components/AppShell/AppShell.module.cjs.map +1 -1
  32. package/dist/components/AppShell/AppShell.module.js.map +1 -1
  33. package/dist/components/Button/Button.cjs +1 -1
  34. package/dist/components/Button/Button.cjs.map +1 -1
  35. package/dist/components/Button/Button.js +41 -36
  36. package/dist/components/Button/Button.js.map +1 -1
  37. package/dist/components/Button/Button.module.cjs.map +1 -1
  38. package/dist/components/Button/Button.module.js.map +1 -1
  39. package/dist/components/Button/ButtonContent.cjs +2 -0
  40. package/dist/components/Button/ButtonContent.cjs.map +1 -0
  41. package/dist/components/Button/ButtonContent.js +34 -0
  42. package/dist/components/Button/ButtonContent.js.map +1 -0
  43. package/dist/components/Button/ButtonSlot.cjs +2 -0
  44. package/dist/components/Button/ButtonSlot.cjs.map +1 -0
  45. package/dist/components/Button/ButtonSlot.js +36 -0
  46. package/dist/components/Button/ButtonSlot.js.map +1 -0
  47. package/dist/components/Button/button-class.cjs +2 -0
  48. package/dist/components/Button/button-class.cjs.map +1 -0
  49. package/dist/components/Button/button-class.js +13 -0
  50. package/dist/components/Button/button-class.js.map +1 -0
  51. package/dist/components/Button/link-rel.cjs +2 -0
  52. package/dist/components/Button/link-rel.cjs.map +1 -0
  53. package/dist/components/Button/link-rel.js +11 -0
  54. package/dist/components/Button/link-rel.js.map +1 -0
  55. package/dist/components/Button/slot.cjs +2 -0
  56. package/dist/components/Button/slot.cjs.map +1 -0
  57. package/dist/components/Button/slot.js +41 -0
  58. package/dist/components/Button/slot.js.map +1 -0
  59. package/dist/components/Carousel/Carousel.module.cjs.map +1 -1
  60. package/dist/components/Carousel/Carousel.module.js.map +1 -1
  61. package/dist/components/Chat/Chat.module.cjs.map +1 -1
  62. package/dist/components/Chat/Chat.module.js.map +1 -1
  63. package/dist/components/Collapsible/Collapsible.cjs +1 -1
  64. package/dist/components/Collapsible/Collapsible.cjs.map +1 -1
  65. package/dist/components/Collapsible/Collapsible.js +1 -1
  66. package/dist/components/Collapsible/Collapsible.js.map +1 -1
  67. package/dist/components/Combobox/Combobox.cjs +1 -1
  68. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  69. package/dist/components/Combobox/Combobox.js +18 -23
  70. package/dist/components/Combobox/Combobox.js.map +1 -1
  71. package/dist/components/Combobox/use-listbox-dismiss.cjs +2 -0
  72. package/dist/components/Combobox/use-listbox-dismiss.cjs.map +1 -0
  73. package/dist/components/Combobox/use-listbox-dismiss.js +34 -0
  74. package/dist/components/Combobox/use-listbox-dismiss.js.map +1 -0
  75. package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -1
  76. package/dist/components/Dropzone/Dropzone.module.js.map +1 -1
  77. package/dist/components/FilterBar/FilterBar.module.cjs.map +1 -1
  78. package/dist/components/FilterBar/FilterBar.module.js.map +1 -1
  79. package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -1
  80. package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -1
  81. package/dist/components/Form/Form.cjs.map +1 -1
  82. package/dist/components/Form/Form.js.map +1 -1
  83. package/dist/components/ImageCropper/ImageCropper.module.cjs.map +1 -1
  84. package/dist/components/ImageCropper/ImageCropper.module.js.map +1 -1
  85. package/dist/components/InstallButton/InstallButton.cjs.map +1 -1
  86. package/dist/components/InstallButton/InstallButton.js.map +1 -1
  87. package/dist/components/ListTile/ListTile.module.cjs.map +1 -1
  88. package/dist/components/ListTile/ListTile.module.js.map +1 -1
  89. package/dist/components/Markdown/Markdown.module.cjs.map +1 -1
  90. package/dist/components/Markdown/Markdown.module.js.map +1 -1
  91. package/dist/components/Menubar/Menubar.module.cjs.map +1 -1
  92. package/dist/components/Menubar/Menubar.module.js.map +1 -1
  93. package/dist/components/Modal/Modal.cjs +1 -1
  94. package/dist/components/Modal/Modal.cjs.map +1 -1
  95. package/dist/components/Modal/Modal.js +1 -1
  96. package/dist/components/Modal/Modal.js.map +1 -1
  97. package/dist/components/Modal/Modal.module.cjs +1 -1
  98. package/dist/components/Modal/Modal.module.cjs.map +1 -1
  99. package/dist/components/Modal/Modal.module.js +1 -1
  100. package/dist/components/Modal/Modal.module.js.map +1 -1
  101. package/dist/components/MultiSelect/MultiSelect.cjs +1 -1
  102. package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -1
  103. package/dist/components/MultiSelect/MultiSelect.js +55 -54
  104. package/dist/components/MultiSelect/MultiSelect.js.map +1 -1
  105. package/dist/components/Navbar/Navbar.cjs +1 -1
  106. package/dist/components/Navbar/Navbar.cjs.map +1 -1
  107. package/dist/components/Navbar/Navbar.js +1 -0
  108. package/dist/components/Navbar/Navbar.js.map +1 -1
  109. package/dist/components/Navbar/Navbar.module.cjs +1 -1
  110. package/dist/components/Navbar/Navbar.module.cjs.map +1 -1
  111. package/dist/components/Navbar/Navbar.module.js +9 -8
  112. package/dist/components/Navbar/Navbar.module.js.map +1 -1
  113. package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -1
  114. package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -1
  115. package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -1
  116. package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -1
  117. package/dist/components/NotificationCenter/NotificationCenter.module.cjs.map +1 -1
  118. package/dist/components/NotificationCenter/NotificationCenter.module.js.map +1 -1
  119. package/dist/components/Page/Page.cjs +1 -1
  120. package/dist/components/Page/Page.cjs.map +1 -1
  121. package/dist/components/Page/Page.js +23 -39
  122. package/dist/components/Page/Page.js.map +1 -1
  123. package/dist/components/Page/Page.module.cjs +1 -1
  124. package/dist/components/Page/Page.module.cjs.map +1 -1
  125. package/dist/components/Page/Page.module.js +5 -11
  126. package/dist/components/Page/Page.module.js.map +1 -1
  127. package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -1
  128. package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -1
  129. package/dist/components/PinInput/PinInput.module.cjs.map +1 -1
  130. package/dist/components/PinInput/PinInput.module.js.map +1 -1
  131. package/dist/components/Reveal/Reveal.cjs +2 -0
  132. package/dist/components/Reveal/Reveal.cjs.map +1 -0
  133. package/dist/components/Reveal/Reveal.js +56 -0
  134. package/dist/components/Reveal/Reveal.js.map +1 -0
  135. package/dist/components/Reveal/Reveal.module.cjs +3 -0
  136. package/dist/components/Reveal/Reveal.module.cjs.map +1 -0
  137. package/dist/components/Reveal/Reveal.module.js +7 -0
  138. package/dist/components/Reveal/Reveal.module.js.map +1 -0
  139. package/dist/components/Reveal/reveal-threshold.cjs +2 -0
  140. package/dist/components/Reveal/reveal-threshold.cjs.map +1 -0
  141. package/dist/components/Reveal/reveal-threshold.js +13 -0
  142. package/dist/components/Reveal/reveal-threshold.js.map +1 -0
  143. package/dist/components/SectionHeader/SectionHeader.cjs +2 -0
  144. package/dist/components/SectionHeader/SectionHeader.cjs.map +1 -0
  145. package/dist/components/SectionHeader/SectionHeader.js +66 -0
  146. package/dist/components/SectionHeader/SectionHeader.js.map +1 -0
  147. package/dist/components/SectionHeader/SectionHeader.module.cjs +3 -0
  148. package/dist/components/SectionHeader/SectionHeader.module.cjs.map +1 -0
  149. package/dist/components/SectionHeader/SectionHeader.module.js +15 -0
  150. package/dist/components/SectionHeader/SectionHeader.module.js.map +1 -0
  151. package/dist/components/Timeline/Timeline.cjs +1 -1
  152. package/dist/components/Timeline/Timeline.cjs.map +1 -1
  153. package/dist/components/Timeline/Timeline.js +22 -15
  154. package/dist/components/Timeline/Timeline.js.map +1 -1
  155. package/dist/components/Timeline/Timeline.module.cjs +1 -1
  156. package/dist/components/Timeline/Timeline.module.cjs.map +1 -1
  157. package/dist/components/Timeline/Timeline.module.js +1 -1
  158. package/dist/components/Timeline/Timeline.module.js.map +1 -1
  159. package/dist/components/Tour/Tour.module.cjs.map +1 -1
  160. package/dist/components/Tour/Tour.module.js.map +1 -1
  161. package/dist/components/Transfer/Transfer.module.cjs.map +1 -1
  162. package/dist/components/Transfer/Transfer.module.js.map +1 -1
  163. package/dist/components/VirtualTable/VirtualTable.module.cjs.map +1 -1
  164. package/dist/components/VirtualTable/VirtualTable.module.js.map +1 -1
  165. package/dist/geo/TrajectoryMap.module.cjs.map +1 -1
  166. package/dist/geo/TrajectoryMap.module.js.map +1 -1
  167. package/dist/icons/IconPicker.module.cjs.map +1 -1
  168. package/dist/icons/IconPicker.module.js.map +1 -1
  169. package/dist/styles/Reveal.css +2 -0
  170. package/dist/styles/SectionHeader.css +2 -0
  171. package/dist/styles/actions.css +26 -24
  172. package/dist/styles/base.css +3 -1
  173. package/dist/styles/br.css +3 -3
  174. package/dist/styles/chat.css +5 -5
  175. package/dist/styles/component/AIChat.css +3 -3
  176. package/dist/styles/component/AppBar.css +1 -0
  177. package/dist/styles/component/AppShell.css +1 -1
  178. package/dist/styles/component/BrazilMap.css +2 -2
  179. package/dist/styles/component/Button.css +25 -23
  180. package/dist/styles/component/Carousel.css +3 -3
  181. package/dist/styles/component/Chat.css +2 -2
  182. package/dist/styles/component/Dropzone.css +2 -1
  183. package/dist/styles/component/FilterBar.css +2 -2
  184. package/dist/styles/component/FloatingActionButton.css +1 -1
  185. package/dist/styles/component/IconPicker.css +1 -1
  186. package/dist/styles/component/ImageCropper.css +2 -2
  187. package/dist/styles/component/ListTile.css +1 -1
  188. package/dist/styles/component/Markdown.css +1 -1
  189. package/dist/styles/component/Menubar.css +1 -1
  190. package/dist/styles/component/Modal.css +2 -2
  191. package/dist/styles/component/MunicipalitySearch.css +1 -1
  192. package/dist/styles/component/Navbar.css +1 -0
  193. package/dist/styles/component/NavigationMenu.css +1 -1
  194. package/dist/styles/component/NavigationRail.css +1 -1
  195. package/dist/styles/component/NotificationCenter.css +3 -3
  196. package/dist/styles/component/Page.css +0 -6
  197. package/dist/styles/component/PasswordInput.css +1 -1
  198. package/dist/styles/component/PinInput.css +1 -1
  199. package/dist/styles/component/Reveal.css +9 -0
  200. package/dist/styles/component/SectionHeader.css +9 -0
  201. package/dist/styles/component/Timeline.css +5 -5
  202. package/dist/styles/component/Tour.css +2 -2
  203. package/dist/styles/component/TrajectoryMap.css +1 -1
  204. package/dist/styles/component/Transfer.css +2 -2
  205. package/dist/styles/component/VirtualTable.css +2 -2
  206. package/dist/styles/core.css +3 -1
  207. package/dist/styles/data.css +15 -15
  208. package/dist/styles/feedback.css +3 -3
  209. package/dist/styles/forms.css +6 -5
  210. package/dist/styles/geo.css +1 -1
  211. package/dist/styles/icons.css +1 -1
  212. package/dist/styles/inverse.css +372 -0
  213. package/dist/styles/layout.css +9 -7
  214. package/dist/styles/manifest.json +14 -1
  215. package/dist/styles/navigation.css +8 -6
  216. package/dist/styles/overlay.css +2 -2
  217. package/dist/styles/utility.css +8 -0
  218. package/dist/styles.css +1 -1
  219. package/dist/tempest-react-sdk.cjs +1 -1
  220. package/dist/tempest-react-sdk.d.ts +473 -11
  221. package/dist/tempest-react-sdk.js +350 -346
  222. package/dist/theme/create-theme.cjs +3 -3
  223. package/dist/theme/create-theme.cjs.map +1 -1
  224. package/dist/theme/create-theme.js +72 -55
  225. package/dist/theme/create-theme.js.map +1 -1
  226. package/dist/theme/inverse-render.cjs +3 -0
  227. package/dist/theme/inverse-render.cjs.map +1 -0
  228. package/dist/theme/inverse-render.js +10 -0
  229. package/dist/theme/inverse-render.js.map +1 -0
  230. package/dist/theme/inverse-restore.cjs +5 -0
  231. package/dist/theme/inverse-restore.cjs.map +1 -0
  232. package/dist/theme/inverse-restore.js +30 -0
  233. package/dist/theme/inverse-restore.js.map +1 -0
  234. package/dist/theme/inverse-surface.cjs +2 -0
  235. package/dist/theme/inverse-surface.cjs.map +1 -0
  236. package/dist/theme/inverse-surface.js +255 -0
  237. package/dist/theme/inverse-surface.js.map +1 -0
  238. package/dist/theme/status-tokens.cjs +2 -0
  239. package/dist/theme/status-tokens.cjs.map +1 -0
  240. package/dist/theme/status-tokens.js +15 -0
  241. package/dist/theme/status-tokens.js.map +1 -0
  242. package/dist/vite/create-vite-config.cjs +1 -1
  243. package/dist/vite/create-vite-config.cjs.map +1 -1
  244. package/dist/vite/create-vite-config.js +6 -4
  245. package/dist/vite/create-vite-config.js.map +1 -1
  246. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- const e=require("../../utils/cn.cjs"),t=require("./Timeline.module.cjs");let n=require("react/jsx-runtime");function r({items:r,connector:i=!0,className:a,...o}){return(0,n.jsx)(`ol`,{className:e.cn(t.default.timeline,i&&t.default.connector,a),...o,children:r.map((a,o)=>{let s=o===r.length-1;return(0,n.jsxs)(`li`,{className:t.default.item,children:[(0,n.jsxs)(`div`,{className:t.default.markerColumn,children:[(0,n.jsx)(`span`,{className:e.cn(t.default.marker,t.default[`marker-${a.marker??`primary`}`]),"aria-hidden":`true`,children:a.icon}),i&&!s&&(0,n.jsx)(`span`,{className:t.default.line,"aria-hidden":`true`})]}),(0,n.jsxs)(`div`,{className:t.default.body,children:[(0,n.jsxs)(`div`,{className:t.default.row,children:[(0,n.jsx)(`span`,{className:t.default.title,children:a.title}),a.meta&&(0,n.jsx)(`span`,{className:t.default.meta,children:a.meta})]}),a.description&&(0,n.jsx)(`p`,{className:t.default.description,children:a.description})]})]},a.id)})})}exports.Timeline=r;
1
+ const e=require("../../utils/cn.cjs"),t=require("./Timeline.module.cjs");let n=require("react/jsx-runtime");var r={primary:t.default.markerPrimary,success:t.default.markerSuccess,warning:t.default.markerWarning,danger:t.default.markerDanger,neutral:t.default.markerNeutral};function i({items:i,connector:a=!0,className:o,...s}){return(0,n.jsx)(`ol`,{className:e.cn(t.default.timeline,o),...s,children:i.map((o,s)=>{let c=s===i.length-1;return(0,n.jsxs)(`li`,{className:t.default.item,children:[(0,n.jsxs)(`div`,{className:t.default.markerColumn,children:[(0,n.jsx)(`span`,{className:e.cn(t.default.marker,r[o.marker??`primary`]),"aria-hidden":`true`,children:o.icon}),a&&!c&&(0,n.jsx)(`span`,{className:t.default.line,"aria-hidden":`true`})]}),(0,n.jsxs)(`div`,{className:t.default.body,children:[(0,n.jsxs)(`div`,{className:t.default.row,children:[(0,n.jsx)(`span`,{className:t.default.title,children:o.title}),o.meta&&(0,n.jsx)(`span`,{className:t.default.meta,children:o.meta})]}),o.description&&(0,n.jsx)(`p`,{className:t.default.description,children:o.description})]})]},o.id)})})}exports.Timeline=i;
2
2
  //# sourceMappingURL=Timeline.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.cjs","names":[],"sources":["../../../src/components/Timeline/Timeline.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Timeline.module.css\";\n\nexport type TimelineMarker = \"primary\" | \"success\" | \"warning\" | \"danger\" | \"neutral\";\n\nexport interface TimelineItem {\n /** Stable identifier (used as React key). */\n id: string;\n /** Title rendered as the entry headline. */\n title: ReactNode;\n /** Optional subtitle / description below the title. */\n description?: ReactNode;\n /** Right-aligned meta column (timestamps, durations). */\n meta?: ReactNode;\n /** Optional custom icon rendered inside the marker. */\n icon?: ReactNode;\n /** Marker color. Default `\"primary\"`. */\n marker?: TimelineMarker;\n}\n\nexport interface TimelineProps extends HTMLAttributes<HTMLOListElement> {\n items: TimelineItem[];\n /** Show the connecting line between markers. Default `true`. */\n connector?: boolean;\n}\n\n/**\n * Vertical event timeline — activity feeds, order trackers, audit logs.\n * Each entry has a marker (color or custom icon), title, optional\n * description and right-aligned meta column.\n *\n * @example\n * <Timeline items={[\n * { id: \"1\", title: \"Pedido criado\", meta: \"10:24\", marker: \"primary\" },\n * { id: \"2\", title: \"Aprovação\", meta: \"10:25\", marker: \"success\" },\n * { id: \"3\", title: \"Saiu pra entrega\", meta: \"11:00\", marker: \"warning\" },\n * ]} />\n */\nexport function Timeline({ items, connector = true, className, ...props }: TimelineProps) {\n return (\n <ol className={cn(styles.timeline, connector && styles.connector, className)} {...props}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n return (\n <li key={item.id} className={styles.item}>\n <div className={styles.markerColumn}>\n <span\n className={cn(\n styles.marker,\n styles[`marker-${item.marker ?? \"primary\"}`],\n )}\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n {connector && !isLast && (\n <span className={styles.line} aria-hidden=\"true\" />\n )}\n </div>\n <div className={styles.body}>\n <div className={styles.row}>\n <span className={styles.title}>{item.title}</span>\n {item.meta && <span className={styles.meta}>{item.meta}</span>}\n </div>\n {item.description && (\n <p className={styles.description}>{item.description}</p>\n )}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":"4GAuCA,SAAgB,EAAS,CAAE,QAAO,YAAY,GAAM,YAAW,GAAG,GAAwB,CACtF,OACI,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAW,EAAA,GAAG,EAAA,QAAO,SAAU,GAAa,EAAA,QAAO,UAAW,CAAS,EAAG,GAAI,EAC7E,SAAA,EAAM,KAAK,EAAM,IAAU,CACxB,IAAM,EAAS,IAAU,EAAM,OAAS,EACxC,OACI,EAAA,EAAA,KAAA,CAAC,KAAD,CAAkB,UAAW,EAAA,QAAO,KAApC,SAAA,EACI,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,QAAO,aAAvB,SAAA,EACI,EAAA,EAAA,IAAA,CAAC,OAAD,CACI,UAAW,EAAA,GACP,EAAA,QAAO,OACP,EAAA,QAAO,UAAU,EAAK,QAAU,YACpC,EACA,cAAY,OAEX,SAAA,EAAK,IACJ,CAAA,EACL,GAAa,CAAC,IACX,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,KAAM,cAAY,MAAQ,CAAA,CAErD,CACL,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,QAAO,KAAvB,SAAA,EACI,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,QAAO,IAAvB,SAAA,EACI,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,MAAQ,SAAA,EAAK,KAAY,CAAA,EAChD,EAAK,OAAQ,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,KAAO,SAAA,EAAK,IAAW,CAAA,CAC5D,CACJ,CAAA,EAAA,EAAK,cACF,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAW,EAAA,QAAO,YAAc,SAAA,EAAK,WAAe,CAAA,CAE1D,CACL,CAAA,CAAA,CAxBK,EAAA,EAAK,EAwBV,CAEZ,CAAC,CACD,CAAA,CAEZ"}
1
+ {"version":3,"file":"Timeline.cjs","names":[],"sources":["../../../src/components/Timeline/Timeline.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Timeline.module.css\";\n\nexport type TimelineMarker = \"primary\" | \"success\" | \"warning\" | \"danger\" | \"neutral\";\n\n/**\n * The class each marker color applies, keyed by the published CSS-module names.\n *\n * The build exports CSS-module keys in camelCase only (`localsConvention:\n * \"camelCaseOnly\"` in `vite.config.ts`), so a kebab lookup such as\n * `styles[\"marker-primary\"]` is `undefined` in `dist/` — which is how every marker\n * shipped transparent until issue #405. A `Record` over the union also makes the\n * type-checker demand an entry for every color added to {@link TimelineMarker}.\n */\nconst MARKER_CLASS: Record<TimelineMarker, string> = {\n primary: styles.markerPrimary,\n success: styles.markerSuccess,\n warning: styles.markerWarning,\n danger: styles.markerDanger,\n neutral: styles.markerNeutral,\n};\n\nexport interface TimelineItem {\n /** Stable identifier (used as React key). */\n id: string;\n /** Title rendered as the entry headline. */\n title: ReactNode;\n /** Optional subtitle / description below the title. */\n description?: ReactNode;\n /** Right-aligned meta column (timestamps, durations). */\n meta?: ReactNode;\n /** Optional custom icon rendered inside the marker. */\n icon?: ReactNode;\n /** Marker color. Default `\"primary\"`. */\n marker?: TimelineMarker;\n}\n\nexport interface TimelineProps extends HTMLAttributes<HTMLOListElement> {\n items: TimelineItem[];\n /** Show the connecting line between markers. Default `true`. */\n connector?: boolean;\n}\n\n/**\n * Vertical event timeline — activity feeds, order trackers, audit logs.\n * Each entry has a marker (color or custom icon), title, optional\n * description and right-aligned meta column.\n *\n * @example\n * <Timeline items={[\n * { id: \"1\", title: \"Pedido criado\", meta: \"10:24\", marker: \"primary\" },\n * { id: \"2\", title: \"Aprovação\", meta: \"10:25\", marker: \"success\" },\n * { id: \"3\", title: \"Saiu pra entrega\", meta: \"11:00\", marker: \"warning\" },\n * ]} />\n */\nexport function Timeline({ items, connector = true, className, ...props }: TimelineProps) {\n return (\n <ol className={cn(styles.timeline, className)} {...props}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n return (\n <li key={item.id} className={styles.item}>\n <div className={styles.markerColumn}>\n <span\n className={cn(\n styles.marker,\n MARKER_CLASS[item.marker ?? \"primary\"],\n )}\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n {connector && !isLast && (\n <span className={styles.line} aria-hidden=\"true\" />\n )}\n </div>\n <div className={styles.body}>\n <div className={styles.row}>\n <span className={styles.title}>{item.title}</span>\n {item.meta && <span className={styles.meta}>{item.meta}</span>}\n </div>\n {item.description && (\n <p className={styles.description}>{item.description}</p>\n )}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":"4GAeA,IAAM,EAA+C,CACjD,QAAS,EAAA,QAAO,cAChB,QAAS,EAAA,QAAO,cAChB,QAAS,EAAA,QAAO,cAChB,OAAQ,EAAA,QAAO,aACf,QAAS,EAAA,QAAO,aACpB,EAmCA,SAAgB,EAAS,CAAE,QAAO,YAAY,GAAM,YAAW,GAAG,GAAwB,CACtF,OACI,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAW,EAAA,GAAG,EAAA,QAAO,SAAU,CAAS,EAAG,GAAI,EAC9C,SAAA,EAAM,KAAK,EAAM,IAAU,CACxB,IAAM,EAAS,IAAU,EAAM,OAAS,EACxC,OACI,EAAA,EAAA,KAAA,CAAC,KAAD,CAAkB,UAAW,EAAA,QAAO,KAApC,SAAA,EACI,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,QAAO,aAAvB,SAAA,EACI,EAAA,EAAA,IAAA,CAAC,OAAD,CACI,UAAW,EAAA,GACP,EAAA,QAAO,OACP,EAAa,EAAK,QAAU,UAChC,EACA,cAAY,OAEX,SAAA,EAAK,IACJ,CAAA,EACL,GAAa,CAAC,IACX,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,KAAM,cAAY,MAAQ,CAAA,CAErD,CACL,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,QAAO,KAAvB,SAAA,EACI,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,QAAO,IAAvB,SAAA,EACI,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,MAAQ,SAAA,EAAK,KAAY,CAAA,EAChD,EAAK,OAAQ,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAW,EAAA,QAAO,KAAO,SAAA,EAAK,IAAW,CAAA,CAC5D,CACJ,CAAA,EAAA,EAAK,cACF,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAW,EAAA,QAAO,YAAc,SAAA,EAAK,WAAe,CAAA,CAE1D,CACL,CAAA,CAAA,CAxBK,EAAA,EAAK,EAwBV,CAEZ,CAAC,CACD,CAAA,CAEZ"}
@@ -2,21 +2,28 @@ import { cn as e } from "../../utils/cn.js";
2
2
  import t from "./Timeline.module.js";
3
3
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  //#region src/components/Timeline/Timeline.tsx
5
- function i({ items: i, connector: a = !0, className: o, ...s }) {
5
+ var i = {
6
+ primary: t.markerPrimary,
7
+ success: t.markerSuccess,
8
+ warning: t.markerWarning,
9
+ danger: t.markerDanger,
10
+ neutral: t.markerNeutral
11
+ };
12
+ function a({ items: a, connector: o = !0, className: s, ...c }) {
6
13
  return /* @__PURE__ */ n("ol", {
7
- className: e(t.timeline, a && t.connector, o),
8
- ...s,
9
- children: i.map((o, s) => {
10
- let c = s === i.length - 1;
14
+ className: e(t.timeline, s),
15
+ ...c,
16
+ children: a.map((s, c) => {
17
+ let l = c === a.length - 1;
11
18
  return /* @__PURE__ */ r("li", {
12
19
  className: t.item,
13
20
  children: [/* @__PURE__ */ r("div", {
14
21
  className: t.markerColumn,
15
22
  children: [/* @__PURE__ */ n("span", {
16
- className: e(t.marker, t[`marker-${o.marker ?? "primary"}`]),
23
+ className: e(t.marker, i[s.marker ?? "primary"]),
17
24
  "aria-hidden": "true",
18
- children: o.icon
19
- }), a && !c && /* @__PURE__ */ n("span", {
25
+ children: s.icon
26
+ }), o && !l && /* @__PURE__ */ n("span", {
20
27
  className: t.line,
21
28
  "aria-hidden": "true"
22
29
  })]
@@ -26,21 +33,21 @@ function i({ items: i, connector: a = !0, className: o, ...s }) {
26
33
  className: t.row,
27
34
  children: [/* @__PURE__ */ n("span", {
28
35
  className: t.title,
29
- children: o.title
30
- }), o.meta && /* @__PURE__ */ n("span", {
36
+ children: s.title
37
+ }), s.meta && /* @__PURE__ */ n("span", {
31
38
  className: t.meta,
32
- children: o.meta
39
+ children: s.meta
33
40
  })]
34
- }), o.description && /* @__PURE__ */ n("p", {
41
+ }), s.description && /* @__PURE__ */ n("p", {
35
42
  className: t.description,
36
- children: o.description
43
+ children: s.description
37
44
  })]
38
45
  })]
39
- }, o.id);
46
+ }, s.id);
40
47
  })
41
48
  });
42
49
  }
43
50
  //#endregion
44
- export { i as Timeline };
51
+ export { a as Timeline };
45
52
 
46
53
  //# sourceMappingURL=Timeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.js","names":[],"sources":["../../../src/components/Timeline/Timeline.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Timeline.module.css\";\n\nexport type TimelineMarker = \"primary\" | \"success\" | \"warning\" | \"danger\" | \"neutral\";\n\nexport interface TimelineItem {\n /** Stable identifier (used as React key). */\n id: string;\n /** Title rendered as the entry headline. */\n title: ReactNode;\n /** Optional subtitle / description below the title. */\n description?: ReactNode;\n /** Right-aligned meta column (timestamps, durations). */\n meta?: ReactNode;\n /** Optional custom icon rendered inside the marker. */\n icon?: ReactNode;\n /** Marker color. Default `\"primary\"`. */\n marker?: TimelineMarker;\n}\n\nexport interface TimelineProps extends HTMLAttributes<HTMLOListElement> {\n items: TimelineItem[];\n /** Show the connecting line between markers. Default `true`. */\n connector?: boolean;\n}\n\n/**\n * Vertical event timeline — activity feeds, order trackers, audit logs.\n * Each entry has a marker (color or custom icon), title, optional\n * description and right-aligned meta column.\n *\n * @example\n * <Timeline items={[\n * { id: \"1\", title: \"Pedido criado\", meta: \"10:24\", marker: \"primary\" },\n * { id: \"2\", title: \"Aprovação\", meta: \"10:25\", marker: \"success\" },\n * { id: \"3\", title: \"Saiu pra entrega\", meta: \"11:00\", marker: \"warning\" },\n * ]} />\n */\nexport function Timeline({ items, connector = true, className, ...props }: TimelineProps) {\n return (\n <ol className={cn(styles.timeline, connector && styles.connector, className)} {...props}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n return (\n <li key={item.id} className={styles.item}>\n <div className={styles.markerColumn}>\n <span\n className={cn(\n styles.marker,\n styles[`marker-${item.marker ?? \"primary\"}`],\n )}\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n {connector && !isLast && (\n <span className={styles.line} aria-hidden=\"true\" />\n )}\n </div>\n <div className={styles.body}>\n <div className={styles.row}>\n <span className={styles.title}>{item.title}</span>\n {item.meta && <span className={styles.meta}>{item.meta}</span>}\n </div>\n {item.description && (\n <p className={styles.description}>{item.description}</p>\n )}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":";;;;AAuCA,SAAgB,EAAS,EAAE,UAAO,eAAY,IAAM,cAAW,GAAG,KAAwB;CACtF,OACI,kBAAC,MAAD;EAAI,WAAW,EAAG,EAAO,UAAU,KAAa,EAAO,WAAW,CAAS;EAAG,GAAI;EAC7E,UAAA,EAAM,KAAK,GAAM,MAAU;GACxB,IAAM,IAAS,MAAU,EAAM,SAAS;GACxC,OACI,kBAAC,MAAD;IAAkB,WAAW,EAAO;IAApC,UAAA,CACI,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAvB,UAAA,CACI,kBAAC,QAAD;MACI,WAAW,EACP,EAAO,QACP,EAAO,UAAU,EAAK,UAAU,YACpC;MACA,eAAY;MAEX,UAAA,EAAK;KACJ,CAAA,GACL,KAAa,CAAC,KACX,kBAAC,QAAD;MAAM,WAAW,EAAO;MAAM,eAAY;KAAQ,CAAA,CAErD;IACL,CAAA,GAAA,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAvB,UAAA,CACI,kBAAC,OAAD;MAAK,WAAW,EAAO;MAAvB,UAAA,CACI,kBAAC,QAAD;OAAM,WAAW,EAAO;OAAQ,UAAA,EAAK;MAAY,CAAA,GAChD,EAAK,QAAQ,kBAAC,QAAD;OAAM,WAAW,EAAO;OAAO,UAAA,EAAK;MAAW,CAAA,CAC5D;KACJ,CAAA,GAAA,EAAK,eACF,kBAAC,KAAD;MAAG,WAAW,EAAO;MAAc,UAAA,EAAK;KAAe,CAAA,CAE1D;IACL,CAAA,CAAA;GAxBK,GAAA,EAAK,EAwBV;EAEZ,CAAC;CACD,CAAA;AAEZ"}
1
+ {"version":3,"file":"Timeline.js","names":[],"sources":["../../../src/components/Timeline/Timeline.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Timeline.module.css\";\n\nexport type TimelineMarker = \"primary\" | \"success\" | \"warning\" | \"danger\" | \"neutral\";\n\n/**\n * The class each marker color applies, keyed by the published CSS-module names.\n *\n * The build exports CSS-module keys in camelCase only (`localsConvention:\n * \"camelCaseOnly\"` in `vite.config.ts`), so a kebab lookup such as\n * `styles[\"marker-primary\"]` is `undefined` in `dist/` — which is how every marker\n * shipped transparent until issue #405. A `Record` over the union also makes the\n * type-checker demand an entry for every color added to {@link TimelineMarker}.\n */\nconst MARKER_CLASS: Record<TimelineMarker, string> = {\n primary: styles.markerPrimary,\n success: styles.markerSuccess,\n warning: styles.markerWarning,\n danger: styles.markerDanger,\n neutral: styles.markerNeutral,\n};\n\nexport interface TimelineItem {\n /** Stable identifier (used as React key). */\n id: string;\n /** Title rendered as the entry headline. */\n title: ReactNode;\n /** Optional subtitle / description below the title. */\n description?: ReactNode;\n /** Right-aligned meta column (timestamps, durations). */\n meta?: ReactNode;\n /** Optional custom icon rendered inside the marker. */\n icon?: ReactNode;\n /** Marker color. Default `\"primary\"`. */\n marker?: TimelineMarker;\n}\n\nexport interface TimelineProps extends HTMLAttributes<HTMLOListElement> {\n items: TimelineItem[];\n /** Show the connecting line between markers. Default `true`. */\n connector?: boolean;\n}\n\n/**\n * Vertical event timeline — activity feeds, order trackers, audit logs.\n * Each entry has a marker (color or custom icon), title, optional\n * description and right-aligned meta column.\n *\n * @example\n * <Timeline items={[\n * { id: \"1\", title: \"Pedido criado\", meta: \"10:24\", marker: \"primary\" },\n * { id: \"2\", title: \"Aprovação\", meta: \"10:25\", marker: \"success\" },\n * { id: \"3\", title: \"Saiu pra entrega\", meta: \"11:00\", marker: \"warning\" },\n * ]} />\n */\nexport function Timeline({ items, connector = true, className, ...props }: TimelineProps) {\n return (\n <ol className={cn(styles.timeline, className)} {...props}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n return (\n <li key={item.id} className={styles.item}>\n <div className={styles.markerColumn}>\n <span\n className={cn(\n styles.marker,\n MARKER_CLASS[item.marker ?? \"primary\"],\n )}\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n {connector && !isLast && (\n <span className={styles.line} aria-hidden=\"true\" />\n )}\n </div>\n <div className={styles.body}>\n <div className={styles.row}>\n <span className={styles.title}>{item.title}</span>\n {item.meta && <span className={styles.meta}>{item.meta}</span>}\n </div>\n {item.description && (\n <p className={styles.description}>{item.description}</p>\n )}\n </div>\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":";;;;AAeA,IAAM,IAA+C;CACjD,SAAS,EAAO;CAChB,SAAS,EAAO;CAChB,SAAS,EAAO;CAChB,QAAQ,EAAO;CACf,SAAS,EAAO;AACpB;AAmCA,SAAgB,EAAS,EAAE,UAAO,eAAY,IAAM,cAAW,GAAG,KAAwB;CACtF,OACI,kBAAC,MAAD;EAAI,WAAW,EAAG,EAAO,UAAU,CAAS;EAAG,GAAI;EAC9C,UAAA,EAAM,KAAK,GAAM,MAAU;GACxB,IAAM,IAAS,MAAU,EAAM,SAAS;GACxC,OACI,kBAAC,MAAD;IAAkB,WAAW,EAAO;IAApC,UAAA,CACI,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAvB,UAAA,CACI,kBAAC,QAAD;MACI,WAAW,EACP,EAAO,QACP,EAAa,EAAK,UAAU,UAChC;MACA,eAAY;MAEX,UAAA,EAAK;KACJ,CAAA,GACL,KAAa,CAAC,KACX,kBAAC,QAAD;MAAM,WAAW,EAAO;MAAM,eAAY;KAAQ,CAAA,CAErD;IACL,CAAA,GAAA,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAvB,UAAA,CACI,kBAAC,OAAD;MAAK,WAAW,EAAO;MAAvB,UAAA,CACI,kBAAC,QAAD;OAAM,WAAW,EAAO;OAAQ,UAAA,EAAK;MAAY,CAAA,GAChD,EAAK,QAAQ,kBAAC,QAAD;OAAM,WAAW,EAAO;OAAO,UAAA,EAAK;MAAW,CAAA,CAC5D;KACJ,CAAA,GAAA,EAAK,eACF,kBAAC,KAAD;MAAG,WAAW,EAAO;MAAc,UAAA,EAAK;KAAe,CAAA,CAE1D;IACL,CAAA,CAAA;GAxBK,GAAA,EAAK,EAwBV;EAEZ,CAAC;CACD,CAAA;AAEZ"}
@@ -1,3 +1,3 @@
1
1
  require("../../styles/component/Timeline.css");
2
- var e=`tempest_timeline_utrkA`,t=`tempest_item_T5xdQ`,n=`tempest_markerColumn_BMe4d`,r=`tempest_marker_kmPV-`,i=`tempest_marker-primary_s9BNB`,a=`tempest_marker-success_areMM`,o=`tempest_marker-warning_rRrS8`,s=`tempest_marker-danger_3GEBk`,c=`tempest_marker-neutral_M2mnw`,l=`tempest_line_CwY-N`,u=`tempest_body_KpMJ6`,d=`tempest_row_AX2ti`,f=`tempest_title_DxfAX`,p=`tempest_meta_GU0ih`,m=`tempest_description_f9sxV`,h={timeline:e,item:t,markerColumn:n,marker:r,markerPrimary:i,markerSuccess:a,markerWarning:o,markerDanger:s,markerNeutral:c,line:l,body:u,row:d,title:f,meta:p,description:m};exports.body=u,exports.default=h,exports.description=m,exports.item=t,exports.line=l,exports.marker=r,exports.markerColumn=n,exports.markerDanger=s,exports.markerNeutral=c,exports.markerPrimary=i,exports.markerSuccess=a,exports.markerWarning=o,exports.meta=p,exports.row=d,exports.timeline=e,exports.title=f;
2
+ var e=`tempest_timeline_utrkA`,t=`tempest_item_T5xdQ`,n=`tempest_markerColumn_BMe4d`,r=`tempest_marker_kmPV-`,i=`tempest_markerPrimary_7elrv`,a=`tempest_markerSuccess_QosJP`,o=`tempest_markerWarning_u04NG`,s=`tempest_markerDanger_xtUJj`,c=`tempest_markerNeutral_y7MKa`,l=`tempest_line_CwY-N`,u=`tempest_body_KpMJ6`,d=`tempest_row_AX2ti`,f=`tempest_title_DxfAX`,p=`tempest_meta_GU0ih`,m=`tempest_description_f9sxV`,h={timeline:e,item:t,markerColumn:n,marker:r,markerPrimary:i,markerSuccess:a,markerWarning:o,markerDanger:s,markerNeutral:c,line:l,body:u,row:d,title:f,meta:p,description:m};exports.body=u,exports.default=h,exports.description=m,exports.item=t,exports.line=l,exports.marker=r,exports.markerColumn=n,exports.markerDanger=s,exports.markerNeutral=c,exports.markerPrimary=i,exports.markerSuccess=a,exports.markerWarning=o,exports.meta=p,exports.row=d,exports.timeline=e,exports.title=f;
3
3
  //# sourceMappingURL=Timeline.module.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.module.cjs","names":[],"sources":["../../../src/components/Timeline/Timeline.module.css"],"sourcesContent":[".timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--tempest-font-sans);\n color: var(--tempest-text);\n}\n\n.item {\n display: flex;\n gap: var(--tempest-space-3);\n padding-bottom: var(--tempest-space-4);\n}\n\n.item:last-child {\n padding-bottom: 0;\n}\n\n.markerColumn {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 16px;\n padding-top: 4px;\n}\n\n.marker {\n width: 14px;\n height: 14px;\n border-radius: var(--tempest-radius-full);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 10px;\n flex: 0 0 auto;\n}\n\n.marker-primary {\n background: var(--tempest-primary);\n}\n.marker-success {\n background: var(--tempest-success-solid, var(--tempest-success));\n}\n.marker-warning {\n background: var(--tempest-warning-solid, var(--tempest-warning));\n}\n.marker-danger {\n background: var(--tempest-danger-solid, var(--tempest-danger));\n}\n.marker-neutral {\n background: var(--tempest-gray-400, var(--tempest-border));\n}\n\n.line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--tempest-border);\n margin-top: 4px;\n}\n\n.body {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n}\n\n.title {\n font-weight: var(--tempest-weight-medium);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n\n.meta {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n white-space: nowrap;\n}\n\n.description {\n margin: var(--tempest-space-1) 0 0;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"Timeline.module.cjs","names":[],"sources":["../../../src/components/Timeline/Timeline.module.css"],"sourcesContent":[".timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--tempest-font-sans);\n color: var(--tempest-text);\n}\n\n.item {\n display: flex;\n gap: var(--tempest-space-3);\n padding-bottom: var(--tempest-space-4);\n}\n\n.item:last-child {\n padding-bottom: 0;\n}\n\n.markerColumn {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 16px;\n padding-top: 4px;\n}\n\n.marker {\n width: 14px;\n height: 14px;\n border-radius: var(--tempest-radius-full);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 10px;\n flex: 0 0 auto;\n}\n\n.markerPrimary {\n background: var(--tempest-primary);\n}\n.markerSuccess {\n background: var(--tempest-success-solid, var(--tempest-success));\n}\n.markerWarning {\n background: var(--tempest-warning-solid, var(--tempest-warning));\n}\n.markerDanger {\n background: var(--tempest-danger-solid, var(--tempest-danger));\n}\n.markerNeutral {\n background: var(--tempest-gray-400, var(--tempest-border));\n}\n\n.line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--tempest-border);\n margin-top: 4px;\n}\n\n.body {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n}\n\n.title {\n font-weight: var(--tempest-weight-medium);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n\n.meta {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n white-space: nowrap;\n}\n\n.description {\n margin: var(--tempest-space-1) 0 0;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n"],"mappings":";"}
@@ -1,6 +1,6 @@
1
1
  import "../../styles/component/Timeline.css";
2
2
  //#region src/components/Timeline/Timeline.module.css
3
- var e = "tempest_timeline_utrkA", t = "tempest_item_T5xdQ", n = "tempest_markerColumn_BMe4d", r = "tempest_marker_kmPV-", i = "tempest_marker-primary_s9BNB", a = "tempest_marker-success_areMM", o = "tempest_marker-warning_rRrS8", s = "tempest_marker-danger_3GEBk", c = "tempest_marker-neutral_M2mnw", l = "tempest_line_CwY-N", u = "tempest_body_KpMJ6", d = "tempest_row_AX2ti", f = "tempest_title_DxfAX", p = "tempest_meta_GU0ih", m = "tempest_description_f9sxV", h = {
3
+ var e = "tempest_timeline_utrkA", t = "tempest_item_T5xdQ", n = "tempest_markerColumn_BMe4d", r = "tempest_marker_kmPV-", i = "tempest_markerPrimary_7elrv", a = "tempest_markerSuccess_QosJP", o = "tempest_markerWarning_u04NG", s = "tempest_markerDanger_xtUJj", c = "tempest_markerNeutral_y7MKa", l = "tempest_line_CwY-N", u = "tempest_body_KpMJ6", d = "tempest_row_AX2ti", f = "tempest_title_DxfAX", p = "tempest_meta_GU0ih", m = "tempest_description_f9sxV", h = {
4
4
  timeline: e,
5
5
  item: t,
6
6
  markerColumn: n,
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.module.js","names":[],"sources":["../../../src/components/Timeline/Timeline.module.css"],"sourcesContent":[".timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--tempest-font-sans);\n color: var(--tempest-text);\n}\n\n.item {\n display: flex;\n gap: var(--tempest-space-3);\n padding-bottom: var(--tempest-space-4);\n}\n\n.item:last-child {\n padding-bottom: 0;\n}\n\n.markerColumn {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 16px;\n padding-top: 4px;\n}\n\n.marker {\n width: 14px;\n height: 14px;\n border-radius: var(--tempest-radius-full);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 10px;\n flex: 0 0 auto;\n}\n\n.marker-primary {\n background: var(--tempest-primary);\n}\n.marker-success {\n background: var(--tempest-success-solid, var(--tempest-success));\n}\n.marker-warning {\n background: var(--tempest-warning-solid, var(--tempest-warning));\n}\n.marker-danger {\n background: var(--tempest-danger-solid, var(--tempest-danger));\n}\n.marker-neutral {\n background: var(--tempest-gray-400, var(--tempest-border));\n}\n\n.line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--tempest-border);\n margin-top: 4px;\n}\n\n.body {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n}\n\n.title {\n font-weight: var(--tempest-weight-medium);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n\n.meta {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n white-space: nowrap;\n}\n\n.description {\n margin: var(--tempest-space-1) 0 0;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"Timeline.module.js","names":[],"sources":["../../../src/components/Timeline/Timeline.module.css"],"sourcesContent":[".timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--tempest-font-sans);\n color: var(--tempest-text);\n}\n\n.item {\n display: flex;\n gap: var(--tempest-space-3);\n padding-bottom: var(--tempest-space-4);\n}\n\n.item:last-child {\n padding-bottom: 0;\n}\n\n.markerColumn {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 16px;\n padding-top: 4px;\n}\n\n.marker {\n width: 14px;\n height: 14px;\n border-radius: var(--tempest-radius-full);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 10px;\n flex: 0 0 auto;\n}\n\n.markerPrimary {\n background: var(--tempest-primary);\n}\n.markerSuccess {\n background: var(--tempest-success-solid, var(--tempest-success));\n}\n.markerWarning {\n background: var(--tempest-warning-solid, var(--tempest-warning));\n}\n.markerDanger {\n background: var(--tempest-danger-solid, var(--tempest-danger));\n}\n.markerNeutral {\n background: var(--tempest-gray-400, var(--tempest-border));\n}\n\n.line {\n flex: 1 1 auto;\n width: 2px;\n background: var(--tempest-border);\n margin-top: 4px;\n}\n\n.body {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.row {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n}\n\n.title {\n font-weight: var(--tempest-weight-medium);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n\n.meta {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n white-space: nowrap;\n}\n\n.description {\n margin: var(--tempest-space-1) 0 0;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-snug);\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tour.module.cjs","names":[],"sources":["../../../src/components/Tour/Tour.module.css"],"sourcesContent":[".root {\n position: fixed;\n inset: 0;\n z-index: var(--tempest-z-modal, 1000);\n font-family: var(--tempest-font-sans);\n pointer-events: none;\n}\n\n/*\n * The dimmed area is four rectangles, each one hit-testable, so the page behind is\n * blocked while the highlighted element stays clickable. A single overlay with a\n * `box-shadow` hole looks the same and blocks nothing: a shadow is not hit-tested.\n */\n.backdrop {\n position: fixed;\n background-color: var(--tempest-tour-backdrop, rgb(0 0 0 / 55%));\n pointer-events: auto;\n}\n\n.spotlight {\n position: fixed;\n border-radius: var(--tempest-radius-md);\n box-shadow: 0 0 0 2px var(--tempest-primary);\n pointer-events: none;\n}\n\n.card {\n position: fixed;\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n width: min(22rem, calc(100vw - 2rem));\n padding: var(--tempest-space-4);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-lg);\n color: var(--tempest-text);\n pointer-events: auto;\n}\n\n.card:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 2px;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n}\n\n.progress {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: var(--tempest-radius-sm);\n background: none;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-lg);\n line-height: 1;\n cursor: pointer;\n}\n\n.close:hover {\n background-color: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.title {\n margin: 0;\n font-size: var(--tempest-text-base);\n font-weight: var(--tempest-weight-semibold);\n}\n\n.body {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-normal);\n}\n\n.footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n margin-block-start: var(--tempest-space-2);\n}\n\n.actions {\n display: flex;\n gap: var(--tempest-space-2);\n margin-inline-start: auto;\n}\n\n.skip {\n padding: 0;\n border: none;\n background: none;\n color: var(--tempest-text-muted);\n font: inherit;\n font-size: var(--tempest-text-xs);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.primary,\n.secondary {\n padding: var(--tempest-space-2) var(--tempest-space-4);\n border-radius: var(--tempest-radius-md);\n font: inherit;\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n cursor: pointer;\n}\n\n.primary {\n border: none;\n background-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.secondary {\n border: 1px solid var(--tempest-border);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n}\n\n.primary:focus-visible,\n.secondary:focus-visible,\n.skip:focus-visible,\n.close:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 2px;\n}\n\n/* The spotlight ring is decoration; a reader who asked for less motion gets none. */\n@media (prefers-reduced-motion: no-preference) {\n .spotlight {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out),\n width var(--tempest-duration-base) var(--tempest-ease-out),\n height var(--tempest-duration-base) var(--tempest-ease-out);\n }\n\n .card {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out);\n }\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"Tour.module.cjs","names":[],"sources":["../../../src/components/Tour/Tour.module.css"],"sourcesContent":[".root {\n position: fixed;\n inset: 0;\n z-index: var(--tempest-z-modal, 1000);\n font-family: var(--tempest-font-sans);\n pointer-events: none;\n}\n\n/*\n * The dimmed area is four rectangles, each one hit-testable, so the page behind is\n * blocked while the highlighted element stays clickable. A single overlay with a\n * `box-shadow` hole looks the same and blocks nothing: a shadow is not hit-tested.\n */\n.backdrop {\n position: fixed;\n background-color: var(--tempest-tour-backdrop, rgb(0 0 0 / 55%));\n pointer-events: auto;\n}\n\n.spotlight {\n position: fixed;\n border-radius: var(--tempest-radius-md);\n box-shadow: 0 0 0 2px var(--tempest-primary);\n pointer-events: none;\n}\n\n.card {\n position: fixed;\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n width: min(22rem, calc(100vw - 2rem));\n padding: var(--tempest-space-4);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-lg);\n color: var(--tempest-text);\n pointer-events: auto;\n}\n\n.card:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n}\n\n.progress {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: var(--tempest-radius-sm);\n background: none;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-lg);\n line-height: 1;\n cursor: pointer;\n}\n\n.close:hover {\n background-color: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.title {\n margin: 0;\n font-size: var(--tempest-text-base);\n font-weight: var(--tempest-weight-semibold);\n}\n\n.body {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-normal);\n}\n\n.footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n margin-block-start: var(--tempest-space-2);\n}\n\n.actions {\n display: flex;\n gap: var(--tempest-space-2);\n margin-inline-start: auto;\n}\n\n.skip {\n padding: 0;\n border: none;\n background: none;\n color: var(--tempest-text-muted);\n font: inherit;\n font-size: var(--tempest-text-xs);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.primary,\n.secondary {\n padding: var(--tempest-space-2) var(--tempest-space-4);\n border-radius: var(--tempest-radius-md);\n font: inherit;\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n cursor: pointer;\n}\n\n.primary {\n border: none;\n background-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.secondary {\n border: 1px solid var(--tempest-border);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n}\n\n.primary:focus-visible,\n.secondary:focus-visible,\n.skip:focus-visible,\n.close:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n\n/* The spotlight ring is decoration; a reader who asked for less motion gets none. */\n@media (prefers-reduced-motion: no-preference) {\n .spotlight {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out),\n width var(--tempest-duration-base) var(--tempest-ease-out),\n height var(--tempest-duration-base) var(--tempest-ease-out);\n }\n\n .card {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out);\n }\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tour.module.js","names":[],"sources":["../../../src/components/Tour/Tour.module.css"],"sourcesContent":[".root {\n position: fixed;\n inset: 0;\n z-index: var(--tempest-z-modal, 1000);\n font-family: var(--tempest-font-sans);\n pointer-events: none;\n}\n\n/*\n * The dimmed area is four rectangles, each one hit-testable, so the page behind is\n * blocked while the highlighted element stays clickable. A single overlay with a\n * `box-shadow` hole looks the same and blocks nothing: a shadow is not hit-tested.\n */\n.backdrop {\n position: fixed;\n background-color: var(--tempest-tour-backdrop, rgb(0 0 0 / 55%));\n pointer-events: auto;\n}\n\n.spotlight {\n position: fixed;\n border-radius: var(--tempest-radius-md);\n box-shadow: 0 0 0 2px var(--tempest-primary);\n pointer-events: none;\n}\n\n.card {\n position: fixed;\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n width: min(22rem, calc(100vw - 2rem));\n padding: var(--tempest-space-4);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-lg);\n color: var(--tempest-text);\n pointer-events: auto;\n}\n\n.card:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 2px;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n}\n\n.progress {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: var(--tempest-radius-sm);\n background: none;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-lg);\n line-height: 1;\n cursor: pointer;\n}\n\n.close:hover {\n background-color: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.title {\n margin: 0;\n font-size: var(--tempest-text-base);\n font-weight: var(--tempest-weight-semibold);\n}\n\n.body {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-normal);\n}\n\n.footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n margin-block-start: var(--tempest-space-2);\n}\n\n.actions {\n display: flex;\n gap: var(--tempest-space-2);\n margin-inline-start: auto;\n}\n\n.skip {\n padding: 0;\n border: none;\n background: none;\n color: var(--tempest-text-muted);\n font: inherit;\n font-size: var(--tempest-text-xs);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.primary,\n.secondary {\n padding: var(--tempest-space-2) var(--tempest-space-4);\n border-radius: var(--tempest-radius-md);\n font: inherit;\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n cursor: pointer;\n}\n\n.primary {\n border: none;\n background-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.secondary {\n border: 1px solid var(--tempest-border);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n}\n\n.primary:focus-visible,\n.secondary:focus-visible,\n.skip:focus-visible,\n.close:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 2px;\n}\n\n/* The spotlight ring is decoration; a reader who asked for less motion gets none. */\n@media (prefers-reduced-motion: no-preference) {\n .spotlight {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out),\n width var(--tempest-duration-base) var(--tempest-ease-out),\n height var(--tempest-duration-base) var(--tempest-ease-out);\n }\n\n .card {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out);\n }\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"Tour.module.js","names":[],"sources":["../../../src/components/Tour/Tour.module.css"],"sourcesContent":[".root {\n position: fixed;\n inset: 0;\n z-index: var(--tempest-z-modal, 1000);\n font-family: var(--tempest-font-sans);\n pointer-events: none;\n}\n\n/*\n * The dimmed area is four rectangles, each one hit-testable, so the page behind is\n * blocked while the highlighted element stays clickable. A single overlay with a\n * `box-shadow` hole looks the same and blocks nothing: a shadow is not hit-tested.\n */\n.backdrop {\n position: fixed;\n background-color: var(--tempest-tour-backdrop, rgb(0 0 0 / 55%));\n pointer-events: auto;\n}\n\n.spotlight {\n position: fixed;\n border-radius: var(--tempest-radius-md);\n box-shadow: 0 0 0 2px var(--tempest-primary);\n pointer-events: none;\n}\n\n.card {\n position: fixed;\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n width: min(22rem, calc(100vw - 2rem));\n padding: var(--tempest-space-4);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-lg);\n color: var(--tempest-text);\n pointer-events: auto;\n}\n\n.card:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n}\n\n.progress {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: var(--tempest-radius-sm);\n background: none;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-lg);\n line-height: 1;\n cursor: pointer;\n}\n\n.close:hover {\n background-color: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.title {\n margin: 0;\n font-size: var(--tempest-text-base);\n font-weight: var(--tempest-weight-semibold);\n}\n\n.body {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n line-height: var(--tempest-leading-normal);\n}\n\n.footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-3);\n margin-block-start: var(--tempest-space-2);\n}\n\n.actions {\n display: flex;\n gap: var(--tempest-space-2);\n margin-inline-start: auto;\n}\n\n.skip {\n padding: 0;\n border: none;\n background: none;\n color: var(--tempest-text-muted);\n font: inherit;\n font-size: var(--tempest-text-xs);\n text-decoration: underline;\n cursor: pointer;\n}\n\n.primary,\n.secondary {\n padding: var(--tempest-space-2) var(--tempest-space-4);\n border-radius: var(--tempest-radius-md);\n font: inherit;\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n cursor: pointer;\n}\n\n.primary {\n border: none;\n background-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.secondary {\n border: 1px solid var(--tempest-border);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n}\n\n.primary:focus-visible,\n.secondary:focus-visible,\n.skip:focus-visible,\n.close:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n\n/* The spotlight ring is decoration; a reader who asked for less motion gets none. */\n@media (prefers-reduced-motion: no-preference) {\n .spotlight {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out),\n width var(--tempest-duration-base) var(--tempest-ease-out),\n height var(--tempest-duration-base) var(--tempest-ease-out);\n }\n\n .card {\n transition:\n top var(--tempest-duration-base) var(--tempest-ease-out),\n left var(--tempest-duration-base) var(--tempest-ease-out);\n }\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transfer.module.cjs","names":[],"sources":["../../../src/components/Transfer/Transfer.module.css"],"sourcesContent":[".wrapper {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n gap: var(--tempest-space-3);\n align-items: stretch;\n font-family: var(--tempest-font-sans);\n}\n\n/*\n * The move controls sit between the panes in the grid, but come **last** in the\n * DOM: a keyboard reaching the buttons before it has seen what they act on has to\n * go back, and a screen reader reads \"move checked to the right\" with no idea what\n * is checked. Order 2 puts them back in the middle visually.\n */\n.controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: var(--tempest-space-2);\n order: 2;\n}\n\n.pane {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n min-width: 0;\n padding: var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n}\n\n.pane:first-of-type {\n order: 1;\n}\n\n.pane:last-of-type {\n order: 3;\n}\n\n.paneHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.paneTitle {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.title {\n margin: 0;\n overflow: hidden;\n color: var(--tempest-text);\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-semibold);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.count {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n.search {\n width: 100%;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: inherit;\n font: inherit;\n font-size: var(--tempest-text-sm);\n}\n\n.search:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: -1px;\n}\n\n.list {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n list-style: none;\n}\n\n.row {\n padding: var(--tempest-space-1) var(--tempest-space-2);\n border-radius: var(--tempest-radius-sm);\n font-size: var(--tempest-text-sm);\n}\n\n.row:hover {\n background-color: var(--tempest-surface);\n}\n\n.empty {\n padding: var(--tempest-space-4) var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n text-align: center;\n}\n\n.control {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--tempest-control-height-sm);\n height: var(--tempest-control-height-sm);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n font-size: var(--tempest-text-base);\n line-height: 1;\n cursor: pointer;\n}\n\n.control:hover:not(:disabled) {\n border-color: var(--tempest-primary);\n color: var(--tempest-primary);\n}\n\n.control:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 1px;\n}\n\n.control:disabled {\n color: var(--tempest-text-subtle);\n cursor: not-allowed;\n}\n\n/*\n * Below the md breakpoint the panes stack and the controls turn horizontal: two\n * 16rem lists side by side on a phone leave each about 150px wide, where a role\n * name wraps to three lines.\n */\n@media (max-width: 640px) {\n .wrapper {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .controls {\n flex-direction: row;\n justify-content: center;\n }\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"Transfer.module.cjs","names":[],"sources":["../../../src/components/Transfer/Transfer.module.css"],"sourcesContent":[".wrapper {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n gap: var(--tempest-space-3);\n align-items: stretch;\n font-family: var(--tempest-font-sans);\n}\n\n/*\n * The move controls sit between the panes in the grid, but come **last** in the\n * DOM: a keyboard reaching the buttons before it has seen what they act on has to\n * go back, and a screen reader reads \"move checked to the right\" with no idea what\n * is checked. Order 2 puts them back in the middle visually.\n */\n.controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: var(--tempest-space-2);\n order: 2;\n}\n\n.pane {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n min-width: 0;\n padding: var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n}\n\n.pane:first-of-type {\n order: 1;\n}\n\n.pane:last-of-type {\n order: 3;\n}\n\n.paneHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.paneTitle {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.title {\n margin: 0;\n overflow: hidden;\n color: var(--tempest-text);\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-semibold);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.count {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n.search {\n width: 100%;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: inherit;\n font: inherit;\n font-size: var(--tempest-text-sm);\n}\n\n.search:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: calc(var(--tempest-focus-ring-width) * -1);\n}\n\n.list {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n list-style: none;\n}\n\n.row {\n padding: var(--tempest-space-1) var(--tempest-space-2);\n border-radius: var(--tempest-radius-sm);\n font-size: var(--tempest-text-sm);\n}\n\n.row:hover {\n background-color: var(--tempest-surface);\n}\n\n.empty {\n padding: var(--tempest-space-4) var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n text-align: center;\n}\n\n.control {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--tempest-control-height-sm);\n height: var(--tempest-control-height-sm);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n font-size: var(--tempest-text-base);\n line-height: 1;\n cursor: pointer;\n}\n\n.control:hover:not(:disabled) {\n border-color: var(--tempest-primary);\n color: var(--tempest-primary);\n}\n\n.control:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.control:disabled {\n color: var(--tempest-text-subtle);\n cursor: not-allowed;\n}\n\n/*\n * Below the md breakpoint the panes stack and the controls turn horizontal: two\n * 16rem lists side by side on a phone leave each about 150px wide, where a role\n * name wraps to three lines.\n */\n@media (max-width: 640px) {\n .wrapper {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .controls {\n flex-direction: row;\n justify-content: center;\n }\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transfer.module.js","names":[],"sources":["../../../src/components/Transfer/Transfer.module.css"],"sourcesContent":[".wrapper {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n gap: var(--tempest-space-3);\n align-items: stretch;\n font-family: var(--tempest-font-sans);\n}\n\n/*\n * The move controls sit between the panes in the grid, but come **last** in the\n * DOM: a keyboard reaching the buttons before it has seen what they act on has to\n * go back, and a screen reader reads \"move checked to the right\" with no idea what\n * is checked. Order 2 puts them back in the middle visually.\n */\n.controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: var(--tempest-space-2);\n order: 2;\n}\n\n.pane {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n min-width: 0;\n padding: var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n}\n\n.pane:first-of-type {\n order: 1;\n}\n\n.pane:last-of-type {\n order: 3;\n}\n\n.paneHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.paneTitle {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.title {\n margin: 0;\n overflow: hidden;\n color: var(--tempest-text);\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-semibold);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.count {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n.search {\n width: 100%;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: inherit;\n font: inherit;\n font-size: var(--tempest-text-sm);\n}\n\n.search:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: -1px;\n}\n\n.list {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n list-style: none;\n}\n\n.row {\n padding: var(--tempest-space-1) var(--tempest-space-2);\n border-radius: var(--tempest-radius-sm);\n font-size: var(--tempest-text-sm);\n}\n\n.row:hover {\n background-color: var(--tempest-surface);\n}\n\n.empty {\n padding: var(--tempest-space-4) var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n text-align: center;\n}\n\n.control {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--tempest-control-height-sm);\n height: var(--tempest-control-height-sm);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n font-size: var(--tempest-text-base);\n line-height: 1;\n cursor: pointer;\n}\n\n.control:hover:not(:disabled) {\n border-color: var(--tempest-primary);\n color: var(--tempest-primary);\n}\n\n.control:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 1px;\n}\n\n.control:disabled {\n color: var(--tempest-text-subtle);\n cursor: not-allowed;\n}\n\n/*\n * Below the md breakpoint the panes stack and the controls turn horizontal: two\n * 16rem lists side by side on a phone leave each about 150px wide, where a role\n * name wraps to three lines.\n */\n@media (max-width: 640px) {\n .wrapper {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .controls {\n flex-direction: row;\n justify-content: center;\n }\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"Transfer.module.js","names":[],"sources":["../../../src/components/Transfer/Transfer.module.css"],"sourcesContent":[".wrapper {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n gap: var(--tempest-space-3);\n align-items: stretch;\n font-family: var(--tempest-font-sans);\n}\n\n/*\n * The move controls sit between the panes in the grid, but come **last** in the\n * DOM: a keyboard reaching the buttons before it has seen what they act on has to\n * go back, and a screen reader reads \"move checked to the right\" with no idea what\n * is checked. Order 2 puts them back in the middle visually.\n */\n.controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: var(--tempest-space-2);\n order: 2;\n}\n\n.pane {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-2);\n min-width: 0;\n padding: var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n}\n\n.pane:first-of-type {\n order: 1;\n}\n\n.pane:last-of-type {\n order: 3;\n}\n\n.paneHeader {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.paneTitle {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n min-width: 0;\n}\n\n.title {\n margin: 0;\n overflow: hidden;\n color: var(--tempest-text);\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-semibold);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.count {\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-xs);\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n}\n\n.search {\n width: 100%;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: inherit;\n font: inherit;\n font-size: var(--tempest-text-sm);\n}\n\n.search:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: calc(var(--tempest-focus-ring-width) * -1);\n}\n\n.list {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n list-style: none;\n}\n\n.row {\n padding: var(--tempest-space-1) var(--tempest-space-2);\n border-radius: var(--tempest-radius-sm);\n font-size: var(--tempest-text-sm);\n}\n\n.row:hover {\n background-color: var(--tempest-surface);\n}\n\n.empty {\n padding: var(--tempest-space-4) var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n text-align: center;\n}\n\n.control {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--tempest-control-height-sm);\n height: var(--tempest-control-height-sm);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background-color: var(--tempest-bg);\n color: var(--tempest-text);\n font-size: var(--tempest-text-base);\n line-height: 1;\n cursor: pointer;\n}\n\n.control:hover:not(:disabled) {\n border-color: var(--tempest-primary);\n color: var(--tempest-primary);\n}\n\n.control:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.control:disabled {\n color: var(--tempest-text-subtle);\n cursor: not-allowed;\n}\n\n/*\n * Below the md breakpoint the panes stack and the controls turn horizontal: two\n * 16rem lists side by side on a phone leave each about 150px wide, where a role\n * name wraps to three lines.\n */\n@media (max-width: 640px) {\n .wrapper {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .controls {\n flex-direction: row;\n justify-content: center;\n }\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTable.module.cjs","names":[],"sources":["../../../src/components/VirtualTable/VirtualTable.module.css"],"sourcesContent":[".scroll {\n width: 100%;\n overflow: auto;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-xs);\n}\n\n.table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-family: var(--tempest-font-sans);\n font-size: var(--tempest-text-base);\n line-height: var(--tempest-leading-snug);\n /*\n * Fixed layout is what keeps columns from jumping mid-scroll: with `auto`,\n * the browser sizes each column from the rows currently in the DOM, and a\n * virtualized table swaps those rows out as you scroll.\n */\n table-layout: fixed;\n}\n\n.caption {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n/*\n * `border-collapse: separate` above exists for this: a sticky `<th>` inside a\n * collapsed table loses its bottom border while scrolling, because the shared\n * border belongs to the cell that scrolled away.\n */\n.head .th {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.th,\n.td {\n padding: 0 var(--tempest-space-4);\n text-align: left;\n border-bottom: 1px solid var(--tempest-border);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.th {\n padding-block: var(--tempest-space-3);\n background-color: var(--tempest-surface);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n font-size: var(--tempest-text-xs);\n letter-spacing: var(--tempest-tracking-wider);\n text-transform: uppercase;\n}\n\n.alignRight {\n text-align: right;\n}\n\n.alignCenter {\n text-align: center;\n}\n\n.sortButton {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-1);\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n cursor: pointer;\n}\n\n.sortButton:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 2px;\n border-radius: var(--tempest-radius-sm);\n}\n\n.sortIndicator {\n font-size: var(--tempest-text-xs);\n opacity: 0.55;\n}\n\n.tr.clickable {\n cursor: pointer;\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .tr.clickable:hover {\n background-color: var(--tempest-surface);\n }\n}\n\n.tr.clickable:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: -2px;\n}\n\n.emptyRow {\n padding: var(--tempest-space-8) var(--tempest-space-4);\n text-align: center;\n color: var(--tempest-text-muted);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tr.clickable {\n transition: none;\n }\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"VirtualTable.module.cjs","names":[],"sources":["../../../src/components/VirtualTable/VirtualTable.module.css"],"sourcesContent":[".scroll {\n width: 100%;\n overflow: auto;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-xs);\n}\n\n.table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-family: var(--tempest-font-sans);\n font-size: var(--tempest-text-base);\n line-height: var(--tempest-leading-snug);\n /*\n * Fixed layout is what keeps columns from jumping mid-scroll: with `auto`,\n * the browser sizes each column from the rows currently in the DOM, and a\n * virtualized table swaps those rows out as you scroll.\n */\n table-layout: fixed;\n}\n\n.caption {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n/*\n * `border-collapse: separate` above exists for this: a sticky `<th>` inside a\n * collapsed table loses its bottom border while scrolling, because the shared\n * border belongs to the cell that scrolled away.\n */\n.head .th {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.th,\n.td {\n padding: 0 var(--tempest-space-4);\n text-align: left;\n border-bottom: 1px solid var(--tempest-border);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.th {\n padding-block: var(--tempest-space-3);\n background-color: var(--tempest-surface);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n font-size: var(--tempest-text-xs);\n letter-spacing: var(--tempest-tracking-wider);\n text-transform: uppercase;\n}\n\n.alignRight {\n text-align: right;\n}\n\n.alignCenter {\n text-align: center;\n}\n\n.sortButton {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-1);\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n cursor: pointer;\n}\n\n.sortButton:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n border-radius: var(--tempest-radius-sm);\n}\n\n.sortIndicator {\n font-size: var(--tempest-text-xs);\n opacity: 0.55;\n}\n\n.tr.clickable {\n cursor: pointer;\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .tr.clickable:hover {\n background-color: var(--tempest-surface);\n }\n}\n\n.tr.clickable:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: calc(var(--tempest-focus-ring-width) * -1);\n}\n\n.emptyRow {\n padding: var(--tempest-space-8) var(--tempest-space-4);\n text-align: center;\n color: var(--tempest-text-muted);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tr.clickable {\n transition: none;\n }\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualTable.module.js","names":[],"sources":["../../../src/components/VirtualTable/VirtualTable.module.css"],"sourcesContent":[".scroll {\n width: 100%;\n overflow: auto;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-xs);\n}\n\n.table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-family: var(--tempest-font-sans);\n font-size: var(--tempest-text-base);\n line-height: var(--tempest-leading-snug);\n /*\n * Fixed layout is what keeps columns from jumping mid-scroll: with `auto`,\n * the browser sizes each column from the rows currently in the DOM, and a\n * virtualized table swaps those rows out as you scroll.\n */\n table-layout: fixed;\n}\n\n.caption {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n/*\n * `border-collapse: separate` above exists for this: a sticky `<th>` inside a\n * collapsed table loses its bottom border while scrolling, because the shared\n * border belongs to the cell that scrolled away.\n */\n.head .th {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.th,\n.td {\n padding: 0 var(--tempest-space-4);\n text-align: left;\n border-bottom: 1px solid var(--tempest-border);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.th {\n padding-block: var(--tempest-space-3);\n background-color: var(--tempest-surface);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n font-size: var(--tempest-text-xs);\n letter-spacing: var(--tempest-tracking-wider);\n text-transform: uppercase;\n}\n\n.alignRight {\n text-align: right;\n}\n\n.alignCenter {\n text-align: center;\n}\n\n.sortButton {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-1);\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n cursor: pointer;\n}\n\n.sortButton:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 2px;\n border-radius: var(--tempest-radius-sm);\n}\n\n.sortIndicator {\n font-size: var(--tempest-text-xs);\n opacity: 0.55;\n}\n\n.tr.clickable {\n cursor: pointer;\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .tr.clickable:hover {\n background-color: var(--tempest-surface);\n }\n}\n\n.tr.clickable:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: -2px;\n}\n\n.emptyRow {\n padding: var(--tempest-space-8) var(--tempest-space-4);\n text-align: center;\n color: var(--tempest-text-muted);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tr.clickable {\n transition: none;\n }\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"VirtualTable.module.js","names":[],"sources":["../../../src/components/VirtualTable/VirtualTable.module.css"],"sourcesContent":[".scroll {\n width: 100%;\n overflow: auto;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n background-color: var(--tempest-bg);\n box-shadow: var(--tempest-shadow-xs);\n}\n\n.table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-family: var(--tempest-font-sans);\n font-size: var(--tempest-text-base);\n line-height: var(--tempest-leading-snug);\n /*\n * Fixed layout is what keeps columns from jumping mid-scroll: with `auto`,\n * the browser sizes each column from the rows currently in the DOM, and a\n * virtualized table swaps those rows out as you scroll.\n */\n table-layout: fixed;\n}\n\n.caption {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n\n/*\n * `border-collapse: separate` above exists for this: a sticky `<th>` inside a\n * collapsed table loses its bottom border while scrolling, because the shared\n * border belongs to the cell that scrolled away.\n */\n.head .th {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.th,\n.td {\n padding: 0 var(--tempest-space-4);\n text-align: left;\n border-bottom: 1px solid var(--tempest-border);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.th {\n padding-block: var(--tempest-space-3);\n background-color: var(--tempest-surface);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n font-size: var(--tempest-text-xs);\n letter-spacing: var(--tempest-tracking-wider);\n text-transform: uppercase;\n}\n\n.alignRight {\n text-align: right;\n}\n\n.alignCenter {\n text-align: center;\n}\n\n.sortButton {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-1);\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n font: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n cursor: pointer;\n}\n\n.sortButton:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n border-radius: var(--tempest-radius-sm);\n}\n\n.sortIndicator {\n font-size: var(--tempest-text-xs);\n opacity: 0.55;\n}\n\n.tr.clickable {\n cursor: pointer;\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .tr.clickable:hover {\n background-color: var(--tempest-surface);\n }\n}\n\n.tr.clickable:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: calc(var(--tempest-focus-ring-width) * -1);\n}\n\n.emptyRow {\n padding: var(--tempest-space-8) var(--tempest-space-4);\n text-align: center;\n color: var(--tempest-text-muted);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tr.clickable {\n transition: none;\n }\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrajectoryMap.module.cjs","names":[],"sources":["../../src/geo/TrajectoryMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n overflow: hidden;\n background: var(--tempest-surface-2);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.empty,\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.grid line {\n stroke: var(--tempest-border);\n stroke-width: 1;\n stroke-dasharray: 3 5;\n opacity: 0.5;\n}\n\n.path {\n stroke: var(--tempest-primary);\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.start {\n fill: var(--tempest-success-solid);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.end {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.current {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.pulse {\n fill: var(--tempest-primary);\n opacity: 0.25;\n transform-origin: center;\n transform-box: fill-box;\n animation: tempest-geo-pulse 1.8s ease-out infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pulse {\n animation: none;\n }\n}\n\n@keyframes tempest-geo-pulse {\n 0% {\n transform: scale(0.6);\n opacity: 0.35;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n\n.marker {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary-active);\n stroke-width: 3;\n}\n\n.scale line {\n stroke: var(--tempest-text);\n stroke-width: 2;\n}\n\n.scale text {\n fill: var(--tempest-text);\n font-size: var(--tempest-text-xs);\n font-family: var(--tempest-font-sans);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"TrajectoryMap.module.cjs","names":[],"sources":["../../src/geo/TrajectoryMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n overflow: hidden;\n background: var(--tempest-surface-2);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.empty,\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.grid line {\n stroke: var(--tempest-border);\n stroke-width: 1;\n stroke-dasharray: 3 5;\n opacity: 0.5;\n}\n\n.path {\n stroke: var(--tempest-primary);\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.start {\n fill: var(--tempest-success-solid);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.end {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.current {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.pulse {\n fill: var(--tempest-primary);\n opacity: 0.25;\n transform-origin: center;\n transform-box: fill-box;\n animation: tempest-geo-pulse 1.8s ease-out infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pulse {\n animation: none;\n }\n}\n\n@keyframes tempest-geo-pulse {\n 0% {\n transform: scale(0.6);\n opacity: 0.35;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n\n.marker {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-focus-ring-color);\n stroke-width: 3;\n}\n\n.scale line {\n stroke: var(--tempest-text);\n stroke-width: 2;\n}\n\n.scale text {\n fill: var(--tempest-text);\n font-size: var(--tempest-text-xs);\n font-family: var(--tempest-font-sans);\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrajectoryMap.module.js","names":[],"sources":["../../src/geo/TrajectoryMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n overflow: hidden;\n background: var(--tempest-surface-2);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.empty,\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.grid line {\n stroke: var(--tempest-border);\n stroke-width: 1;\n stroke-dasharray: 3 5;\n opacity: 0.5;\n}\n\n.path {\n stroke: var(--tempest-primary);\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.start {\n fill: var(--tempest-success-solid);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.end {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.current {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.pulse {\n fill: var(--tempest-primary);\n opacity: 0.25;\n transform-origin: center;\n transform-box: fill-box;\n animation: tempest-geo-pulse 1.8s ease-out infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pulse {\n animation: none;\n }\n}\n\n@keyframes tempest-geo-pulse {\n 0% {\n transform: scale(0.6);\n opacity: 0.35;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n\n.marker {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-primary-active);\n stroke-width: 3;\n}\n\n.scale line {\n stroke: var(--tempest-text);\n stroke-width: 2;\n}\n\n.scale text {\n fill: var(--tempest-text);\n font-size: var(--tempest-text-xs);\n font-family: var(--tempest-font-sans);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"TrajectoryMap.module.js","names":[],"sources":["../../src/geo/TrajectoryMap.module.css"],"sourcesContent":[".map {\n position: relative;\n width: 100%;\n overflow: hidden;\n background: var(--tempest-surface-2);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n}\n\n.svg {\n display: block;\n width: 100%;\n}\n\n.empty,\n.loading {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.grid line {\n stroke: var(--tempest-border);\n stroke-width: 1;\n stroke-dasharray: 3 5;\n opacity: 0.5;\n}\n\n.path {\n stroke: var(--tempest-primary);\n stroke-width: 3;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.start {\n fill: var(--tempest-success-solid);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.end {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.current {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.pulse {\n fill: var(--tempest-primary);\n opacity: 0.25;\n transform-origin: center;\n transform-box: fill-box;\n animation: tempest-geo-pulse 1.8s ease-out infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pulse {\n animation: none;\n }\n}\n\n@keyframes tempest-geo-pulse {\n 0% {\n transform: scale(0.6);\n opacity: 0.35;\n }\n 100% {\n transform: scale(1.6);\n opacity: 0;\n }\n}\n\n.marker {\n fill: var(--tempest-primary);\n stroke: var(--tempest-surface);\n stroke-width: 2;\n}\n\n.marker[role=\"button\"] {\n cursor: pointer;\n}\n\n.marker[role=\"button\"]:focus-visible {\n outline: none;\n stroke: var(--tempest-focus-ring-color);\n stroke-width: 3;\n}\n\n.scale line {\n stroke: var(--tempest-text);\n stroke-width: 2;\n}\n\n.scale text {\n fill: var(--tempest-text);\n font-size: var(--tempest-text-xs);\n font-family: var(--tempest-font-sans);\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconPicker.module.cjs","names":[],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"IconPicker.module.cjs","names":[],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconPicker.module.js","names":[],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: 2px solid var(--tempest-primary);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
1
+ {"version":3,"file":"IconPicker.module.js","names":[],"sources":["../../src/icons/IconPicker.module.css"],"sourcesContent":[".picker {\n display: inline-flex;\n align-items: center;\n gap: var(--tempest-space-2);\n font-family: var(--tempest-font-sans);\n}\n\n.preview {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 34px;\n height: 34px;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n color: var(--tempest-text);\n}\n\n.input {\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--tempest-space-2) var(--tempest-space-3);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-bg);\n color: var(--tempest-text);\n font-family: inherit;\n font-size: var(--tempest-text-sm);\n min-height: 34px;\n}\n\n.input:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: 1px;\n}\n\n.input[aria-invalid=\"true\"] {\n border-color: var(--tempest-danger);\n}\n"],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ /* Generated by scripts/split-css.mjs — do not edit. */
2
+ @import "./component/Reveal.css";
@@ -0,0 +1,2 @@
1
+ /* Generated by scripts/split-css.mjs — do not edit. */
2
+ @import "./component/SectionHeader.css";
@@ -1,27 +1,29 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
- .tempest_button_2ZuB7{justify-content:center;align-items:center;gap:var(--tempest-control-gap,var(--tempest-space-2));border-radius:var(--tempest-control-radius,var(--tempest-radius-md));font-family:var(--tempest-font-sans);font-weight:var(--tempest-weight-semibold);line-height:var(--tempest-leading-none);letter-spacing:var(--tempest-tracking-normal);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:var(--tempest-transition-base);box-shadow:var(--tempest-shadow-xs);border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}
2
+ .tempest_button_2ZuB7{justify-content:center;align-items:center;gap:var(--tempest-control-gap,var(--tempest-space-2));border-radius:var(--tempest-control-radius,var(--tempest-radius-md));font-family:var(--tempest-font-sans);font-weight:var(--tempest-weight-semibold);line-height:var(--tempest-leading-none);letter-spacing:var(--tempest-tracking-normal);color:var(--_tempest-button-fg);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:var(--tempest-transition-base);box-shadow:var(--tempest-shadow-xs);border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}
3
3
  .tempest_button_2ZuB7:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:var(--tempest-focus-ring-offset)}
4
- @media (hover:hover) and (pointer:fine){.tempest_button_2ZuB7:hover:not(:disabled){box-shadow:var(--tempest-shadow-sm)}}
5
- .tempest_button_2ZuB7:active:not(:disabled){box-shadow:var(--tempest-shadow-xs);transform:translateY(1px)}
6
- .tempest_button_2ZuB7:disabled{opacity:.55;box-shadow:none}
7
- .tempest_primary_s1sM6{background-color:var(--tempest-primary);color:var(--tempest-primary-foreground)}
8
- .tempest_primary_s1sM6:hover:not(:disabled){background-color:var(--tempest-primary-hover)}
9
- .tempest_primary_s1sM6:active:not(:disabled){background-color:var(--tempest-primary-active)}
10
- .tempest_secondary_R0waJ{background-color:var(--tempest-surface);color:var(--tempest-text);border-color:var(--tempest-border)}
11
- .tempest_secondary_R0waJ:hover:not(:disabled){background-color:var(--tempest-surface-2);border-color:var(--tempest-border-strong)}
12
- .tempest_danger_V4fX8{background-color:var(--tempest-danger-solid);color:var(--tempest-danger-on-solid)}
13
- .tempest_danger_V4fX8:hover:not(:disabled){background-color:var(--tempest-danger-hover)}
14
- .tempest_success_w6qB6{background-color:var(--tempest-success-solid);color:var(--tempest-success-on-solid)}
15
- .tempest_success_w6qB6:hover:not(:disabled){filter:brightness(.92)}
16
- .tempest_ghost_1KINV{color:var(--tempest-text);box-shadow:none;background-color:#0000}
17
- .tempest_ghost_1KINV:hover:not(:disabled){background-color:var(--tempest-surface);box-shadow:none}
18
- .tempest_ghost_1KINV:active:not(:disabled){background-color:var(--tempest-surface-2);box-shadow:none}
19
- .tempest_soft_c3kzm{background-color:var(--tempest-primary-soft);color:var(--tempest-primary-on-soft);box-shadow:none}
20
- .tempest_soft_c3kzm:hover:not(:disabled){background-color:var(--tempest-primary-soft-hover)}
21
- .tempest_outline_F5jq-{color:var(--tempest-primary);border-color:var(--tempest-primary);box-shadow:none;background-color:#0000}
22
- .tempest_outline_F5jq-:hover:not(:disabled){background-color:var(--tempest-primary-soft);color:var(--tempest-primary-on-soft)}
23
- .tempest_link_Zt5hw{color:var(--tempest-primary);box-shadow:none;border-radius:var(--tempest-radius-sm);background-color:#0000;padding-left:0;padding-right:0}
24
- .tempest_link_Zt5hw:hover:not(:disabled){color:var(--tempest-primary-hover);box-shadow:none;background:0 0;text-decoration:underline}
4
+ @media (hover:hover) and (pointer:fine){.tempest_button_2ZuB7:hover:not(:disabled,[aria-disabled=true]){box-shadow:var(--tempest-shadow-sm)}}
5
+ .tempest_button_2ZuB7:active:not(:disabled,[aria-disabled=true]){box-shadow:var(--tempest-shadow-xs);transform:translateY(1px)}
6
+ .tempest_button_2ZuB7:disabled,.tempest_button_2ZuB7[aria-disabled=true]{opacity:.55;box-shadow:none}
7
+ .tempest_button_2ZuB7[aria-disabled=true]{cursor:not-allowed}
8
+ a.tempest_button_2ZuB7:is(:link,:visited,:hover,:active,:focus,:not([href])){color:var(--_tempest-button-fg);text-decoration:none}
9
+ .tempest_primary_s1sM6{background-color:var(--tempest-primary);--_tempest-button-fg:var(--tempest-primary-foreground)}
10
+ .tempest_primary_s1sM6:hover:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-primary-hover)}
11
+ .tempest_primary_s1sM6:active:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-primary-active)}
12
+ .tempest_secondary_R0waJ{background-color:var(--tempest-surface);--_tempest-button-fg:var(--tempest-text);border-color:var(--tempest-border)}
13
+ .tempest_secondary_R0waJ:hover:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-surface-2);border-color:var(--tempest-border-strong)}
14
+ .tempest_danger_V4fX8{background-color:var(--tempest-danger-solid);--_tempest-button-fg:var(--tempest-danger-on-solid)}
15
+ .tempest_danger_V4fX8:hover:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-danger-hover)}
16
+ .tempest_success_w6qB6{background-color:var(--tempest-success-solid);--_tempest-button-fg:var(--tempest-success-on-solid)}
17
+ .tempest_success_w6qB6:hover:not(:disabled,[aria-disabled=true]){filter:brightness(.92)}
18
+ .tempest_ghost_1KINV{--_tempest-button-fg:var(--tempest-text);box-shadow:none;background-color:#0000}
19
+ .tempest_ghost_1KINV:hover:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-surface);box-shadow:none}
20
+ .tempest_ghost_1KINV:active:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-surface-2);box-shadow:none}
21
+ .tempest_soft_c3kzm{background-color:var(--tempest-primary-soft);--_tempest-button-fg:var(--tempest-primary-on-soft);box-shadow:none}
22
+ .tempest_soft_c3kzm:hover:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-primary-soft-hover)}
23
+ .tempest_outline_F5jq-{--_tempest-button-fg:var(--tempest-primary);border-color:var(--tempest-primary);box-shadow:none;background-color:#0000}
24
+ .tempest_outline_F5jq-:hover:not(:disabled,[aria-disabled=true]){background-color:var(--tempest-primary-soft);--_tempest-button-fg:var(--tempest-primary-on-soft)}
25
+ .tempest_link_Zt5hw{--_tempest-button-fg:var(--tempest-primary);box-shadow:none;border-radius:var(--tempest-radius-sm);background-color:#0000;padding-left:0;padding-right:0}
26
+ .tempest_link_Zt5hw:hover:not(:disabled,[aria-disabled=true]){--_tempest-button-fg:var(--tempest-primary-hover);box-shadow:none;background:0 0;text-decoration:underline}
25
27
  .tempest_xs_cF6m0{height:var(--tempest-control-height-xs);padding:0 var(--tempest-control-padding-xs);font-size:var(--tempest-control-font-xs)}
26
28
  .tempest_sm_NhG0g{height:var(--tempest-control-height-sm);padding:0 var(--tempest-control-padding-sm);font-size:var(--tempest-control-font-sm)}
27
29
  .tempest_md_hH4h3{height:var(--tempest-control-height-md);padding:0 var(--tempest-control-padding-md);font-size:var(--tempest-control-font-md)}
@@ -37,7 +39,7 @@
37
39
  .tempest_pill_lx8lt{border-radius:var(--tempest-radius-full)}
38
40
  .tempest_fullWidth_36oJT{width:100%}
39
41
  .tempest_content_EKXmF{justify-content:center;align-items:center;gap:var(--tempest-control-gap,var(--tempest-space-2));min-width:0;display:inline-flex}
40
- .tempest_loading_EQAt2 .tempest_hiddenText_hIiJ2{visibility:hidden}
42
+ .tempest_loading_EQAt2 .tempest_hiddenText_hIiJ2{opacity:0;pointer-events:none}
41
43
  .tempest_spinner_ZExvW{animation:.8s linear infinite tempest_tempest-spin_UOSVC;position:absolute}
42
44
  @keyframes tempest_tempest-spin_UOSVC{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
43
45
  .tempest_root_5ZetV{display:inline-flex;position:relative}
@@ -58,7 +60,7 @@
58
60
  @media (prefers-reduced-motion:reduce){.tempest_menu_-RiRW{animation:none}}
59
61
  .tempest_fab_U3NIL{justify-content:center;align-items:center;gap:var(--tempest-space-2);cursor:pointer;font-family:var(--tempest-font-sans);font-weight:var(--tempest-weight-semibold);box-shadow:var(--tempest-shadow-lg);transition:background var(--tempest-duration-fast,.12s) var(--tempest-ease-out,ease-out), box-shadow var(--tempest-duration-fast,.12s) var(--tempest-ease-out,ease-out), transform var(--tempest-duration-fast,.12s) var(--tempest-ease-out,ease-out);border:0;display:inline-flex}
60
62
  .tempest_fab_U3NIL:active{transform:scale(.96)}
61
- .tempest_fab_U3NIL:focus-visible{outline:var(--tempest-focus-ring-width,2px) solid var(--tempest-focus-ring-color,var(--tempest-primary));outline-offset:var(--tempest-focus-ring-offset,2px)}
63
+ .tempest_fab_U3NIL:focus-visible{outline:var(--tempest-focus-ring-width,2px) solid var(--tempest-focus-ring-color,currentColor);outline-offset:var(--tempest-focus-ring-offset,2px)}
62
64
  .tempest_fab_U3NIL:disabled{opacity:.5;cursor:not-allowed;box-shadow:var(--tempest-shadow-sm)}
63
65
  .tempest_primary_8lnHI{background:var(--tempest-primary);color:var(--tempest-primary-foreground)}
64
66
  .tempest_primary_8lnHI:hover:not(:disabled){background:var(--tempest-primary-active,var(--tempest-primary))}
@@ -1,7 +1,9 @@
1
1
  /* Generated by scripts/split-css.mjs — do not edit. */
2
2
  *,:before,:after{box-sizing:border-box}
3
3
  html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}
4
- :where(html,body,#root){height:100%}
4
+ :where(html,body){height:100%}
5
+ :where(#root){min-height:100%}
6
+ :where(#root:has(>:only-child)){height:100%}
5
7
  body{background-color:var(--tempest-bg);color:var(--tempest-text);margin:0}
6
8
  img,svg,video,canvas,audio,iframe,embed,object{max-width:100%;display:block}
7
9
  img,video{height:auto}
@@ -5,7 +5,7 @@
5
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
6
  .tempest_state_JV7Hu[role=button]{cursor:pointer}
7
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}
8
+ .tempest_state_JV7Hu[role=button]:focus-visible{stroke:var(--tempest-focus-ring-color);stroke-width:1.5px;outline:none}
9
9
  .tempest_selected_CNxWu{fill:var(--tempest-primary);stroke:var(--tempest-primary-active);stroke-width:1.25px}
10
10
  .tempest_selected_CNxWu:hover{fill:var(--tempest-primary-hover)}
11
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}
@@ -15,7 +15,7 @@
15
15
  .tempest_marker_5td7B{stroke:var(--tempest-surface);stroke-width:2px}
16
16
  .tempest_marker_5td7B[role=button]{cursor:pointer}
17
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}
18
+ .tempest_marker_5td7B[role=button]:focus-visible{stroke:var(--tempest-focus-ring-color);stroke-width:3px;outline:none}
19
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
20
  .tempest_zoomReset_IXmak:hover{background:var(--tempest-surface-2)}
21
21
  .tempest_legend_jti9g{gap:var(--tempest-space-1);padding:var(--tempest-space-2) var(--tempest-space-3);background:var(--tempest-surface);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);font-family:var(--tempest-font-sans);font-size:var(--tempest-text-xs);color:var(--tempest-text);flex-direction:column;min-width:160px;display:inline-flex}
@@ -29,7 +29,7 @@
29
29
  .tempest_search_iYSqC{font-family:var(--tempest-font-sans);position:relative}
30
30
  .tempest_results_-a0Jg{z-index:10;margin:var(--tempest-space-1) 0 0;padding:var(--tempest-space-1);background:var(--tempest-surface);border:1px solid var(--tempest-border);border-radius:var(--tempest-radius-md);max-height:260px;box-shadow:var(--tempest-shadow-md,0 4px 12px #0000001f);list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}
31
31
  .tempest_result_D5-no{justify-content:space-between;align-items:center;gap:var(--tempest-space-2);width:100%;padding:var(--tempest-space-2) var(--tempest-space-3);border-radius:var(--tempest-radius-sm);font-size:var(--tempest-text-sm);color:var(--tempest-text);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}
32
- .tempest_result_D5-no:hover,.tempest_result_D5-no:focus-visible{background:var(--tempest-primary-soft);outline:none}
32
+ .tempest_result_D5-no:hover,.tempest_result_D5-no.tempest_active_qX2ct{background:var(--tempest-primary-soft)}
33
33
  .tempest_uf_Rj15X{font-size:var(--tempest-text-xs);color:var(--tempest-text-muted);font-weight:var(--tempest-weight-medium)}
34
34
  .tempest_pix_sx91C{align-items:center;gap:var(--tempest-space-3);font-family:var(--tempest-font-sans);flex-direction:column;display:inline-flex}
35
35
  .tempest_symbol_tVr1U{padding:var(--tempest-space-2);border-radius:var(--tempest-radius-md);border:1px solid var(--tempest-border);background:#fff}
@@ -3,7 +3,7 @@
3
3
  .tempest_header_KYy5l{padding:var(--tempest-space-3) var(--tempest-space-4);border-bottom:1px solid var(--tempest-border);flex:none}
4
4
  .tempest_threadWrapper_LjoF6{flex:auto;min-width:0;min-height:0;display:flex;position:relative}
5
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}
6
+ .tempest_thread_RqELz:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:calc(var(--tempest-focus-ring-width) * -1)}
7
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
8
  .tempest_jump_oBKxQ:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
9
9
  @media (pointer:coarse){.tempest_jump_oBKxQ:after{content:"";position:absolute;inset:-6px}}
@@ -54,7 +54,7 @@
54
54
  @media (prefers-reduced-motion:reduce){.tempest_actions_SZnxe .tempest_action_YPvQH{transition:none}}
55
55
  .tempest_editor_rk4hA{gap:var(--tempest-space-2);flex-direction:column;width:100%;max-width:min(85%,36rem);display:flex}
56
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}
57
+ .tempest_editField_Z9neJ:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:calc(var(--tempest-focus-ring-width) * -1)}
58
58
  .tempest_editActions_vfC0b{justify-content:flex-end;gap:var(--tempest-space-2);display:flex}
59
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
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}
@@ -66,7 +66,7 @@
66
66
  .tempest_suggestion_4NYhq:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
67
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
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)}
69
+ .tempest_composerBox_Fz-GG:focus-within{border-color:var(--tempest-primary);box-shadow:0 0 0 var(--tempest-focus-ring-width) var(--tempest-focus-ring-color)}
70
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
71
  .tempest_field_7m1Pa:focus-visible{outline:none}
72
72
  .tempest_field_7m1Pa:disabled{color:var(--tempest-text-subtle);cursor:not-allowed}
@@ -80,7 +80,7 @@
80
80
  .tempest_panel_xUVw0{min-width:0;min-height:0;height:var(--tempest-chat-height,100%);background-color:var(--tempest-bg);color:var(--tempest-text);font-family:var(--tempest-font-sans);flex-direction:column;display:flex}
81
81
  .tempest_header_muoPu{padding:var(--tempest-space-3) var(--tempest-space-4);border-bottom:1px solid var(--tempest-border);flex:none}
82
82
  .tempest_thread_-j8yS{gap:var(--tempest-space-3);min-height:0;padding:var(--tempest-space-4);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}
83
- .tempest_thread_-j8yS:focus-visible{outline:2px solid var(--tempest-primary);outline-offset:-2px}
83
+ .tempest_thread_-j8yS:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:calc(var(--tempest-focus-ring-width) * -1)}
84
84
  .tempest_day_uLsWA{align-items:center;gap:var(--tempest-space-3);display:flex}
85
85
  .tempest_day_uLsWA:before,.tempest_day_uLsWA:after{background-color:var(--tempest-border);content:"";flex:auto;height:1px}
86
86
  .tempest_dayLabel_m8rDy{color:var(--tempest-text-subtle);font-size:var(--tempest-text-xs);text-transform:capitalize}
@@ -133,7 +133,7 @@
133
133
  .tempest_typing_zdp3O{padding:0 var(--tempest-space-4) var(--tempest-space-2);color:var(--tempest-text-subtle);font-size:var(--tempest-text-xs);flex:none;margin:0}
134
134
  .tempest_composer_krOGl{align-items:flex-end;gap:var(--tempest-space-2);padding:var(--tempest-space-3) var(--tempest-space-4);border-top:1px solid var(--tempest-border);flex:none;display:flex}
135
135
  .tempest_field_fBY-q{min-width:0;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-bg);color:inherit;font:inherit;font-size:var(--tempest-text-sm);line-height:var(--tempest-leading-normal);resize:none;flex:auto}
136
- .tempest_field_fBY-q:focus-visible{outline:2px solid var(--tempest-primary);outline-offset:-1px}
136
+ .tempest_field_fBY-q:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:calc(var(--tempest-focus-ring-width) * -1)}
137
137
  .tempest_field_fBY-q:disabled{background-color:var(--tempest-surface-2);color:var(--tempest-text-subtle);cursor:not-allowed}
138
138
  .tempest_composerActions_MYwQx{align-items:center;gap:var(--tempest-space-2);display:flex}
139
139
  .tempest_send_NwcaR{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}
@@ -3,7 +3,7 @@
3
3
  .tempest_header_KYy5l{padding:var(--tempest-space-3) var(--tempest-space-4);border-bottom:1px solid var(--tempest-border);flex:none}
4
4
  .tempest_threadWrapper_LjoF6{flex:auto;min-width:0;min-height:0;display:flex;position:relative}
5
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}
6
+ .tempest_thread_RqELz:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:calc(var(--tempest-focus-ring-width) * -1)}
7
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
8
  .tempest_jump_oBKxQ:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
9
9
  @media (pointer:coarse){.tempest_jump_oBKxQ:after{content:"";position:absolute;inset:-6px}}
@@ -54,7 +54,7 @@
54
54
  @media (prefers-reduced-motion:reduce){.tempest_actions_SZnxe .tempest_action_YPvQH{transition:none}}
55
55
  .tempest_editor_rk4hA{gap:var(--tempest-space-2);flex-direction:column;width:100%;max-width:min(85%,36rem);display:flex}
56
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}
57
+ .tempest_editField_Z9neJ:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:calc(var(--tempest-focus-ring-width) * -1)}
58
58
  .tempest_editActions_vfC0b{justify-content:flex-end;gap:var(--tempest-space-2);display:flex}
59
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
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}
@@ -66,7 +66,7 @@
66
66
  .tempest_suggestion_4NYhq:focus-visible{outline:var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);outline-offset:2px}
67
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
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)}
69
+ .tempest_composerBox_Fz-GG:focus-within{border-color:var(--tempest-primary);box-shadow:0 0 0 var(--tempest-focus-ring-width) var(--tempest-focus-ring-color)}
70
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
71
  .tempest_field_7m1Pa:focus-visible{outline:none}
72
72
  .tempest_field_7m1Pa:disabled{color:var(--tempest-text-subtle);cursor:not-allowed}
@@ -3,6 +3,7 @@
3
3
  .tempest_bar_SHqWS.tempest_centered_S0CCw{grid-template-columns:1fr auto 1fr}
4
4
  .tempest_bar_SHqWS.tempest_surface_fusKb{background:var(--tempest-surface);color:var(--tempest-text)}
5
5
  .tempest_bar_SHqWS.tempest_primary_QcCyN{background:var(--tempest-primary);color:var(--tempest-primary-foreground)}
6
+ .tempest_bar_SHqWS.tempest_inverse_Icool{background:var(--tempest-bg);color:var(--tempest-text)}
6
7
  .tempest_bar_SHqWS.tempest_transparent_uGrsu{color:inherit;background:0 0}
7
8
  .tempest_bar_SHqWS.tempest_bordered_5M9FZ{border-bottom:1px solid var(--tempest-border)}
8
9
  .tempest_bar_SHqWS.tempest_sticky_DStUO{z-index:30;position:sticky;top:0}