rift-ds 1.0.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 (507) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/behaviors/focusable.d.ts +26 -0
  4. package/behaviors/focusable.js +18 -0
  5. package/behaviors/useFocusScope.d.ts +38 -0
  6. package/behaviors/useFocusScope.js +82 -0
  7. package/behaviors/useLayer.d.ts +43 -0
  8. package/behaviors/useLayer.js +55 -0
  9. package/behaviors/useMounted.d.ts +7 -0
  10. package/behaviors/useMounted.js +14 -0
  11. package/behaviors/useScrollLock.d.ts +55 -0
  12. package/behaviors/useScrollLock.js +59 -0
  13. package/bin/rift-ds.mjs +82 -0
  14. package/charts.d.ts +16 -0
  15. package/charts.js +24 -0
  16. package/components/Accordion/Accordion.css +119 -0
  17. package/components/Accordion/Accordion.d.ts +24 -0
  18. package/components/Accordion/Accordion.js +76 -0
  19. package/components/AgentPlan/AgentPlan.css +251 -0
  20. package/components/AgentPlan/AgentPlan.d.ts +41 -0
  21. package/components/AgentPlan/AgentPlan.js +100 -0
  22. package/components/AgentRail/AgentRail.css +282 -0
  23. package/components/AgentRail/AgentRail.d.ts +72 -0
  24. package/components/AgentRail/AgentRail.js +101 -0
  25. package/components/AgentStatus/AgentStatus.css +511 -0
  26. package/components/AgentStatus/AgentStatus.d.ts +41 -0
  27. package/components/AgentStatus/AgentStatus.js +86 -0
  28. package/components/AgentStatus/AgentStatusPatterns.d.ts +17 -0
  29. package/components/AgentStatus/AgentStatusPatterns.js +20 -0
  30. package/components/AiButton/AiButton.css +559 -0
  31. package/components/AiButton/AiButton.d.ts +79 -0
  32. package/components/AiButton/AiButton.js +183 -0
  33. package/components/Alert/Alert.css +261 -0
  34. package/components/Alert/Alert.d.ts +25 -0
  35. package/components/Alert/Alert.js +53 -0
  36. package/components/AlertDialog/AlertDialog.css +133 -0
  37. package/components/AlertDialog/AlertDialog.d.ts +29 -0
  38. package/components/AlertDialog/AlertDialog.js +98 -0
  39. package/components/AnchorNav/AnchorNav.css +137 -0
  40. package/components/AnchorNav/AnchorNav.d.ts +40 -0
  41. package/components/AnchorNav/AnchorNav.js +135 -0
  42. package/components/AnimatedNumber/AnimatedNumber.css +31 -0
  43. package/components/AnimatedNumber/AnimatedNumber.d.ts +36 -0
  44. package/components/AnimatedNumber/AnimatedNumber.js +55 -0
  45. package/components/AppLayout/AppLayout.css +52 -0
  46. package/components/AppLayout/AppLayout.d.ts +33 -0
  47. package/components/AppLayout/AppLayout.js +47 -0
  48. package/components/AppSidebar/AppSidebar.css +592 -0
  49. package/components/AppSidebar/AppSidebar.d.ts +90 -0
  50. package/components/AppSidebar/AppSidebar.js +295 -0
  51. package/components/Avatar/Avatar.css +133 -0
  52. package/components/Avatar/Avatar.d.ts +20 -0
  53. package/components/Avatar/Avatar.js +58 -0
  54. package/components/Avatar/demoAvatars.d.ts +18 -0
  55. package/components/Avatar/demoAvatars.js +16 -0
  56. package/components/AvatarGroup/AvatarGroup.css +61 -0
  57. package/components/AvatarGroup/AvatarGroup.d.ts +32 -0
  58. package/components/AvatarGroup/AvatarGroup.js +31 -0
  59. package/components/Badge/Badge.css +67 -0
  60. package/components/Badge/Badge.d.ts +13 -0
  61. package/components/Badge/Badge.js +15 -0
  62. package/components/Banner/Banner.css +110 -0
  63. package/components/Banner/Banner.d.ts +36 -0
  64. package/components/Banner/Banner.js +59 -0
  65. package/components/Breadcrumb/Breadcrumb.css +100 -0
  66. package/components/Breadcrumb/Breadcrumb.d.ts +25 -0
  67. package/components/Breadcrumb/Breadcrumb.js +40 -0
  68. package/components/Button/Button.css +473 -0
  69. package/components/Button/Button.d.ts +73 -0
  70. package/components/Button/Button.js +91 -0
  71. package/components/ButtonGroup/ButtonGroup.css +39 -0
  72. package/components/ButtonGroup/ButtonGroup.d.ts +13 -0
  73. package/components/ButtonGroup/ButtonGroup.js +30 -0
  74. package/components/Card/Card.css +190 -0
  75. package/components/Card/Card.d.ts +48 -0
  76. package/components/Card/Card.js +113 -0
  77. package/components/CardStack/CardStack.css +106 -0
  78. package/components/CardStack/CardStack.d.ts +44 -0
  79. package/components/CardStack/CardStack.js +140 -0
  80. package/components/Carousel/Carousel.css +121 -0
  81. package/components/Carousel/Carousel.d.ts +25 -0
  82. package/components/Carousel/Carousel.js +160 -0
  83. package/components/Chart/AreaChart.d.ts +40 -0
  84. package/components/Chart/AreaChart.js +101 -0
  85. package/components/Chart/BarChart.d.ts +36 -0
  86. package/components/Chart/BarChart.js +107 -0
  87. package/components/Chart/Chart.css +224 -0
  88. package/components/Chart/ComboChart.d.ts +40 -0
  89. package/components/Chart/ComboChart.js +142 -0
  90. package/components/Chart/LineChart.d.ts +36 -0
  91. package/components/Chart/LineChart.js +91 -0
  92. package/components/Chart/PieChart.d.ts +36 -0
  93. package/components/Chart/PieChart.js +93 -0
  94. package/components/Chart/RadarChart.d.ts +36 -0
  95. package/components/Chart/RadarChart.js +92 -0
  96. package/components/Chart/RadialChart.d.ts +43 -0
  97. package/components/Chart/RadialChart.js +114 -0
  98. package/components/Chart/ScatterChart.d.ts +38 -0
  99. package/components/Chart/ScatterChart.js +99 -0
  100. package/components/Chart/StackedBarChart.d.ts +36 -0
  101. package/components/Chart/StackedBarChart.js +98 -0
  102. package/components/Chart/Treemap.d.ts +35 -0
  103. package/components/Chart/Treemap.js +95 -0
  104. package/components/Chart/palette.d.ts +1 -0
  105. package/components/Chart/palette.js +17 -0
  106. package/components/ChatHeader/ChatHeader.css +35 -0
  107. package/components/ChatHeader/ChatHeader.d.ts +30 -0
  108. package/components/ChatHeader/ChatHeader.js +17 -0
  109. package/components/ChatMarker/ChatMarker.css +61 -0
  110. package/components/ChatMarker/ChatMarker.d.ts +22 -0
  111. package/components/ChatMarker/ChatMarker.js +18 -0
  112. package/components/ChatMessage/ChatMessage.css +326 -0
  113. package/components/ChatMessage/ChatMessage.d.ts +74 -0
  114. package/components/ChatMessage/ChatMessage.js +71 -0
  115. package/components/ChatThread/ChatThread.css +171 -0
  116. package/components/ChatThread/ChatThread.d.ts +41 -0
  117. package/components/ChatThread/ChatThread.js +175 -0
  118. package/components/Checkbox/Checkbox.css +183 -0
  119. package/components/Checkbox/Checkbox.d.ts +81 -0
  120. package/components/Checkbox/Checkbox.js +176 -0
  121. package/components/Chip/Chip.css +231 -0
  122. package/components/Chip/Chip.d.ts +27 -0
  123. package/components/Chip/Chip.js +80 -0
  124. package/components/CircularButton/CircularButton.css +263 -0
  125. package/components/CircularButton/CircularButton.d.ts +68 -0
  126. package/components/CircularButton/CircularButton.js +72 -0
  127. package/components/CodeBlock/CodeBlock.css +189 -0
  128. package/components/CodeBlock/CodeBlock.d.ts +23 -0
  129. package/components/CodeBlock/CodeBlock.js +96 -0
  130. package/components/CodeDiff/CodeDiff.css +175 -0
  131. package/components/CodeDiff/CodeDiff.d.ts +58 -0
  132. package/components/CodeDiff/CodeDiff.js +114 -0
  133. package/components/ColorPicker/ColorPicker.css +278 -0
  134. package/components/ColorPicker/ColorPicker.d.ts +50 -0
  135. package/components/ColorPicker/ColorPicker.js +349 -0
  136. package/components/ColourSwatch/ColourSwatch.css +88 -0
  137. package/components/ColourSwatch/ColourSwatch.d.ts +34 -0
  138. package/components/ColourSwatch/ColourSwatch.js +42 -0
  139. package/components/Combobox/Combobox.css +384 -0
  140. package/components/Combobox/Combobox.d.ts +93 -0
  141. package/components/Combobox/Combobox.js +331 -0
  142. package/components/CommandPalette/CommandPalette.css +342 -0
  143. package/components/CommandPalette/CommandPalette.d.ts +62 -0
  144. package/components/CommandPalette/CommandPalette.js +247 -0
  145. package/components/Composer/Composer.css +427 -0
  146. package/components/Composer/Composer.d.ts +97 -0
  147. package/components/Composer/Composer.js +146 -0
  148. package/components/ContactCard/ContactCard.css +132 -0
  149. package/components/ContactCard/ContactCard.d.ts +24 -0
  150. package/components/ContactCard/ContactCard.js +79 -0
  151. package/components/ContextMenu/ContextMenu.css +258 -0
  152. package/components/ContextMenu/ContextMenu.d.ts +26 -0
  153. package/components/ContextMenu/ContextMenu.js +387 -0
  154. package/components/ContributionGraph/ContributionGraph.css +169 -0
  155. package/components/ContributionGraph/ContributionGraph.d.ts +34 -0
  156. package/components/ContributionGraph/ContributionGraph.js +149 -0
  157. package/components/DataTable/DataTable.css +109 -0
  158. package/components/DataTable/DataTable.d.ts +81 -0
  159. package/components/DataTable/DataTable.js +236 -0
  160. package/components/DateInput/DateInput.css +127 -0
  161. package/components/DateInput/DateInput.d.ts +44 -0
  162. package/components/DateInput/DateInput.js +82 -0
  163. package/components/DatePicker/DatePicker.css +198 -0
  164. package/components/DatePicker/DatePicker.d.ts +29 -0
  165. package/components/DatePicker/DatePicker.js +196 -0
  166. package/components/Dialog/Dialog.css +178 -0
  167. package/components/Dialog/Dialog.d.ts +39 -0
  168. package/components/Dialog/Dialog.js +99 -0
  169. package/components/Divider/Divider.css +100 -0
  170. package/components/Divider/Divider.d.ts +18 -0
  171. package/components/Divider/Divider.js +31 -0
  172. package/components/DocumentChip/DocumentChip.css +190 -0
  173. package/components/DocumentChip/DocumentChip.d.ts +41 -0
  174. package/components/DocumentChip/DocumentChip.js +78 -0
  175. package/components/Drawer/Drawer.css +262 -0
  176. package/components/Drawer/Drawer.d.ts +41 -0
  177. package/components/Drawer/Drawer.js +101 -0
  178. package/components/Dropdown/Dropdown.css +288 -0
  179. package/components/Dropdown/Dropdown.d.ts +85 -0
  180. package/components/Dropdown/Dropdown.js +308 -0
  181. package/components/DropdownMenu/DropdownMenu.css +301 -0
  182. package/components/DropdownMenu/DropdownMenu.d.ts +42 -0
  183. package/components/DropdownMenu/DropdownMenu.js +371 -0
  184. package/components/EmptyState/EmptyState.css +136 -0
  185. package/components/EmptyState/EmptyState.d.ts +27 -0
  186. package/components/EmptyState/EmptyState.js +32 -0
  187. package/components/EntityCard/EntityCard.css +69 -0
  188. package/components/EntityCard/EntityCard.d.ts +19 -0
  189. package/components/EntityCard/EntityCard.js +26 -0
  190. package/components/EventCalendar/EventCalendar.css +363 -0
  191. package/components/EventCalendar/EventCalendar.d.ts +59 -0
  192. package/components/EventCalendar/EventCalendar.js +230 -0
  193. package/components/Field/Field.css +80 -0
  194. package/components/Field/Field.d.ts +57 -0
  195. package/components/Field/Field.js +70 -0
  196. package/components/Field/FieldContext.d.ts +42 -0
  197. package/components/Field/FieldContext.js +8 -0
  198. package/components/Figure/Figure.css +71 -0
  199. package/components/Figure/Figure.d.ts +17 -0
  200. package/components/Figure/Figure.js +26 -0
  201. package/components/FileInput/FileInput.css +281 -0
  202. package/components/FileInput/FileInput.d.ts +54 -0
  203. package/components/FileInput/FileInput.js +205 -0
  204. package/components/FilterBar/FilterBar.css +202 -0
  205. package/components/FilterBar/FilterBar.d.ts +55 -0
  206. package/components/FilterBar/FilterBar.js +249 -0
  207. package/components/FunnelChart/FunnelChart.css +17 -0
  208. package/components/FunnelChart/FunnelChart.d.ts +51 -0
  209. package/components/FunnelChart/FunnelChart.js +96 -0
  210. package/components/GanttChart/GanttChart.css +326 -0
  211. package/components/GanttChart/GanttChart.d.ts +82 -0
  212. package/components/GanttChart/GanttChart.js +202 -0
  213. package/components/Gauge/Gauge.css +120 -0
  214. package/components/Gauge/Gauge.d.ts +64 -0
  215. package/components/Gauge/Gauge.js +111 -0
  216. package/components/Globe/Globe.css +155 -0
  217. package/components/Globe/Globe.d.ts +103 -0
  218. package/components/Globe/Globe.js +416 -0
  219. package/components/HoverCard/HoverCard.css +125 -0
  220. package/components/HoverCard/HoverCard.d.ts +29 -0
  221. package/components/HoverCard/HoverCard.js +83 -0
  222. package/components/ImageCompare/ImageCompare.css +112 -0
  223. package/components/ImageCompare/ImageCompare.d.ts +40 -0
  224. package/components/ImageCompare/ImageCompare.js +134 -0
  225. package/components/Input/Input.css +150 -0
  226. package/components/Input/Input.d.ts +45 -0
  227. package/components/Input/Input.js +99 -0
  228. package/components/Instructions/Instructions.css +216 -0
  229. package/components/Instructions/Instructions.d.ts +29 -0
  230. package/components/Instructions/Instructions.js +32 -0
  231. package/components/InterruptCard/InterruptCard.css +164 -0
  232. package/components/InterruptCard/InterruptCard.d.ts +54 -0
  233. package/components/InterruptCard/InterruptCard.js +57 -0
  234. package/components/Kbd/Kbd.css +28 -0
  235. package/components/Kbd/Kbd.d.ts +19 -0
  236. package/components/Kbd/Kbd.js +14 -0
  237. package/components/LegendTile/LegendTile.css +60 -0
  238. package/components/LegendTile/LegendTile.d.ts +30 -0
  239. package/components/LegendTile/LegendTile.js +21 -0
  240. package/components/Lightbox/Lightbox.css +210 -0
  241. package/components/Lightbox/Lightbox.d.ts +45 -0
  242. package/components/Lightbox/Lightbox.js +109 -0
  243. package/components/LinkList/LinkList.css +71 -0
  244. package/components/LinkList/LinkList.d.ts +24 -0
  245. package/components/LinkList/LinkList.js +42 -0
  246. package/components/MapCallout/MapCallout.css +46 -0
  247. package/components/MapCallout/MapCallout.d.ts +29 -0
  248. package/components/MapCallout/MapCallout.js +17 -0
  249. package/components/MapLegend/MapLegend.css +88 -0
  250. package/components/MapLegend/MapLegend.d.ts +40 -0
  251. package/components/MapLegend/MapLegend.js +68 -0
  252. package/components/MessageActions/MessageActions.css +85 -0
  253. package/components/MessageActions/MessageActions.d.ts +38 -0
  254. package/components/MessageActions/MessageActions.js +40 -0
  255. package/components/MessageCard/MessageCard.css +163 -0
  256. package/components/MessageCard/MessageCard.d.ts +35 -0
  257. package/components/MessageCard/MessageCard.js +30 -0
  258. package/components/Meter/Meter.css +98 -0
  259. package/components/Meter/Meter.d.ts +36 -0
  260. package/components/Meter/Meter.js +48 -0
  261. package/components/ModelPicker/ModelPicker.css +243 -0
  262. package/components/ModelPicker/ModelPicker.d.ts +60 -0
  263. package/components/ModelPicker/ModelPicker.js +261 -0
  264. package/components/MotionSwatch/MotionSwatch.css +176 -0
  265. package/components/MotionSwatch/MotionSwatch.d.ts +25 -0
  266. package/components/MotionSwatch/MotionSwatch.js +74 -0
  267. package/components/Nav/Nav.css +51 -0
  268. package/components/Nav/Nav.d.ts +19 -0
  269. package/components/Nav/Nav.js +26 -0
  270. package/components/NavList/NavList.css +155 -0
  271. package/components/NavList/NavList.d.ts +56 -0
  272. package/components/NavList/NavList.js +100 -0
  273. package/components/NotificationCenter/NotificationCenter.css +279 -0
  274. package/components/NotificationCenter/NotificationCenter.d.ts +72 -0
  275. package/components/NotificationCenter/NotificationCenter.js +145 -0
  276. package/components/NumberInput/NumberInput.css +163 -0
  277. package/components/NumberInput/NumberInput.d.ts +44 -0
  278. package/components/NumberInput/NumberInput.js +147 -0
  279. package/components/Pagination/Pagination.css +126 -0
  280. package/components/Pagination/Pagination.d.ts +22 -0
  281. package/components/Pagination/Pagination.js +84 -0
  282. package/components/Panel/Panel.css +26 -0
  283. package/components/Panel/Panel.d.ts +22 -0
  284. package/components/Panel/Panel.js +19 -0
  285. package/components/PinInput/PinInput.css +92 -0
  286. package/components/PinInput/PinInput.d.ts +46 -0
  287. package/components/PinInput/PinInput.js +161 -0
  288. package/components/Popover/Popover.css +118 -0
  289. package/components/Popover/Popover.d.ts +22 -0
  290. package/components/Popover/Popover.js +113 -0
  291. package/components/ProgressBar/ProgressBar.css +60 -0
  292. package/components/ProgressBar/ProgressBar.d.ts +16 -0
  293. package/components/ProgressBar/ProgressBar.js +27 -0
  294. package/components/PromptSuggestions/PromptSuggestions.css +264 -0
  295. package/components/PromptSuggestions/PromptSuggestions.d.ts +68 -0
  296. package/components/PromptSuggestions/PromptSuggestions.js +87 -0
  297. package/components/Prose/Prose.css +269 -0
  298. package/components/Prose/Prose.d.ts +21 -0
  299. package/components/Prose/Prose.js +14 -0
  300. package/components/Quote/Quote.css +78 -0
  301. package/components/Quote/Quote.d.ts +18 -0
  302. package/components/Quote/Quote.js +26 -0
  303. package/components/RadioButton/RadioButton.css +151 -0
  304. package/components/RadioButton/RadioButton.d.ts +90 -0
  305. package/components/RadioButton/RadioButton.js +138 -0
  306. package/components/Rating/Rating.css +74 -0
  307. package/components/Rating/Rating.d.ts +41 -0
  308. package/components/Rating/Rating.js +124 -0
  309. package/components/Reasoning/Reasoning.css +291 -0
  310. package/components/Reasoning/Reasoning.d.ts +55 -0
  311. package/components/Reasoning/Reasoning.js +99 -0
  312. package/components/RichDropdown/RichDropdown.css +239 -0
  313. package/components/RichDropdown/RichDropdown.d.ts +78 -0
  314. package/components/RichDropdown/RichDropdown.js +227 -0
  315. package/components/SectionTitle/SectionTitle.css +45 -0
  316. package/components/SectionTitle/SectionTitle.d.ts +12 -0
  317. package/components/SectionTitle/SectionTitle.js +22 -0
  318. package/components/SegmentedControl/SegmentedControl.css +231 -0
  319. package/components/SegmentedControl/SegmentedControl.d.ts +44 -0
  320. package/components/SegmentedControl/SegmentedControl.js +240 -0
  321. package/components/SelectionCard/SelectionCard.css +255 -0
  322. package/components/SelectionCard/SelectionCard.d.ts +36 -0
  323. package/components/SelectionCard/SelectionCard.js +102 -0
  324. package/components/ShaderField/ShaderField.css +24 -0
  325. package/components/ShaderField/ShaderField.d.ts +68 -0
  326. package/components/ShaderField/ShaderField.js +55 -0
  327. package/components/ShaderField/field.glsl.d.ts +39 -0
  328. package/components/ShaderField/field.glsl.js +178 -0
  329. package/components/ShaderField/useShaderField.d.ts +103 -0
  330. package/components/ShaderField/useShaderField.js +410 -0
  331. package/components/Skeleton/Skeleton.css +81 -0
  332. package/components/Skeleton/Skeleton.d.ts +16 -0
  333. package/components/Skeleton/Skeleton.js +30 -0
  334. package/components/Slider/Slider.css +104 -0
  335. package/components/Slider/Slider.d.ts +48 -0
  336. package/components/Slider/Slider.js +86 -0
  337. package/components/SourceChip/SourceChip.css +111 -0
  338. package/components/SourceChip/SourceChip.d.ts +32 -0
  339. package/components/SourceChip/SourceChip.js +31 -0
  340. package/components/SourceTrail/SourceTrail.css +209 -0
  341. package/components/SourceTrail/SourceTrail.d.ts +49 -0
  342. package/components/SourceTrail/SourceTrail.js +108 -0
  343. package/components/SpacingSwatch/SpacingSwatch.css +108 -0
  344. package/components/SpacingSwatch/SpacingSwatch.d.ts +20 -0
  345. package/components/SpacingSwatch/SpacingSwatch.js +50 -0
  346. package/components/Sparkline/Sparkline.css +76 -0
  347. package/components/Sparkline/Sparkline.d.ts +51 -0
  348. package/components/Sparkline/Sparkline.js +116 -0
  349. package/components/Spinner/Spinner.css +84 -0
  350. package/components/Spinner/Spinner.d.ts +14 -0
  351. package/components/Spinner/Spinner.js +42 -0
  352. package/components/SplitButton/SplitButton.css +93 -0
  353. package/components/SplitButton/SplitButton.d.ts +43 -0
  354. package/components/SplitButton/SplitButton.js +67 -0
  355. package/components/SplitPane/SplitPane.css +106 -0
  356. package/components/SplitPane/SplitPane.d.ts +36 -0
  357. package/components/SplitPane/SplitPane.js +130 -0
  358. package/components/Stat/Stat.css +121 -0
  359. package/components/Stat/Stat.d.ts +22 -0
  360. package/components/Stat/Stat.js +36 -0
  361. package/components/StatusDot/StatusDot.css +104 -0
  362. package/components/StatusDot/StatusDot.d.ts +34 -0
  363. package/components/StatusDot/StatusDot.js +23 -0
  364. package/components/Stepper/Stepper.css +216 -0
  365. package/components/Stepper/Stepper.d.ts +41 -0
  366. package/components/Stepper/Stepper.js +61 -0
  367. package/components/StreamingText/StreamingText.css +40 -0
  368. package/components/StreamingText/StreamingText.d.ts +62 -0
  369. package/components/StreamingText/StreamingText.js +49 -0
  370. package/components/StreamingText/useStreamReveal.d.ts +70 -0
  371. package/components/StreamingText/useStreamReveal.js +121 -0
  372. package/components/Swatch/Swatch.css +52 -0
  373. package/components/Swatch/Swatch.d.ts +34 -0
  374. package/components/Swatch/Swatch.js +44 -0
  375. package/components/Table/Table.css +223 -0
  376. package/components/Table/Table.d.ts +53 -0
  377. package/components/Table/Table.js +65 -0
  378. package/components/Tabs/Tabs.css +140 -0
  379. package/components/Tabs/Tabs.d.ts +28 -0
  380. package/components/Tabs/Tabs.js +78 -0
  381. package/components/TagInput/TagInput.css +169 -0
  382. package/components/TagInput/TagInput.d.ts +43 -0
  383. package/components/TagInput/TagInput.js +137 -0
  384. package/components/Textarea/Textarea.css +109 -0
  385. package/components/Textarea/Textarea.d.ts +43 -0
  386. package/components/Textarea/Textarea.js +86 -0
  387. package/components/ThreadPanel/ThreadPanel.css +862 -0
  388. package/components/ThreadPanel/ThreadPanel.d.ts +175 -0
  389. package/components/ThreadPanel/ThreadPanel.js +466 -0
  390. package/components/ThreadTabs/ThreadTabs.css +252 -0
  391. package/components/ThreadTabs/ThreadTabs.d.ts +54 -0
  392. package/components/ThreadTabs/ThreadTabs.js +201 -0
  393. package/components/TimePicker/TimePicker.css +230 -0
  394. package/components/TimePicker/TimePicker.d.ts +46 -0
  395. package/components/TimePicker/TimePicker.js +250 -0
  396. package/components/Timeline/Timeline.css +366 -0
  397. package/components/Timeline/Timeline.d.ts +67 -0
  398. package/components/Timeline/Timeline.js +73 -0
  399. package/components/Toast/Toast.css +363 -0
  400. package/components/Toast/Toast.d.ts +63 -0
  401. package/components/Toast/Toast.js +215 -0
  402. package/components/ToggleGroup/ToggleGroup.css +110 -0
  403. package/components/ToggleGroup/ToggleGroup.d.ts +50 -0
  404. package/components/ToggleGroup/ToggleGroup.js +73 -0
  405. package/components/ToggleSwitch/ToggleSwitch.css +172 -0
  406. package/components/ToggleSwitch/ToggleSwitch.d.ts +43 -0
  407. package/components/ToggleSwitch/ToggleSwitch.js +76 -0
  408. package/components/ToolCall/ToolCall.css +234 -0
  409. package/components/ToolCall/ToolCall.d.ts +43 -0
  410. package/components/ToolCall/ToolCall.js +90 -0
  411. package/components/Toolbar/Toolbar.css +56 -0
  412. package/components/Toolbar/Toolbar.d.ts +35 -0
  413. package/components/Toolbar/Toolbar.js +62 -0
  414. package/components/Tooltip/Tooltip.css +175 -0
  415. package/components/Tooltip/Tooltip.d.ts +22 -0
  416. package/components/Tooltip/Tooltip.js +74 -0
  417. package/components/TreeView/TreeView.css +119 -0
  418. package/components/TreeView/TreeView.d.ts +45 -0
  419. package/components/TreeView/TreeView.js +232 -0
  420. package/components/TypographySwatch/TypographySwatch.css +81 -0
  421. package/components/TypographySwatch/TypographySwatch.d.ts +24 -0
  422. package/components/TypographySwatch/TypographySwatch.js +40 -0
  423. package/components/UsageCard/UsageCard.css +30 -0
  424. package/components/UsageCard/UsageCard.d.ts +48 -0
  425. package/components/UsageCard/UsageCard.js +54 -0
  426. package/components/Waveform/Waveform.css +97 -0
  427. package/components/Waveform/Waveform.d.ts +44 -0
  428. package/components/Waveform/Waveform.js +46 -0
  429. package/components/WorldMap/WorldMap.css +234 -0
  430. package/components/WorldMap/WorldMap.d.ts +113 -0
  431. package/components/WorldMap/WorldMap.js +427 -0
  432. package/components/WorldMap/land.d.ts +14 -0
  433. package/components/WorldMap/land.js +4 -0
  434. package/components/registry.d.ts +79 -0
  435. package/components/registry.js +13 -0
  436. package/components/registry.json +1153 -0
  437. package/components/registry.json.d.ts +1156 -0
  438. package/components/registry.json.js +11 -0
  439. package/fonts/MaterialSymbolsRounded-VariableFont_FILL,GRAD,opsz,wght.woff2 +0 -0
  440. package/fonts/material-symbols.css +94 -0
  441. package/fonts/presets/dm-sans-300-700-latin-ext.woff2 +0 -0
  442. package/fonts/presets/dm-sans-300-700-latin.woff2 +0 -0
  443. package/fonts/presets/fraunces-300-700-latin-ext.woff2 +0 -0
  444. package/fonts/presets/fraunces-300-700-latin.woff2 +0 -0
  445. package/fonts/presets/ibm-plex-mono-300-latin-ext.woff2 +0 -0
  446. package/fonts/presets/ibm-plex-mono-300-latin.woff2 +0 -0
  447. package/fonts/presets/ibm-plex-mono-400-latin-ext.woff2 +0 -0
  448. package/fonts/presets/ibm-plex-mono-400-latin.woff2 +0 -0
  449. package/fonts/presets/ibm-plex-mono-500-latin-ext.woff2 +0 -0
  450. package/fonts/presets/ibm-plex-mono-500-latin.woff2 +0 -0
  451. package/fonts/presets/ibm-plex-mono-600-latin-ext.woff2 +0 -0
  452. package/fonts/presets/ibm-plex-mono-600-latin.woff2 +0 -0
  453. package/fonts/presets/ibm-plex-mono-700-latin-ext.woff2 +0 -0
  454. package/fonts/presets/ibm-plex-mono-700-latin.woff2 +0 -0
  455. package/fonts/presets/ibm-plex-sans-300-700-latin-ext.woff2 +0 -0
  456. package/fonts/presets/ibm-plex-sans-300-700-latin.woff2 +0 -0
  457. package/fonts/presets/inter-300-700-latin-ext.woff2 +0 -0
  458. package/fonts/presets/inter-300-700-latin.woff2 +0 -0
  459. package/fonts/presets/inter-tight-300-900-latin-ext.woff2 +0 -0
  460. package/fonts/presets/inter-tight-300-900-latin.woff2 +0 -0
  461. package/fonts/presets/lora-400-700-latin-ext.woff2 +0 -0
  462. package/fonts/presets/lora-400-700-latin.woff2 +0 -0
  463. package/fonts/presets/montserrat-300-700-latin-ext.woff2 +0 -0
  464. package/fonts/presets/montserrat-300-700-latin.woff2 +0 -0
  465. package/fonts/presets/poppins-300-latin-ext.woff2 +0 -0
  466. package/fonts/presets/poppins-300-latin.woff2 +0 -0
  467. package/fonts/presets/poppins-400-latin-ext.woff2 +0 -0
  468. package/fonts/presets/poppins-400-latin.woff2 +0 -0
  469. package/fonts/presets/poppins-500-latin-ext.woff2 +0 -0
  470. package/fonts/presets/poppins-500-latin.woff2 +0 -0
  471. package/fonts/presets/poppins-600-latin-ext.woff2 +0 -0
  472. package/fonts/presets/poppins-600-latin.woff2 +0 -0
  473. package/fonts/presets/poppins-700-latin-ext.woff2 +0 -0
  474. package/fonts/presets/poppins-700-latin.woff2 +0 -0
  475. package/fonts/presets/source-sans-3-300-700-latin-ext.woff2 +0 -0
  476. package/fonts/presets/source-sans-3-300-700-latin.woff2 +0 -0
  477. package/fonts/presets/space-grotesk-300-700-latin-ext.woff2 +0 -0
  478. package/fonts/presets/space-grotesk-300-700-latin.woff2 +0 -0
  479. package/fonts/presets/work-sans-300-700-latin-ext.woff2 +0 -0
  480. package/fonts/presets/work-sans-300-700-latin.woff2 +0 -0
  481. package/index.d.ts +132 -0
  482. package/index.js +277 -0
  483. package/package.json +87 -0
  484. package/tokens/motion.d.ts +44 -0
  485. package/tokens/motion.js +32 -0
  486. package/tokens/presets/contrast.css +316 -0
  487. package/tokens/presets/coral.css +356 -0
  488. package/tokens/presets/forest.css +334 -0
  489. package/tokens/presets/gold.css +303 -0
  490. package/tokens/presets/mono.css +286 -0
  491. package/tokens/presets/pink.css +349 -0
  492. package/tokens/presets/presets.css +17 -0
  493. package/tokens/presets/terminal.css +378 -0
  494. package/tokens/presets/violet.css +314 -0
  495. package/tokens/presets/warm.css +320 -0
  496. package/tokens/presets/zest.css +359 -0
  497. package/tokens/registry.d.ts +22 -0
  498. package/tokens/registry.js +14 -0
  499. package/tokens/registry.json +276 -0
  500. package/tokens/registry.json.d.ts +279 -0
  501. package/tokens/registry.json.js +8 -0
  502. package/tokens/tokens-dark.css +186 -0
  503. package/tokens/tokens-light.css +276 -0
  504. package/tokens/tokens-motion.css +72 -0
  505. package/tokens/tokens-primitives.css +213 -0
  506. package/tokens/tokens-typography.css +210 -0
  507. package/tokens/tokens.css +11 -0
@@ -0,0 +1,120 @@
1
+ /* ============================================
2
+ GAUGE COMPONENT
3
+ Radial dial for a single bounded reading.
4
+ Card chrome, header, and padding come from
5
+ the shared chart styles (Chart.css) — this
6
+ file owns the dial alone. Colour flows
7
+ through `color`: the value arc draws with
8
+ currentColor, so a tone is one custom
9
+ property swap.
10
+ ============================================ */
11
+
12
+ /* Base — the dial centres in the shared chart body */
13
+
14
+ .ds-gauge__body {
15
+ display: flex;
16
+ justify-content: center;
17
+ }
18
+
19
+ /* Unlike the fluid recharts bodies, the dial has intrinsic size — a bare
20
+ gauge shrink-wraps it so it sits inline in a Stat row or tile. */
21
+ .ds-gauge.ds-chart--bare {
22
+ width: auto;
23
+ display: inline-flex;
24
+ }
25
+
26
+ .ds-gauge__dial {
27
+ position: relative;
28
+ display: inline-flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ flex-shrink: 0;
32
+ }
33
+
34
+ .ds-gauge__svg {
35
+ display: block;
36
+ }
37
+
38
+ /* Parts */
39
+
40
+ .ds-gauge__track {
41
+ fill: none;
42
+ stroke: var(--color-bg-container-tertiary);
43
+ stroke-linecap: round;
44
+ }
45
+
46
+ .ds-gauge__arc {
47
+ fill: none;
48
+ stroke: currentColor;
49
+ stroke-linecap: round;
50
+ transition: stroke-dasharray var(--motion-duration-slow) var(--motion-ease-emphasized);
51
+ /* Sweep in from an empty dial on mount — the single keyframe animates to
52
+ the element's own dasharray, so one rule serves every reading. The
53
+ duration tokens collapse under reduced motion, guarding this for free. */
54
+ animation: ds-gauge-sweep var(--motion-duration-slower) var(--motion-ease-emphasized);
55
+ }
56
+
57
+ @keyframes ds-gauge-sweep {
58
+ from {
59
+ stroke-dasharray: 0 100;
60
+ }
61
+ }
62
+
63
+ .ds-gauge__center {
64
+ position: absolute;
65
+ inset: 0;
66
+ display: flex;
67
+ flex-direction: column;
68
+ align-items: center;
69
+ justify-content: center;
70
+ gap: var(--gap-050);
71
+ text-align: center;
72
+ pointer-events: none;
73
+ }
74
+
75
+ /* The centre pair mirrors the chart family's radial centre label:
76
+ a light sub-display numeral over a caption. */
77
+
78
+ .ds-gauge__value {
79
+ font-family: var(--font-sub-display-family);
80
+ font-size: var(--font-sub-display-size);
81
+ font-weight: var(--font-sub-display-weight);
82
+ line-height: var(--font-sub-display-line-height);
83
+ letter-spacing: var(--font-sub-display-letter-spacing);
84
+ color: var(--color-text-primary);
85
+ }
86
+
87
+ .ds-gauge__label {
88
+ font-family: var(--font-caption-family);
89
+ font-size: var(--font-caption-size);
90
+ font-weight: var(--font-caption-weight);
91
+ line-height: var(--font-caption-line-height);
92
+ letter-spacing: var(--font-caption-letter-spacing);
93
+ color: var(--color-text-secondary);
94
+ }
95
+
96
+ /* Tones */
97
+
98
+ .ds-gauge--accent {
99
+ color: var(--color-chart-series-1);
100
+ }
101
+
102
+ /* The status hues come from the border tokens, not the text tokens: the
103
+ border set is stable across themes, while the dark-mode text tints are
104
+ near-white and would wash three tones into one. */
105
+
106
+ .ds-gauge--positive {
107
+ color: var(--color-status-positive-border);
108
+ }
109
+
110
+ .ds-gauge--warning {
111
+ color: var(--color-status-warning-border);
112
+ }
113
+
114
+ .ds-gauge--error {
115
+ color: var(--color-status-error-border);
116
+ }
117
+
118
+ .ds-gauge--neutral {
119
+ color: var(--color-text-secondary);
120
+ }
@@ -0,0 +1,64 @@
1
+ import { default as React } from 'react';
2
+ /** One colour switch point: at or above `value`, the dial takes `tone`. */
3
+ export interface GaugeThreshold {
4
+ /** Reading at which this tone takes over. */
5
+ value: number;
6
+ /** Tone applied from this reading upward. */
7
+ tone: 'accent' | 'positive' | 'warning' | 'error' | 'neutral';
8
+ }
9
+ /** Props owned by Gauge itself — everything else falls through to the root div. */
10
+ type GaugeOwnProps = {
11
+ /** Current reading. Clamped into the `min`–`max` range for drawing. */
12
+ value: number;
13
+ /** Lower bound of the dial. */
14
+ min?: number;
15
+ /** Upper bound of the dial. */
16
+ max?: number;
17
+ /**
18
+ * Colour role for the value arc. `accent` (the default) follows the chart
19
+ * palette's lead colour. Ignored while a threshold matches — thresholds
20
+ * exist so the dial recolours itself as the reading crosses them.
21
+ */
22
+ tone?: 'accent' | 'positive' | 'warning' | 'error' | 'neutral';
23
+ /**
24
+ * Colour switch points, e.g. warning at 70 and error at 90. The highest
25
+ * threshold at or below the current reading wins; below them all, the
26
+ * `tone` prop applies.
27
+ */
28
+ thresholds?: GaugeThreshold[];
29
+ /** Shows the reading in the centre of the dial. */
30
+ showValue?: boolean;
31
+ /** Formats the centre reading — for units, precision, or locale. */
32
+ formatValue?: (value: number) => string;
33
+ /**
34
+ * What the reading measures, shown as a caption under it and used as the
35
+ * accessible name, e.g. "CPU usage".
36
+ */
37
+ label?: string;
38
+ /** Chart title, in the shared chart header. */
39
+ title?: string;
40
+ /** Description text below the title. */
41
+ subtitle?: string;
42
+ /** Strip the card chrome (border, padding, fill) when the chart sits inside another panel that supplies the surface */
43
+ bare?: boolean;
44
+ /** Rendered dial diameter in pixels. The arc geometry scales with it. */
45
+ size?: number;
46
+ /** Arc thickness in pixels. */
47
+ strokeWidth?: number;
48
+ /** Additional CSS classes */
49
+ className?: string;
50
+ };
51
+ export interface GaugeProps extends GaugeOwnProps, Omit<React.ComponentPropsWithoutRef<'div'>, keyof GaugeOwnProps | 'children'> {
52
+ }
53
+ /**
54
+ * Gauge — a radial dial for a single bounded reading: capacity, usage, a
55
+ * score against a target. Pure SVG computed from props — no charting library,
56
+ * no hooks — so it renders from a Server Component. It wears the chart
57
+ * family's card chrome (title, subtitle, padding) and takes `bare` to drop
58
+ * it inside a Panel, like every other chart. Thresholds recolour the dial
59
+ * through the status roles as the reading crosses them, and the arc animates
60
+ * between readings via a CSS transition. The dial is announced as a `meter`
61
+ * with the label as its accessible name.
62
+ */
63
+ export declare const Gauge: React.ForwardRefExoticComponent<GaugeProps & React.RefAttributes<HTMLDivElement>>;
64
+ export {};
@@ -0,0 +1,111 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import "../Chart/Chart.css";
4
+ import "./Gauge.css";
5
+ const SWEEP_UNITS = 75;
6
+ const Gauge = React.forwardRef(
7
+ ({
8
+ value,
9
+ min = 0,
10
+ max = 100,
11
+ tone = "accent",
12
+ thresholds,
13
+ showValue = true,
14
+ formatValue,
15
+ label,
16
+ title,
17
+ subtitle,
18
+ bare = false,
19
+ size = 120,
20
+ strokeWidth = 12,
21
+ className = "",
22
+ ...rest
23
+ }, ref) => {
24
+ const baseClass = "ds-gauge";
25
+ const chartClass = "ds-chart";
26
+ const range = max - min;
27
+ const fraction = range > 0 ? Math.min(Math.max((value - min) / range, 0), 1) : 0;
28
+ const activeThreshold = thresholds?.filter((t) => value >= t.value).sort((a, b) => b.value - a.value)[0];
29
+ const resolvedTone = activeThreshold?.tone ?? tone;
30
+ const classes = [
31
+ chartClass,
32
+ bare && `${chartClass}--bare`,
33
+ baseClass,
34
+ `${baseClass}--${resolvedTone}`,
35
+ className
36
+ ].filter(Boolean).join(" ");
37
+ const radius = (size - strokeWidth) / 2;
38
+ const center = size / 2;
39
+ const valueUnits = Math.round(SWEEP_UNITS * fraction * 100) / 100;
40
+ const displayValue = formatValue ? formatValue(value) : String(Math.round(value));
41
+ const { "aria-label": restAriaLabel, ...restProps } = rest;
42
+ return /* @__PURE__ */ jsxs("div", { ...restProps, ref, className: classes, children: [
43
+ (title || subtitle) && /* @__PURE__ */ jsx("div", { className: `${chartClass}__header`, children: /* @__PURE__ */ jsxs("div", { className: `${chartClass}__header-text`, children: [
44
+ title && /* @__PURE__ */ jsx("h3", { className: `${chartClass}__title`, children: title }),
45
+ subtitle && /* @__PURE__ */ jsx("p", { className: `${chartClass}__subtitle`, children: subtitle })
46
+ ] }) }),
47
+ /* @__PURE__ */ jsx("div", { className: `${chartClass}__body ${baseClass}__body`, children: /* @__PURE__ */ jsxs(
48
+ "div",
49
+ {
50
+ className: `${baseClass}__dial`,
51
+ style: { width: size, height: size },
52
+ role: "meter",
53
+ "aria-valuenow": value,
54
+ "aria-valuemin": min,
55
+ "aria-valuemax": max,
56
+ "aria-valuetext": displayValue,
57
+ "aria-label": label ?? restAriaLabel,
58
+ children: [
59
+ /* @__PURE__ */ jsxs(
60
+ "svg",
61
+ {
62
+ className: `${baseClass}__svg`,
63
+ viewBox: `0 0 ${size} ${size}`,
64
+ width: size,
65
+ height: size,
66
+ xmlns: "http://www.w3.org/2000/svg",
67
+ "aria-hidden": "true",
68
+ children: [
69
+ /* @__PURE__ */ jsx(
70
+ "circle",
71
+ {
72
+ className: `${baseClass}__track`,
73
+ cx: center,
74
+ cy: center,
75
+ r: radius,
76
+ pathLength: 100,
77
+ strokeWidth,
78
+ strokeDasharray: `${SWEEP_UNITS} ${100 - SWEEP_UNITS}`,
79
+ transform: `rotate(135 ${center} ${center})`
80
+ }
81
+ ),
82
+ valueUnits > 0 && /* @__PURE__ */ jsx(
83
+ "circle",
84
+ {
85
+ className: `${baseClass}__arc`,
86
+ cx: center,
87
+ cy: center,
88
+ r: radius,
89
+ pathLength: 100,
90
+ strokeWidth,
91
+ strokeDasharray: `${valueUnits} ${100 - valueUnits}`,
92
+ transform: `rotate(135 ${center} ${center})`
93
+ }
94
+ )
95
+ ]
96
+ }
97
+ ),
98
+ (showValue || label) && /* @__PURE__ */ jsxs("div", { className: `${baseClass}__center`, children: [
99
+ showValue && /* @__PURE__ */ jsx("span", { className: `${baseClass}__value`, children: displayValue }),
100
+ label && /* @__PURE__ */ jsx("span", { className: `${baseClass}__label`, children: label })
101
+ ] })
102
+ ]
103
+ }
104
+ ) })
105
+ ] });
106
+ }
107
+ );
108
+ Gauge.displayName = "Gauge";
109
+ export {
110
+ Gauge
111
+ };
@@ -0,0 +1,155 @@
1
+ /* ============================================
2
+ GLOBE COMPONENT
3
+ An orthographic globe: graticule, markers and
4
+ great-circle arcs. Every colour is a token; the
5
+ stroke widths are SVG geometry in viewBox units,
6
+ like Sparkline's, and scale with the drawing.
7
+ ============================================ */
8
+
9
+ /* Base */
10
+
11
+ .ds-globe {
12
+ position: relative;
13
+ display: block;
14
+ width: 100%;
15
+ aspect-ratio: 1;
16
+ color: var(--color-text-primary);
17
+ border-radius: var(--radius-300);
18
+ outline: none;
19
+ touch-action: none;
20
+ user-select: none;
21
+ -webkit-user-select: none;
22
+ }
23
+
24
+ .ds-globe:focus-visible {
25
+ outline: var(--border-050) solid var(--color-action-primary-bg);
26
+ outline-offset: var(--padding-100);
27
+ }
28
+
29
+ .ds-globe--interactive {
30
+ cursor: grab;
31
+ }
32
+
33
+ .ds-globe--dragging {
34
+ cursor: grabbing;
35
+ }
36
+
37
+ .ds-globe__svg {
38
+ display: block;
39
+ width: 100%;
40
+ height: 100%;
41
+ overflow: visible;
42
+ }
43
+
44
+ /* Sphere */
45
+
46
+ .ds-globe__limb {
47
+ fill: none;
48
+ stroke: var(--color-text-tertiary);
49
+ stroke-width: 1;
50
+ opacity: 0.6;
51
+ }
52
+
53
+ .ds-globe__graticule {
54
+ fill: none;
55
+ stroke: var(--color-divider);
56
+ stroke-width: 1;
57
+ }
58
+
59
+ .ds-globe__graticule-back {
60
+ fill: none;
61
+ stroke: var(--color-divider);
62
+ stroke-width: 1;
63
+ stroke-dasharray: 2 4;
64
+ opacity: 0.5;
65
+ }
66
+
67
+ /* Arcs — the default gradient runs along the cobalt-to-violet end of the
68
+ chart series; a per-arc `color` replaces it with a flat stroke. */
69
+
70
+ .ds-globe__arc-stop-start {
71
+ stop-color: var(--color-chart-series-7);
72
+ }
73
+
74
+ .ds-globe__arc-stop-end {
75
+ stop-color: var(--color-chart-series-5);
76
+ }
77
+
78
+ .ds-globe__arc {
79
+ fill: none;
80
+ stroke-width: 1.5;
81
+ stroke-linecap: round;
82
+ stroke-linejoin: round;
83
+ }
84
+
85
+ .ds-globe__arc-back {
86
+ fill: none;
87
+ stroke-width: 1;
88
+ stroke-linecap: round;
89
+ opacity: 0.15;
90
+ }
91
+
92
+ /* Markers */
93
+
94
+ .ds-globe__point {
95
+ color: var(--color-text-secondary);
96
+ transition: color var(--motion-duration-fast) var(--motion-ease-standard);
97
+ }
98
+
99
+ .ds-globe__point--back {
100
+ opacity: 0.3;
101
+ }
102
+
103
+ .ds-globe__point--active,
104
+ .ds-globe__point:hover {
105
+ color: var(--color-text-primary);
106
+ }
107
+
108
+ .ds-globe__hit {
109
+ fill: transparent;
110
+ stroke: none;
111
+ pointer-events: all;
112
+ }
113
+
114
+ .ds-globe--interactive .ds-globe__point {
115
+ cursor: pointer;
116
+ }
117
+
118
+ .ds-globe__glyph {
119
+ fill: none;
120
+ stroke: currentColor;
121
+ stroke-width: 1.5;
122
+ stroke-linecap: round;
123
+ transform-box: fill-box;
124
+ transform-origin: center;
125
+ transition: transform var(--motion-duration-fast) var(--motion-ease-emphasized);
126
+ }
127
+
128
+ .ds-globe__point--active .ds-globe__glyph {
129
+ transform: scale(1.4);
130
+ }
131
+
132
+ .ds-globe__label {
133
+ font-family: var(--font-family-code);
134
+ font-size: var(--font-caption-size);
135
+ fill: var(--color-text-tertiary);
136
+ pointer-events: none;
137
+ }
138
+
139
+ .ds-globe__point--active .ds-globe__label {
140
+ fill: var(--color-text-primary);
141
+ }
142
+
143
+ /* Callout overlay — positioned at the marker, opening away from the centre. */
144
+
145
+ .ds-globe__callout {
146
+ position: absolute;
147
+ pointer-events: none;
148
+ padding: 0 var(--padding-400);
149
+ transform: translate(0, -100%);
150
+ white-space: nowrap;
151
+ }
152
+
153
+ .ds-globe__callout[data-side='left'] {
154
+ transform: translate(-100%, -100%);
155
+ }
@@ -0,0 +1,103 @@
1
+ import { default as React } from 'react';
2
+ /** A place on the globe. */
3
+ export interface GlobePoint {
4
+ /** Stable identifier, referenced by arcs and by `activePointId`. */
5
+ id: string;
6
+ /** Latitude in degrees, north positive. */
7
+ lat: number;
8
+ /** Longitude in degrees, east positive. */
9
+ lng: number;
10
+ /** Short label drawn beside the marker when `showLabels` is on. */
11
+ label?: string;
12
+ /**
13
+ * Marker glyph. `point` is a cross (something that moves or listens),
14
+ * `anchor` is a square (something fixed). The glyph is the only difference.
15
+ */
16
+ kind?: 'point' | 'anchor';
17
+ /**
18
+ * Marker colour, any CSS colour (`var(--color-status-warning-border)`
19
+ * works) — the same per-point channel WorldMap carries, so one dataset
20
+ * keys identically on both projections. Omit for the text-ramp default;
21
+ * a coloured marker keeps its colour on hover instead of brightening.
22
+ */
23
+ color?: string;
24
+ }
25
+ /** A great-circle arc between two points. */
26
+ export interface GlobeArc {
27
+ /** `id` of the point the arc leaves. */
28
+ from: string;
29
+ /** `id` of the point the arc reaches. */
30
+ to: string;
31
+ /**
32
+ * Stroke colour, any CSS colour (`var(--color-chart-series-3)` works).
33
+ * Omit for the default cobalt-to-violet gradient along the arc.
34
+ */
35
+ color?: string;
36
+ /** How far the arc lifts off the surface at its midpoint, as a fraction of the radius. */
37
+ altitude?: number;
38
+ }
39
+ /** Where the globe is looking: `[longitude, latitude]` of the centre, in degrees. */
40
+ export type GlobeRotation = [number, number];
41
+ /** Props owned by Globe itself — everything else falls through to the root `<div>`. */
42
+ type GlobeOwnProps = {
43
+ /** The places to mark. */
44
+ points?: GlobePoint[];
45
+ /** The arcs to draw between them. An arc whose endpoint is not in `points` is skipped. */
46
+ arcs?: GlobeArc[];
47
+ /**
48
+ * Controlled view: `[longitude, latitude]` of the centre, in degrees.
49
+ * Pair with `onRotationChange`. Omit to let the globe own its rotation.
50
+ */
51
+ rotation?: GlobeRotation;
52
+ /** Initial view when uncontrolled. */
53
+ defaultRotation?: GlobeRotation;
54
+ /** Fires whenever the view changes — drag, keys, or the auto-rotation. */
55
+ onRotationChange?: (rotation: GlobeRotation) => void;
56
+ /**
57
+ * Spin slowly on its own, in degrees per second. Pauses while the pointer
58
+ * is over the globe or it has focus, and never runs under
59
+ * `prefers-reduced-motion`. `0` switches it off.
60
+ */
61
+ autoRotate?: number;
62
+ /** Drag to rotate, and rotate with the arrow keys (or W, A, S, D) when focused. */
63
+ interactive?: boolean;
64
+ /** Degrees between graticule lines. `0` removes the graticule. */
65
+ graticuleStep?: number;
66
+ /** Draw each point's `label` beside its marker. */
67
+ showLabels?: boolean;
68
+ /** The point to single out: its marker enlarges and its callout renders. */
69
+ activePointId?: string;
70
+ /** Fires as the pointer enters a marker, and with `null` as it leaves. */
71
+ onPointHover?: (point: GlobePoint | null) => void;
72
+ /** Fires when a marker is clicked. */
73
+ onPointClick?: (point: GlobePoint) => void;
74
+ /**
75
+ * Renders the annotation for the active (or hovered) point. It is placed
76
+ * beside the marker in an HTML overlay, so any markup works; MapCallout is
77
+ * the intended filling. The overlay carries `data-side="left"|"right"` for
78
+ * which side of the marker it sits on.
79
+ */
80
+ renderCallout?: (point: GlobePoint) => React.ReactNode;
81
+ /**
82
+ * Accessible name for the globe, e.g. "Listening points across the
83
+ * network". The point and arc counts are appended for screen readers.
84
+ */
85
+ label?: string;
86
+ /** Additional CSS classes */
87
+ className?: string;
88
+ };
89
+ export interface GlobeProps extends GlobeOwnProps, Omit<React.ComponentPropsWithoutRef<'div'>, keyof GlobeOwnProps | 'children'> {
90
+ }
91
+ /**
92
+ * Globe — an orthographic globe drawn in SVG, for showing where things are
93
+ * and what connects them: a graticule, markers at lat/lng, and great-circle
94
+ * arcs between them. No map library, no tile server, no land data; the
95
+ * graticule alone gives the sphere its shape, which is the point — this is
96
+ * for the geometry of a network, not for navigation.
97
+ *
98
+ * Colour comes from the tokens: the graticule in the divider colour, markers
99
+ * in the text colours, arcs along the cobalt-to-violet chart series. Rotate
100
+ * it by dragging, with the arrow keys when focused, or let it turn on its own.
101
+ */
102
+ export declare const Globe: React.ForwardRefExoticComponent<GlobeProps & React.RefAttributes<HTMLDivElement>>;
103
+ export {};