cursedbelt 5.87.0 → 5.89.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 (594) hide show
  1. package/dist/looks.css +4 -4
  2. package/dist/react/Toast.js +2 -2
  3. package/dist/react/Toast.js.map +1 -1
  4. package/dist/react/VirtualCardGrid.d.ts +1 -1
  5. package/dist/react/VirtualCardGrid.js +1 -1
  6. package/dist/react/activity-bar/ActivityBar.d.ts +2 -2
  7. package/dist/react/activity-bar/ActivityBar.js +1 -1
  8. package/dist/react/activity-bar/activityBar.css +4 -4
  9. package/dist/react/analytics/AnalyticsPanel.d.ts +1 -1
  10. package/dist/react/analytics/AnalyticsPanel.js +1 -1
  11. package/dist/react/canvas-hud/CanvasMinimap.d.ts +1 -1
  12. package/dist/react/canvas-hud/HudControls.d.ts +2 -2
  13. package/dist/react/canvas-hud/alignment.d.ts +2 -2
  14. package/dist/react/canvas-hud/alignment.js +3 -3
  15. package/dist/react/canvas-hud/alignment.js.map +1 -1
  16. package/dist/react/canvas-hud/viewport.d.ts +1 -1
  17. package/dist/react/canvas-hud/viewport.js +1 -1
  18. package/dist/react/charts/BarChart.d.ts +2 -2
  19. package/dist/react/charts/HeatmapChart.d.ts +1 -1
  20. package/dist/react/charts/HeatmapChart.js +1 -1
  21. package/dist/react/charts/IntervalTimeline.d.ts +2 -2
  22. package/dist/react/charts/IntervalTimeline.d.ts.map +1 -1
  23. package/dist/react/charts/categorical.d.ts +11 -11
  24. package/dist/react/charts/categorical.js +9 -9
  25. package/dist/react/charts/categorical.js.map +1 -1
  26. package/dist/react/charts/ink.d.ts +5 -5
  27. package/dist/react/charts/ink.js +5 -5
  28. package/dist/react/charts/tokens.d.ts +1 -1
  29. package/dist/react/charts/tokens.js +1 -1
  30. package/dist/react/chat/Bubble.js +1 -1
  31. package/dist/react/chat/Bubble.js.map +1 -1
  32. package/dist/react/chat/DateMarker.js +1 -1
  33. package/dist/react/chat/MessageComposer.d.ts +1 -1
  34. package/dist/react/chat/types.d.ts +1 -1
  35. package/dist/react/chat/usePresence.d.ts +2 -2
  36. package/dist/react/chat/usePresence.js +1 -1
  37. package/dist/react/code-editor/markdownRules.js +1 -1
  38. package/dist/react/code-editor/markdownRules.js.map +1 -1
  39. package/dist/react/components/Badge.js +1 -1
  40. package/dist/react/components/Badge.js.map +1 -1
  41. package/dist/react/components/Button.js +5 -5
  42. package/dist/react/components/Button.js.map +1 -1
  43. package/dist/react/components/ChartTablePanel.js +1 -1
  44. package/dist/react/components/ChartTablePanel.js.map +1 -1
  45. package/dist/react/components/Checkbox.js +2 -2
  46. package/dist/react/components/Checkbox.js.map +1 -1
  47. package/dist/react/components/ChoiceGroup.d.ts +1 -1
  48. package/dist/react/components/ChoiceGroup.js +1 -1
  49. package/dist/react/components/CodeChip.d.ts +1 -1
  50. package/dist/react/components/CodeChip.js +1 -1
  51. package/dist/react/components/ColorSwatches.d.ts +10 -10
  52. package/dist/react/components/ColorSwatches.d.ts.map +1 -1
  53. package/dist/react/components/ColorSwatches.js +10 -10
  54. package/dist/react/components/ColorSwatches.js.map +1 -1
  55. package/dist/react/components/DataTable/DataTable.d.ts +2 -2
  56. package/dist/react/components/DataTable/DataTable.js +8 -8
  57. package/dist/react/components/DataTable/DataTable.js.map +1 -1
  58. package/dist/react/components/DataTable/SearchBox.js +2 -2
  59. package/dist/react/components/DataTable/SortHeader.js +1 -1
  60. package/dist/react/components/DataTable/SortHeader.js.map +1 -1
  61. package/dist/react/components/DataTable/TableFilterBuilder.d.ts +1 -1
  62. package/dist/react/components/DataTable/TableFilterBuilder.js +1 -1
  63. package/dist/react/components/DropdownMenu.js +1 -1
  64. package/dist/react/components/Field.d.ts +1 -1
  65. package/dist/react/components/FormPreviewLayout.d.ts +1 -1
  66. package/dist/react/components/FormPreviewLayout.js +1 -1
  67. package/dist/react/components/Heat.d.ts +6 -6
  68. package/dist/react/components/Heat.js +1 -1
  69. package/dist/react/components/IconPicker.d.ts +8 -8
  70. package/dist/react/components/IconPicker.d.ts.map +1 -1
  71. package/dist/react/components/IconPicker.js +6 -6
  72. package/dist/react/components/IconPicker.js.map +1 -1
  73. package/dist/react/components/InfoHint.d.ts +1 -1
  74. package/dist/react/components/InfoHint.js +1 -1
  75. package/dist/react/components/InheritBadge.js +2 -2
  76. package/dist/react/components/ListToolbar.d.ts +1 -1
  77. package/dist/react/components/ListToolbar.js +1 -1
  78. package/dist/react/components/Menu.d.ts +1 -1
  79. package/dist/react/components/Menu.d.ts.map +1 -1
  80. package/dist/react/components/Modal.js +5 -5
  81. package/dist/react/components/Modal.js.map +1 -1
  82. package/dist/react/components/Page.d.ts +1 -1
  83. package/dist/react/components/Page.js +1 -1
  84. package/dist/react/components/PaneSplit.d.ts +1 -1
  85. package/dist/react/components/PathText.d.ts +1 -1
  86. package/dist/react/components/PathText.js +1 -1
  87. package/dist/react/components/Popover.d.ts +1 -1
  88. package/dist/react/components/PropertyList.d.ts +1 -1
  89. package/dist/react/components/PropertyList.js +1 -1
  90. package/dist/react/components/PropertyPicker.d.ts +2 -2
  91. package/dist/react/components/PropertyPicker.js +2 -2
  92. package/dist/react/components/RatingField.js +1 -1
  93. package/dist/react/components/RatingField.js.map +1 -1
  94. package/dist/react/components/SaveIndicator.d.ts +2 -2
  95. package/dist/react/components/SaveIndicator.js +2 -2
  96. package/dist/react/components/SearchInput.d.ts +1 -1
  97. package/dist/react/components/SearchInput.d.ts.map +1 -1
  98. package/dist/react/components/SecretInput.d.ts +1 -1
  99. package/dist/react/components/Section.d.ts +1 -1
  100. package/dist/react/components/SectionNav.d.ts +3 -3
  101. package/dist/react/components/SectionNav.d.ts.map +1 -1
  102. package/dist/react/components/SectionNav.js +2 -2
  103. package/dist/react/components/Slider.js +1 -1
  104. package/dist/react/components/StarRating.js +1 -1
  105. package/dist/react/components/SwatchPicker.d.ts +6 -6
  106. package/dist/react/components/SwatchPicker.d.ts.map +1 -1
  107. package/dist/react/components/SwatchPicker.js +3 -3
  108. package/dist/react/components/SwatchPicker.js.map +1 -1
  109. package/dist/react/components/Tooltip.js +1 -1
  110. package/dist/react/components/TreeView.js +1 -1
  111. package/dist/react/components/TreeView.js.map +1 -1
  112. package/dist/react/components/TruncatedText.d.ts +1 -1
  113. package/dist/react/components/TruncatedText.js +1 -1
  114. package/dist/react/components/UnstyledButton.d.ts +2 -2
  115. package/dist/react/components/UnstyledButton.js +2 -2
  116. package/dist/react/components/auth/AuthCard.js +1 -1
  117. package/dist/react/components/auth/AuthCard.js.map +1 -1
  118. package/dist/react/components/buildFreshness.css +2 -2
  119. package/dist/react/components/calendar/MonthGrid.js +2 -2
  120. package/dist/react/components/calendar/MonthGrid.js.map +1 -1
  121. package/dist/react/components/calendar/colorUtils.js +2 -2
  122. package/dist/react/components/dialog.js +1 -1
  123. package/dist/react/components/fieldErrorText.d.ts +1 -1
  124. package/dist/react/components/fieldErrorText.js +1 -1
  125. package/dist/react/components/paneSplit.css +1 -1
  126. package/dist/react/components/sharing/ShareEditor.d.ts +5 -1
  127. package/dist/react/components/sharing/ShareEditor.d.ts.map +1 -1
  128. package/dist/react/components/sharing/ShareEditor.js +2 -2
  129. package/dist/react/components/sharing/ShareEditor.js.map +1 -1
  130. package/dist/react/deep-link/links.d.ts +1 -1
  131. package/dist/react/deep-link/resume.js +1 -1
  132. package/dist/react/diff-viewer/DiffViewer.css +1 -1
  133. package/dist/react/file-tree/FileTree.d.ts +9 -9
  134. package/dist/react/file-tree/FileTree.js +13 -13
  135. package/dist/react/file-tree/FileTree.js.map +1 -1
  136. package/dist/react/file-tree/FolderViewMenus.d.ts +3 -3
  137. package/dist/react/file-tree/FolderViewMenus.d.ts.map +1 -1
  138. package/dist/react/file-tree/FolderViewMenus.js +1 -1
  139. package/dist/react/file-tree/FolderViewMenus.js.map +1 -1
  140. package/dist/react/file-tree/fileTree.css +14 -14
  141. package/dist/react/file-tree/fileTreeSelection.d.ts +3 -3
  142. package/dist/react/file-tree/fileTreeSelection.js +4 -4
  143. package/dist/react/file-tree/folderView.d.ts +3 -3
  144. package/dist/react/file-tree/folderView.d.ts.map +1 -1
  145. package/dist/react/file-tree/folderView.js +3 -3
  146. package/dist/react/file-tree/folderView.js.map +1 -1
  147. package/dist/react/filter-rail/FilterRail.d.ts +3 -3
  148. package/dist/react/filter-rail/FilterRail.d.ts.map +1 -1
  149. package/dist/react/filter-rail/FilterRail.js +1 -1
  150. package/dist/react/filter-rail/RailSection.d.ts +1 -1
  151. package/dist/react/filter-rail/railResize.d.ts +1 -1
  152. package/dist/react/filter-rail/railResize.js +1 -1
  153. package/dist/react/folder-tree/FolderBreadcrumb.d.ts +1 -1
  154. package/dist/react/folder-tree/NewFolderControl.js +1 -1
  155. package/dist/react/hooks/keyboardDnd.d.ts +1 -1
  156. package/dist/react/hooks/keyboardDnd.d.ts.map +1 -1
  157. package/dist/react/hooks/keyboardDnd.js +2 -2
  158. package/dist/react/hooks/keyboardDnd.js.map +1 -1
  159. package/dist/react/hooks/pointerDnd.d.ts +2 -2
  160. package/dist/react/hooks/pointerDnd.d.ts.map +1 -1
  161. package/dist/react/hooks/pointerDnd.js +1 -1
  162. package/dist/react/hooks/usePointerDrag.d.ts +2 -2
  163. package/dist/react/icons.d.ts +16 -9
  164. package/dist/react/icons.d.ts.map +1 -1
  165. package/dist/react/icons.js +17 -10
  166. package/dist/react/icons.js.map +1 -1
  167. package/dist/react/layoutEngine/LayoutRenderer.js +1 -1
  168. package/dist/react/layoutEngine/LayoutRenderer.js.map +1 -1
  169. package/dist/react/lib/cn.d.ts +3 -3
  170. package/dist/react/lib/cn.js +4 -4
  171. package/dist/react/lib/field.d.ts +1 -1
  172. package/dist/react/lib/floatingContainer.d.ts +1 -1
  173. package/dist/react/lib/floatingContainer.js +1 -1
  174. package/dist/react/lib/floatingStyles.d.ts +1 -1
  175. package/dist/react/lib/floatingStyles.js +2 -2
  176. package/dist/react/lib/floatingStyles.js.map +1 -1
  177. package/dist/react/lib/hoverIntent.d.ts +6 -6
  178. package/dist/react/lib/hoverIntent.js +6 -6
  179. package/dist/react/lib/infoHint.d.ts +1 -1
  180. package/dist/react/lib/infoHint.js +1 -1
  181. package/dist/react/lib/overlayMotion.d.ts +1 -1
  182. package/dist/react/lib/overlayMotion.d.ts.map +1 -1
  183. package/dist/react/lib/overlayMotion.js +1 -1
  184. package/dist/react/lib/overlayMotion.js.map +1 -1
  185. package/dist/react/lib/press.d.ts +1 -1
  186. package/dist/react/lib/press.js +1 -1
  187. package/dist/react/lib/selectField.d.ts +2 -2
  188. package/dist/react/lib/selectField.d.ts.map +1 -1
  189. package/dist/react/lib/selectField.js +2 -2
  190. package/dist/react/lib/selectField.js.map +1 -1
  191. package/dist/react/look/AppearanceMenu.d.ts +1 -1
  192. package/dist/react/look/AppearanceMenu.js +1 -1
  193. package/dist/react/look/LookPicker.d.ts +3 -3
  194. package/dist/react/look/LookPicker.js +3 -3
  195. package/dist/react/look/lookStore.d.ts +1 -1
  196. package/dist/react/look/lookStore.js +4 -4
  197. package/dist/react/look/lookStore.js.map +1 -1
  198. package/dist/react/master-lock/MasterLockDialog.js +2 -2
  199. package/dist/react/master-lock/MasterLockDialog.js.map +1 -1
  200. package/dist/react/master-lock/MasterLockProvider.d.ts +1 -1
  201. package/dist/react/media/DenseGalleryShell.d.ts +3 -3
  202. package/dist/react/media/FocusViewer.js +3 -3
  203. package/dist/react/media/FocusViewer.js.map +1 -1
  204. package/dist/react/media/FrameGrabber.js +3 -3
  205. package/dist/react/media/FrameGrabber.js.map +1 -1
  206. package/dist/react/media/HoverScrubVideoThumb.d.ts +1 -1
  207. package/dist/react/media/HoverScrubVideoThumb.js +1 -1
  208. package/dist/react/media/HoverScrubVideoThumb.js.map +1 -1
  209. package/dist/react/media/MediaCell.d.ts +1 -1
  210. package/dist/react/media/MediaCell.js +1 -1
  211. package/dist/react/media/MediaResize.d.ts +1 -1
  212. package/dist/react/media/MediaThumb.d.ts +1 -1
  213. package/dist/react/media/PictureControls.d.ts +1 -1
  214. package/dist/react/media/PictureControls.js +2 -2
  215. package/dist/react/media/PictureControls.js.map +1 -1
  216. package/dist/react/media/PictureEditor.js +2 -2
  217. package/dist/react/media/PictureEditor.js.map +1 -1
  218. package/dist/react/media/PlayerStrip.d.ts +4 -4
  219. package/dist/react/media/PlayerStrip.d.ts.map +1 -1
  220. package/dist/react/media/PlayerStrip.js +2 -2
  221. package/dist/react/media/VideoPlayer.d.ts +3 -3
  222. package/dist/react/media/VideoPlayer.js +5 -5
  223. package/dist/react/media/VideoTurner.js +1 -1
  224. package/dist/react/media/VideoTurner.js.map +1 -1
  225. package/dist/react/media/VirtualizedRows.d.ts +1 -1
  226. package/dist/react/media/denseGallery.css +7 -7
  227. package/dist/react/media/focusViewer.css +2 -2
  228. package/dist/react/media/gifEncode.d.ts +4 -4
  229. package/dist/react/media/gifEncode.d.ts.map +1 -1
  230. package/dist/react/media/gifEncode.js +8 -8
  231. package/dist/react/media/gifEncode.js.map +1 -1
  232. package/dist/react/media/gifRecord.js +1 -1
  233. package/dist/react/media/gifRecord.js.map +1 -1
  234. package/dist/react/media/hlsSource.js +2 -2
  235. package/dist/react/media/hlsSource.js.map +1 -1
  236. package/dist/react/media/mediaResize.css +3 -3
  237. package/dist/react/media/pictureEdit.d.ts +1 -1
  238. package/dist/react/media/pictureEdit.js +4 -4
  239. package/dist/react/media/pictureEdit.js.map +1 -1
  240. package/dist/react/media/pictureEditor.css +6 -6
  241. package/dist/react/media/playerSpaceKey.js +3 -3
  242. package/dist/react/media/playerStrip.css +11 -11
  243. package/dist/react/media/posterFraming.d.ts +2 -2
  244. package/dist/react/media/posterFraming.d.ts.map +1 -1
  245. package/dist/react/media/posterFraming.js +4 -4
  246. package/dist/react/media/posterFraming.js.map +1 -1
  247. package/dist/react/media/sourceFault.d.ts +2 -2
  248. package/dist/react/media/sourceFault.js +1 -1
  249. package/dist/react/media/stageResize.d.ts +1 -1
  250. package/dist/react/media/stageResize.js +1 -1
  251. package/dist/react/media/surfaceGesture.d.ts +1 -1
  252. package/dist/react/media/surfaceGesture.js +1 -1
  253. package/dist/react/media/types.d.ts +1 -1
  254. package/dist/react/media/videoChapterEditor.css +1 -1
  255. package/dist/react/media/videoChapters.d.ts +1 -1
  256. package/dist/react/media/videoChapters.js +1 -1
  257. package/dist/react/media/videoCutEditor.css +2 -2
  258. package/dist/react/media/videoEnhance.d.ts +2 -2
  259. package/dist/react/media/videoEnhance.js +2 -2
  260. package/dist/react/media/videoPoster.d.ts +3 -3
  261. package/dist/react/media/videoPoster.d.ts.map +1 -1
  262. package/dist/react/media/videoPoster.js +4 -4
  263. package/dist/react/media/videoPoster.js.map +1 -1
  264. package/dist/react/media/videoRegion.d.ts +8 -8
  265. package/dist/react/media/videoRegion.js +8 -8
  266. package/dist/react/media-gallery/MediaGallery.d.ts +2 -2
  267. package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
  268. package/dist/react/media-gallery/MediaGallery.js +17 -17
  269. package/dist/react/media-gallery/MediaGallery.js.map +1 -1
  270. package/dist/react/media-gallery/MediaMetaEditor.js +1 -1
  271. package/dist/react/media-gallery/galleryDeepLink.d.ts +1 -1
  272. package/dist/react/media-gallery/galleryDeepLink.js +2 -2
  273. package/dist/react/media-gallery/galleryItemMedia.d.ts +1 -1
  274. package/dist/react/media-gallery/galleryItemMedia.js +1 -1
  275. package/dist/react/media-gallery/galleryReturn.d.ts +1 -1
  276. package/dist/react/media-gallery/galleryReturn.js +2 -2
  277. package/dist/react/media-gallery/mediaGallery.css +10 -10
  278. package/dist/react/media-gallery/mediaGalleryModel.d.ts +1 -1
  279. package/dist/react/media-gallery/mediaGalleryModel.js +1 -1
  280. package/dist/react/media-gallery/playbackPreferences.d.ts +3 -3
  281. package/dist/react/media-gallery/playbackPreferences.js +2 -2
  282. package/dist/react/media-gallery/playbackRun.d.ts +1 -1
  283. package/dist/react/media-gallery/playbackRun.js +1 -1
  284. package/dist/react/media-gallery/preferenceSync.js +1 -1
  285. package/dist/react/namespace/NamespaceTargetCapsule.d.ts +1 -1
  286. package/dist/react/nav/BreadcrumbTrail.d.ts +1 -1
  287. package/dist/react/nav/BreadcrumbTrail.js +1 -1
  288. package/dist/react/nav/Breadcrumbs.d.ts +1 -1
  289. package/dist/react/nav/Breadcrumbs.js +1 -1
  290. package/dist/react/nav/HeaderSearch.d.ts +3 -3
  291. package/dist/react/nav/HeaderSearch.d.ts.map +1 -1
  292. package/dist/react/nav/HeaderSearch.js +2 -2
  293. package/dist/react/nav/PlaceBar.d.ts +1 -1
  294. package/dist/react/nav/PlaceBar.js +2 -2
  295. package/dist/react/nav/SearchResults.d.ts +2 -2
  296. package/dist/react/nav/SearchResults.d.ts.map +1 -1
  297. package/dist/react/nav/SearchResults.js +1 -1
  298. package/dist/react/nav/TopBar.js +1 -1
  299. package/dist/react/nav/breadcrumbStore.js +1 -1
  300. package/dist/react/nav/navShared.d.ts +1 -1
  301. package/dist/react/palette/CommandPalette.js +1 -1
  302. package/dist/react/palette/CommandPalette.js.map +1 -1
  303. package/dist/react/pdf-viewer/PdfPage.js +1 -1
  304. package/dist/react/pdf-viewer/PdfPage.js.map +1 -1
  305. package/dist/react/spreadsheet/SpreadsheetGrid.d.ts +1 -1
  306. package/dist/react/spreadsheet/useGlideTheme.js +2 -2
  307. package/dist/react/workbook-viewer/WorkbookViewer.js +1 -1
  308. package/dist/react/workbook-viewer/WorkbookViewer.js.map +1 -1
  309. package/dist/styles-areas/notifications.css +1 -1
  310. package/dist/styles-static.css +1 -1
  311. package/dist/styles.css +1 -1
  312. package/dist/testing/designAudit.d.ts +2 -2
  313. package/dist/testing/designAudit.js +3 -3
  314. package/dist/testing/designAudit.js.map +1 -1
  315. package/dist/testing/phoneRules.d.ts +4 -4
  316. package/dist/testing/phoneRules.js +4 -4
  317. package/dist/testing/phoneRules.js.map +1 -1
  318. package/dist/theme.css +10 -10
  319. package/package.json +1 -1
  320. package/scripts/attributesForwarded.ts +1 -1
  321. package/scripts/checkAreaStyles.ts +2 -2
  322. package/scripts/cssRules.ts +2 -2
  323. package/scripts/demoCoverage.ts +1 -1
  324. package/scripts/demoServer.ts +1 -1
  325. package/scripts/generateStaticStyles.ts +1 -1
  326. package/scripts/guardrailsEnforce.spec.ts +14 -14
  327. package/scripts/guardrailsEnforce.ts +25 -25
  328. package/scripts/paths.ts +1 -1
  329. package/scripts/styleAreas.ts +2 -2
  330. package/scripts/testTmpRoot.ts +1 -1
  331. package/src/buildIsStaged.spec.ts +1 -1
  332. package/src/iframesMakeNoRealRequest.spec.ts +1 -1
  333. package/src/looks.css +4 -4
  334. package/src/looks.spec.ts +3 -3
  335. package/src/namedSubpathsResolve.spec.ts +2 -2
  336. package/src/publishShape.spec.ts +1 -1
  337. package/src/react/Toast.spec.tsx +1 -1
  338. package/src/react/Toast.tsx +2 -2
  339. package/src/react/VirtualCardGrid.spec.tsx +1 -1
  340. package/src/react/VirtualCardGrid.tsx +3 -3
  341. package/src/react/activity-bar/ActivityBar.spec.tsx +2 -2
  342. package/src/react/activity-bar/ActivityBar.tsx +4 -4
  343. package/src/react/activity-bar/activityBar.css +4 -4
  344. package/src/react/analytics/AnalyticsPanel.tsx +1 -1
  345. package/src/react/canvas-hud/CanvasMinimap.tsx +1 -1
  346. package/src/react/canvas-hud/HudControls.spec.tsx +1 -1
  347. package/src/react/canvas-hud/HudControls.tsx +2 -2
  348. package/src/react/canvas-hud/alignment.spec.tsx +4 -4
  349. package/src/react/canvas-hud/alignment.ts +3 -3
  350. package/src/react/canvas-hud/viewport.spec.ts +1 -1
  351. package/src/react/canvas-hud/viewport.ts +1 -1
  352. package/src/react/charts/BarChart.tsx +2 -2
  353. package/src/react/charts/HeatmapChart.spec.ts +1 -1
  354. package/src/react/charts/HeatmapChart.tsx +1 -1
  355. package/src/react/charts/IntervalTimeline.color.spec.tsx +6 -6
  356. package/src/react/charts/IntervalTimeline.tsx +2 -2
  357. package/src/react/charts/Treemap.tsx +1 -1
  358. package/src/react/charts/accentCollision.spec.ts +1 -1
  359. package/src/react/charts/categorical.spec.ts +3 -3
  360. package/src/react/charts/categorical.ts +12 -12
  361. package/src/react/charts/ink.spec.ts +1 -1
  362. package/src/react/charts/ink.ts +5 -5
  363. package/src/react/charts/tokens.ts +1 -1
  364. package/src/react/chat/Bubble.tsx +1 -1
  365. package/src/react/chat/DateMarker.tsx +2 -2
  366. package/src/react/chat/MessageComposer.tsx +1 -1
  367. package/src/react/chat/PresenceRoster.tsx +2 -2
  368. package/src/react/chat/types.ts +1 -1
  369. package/src/react/chat/usePresence.ts +2 -2
  370. package/src/react/code-editor/markdownRules.ts +1 -1
  371. package/src/react/components/AvatarStack.spec.tsx +2 -2
  372. package/src/react/components/AvatarStack.tsx +2 -2
  373. package/src/react/components/Badge.capsule.spec.ts +6 -6
  374. package/src/react/components/Badge.tsx +1 -1
  375. package/src/react/components/Button.spec.tsx +1 -1
  376. package/src/react/components/Button.tsx +5 -5
  377. package/src/react/components/ChartTablePanel.tsx +1 -1
  378. package/src/react/components/Checkbox.spec.tsx +2 -2
  379. package/src/react/components/Checkbox.tsx +2 -2
  380. package/src/react/components/ChoiceGroup.tsx +1 -1
  381. package/src/react/components/CodeChip.spec.tsx +1 -1
  382. package/src/react/components/CodeChip.tsx +1 -1
  383. package/src/react/components/ColorSwatches.spec.tsx +9 -9
  384. package/src/react/components/ColorSwatches.tsx +16 -16
  385. package/src/react/components/CommentThread.tsx +1 -1
  386. package/src/react/components/ConnectionHealer.tsx +1 -1
  387. package/src/react/components/DataTable/DataTable.spec.tsx +2 -2
  388. package/src/react/components/DataTable/DataTable.tsx +10 -10
  389. package/src/react/components/DataTable/SearchBox.tsx +2 -2
  390. package/src/react/components/DataTable/SortHeader.tsx +1 -1
  391. package/src/react/components/DataTable/TableFilterBuilder.tsx +1 -1
  392. package/src/react/components/DataTable/selection.spec.tsx +1 -1
  393. package/src/react/components/DataTable/virtualize.spec.tsx +1 -1
  394. package/src/react/components/DropdownMenu.tsx +1 -1
  395. package/src/react/components/Field.tsx +1 -1
  396. package/src/react/components/FormPreviewLayout.tsx +1 -1
  397. package/src/react/components/Heat.spec.tsx +1 -1
  398. package/src/react/components/Heat.tsx +6 -6
  399. package/src/react/components/IconPicker.spec.tsx +1 -1
  400. package/src/react/components/IconPicker.tsx +9 -9
  401. package/src/react/components/InfoHint.spec.tsx +2 -2
  402. package/src/react/components/InfoHint.tsx +1 -1
  403. package/src/react/components/InheritBadge.tsx +2 -2
  404. package/src/react/components/IsolatedFrame.tsx +1 -1
  405. package/src/react/components/ListToolbar.tsx +1 -1
  406. package/src/react/components/Menu.tsx +1 -1
  407. package/src/react/components/Modal.tsx +5 -5
  408. package/src/react/components/Page.spec.tsx +1 -1
  409. package/src/react/components/Page.tsx +2 -2
  410. package/src/react/components/PaneSplit.tsx +1 -1
  411. package/src/react/components/PathText.tsx +1 -1
  412. package/src/react/components/PointerDrag.spec.tsx +1 -1
  413. package/src/react/components/Popover.spec.tsx +2 -2
  414. package/src/react/components/Popover.tsx +1 -1
  415. package/src/react/components/PropertyList.tsx +1 -1
  416. package/src/react/components/PropertyPicker.tsx +2 -2
  417. package/src/react/components/RatingField.tsx +1 -1
  418. package/src/react/components/SaveIndicator.tsx +2 -2
  419. package/src/react/components/SearchInput.tsx +1 -1
  420. package/src/react/components/SecretInput.tsx +1 -1
  421. package/src/react/components/Section.tsx +1 -1
  422. package/src/react/components/SectionNav.spec.tsx +3 -3
  423. package/src/react/components/SectionNav.tsx +3 -3
  424. package/src/react/components/SelectField.spec.tsx +1 -1
  425. package/src/react/components/Slider.tsx +1 -1
  426. package/src/react/components/StarRating.spec.tsx +4 -4
  427. package/src/react/components/StarRating.tsx +3 -3
  428. package/src/react/components/SwatchPicker.spec.tsx +4 -4
  429. package/src/react/components/SwatchPicker.tsx +9 -9
  430. package/src/react/components/Tooltip.spec.tsx +3 -3
  431. package/src/react/components/Tooltip.tsx +1 -1
  432. package/src/react/components/TreeView.tsx +1 -1
  433. package/src/react/components/TruncatedText.tsx +1 -1
  434. package/src/react/components/UnstyledButton.tsx +2 -2
  435. package/src/react/components/auth/AuthCard.tsx +1 -1
  436. package/src/react/components/buildFreshness.css +2 -2
  437. package/src/react/components/calendar/EventChip.spec.tsx +2 -2
  438. package/src/react/components/calendar/MonthGrid.tsx +2 -2
  439. package/src/react/components/calendar/colorUtils.ts +2 -2
  440. package/src/react/components/dialog.tsx +1 -1
  441. package/src/react/components/fieldErrorText.tsx +1 -1
  442. package/src/react/components/paneSplit.css +1 -1
  443. package/src/react/components/sharing/ShareEditor.spec.tsx +15 -0
  444. package/src/react/components/sharing/ShareEditor.tsx +14 -3
  445. package/src/react/deep-link/links.spec.ts +1 -1
  446. package/src/react/deep-link/links.ts +1 -1
  447. package/src/react/deep-link/resume.spec.tsx +1 -1
  448. package/src/react/deep-link/resume.ts +1 -1
  449. package/src/react/diff-viewer/DiffViewer.css +1 -1
  450. package/src/react/file-tree/FileTree.spec.tsx +13 -13
  451. package/src/react/file-tree/FileTree.tsx +22 -22
  452. package/src/react/file-tree/FolderViewMenus.tsx +3 -3
  453. package/src/react/file-tree/FolderViewPanels.tsx +1 -1
  454. package/src/react/file-tree/fileTree.css +14 -14
  455. package/src/react/file-tree/fileTreeGeometry.spec.ts +5 -5
  456. package/src/react/file-tree/fileTreeSelection.ts +4 -4
  457. package/src/react/file-tree/folderView.spec.ts +1 -1
  458. package/src/react/file-tree/folderView.ts +3 -3
  459. package/src/react/filter-rail/FilterRail.spec.tsx +1 -1
  460. package/src/react/filter-rail/FilterRail.tsx +4 -4
  461. package/src/react/filter-rail/RailSection.spec.tsx +2 -2
  462. package/src/react/filter-rail/RailSection.tsx +1 -1
  463. package/src/react/filter-rail/railResize.tsx +1 -1
  464. package/src/react/folder-tree/FolderBreadcrumb.tsx +1 -1
  465. package/src/react/folder-tree/NewFolderControl.tsx +1 -1
  466. package/src/react/hooks/keyboardDnd.spec.tsx +1 -1
  467. package/src/react/hooks/keyboardDnd.tsx +2 -2
  468. package/src/react/hooks/pointerDnd.spec.ts +3 -3
  469. package/src/react/hooks/pointerDnd.ts +2 -2
  470. package/src/react/hooks/useOutsidePress.spec.tsx +1 -1
  471. package/src/react/hooks/usePointerDrag.ts +2 -2
  472. package/src/react/icons.tsx +18 -11
  473. package/src/react/keep-awake/keepAwakeEngine.spec.ts +1 -1
  474. package/src/react/layoutEngine/LayoutConfigDialog.tsx +1 -1
  475. package/src/react/layoutEngine/LayoutRenderer.tsx +1 -1
  476. package/src/react/layoutEngine/gridClasses.spec.ts +3 -3
  477. package/src/react/lib/cn.spec.ts +1 -1
  478. package/src/react/lib/cn.ts +4 -4
  479. package/src/react/lib/directUpload.spec.ts +1 -1
  480. package/src/react/lib/field.ts +1 -1
  481. package/src/react/lib/floatingContainer.ts +1 -1
  482. package/src/react/lib/floatingStyles.spec.ts +1 -1
  483. package/src/react/lib/floatingStyles.ts +2 -2
  484. package/src/react/lib/hoverIntent.ts +6 -6
  485. package/src/react/lib/infoHint.ts +1 -1
  486. package/src/react/lib/overlayMotion.ts +1 -1
  487. package/src/react/lib/press.ts +1 -1
  488. package/src/react/lib/selectField.ts +2 -2
  489. package/src/react/lib/zodResolver.ts +1 -1
  490. package/src/react/look/AppearanceMenu.tsx +1 -1
  491. package/src/react/look/LookPicker.tsx +3 -3
  492. package/src/react/look/lookStore.ts +4 -4
  493. package/src/react/markdown/MarkdownDoc.spec.tsx +1 -1
  494. package/src/react/master-detail/MasterDetail.tsx +1 -1
  495. package/src/react/master-lock/MasterLockDialog.tsx +2 -2
  496. package/src/react/master-lock/MasterLockProvider.spec.tsx +1 -1
  497. package/src/react/master-lock/MasterLockProvider.tsx +1 -1
  498. package/src/react/media/DenseGalleryShell.tsx +3 -3
  499. package/src/react/media/FocusViewer.tsx +3 -3
  500. package/src/react/media/FrameGrabber.spec.tsx +2 -2
  501. package/src/react/media/FrameGrabber.tsx +3 -3
  502. package/src/react/media/HoverScrubVideoThumb.tsx +3 -3
  503. package/src/react/media/MediaCell.tsx +1 -1
  504. package/src/react/media/MediaResize.spec.tsx +4 -4
  505. package/src/react/media/MediaResize.tsx +1 -1
  506. package/src/react/media/MediaThumb.tsx +1 -1
  507. package/src/react/media/PictureControls.tsx +2 -2
  508. package/src/react/media/PictureEditor.tsx +2 -2
  509. package/src/react/media/PlayerStrip.tsx +9 -9
  510. package/src/react/media/VideoChapterEditor.tsx +1 -1
  511. package/src/react/media/VideoCutEditor.spec.tsx +1 -1
  512. package/src/react/media/VideoCutEditor.tsx +1 -1
  513. package/src/react/media/VideoPlayer.spec.tsx +7 -7
  514. package/src/react/media/VideoPlayer.tsx +6 -6
  515. package/src/react/media/VideoTurner.tsx +1 -1
  516. package/src/react/media/VirtualizedRows.tsx +1 -1
  517. package/src/react/media/denseGallery.css +7 -7
  518. package/src/react/media/focusViewer.css +2 -2
  519. package/src/react/media/focusViewer.css.spec.ts +1 -1
  520. package/src/react/media/gifEncode.spec.ts +2 -2
  521. package/src/react/media/gifEncode.ts +9 -9
  522. package/src/react/media/gifRecord.ts +1 -1
  523. package/src/react/media/hlsSource.recovery.spec.ts +2 -2
  524. package/src/react/media/hlsSource.spec.ts +1 -1
  525. package/src/react/media/hlsSource.ts +2 -2
  526. package/src/react/media/mediaResize.css +3 -3
  527. package/src/react/media/pictureEdit.spec.ts +5 -5
  528. package/src/react/media/pictureEdit.ts +4 -4
  529. package/src/react/media/pictureEditor.css +6 -6
  530. package/src/react/media/playerSpaceKey.ts +3 -3
  531. package/src/react/media/playerStrip.css +11 -11
  532. package/src/react/media/playerStrip.spec.tsx +17 -13
  533. package/src/react/media/posterFraming.spec.ts +4 -4
  534. package/src/react/media/posterFraming.ts +5 -5
  535. package/src/react/media/sourceFault.tsx +2 -2
  536. package/src/react/media/stageResize.ts +1 -1
  537. package/src/react/media/surfaceGesture.ts +1 -1
  538. package/src/react/media/types.ts +1 -1
  539. package/src/react/media/videoChapterEditor.css +1 -1
  540. package/src/react/media/videoChapters.spec.ts +1 -1
  541. package/src/react/media/videoChapters.ts +1 -1
  542. package/src/react/media/videoCutEditor.css +2 -2
  543. package/src/react/media/videoEnhance.spec.ts +1 -1
  544. package/src/react/media/videoEnhance.ts +2 -2
  545. package/src/react/media/videoPoster.spec.ts +3 -3
  546. package/src/react/media/videoPoster.ts +5 -5
  547. package/src/react/media/videoRegion.spec.ts +7 -7
  548. package/src/react/media/videoRegion.ts +8 -8
  549. package/src/react/media-gallery/GalleryTable.tsx +1 -1
  550. package/src/react/media-gallery/MediaGallery.spec.tsx +11 -11
  551. package/src/react/media-gallery/MediaGallery.tsx +23 -23
  552. package/src/react/media-gallery/MediaMetaEditor.tsx +1 -1
  553. package/src/react/media-gallery/galleryDeepLink.ts +2 -2
  554. package/src/react/media-gallery/galleryItemMedia.spec.tsx +1 -1
  555. package/src/react/media-gallery/galleryItemMedia.tsx +1 -1
  556. package/src/react/media-gallery/galleryReturn.ts +2 -2
  557. package/src/react/media-gallery/mediaGallery.css +10 -10
  558. package/src/react/media-gallery/mediaGalleryModel.ts +1 -1
  559. package/src/react/media-gallery/playbackPreferences.ts +3 -3
  560. package/src/react/media-gallery/playbackRun.spec.ts +1 -1
  561. package/src/react/media-gallery/playbackRun.ts +1 -1
  562. package/src/react/media-gallery/preferenceSync.ts +1 -1
  563. package/src/react/namespace/NamespaceTargetCapsule.tsx +1 -1
  564. package/src/react/nav/BreadcrumbTrail.tsx +1 -1
  565. package/src/react/nav/Breadcrumbs.tsx +1 -1
  566. package/src/react/nav/HeaderSearch.tsx +3 -3
  567. package/src/react/nav/PlaceBar.spec.tsx +4 -4
  568. package/src/react/nav/PlaceBar.tsx +4 -4
  569. package/src/react/nav/SearchResults.tsx +2 -2
  570. package/src/react/nav/TopBar.spec.tsx +1 -1
  571. package/src/react/nav/TopBar.tsx +1 -1
  572. package/src/react/nav/breadcrumbStore.ts +1 -1
  573. package/src/react/nav/breadcrumbSystem.spec.tsx +1 -1
  574. package/src/react/nav/navShared.tsx +1 -1
  575. package/src/react/palette/CommandPalette.spec.tsx +1 -1
  576. package/src/react/palette/CommandPalette.tsx +1 -1
  577. package/src/react/pdf-viewer/PdfPage.tsx +1 -1
  578. package/src/react/spreadsheet/SpreadsheetGrid.tsx +1 -1
  579. package/src/react/spreadsheet/useGlideTheme.ts +2 -2
  580. package/src/react/workbook-viewer/WorkbookViewer.tsx +1 -1
  581. package/src/shippedFilesAreTracked.spec.ts +2 -2
  582. package/src/styles-areas/notifications.css +1 -1
  583. package/src/styles-static.css +1 -1
  584. package/src/styles.css +1 -1
  585. package/src/stylesAreas.spec.ts +1 -1
  586. package/src/stylesStaticMatches.spec.ts +2 -2
  587. package/src/stylesUtilitiesMatches.spec.ts +4 -4
  588. package/src/testing/designAudit.ts +4 -4
  589. package/src/testing/phoneRules.spec.ts +1 -1
  590. package/src/testing/phoneRules.ts +7 -7
  591. package/src/theme.css +10 -10
  592. package/src/themeColorsResolve.spec.ts +5 -5
  593. package/src/themeDarkScopeAliases.spec.ts +1 -1
  594. package/src/verifyGraph.spec.ts +1 -1
package/scripts/paths.ts CHANGED
@@ -38,7 +38,7 @@ import { dirname, join, resolve } from "node:path";
38
38
  import { fileURLToPath } from "node:url";
39
39
 
40
40
  /** The generation's tools this repo runs over its own tree, in the order they should fail. */
41
- const TOOLS = ["check-paths.ts", "check-doc-citations.ts", "check-gate-graph.ts", "check-test-spawn.ts", "check-install.ts"];
41
+ const TOOLS = ["check-paths.ts", "check-doc-citations.ts", "check-gate-graph.ts", "check-test-spawn.ts", "check-install.ts", "check-spelling.ts"];
42
42
 
43
43
  /** How far up either walk looks before giving up — a bound, so a misuse is `null` in ms. */
44
44
  const MAX_HOPS = 16;
@@ -105,7 +105,7 @@ export interface Area {
105
105
  *
106
106
  * What is in it: the primitives an app cannot render a screen without, plus the
107
107
  * plumbing every one of them imports (hooks, lib, styling, icons, portal, slots,
108
- * the colour-scheme and scale providers). What is deliberately NOT: anything a
108
+ * the color-scheme and scale providers). What is deliberately NOT: anything a
109
109
  * whole app can decline — charts, media, the spreadsheet, the calendar, the
110
110
  * editors, the viewers, the gallery. Measured, that line puts `core.css` at
111
111
  * 66,700 B against the union artifact's 135,470 — so an app that renders only
@@ -340,7 +340,7 @@ export const AREAS: readonly Area[] = [
340
340
  'palette/CommandPalette.tsx',
341
341
  ],
342
342
  },
343
- { name: 'notifications', why: 'the notification centre and its feed', roots: ['notifications'] },
343
+ { name: 'notifications', why: 'the notification center and its feed', roots: ['notifications'] },
344
344
  {
345
345
  name: 'overlays',
346
346
  why: 'the dialogs and drawers beyond the plain Modal/Confirm pair',
@@ -38,7 +38,7 @@
38
38
  * SHAPE is shared (this file mirrors `cursed-satellites/scripts/forceTestEnv.ts`'s
39
39
  * block, and says so) and the CODE is local. That is the honest trade: the
40
40
  * placement law exists to stop one app fixing a bug the others keep, and there is
41
- * no behaviour here for an app to get wrong — only a path.
41
+ * no behavior here for an app to get wrong — only a path.
42
42
  */
43
43
  import { mkdirSync, readdirSync, rmSync, statSync } from "node:fs";
44
44
  import { join, resolve } from "node:path";
@@ -20,7 +20,7 @@
20
20
  * leaves the previous `dist` untouched — which is the property that was missing.
21
21
  *
22
22
  * ── Why a source assertion is the right check here ──────────────────────────
23
- * The behaviour is "the previous dist survives a failing build". Proving that for
23
+ * The behavior is "the previous dist survives a failing build". Proving that for
24
24
  * real means running a full build twice with a deliberately broken source, which is
25
25
  * minutes of tsc inside a unit suite and would be the slowest thing in it by far.
26
26
  * What actually regresses is the SCRIPT — someone simplifying a long `&&` chain back
@@ -22,7 +22,7 @@
22
22
  * ── Why a live server rather than reading the setting ───────────────────────
23
23
  * The setting is one line in a preload nobody opens, and the symptom of losing it is an
24
24
  * error attributed to an innocent file — the exact failure this repo just paid for. So the
25
- * assertion is the behaviour, not the spelling: bind a real port, frame it, and prove the
25
+ * assertion is the behavior, not the spelling: bind a real port, frame it, and prove the
26
26
  * handler never ran. Verified failing by removing the setting from `happydom.ts`, where
27
27
  * `hits` becomes 1.
28
28
  */
package/src/looks.css CHANGED
@@ -27,13 +27,13 @@
27
27
  * ── The three ──────────────────────────────────────────────────────────────────────────────────
28
28
  * obsidian The design law from the owner's drafting area (2026-10-06), in the lineage of Linear
29
29
  * and Obsidian: a monochrome workspace, near-black by default, hairline borders, no
30
- * ambient field and no glass — colour on the page is the accent and the status hues,
30
+ * ambient field and no glass — color on the page is the accent and the status hues,
31
31
  * and nothing else. Its light scheme is the same discipline on an off-white canvas.
32
32
  * nord arcticicestudio's Polar Night / Snow Storm ramps, softened to the contrast floors.
33
33
  * dracula Dracula's grounds with its warm off-white text; the light scheme is the cream of
34
34
  * its Alucard variant.
35
35
  *
36
- * Every literal below is a look's token definition — the one place a colour may be spelled.
36
+ * Every literal below is a look's token definition — the one place a color may be spelled.
37
37
  */
38
38
 
39
39
  /* ───────────────────────────────── obsidian ───────────────────────────────── */
@@ -244,7 +244,7 @@
244
244
  * same app read as two products depending on the OS (forge task 2915). An app opts in by putting
245
245
  * the class on <html> beside its look (in index.html, so the first paint asks for the face).
246
246
  *
247
- * Self-hosted: the file ships INSIDE the belt (`src/fonts/`, with its OFL licence), copied from
247
+ * Self-hosted: the file ships INSIDE the belt (`src/fonts/`, with its OFL license), copied from
248
248
  * `@fontsource-variable/inter` (a devDependency — looks.spec holds the two byte-identical), and the
249
249
  * relative url below is rebased by the app's Tailwind and copied into its own assets, so it is
250
250
  * served from the app's origin — never a Google Fonts link: no third-party request, nothing for a
@@ -263,7 +263,7 @@
263
263
  * Fontaine ship. Measured in Chromium against this file with cv11 + ss01 on: within ±0.5% of
264
264
  * Inter's width at 400, 500, 600 and 700 (SF: −14%), and the same line box. Two faces, because
265
265
  * Arial has two weights: Regular stands for 100–549 and Bold for 550–900, each sized to the middle
266
- * of its band, so no weight is synthesised. The overrides are Inter's metrics over the size-adjust
266
+ * of its band, so no weight is synthesized. The overrides are Inter's metrics over the size-adjust
267
267
  * (ascent 0.96875 em, descent 0.2412 em, no line gap). Same `unicode-range` as the face, so what
268
268
  * Inter does not cover still falls through to the system stack, unscaled. Android has no Arial:
269
269
  * the face fails there and the swap is from Roboto, as before. Re-measure if the woff2 is bumped
package/src/looks.spec.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * ── Why a spec and not a review ─────────────────────────────────────────────
5
5
  * A look is a block of thirty declarations that must agree with `.cb-aurora`'s block token for
6
6
  * token: forget one and the PREVIOUS look's value shows through on every surface that reads it,
7
- * and nothing fails — the page simply wears two looks at once. And a theme's colours are a
7
+ * and nothing fails — the page simply wears two looks at once. And a theme's colors are a
8
8
  * contrast claim ("muted text clears 4.5:1 on the card") that a reviewer cannot see on a
9
9
  * screenshot of one scheme. Both are decidable by a machine, so a machine decides them.
10
10
  */
@@ -48,7 +48,7 @@ const channel = (v: number): number => {
48
48
  };
49
49
  function luminance(hex: string): number {
50
50
  const m = /^#([0-9a-f]{6})$/i.exec(hex);
51
- if (!m) throw new Error(`not a 6-digit hex colour: ${hex}`);
51
+ if (!m) throw new Error(`not a 6-digit hex color: ${hex}`);
52
52
  const n = Number.parseInt(m[1] as string, 16);
53
53
  return 0.2126 * channel(n >> 16) + 0.7152 * channel((n >> 8) & 255) + 0.0722 * channel(n & 255);
54
54
  }
@@ -150,7 +150,7 @@ describe('cb-font-inter', () => {
150
150
  /** Where a face's url lands on disk, read the way the app's bundler reads it: relative to looks.css. */
151
151
  const onDisk = (url: string): string => join(ROOT, 'src', url);
152
152
 
153
- test('is one latin, variable, swap face, shipped inside the package beside its licence', async () => {
153
+ test('is one latin, variable, swap face, shipped inside the package beside its license', async () => {
154
154
  expect(faces).toHaveLength(1);
155
155
  const face = faces[0] as string;
156
156
  expect(face).toMatch(/font-family:\s*'Inter Variable'/);
@@ -67,7 +67,7 @@ const exported = new Set(Object.keys(pkg.exports).map((k) => k.replace(/^\./, ''
67
67
  * Narrow on purpose, so a removed family still fails: exempt only when the match
68
68
  * is a strict prefix of something `exports` actually has AND the next character in
69
69
  * the line is the `/` the match could not consume. `cursedbelt/tokens/${x}` is
70
- * still an offence, because nothing under `./tokens/` is exported.
70
+ * still an offense, because nothing under `./tokens/` is exported.
71
71
  */
72
72
  const familyPrefixes = new Set(
73
73
  [...exported].flatMap((subpath) => {
@@ -124,7 +124,7 @@ describe('subpaths named in this repo resolve', () => {
124
124
  });
125
125
 
126
126
  it('knows what the manifest exports', () => {
127
- // If `exports` is ever read wrong, every offence below silently becomes one.
127
+ // If `exports` is ever read wrong, every offense below silently becomes one.
128
128
  expect(exported.has('')).toBe(true); // the "." root entry
129
129
  expect(exported.has('/react')).toBe(true);
130
130
  expect(exported.has('/game')).toBe(false); // removed 2026-09-13
@@ -107,7 +107,7 @@ describe('publish shape', () => {
107
107
  // npm rejects a "./"-prefixed bin value, calls the NAME invalid, and drops
108
108
  // the entry — with a warning, not an error. The package publishes fine and
109
109
  // installs with no CLI at all. Invisible under a file: link, where the bin
110
- // is linked from the source manifest before npm ever normalises it.
110
+ // is linked from the source manifest before npm ever normalizes it.
111
111
  const bin = (pkg as { bin?: Record<string, string> }).bin ?? {};
112
112
  const prefixed = Object.entries(bin).filter(([, v]) => v.startsWith('./'));
113
113
  expect(
@@ -16,7 +16,7 @@ describe('Toast', () => {
16
16
  expect(() => render(<Toaster />)).not.toThrow();
17
17
  });
18
18
 
19
- test("the toaster answers sonner's own colour variables with the belt's tokens", async () => {
19
+ test("the toaster answers sonner's own color variables with the belt's tokens", async () => {
20
20
  render(<Toaster />);
21
21
  act(() => {
22
22
  toast('Saved');
@@ -87,8 +87,8 @@ export function Toaster({ style, ...props }: ToasterProps) {
87
87
  // transition shorthand after this stylesheet; its reduced-motion rule still turns it off.
88
88
  toast: 'rounded-lg border border-border bg-popover text-foreground shadow-overlay duration-[var(--duration-slow)]! ease-[var(--ease-out)]!',
89
89
  title: 'text-sm font-medium',
90
- // `!` because sonner colours these two with element rules of its own (`#3f3f3f` for a
91
- // description, its grey scale for the close button) that no variable reaches.
90
+ // `!` because sonner colors these two with element rules of its own (`#3f3f3f` for a
91
+ // description, its gray scale for the close button) that no variable reaches.
92
92
  description: 'text-xs text-muted-foreground!',
93
93
  actionButton: 'bg-accent-solid text-white text-xs px-2 py-1 rounded-sm',
94
94
  cancelButton: 'bg-muted text-foreground text-xs px-2 py-1 rounded-sm',
@@ -185,7 +185,7 @@ describe('VirtualCardGrid', () => {
185
185
  *
186
186
  * ── Two ways this test can pass while the component is broken ────────────────────
187
187
  *
188
- * Both were hit while writing it, and both are silent, so the defences are structural
188
+ * Both were hit while writing it, and both are silent, so the defenses are structural
189
189
  * rather than a comment telling the next person to be careful.
190
190
  *
191
191
  * 1. **No cells.** happy-dom reports every element as 0x0, so the virtualizer yields no
@@ -55,7 +55,7 @@ export interface VirtualCardGridProps {
55
55
  */
56
56
  scroll?: CardGridScrollMode;
57
57
  /**
58
- * @deprecated Pass `scroll={{ root: element }}` instead — same behaviour, one vocabulary
58
+ * @deprecated Pass `scroll={{ root: element }}` instead — same behavior, one vocabulary
59
59
  * shared with {@link VirtualList}. Kept because it is the shape existing callers use.
60
60
  */
61
61
  scrollElement?: HTMLElement | null;
@@ -241,7 +241,7 @@ function GridTrack({
241
241
  gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`,
242
242
  gap,
243
243
  /*
244
- * 🔴 The structural backstop: a row can never paint over its neighbour.
244
+ * 🔴 The structural backstop: a row can never paint over its neighbor.
245
245
  *
246
246
  * Rows are absolutely positioned at ONE computed `rowHeight`, so a card
247
247
  * taller than that does not push anything down — it spills, and with
@@ -272,7 +272,7 @@ function GridTrack({
272
272
  * this is not a bare `key={start + i}`. flix keys its posters by `tile.id`, and
273
273
  * its browse view sorts and filters — so keying the array by position would
274
274
  * silently discard that identity and reconcile a re-sorted grid by slot,
275
- * scrambling per-card state. Honouring the caller's key keeps the meaning it
275
+ * scrambling per-card state. Honoring the caller's key keeps the meaning it
276
276
  * intended; the index is only the fallback for a caller that expressed none,
277
277
  * which is the same identity `row.key` above already uses for the rows.
278
278
  *
@@ -7,7 +7,7 @@ import { ActivityBar, type ActivityBarItem, EXPAND_HOVER_MS, EXPAND_PRESS_MS } f
7
7
  *
8
8
  * The rail's LOOK is CSS and happy-dom computes none of it, so nothing below asserts a
9
9
  * pixel — that would be a test that passes against any implementation (the lesson
10
- * `denseGallery.layout.spec.ts` records at length). What is real DOM behaviour, and what
10
+ * `denseGallery.layout.spec.ts` records at length). What is real DOM behavior, and what
11
11
  * the file header makes promises about, is the CONTRACT: an unavailable control is present,
12
12
  * reachable and inert rather than absent; a name does not change under a toggle; and a
13
13
  * consumer's own widget keeps working inside the column.
@@ -96,7 +96,7 @@ describe('a control that cannot act', () => {
96
96
  });
97
97
 
98
98
  describe("a consumer's own widget", () => {
99
- test('renders in the column and keeps its own behaviour', () => {
99
+ test('renders in the column and keeps its own behavior', () => {
100
100
  let pressed = 0;
101
101
  render(
102
102
  <ActivityBar
@@ -53,7 +53,7 @@
53
53
  * An icon-only rail is a row of riddles: `DESIGN.md`'s NAV-2 wants every navigation surface
54
54
  * to be able to say what each glyph is without a hover on each one. So the column stays 48px
55
55
  * and EXPANDS, as an overlay over whatever is beside it (nothing reflows), into icon + label
56
- * rows — the hover-expand rail Gmail and the Azure portal draw, and the labelled activity
56
+ * rows — the hover-expand rail Gmail and the Azure portal draw, and the labeled activity
57
57
  * bar VS Code's own users keep asking for. Three ways in, one for each kind of hand:
58
58
  * · a mouse resting on the rail for {@link EXPAND_HOVER_MS} (the delay is what lets a pointer
59
59
  * cross the rail on its way to the sidebar without the rail flaring at it);
@@ -151,7 +151,7 @@ export interface ActivityBarItem {
151
151
  count?: number;
152
152
  /**
153
153
  * Render this instead of a button. For a widget the consumer already owns — an account
154
- * menu, a fleet launcher — that has to keep its own behaviour and its own popover.
154
+ * menu, a fleet launcher — that has to keep its own behavior and its own popover.
155
155
  *
156
156
  * 🔴 It is handed no styling beyond the slot. Give the child `className='cbab-slot'` (or
157
157
  * put a `cbab-btn`-classed control inside it) so a borrowed widget lines up with the
@@ -280,7 +280,7 @@ function Group({ items, onChosen }: { items: readonly ActivityBarItem[]; onChose
280
280
  item.render === undefined ? (
281
281
  <ActivityButton item={item} key={item.id} onChosen={onChosen} />
282
282
  ) : (
283
- /* A borrowed widget keeps its own behaviour, so expanded it gets its word BESIDE it
283
+ /* A borrowed widget keeps its own behavior, so expanded it gets its word BESIDE it
284
284
  rather than inside it — the slot is still the 40px square it always was. */
285
285
  <div className='cbab-slotrow' key={item.id}>
286
286
  <div className='cbab-slot'>{item.render}</div>
@@ -450,7 +450,7 @@ export function ActivityBar({
450
450
  <Group items={top} onChosen={collapse} />
451
451
  {/* Pushes the application group to the floor. A flex spacer rather than
452
452
  `justify-content: space-between`, so a rail with an EMPTY bottom group still
453
- starts its top group at the top instead of centring it. */}
453
+ starts its top group at the top instead of centering it. */}
454
454
  <div className='cbab-spacer' />
455
455
  <Group items={bottom} onChosen={collapse} />
456
456
  {lockable && onLockedChange ? (
@@ -58,7 +58,7 @@
58
58
 
59
59
  /*
60
60
  * 🔒 Locked open (forge task 3183): the TRACK takes the expanded width, so the page beside the
61
- * rail narrows to fit instead of being covered — no overlay shadow, no lift over its neighbours.
61
+ * rail narrows to fit instead of being covered — no overlay shadow, no lift over its neighbors.
62
62
  * The component only sets `data-locked` on a screen at least LOCK_MIN_WIDTH wide.
63
63
  */
64
64
  .cbab[data-locked] {
@@ -104,7 +104,7 @@
104
104
  display: flex;
105
105
  align-items: center;
106
106
  justify-content: flex-start;
107
- /* 10px puts a 20px glyph dead centre of a 40px square — and keeps it there expanded. */
107
+ /* 10px puts a 20px glyph dead center of a 40px square — and keeps it there expanded. */
108
108
  gap: 12px;
109
109
  padding-inline: 10px;
110
110
  flex: 0 0 auto;
@@ -190,7 +190,7 @@
190
190
  block-size: 7px;
191
191
  border-radius: 999px;
192
192
  background: var(--accent-solid, var(--accent));
193
- /* A ring in the rail's own colour, so the dot reads as separate from the glyph under it
193
+ /* A ring in the rail's own color, so the dot reads as separate from the glyph under it
194
194
  rather than as part of the drawing. */
195
195
  box-shadow: 0 0 0 2px var(--surface-1, var(--background));
196
196
  }
@@ -237,7 +237,7 @@
237
237
 
238
238
  /*
239
239
  * A widget the consumer brought — an account menu, a theme toggle. It gets the column's
240
- * geometry and nothing else, so whatever is inside keeps its own behaviour and its own
240
+ * geometry and nothing else, so whatever is inside keeps its own behavior and its own
241
241
  * popover while still lining up with the buttons above it.
242
242
  */
243
243
  .cbab-slot {
@@ -48,7 +48,7 @@ export interface AnalyticsPanelProps<TRow extends Record<string, unknown>>
48
48
  * chart panel does not:
49
49
  *
50
50
  * **The question, above the chart.** It doubles as the accessibility answer:
51
- * the dataviz rule is that a chart never carries meaning in colour alone, and a
51
+ * the dataviz rule is that a chart never carries meaning in color alone, and a
52
52
  * panel that states its question in prose is readable before a single mark is
53
53
  * rendered.
54
54
  *
@@ -8,7 +8,7 @@ export interface CanvasMinimapProps {
8
8
  view: CanvasView;
9
9
  /** The canvas viewport in screen pixels, for the visible window. */
10
10
  viewport: CanvasSize;
11
- /** A click on the thumbnail, in WORLD units — the canvas centres there. */
11
+ /** A click on the thumbnail, in WORLD units — the canvas centers there. */
12
12
  onJump?: (point: { x: number; y: number }) => void;
13
13
  /** The thumbnail's longest side in pixels. Default 168. */
14
14
  size?: number;
@@ -37,7 +37,7 @@ describe('HudZoomControls (CNV-3)', () => {
37
37
  expect(names).toEqual(['Zoom in', 'Zoom out', 'Fit to screen']);
38
38
  });
39
39
 
40
- test('no Center key when the canvas has nothing to centre on', () => {
40
+ test('no Center key when the canvas has nothing to center on', () => {
41
41
  const { queryByRole } = render(
42
42
  <HudZoomControls scale={1} onZoomIn={() => {}} onZoomOut={() => {}} onFit={() => {}} />,
43
43
  );
@@ -54,7 +54,7 @@ export interface HudZoomControlsProps {
54
54
  onZoomOut: () => void;
55
55
  /** Fit the content to the screen. */
56
56
  onFit: () => void;
57
- /** Center on the focused node. Omit it when the canvas has no focus to centre on. */
57
+ /** Center on the focused node. Omit it when the canvas has no focus to center on. */
58
58
  onCenter?: () => void;
59
59
  fitLabel?: string;
60
60
  centerLabel?: string;
@@ -63,7 +63,7 @@ export interface HudZoomControlsProps {
63
63
  children?: ReactNode;
64
64
  /**
65
65
  * `vertical` stacks the keys down an edge — +, the zoom %, −, Fit, Center — the way Figma and
66
- * Miro draw them on a phone, where a bottom-centre pill sits over the drawing and the thumb's
66
+ * Miro draw them on a phone, where a bottom-center pill sits over the drawing and the thumb's
67
67
  * sheet handle. Place it with `absolute right-3 top-1/2 -translate-y-1/2` or the like.
68
68
  */
69
69
  orientation?: 'horizontal' | 'vertical';
@@ -8,14 +8,14 @@ afterEach(cleanup);
8
8
  const box = (x: number, y: number, width = 100, height = 50) => ({ x, y, width, height });
9
9
 
10
10
  describe('snapToAlignment (CNV-12: alignment guides while dragging)', () => {
11
- test('a left edge within tolerance settles onto its neighbour’s, and one vertical guide spans both', () => {
11
+ test('a left edge within tolerance settles onto its neighbor’s, and one vertical guide spans both', () => {
12
12
  const snap = snapToAlignment(box(203, 200, 60, 30), [box(200, 0)], 6);
13
13
  expect(snap.dx).toBe(-3);
14
14
  expect(snap.dy).toBe(0);
15
15
  expect(snap.guides).toEqual([{ axis: 'x', at: 200, from: 0, to: 230 }]);
16
16
  });
17
17
 
18
- test('a box the same size as its neighbour draws its two edges, not a third line down the middle', () => {
18
+ test('a box the same size as its neighbor draws its two edges, not a third line down the middle', () => {
19
19
  const snap = snapToAlignment(box(203, 200), [box(200, 0)], 6);
20
20
  expect(snap.guides).toEqual([
21
21
  { axis: 'x', at: 200, from: 0, to: 250 },
@@ -66,7 +66,7 @@ describe('snapToAlignment (CNV-12: alignment guides while dragging)', () => {
66
66
  });
67
67
 
68
68
  test("axis 'x' snaps and draws only vertical lines — a row of cards does not draw a line along the row", () => {
69
- // Same row (y 0) as the neighbour, left edge 2 off: settles sideways, and no horizontal line is drawn.
69
+ // Same row (y 0) as the neighbor, left edge 2 off: settles sideways, and no horizontal line is drawn.
70
70
  const sideways = snapToAlignment(box(202, 0, 60, 50), [box(200, 0)], 6, 'x');
71
71
  expect(sideways.dx).toBe(-2);
72
72
  expect(sideways.dy).toBe(0);
@@ -75,7 +75,7 @@ describe('snapToAlignment (CNV-12: alignment guides while dragging)', () => {
75
75
  expect(snapToAlignment(box(500, 3, 60, 50), [box(0, 0)], 6, 'y').dy).toBe(-3);
76
76
  });
77
77
 
78
- test('no neighbours, or a zero tolerance (⌘ held), is a plain drag', () => {
78
+ test('no neighbors, or a zero tolerance (⌘ held), is a plain drag', () => {
79
79
  expect(snapToAlignment(box(3, 3), [], 6)).toEqual({ dx: 0, dy: 0, guides: [] });
80
80
  expect(snapToAlignment(box(203, 3), [box(200, 0)], 0)).toEqual({ dx: 0, dy: 0, guides: [] });
81
81
  });
@@ -55,12 +55,12 @@ function nearest(moving: readonly number[], targets: readonly (readonly number[]
55
55
 
56
56
  /**
57
57
  * Where `moving` should settle, and the guides to draw there. `others` is every item it may line up
58
- * with — never the item itself, nor anything travelling with it (a multi-selection, a group's
58
+ * with — never the item itself, nor anything traveling with it (a multi-selection, a group's
59
59
  * contents). `tolerance` is in world units: `ALIGNMENT_TOLERANCE / view.scale`.
60
60
  *
61
61
  * Each axis snaps on its own, to the closest line within tolerance, so an item can settle on a
62
62
  * vertical and a horizontal guide at once. A guide is drawn for every line that matches after the
63
- * snap — two neighbours sharing a left edge make one line through all three — and runs from the
63
+ * snap — two neighbors sharing a left edge make one line through all three — and runs from the
64
64
  * farthest item it touches to the farthest on the other side, the way Mural draws it.
65
65
  *
66
66
  * `axis` limits it to one direction for an item that only moves one way — family's lineages slide
@@ -101,7 +101,7 @@ export function snapToAlignment(
101
101
  const ownX = lines(placed.x, placed.width);
102
102
  const ownY = lines(placed.y, placed.height);
103
103
  /** The lines of `theirs` that `own` sits on — without the middle when both edges match too,
104
- * since a box the same size as its neighbour would otherwise draw three parallel lines. */
104
+ * since a box the same size as its neighbor would otherwise draw three parallel lines. */
105
105
  const matched = (own: readonly number[], theirs: readonly number[]) => {
106
106
  const hits = theirs.map((at) => own.some((have) => Math.abs(have - at) <= epsilon));
107
107
  return theirs.filter((_, index) => hits[index] && !(index === 1 && hits[0] && hits[2]));
@@ -48,7 +48,7 @@ describe('zoomAt (CNV-2: zoom anchors on the pointer)', () => {
48
48
  });
49
49
 
50
50
  describe('fit and center (CNV-3)', () => {
51
- test('fit shrinks a large extent and centres it', () => {
51
+ test('fit shrinks a large extent and centers it', () => {
52
52
  const bounds = { x: 100, y: 50, width: 4000, height: 1000 };
53
53
  const viewport = { width: 1000, height: 600 };
54
54
  const view = fitView(bounds, viewport, { padding: 50 });
@@ -78,7 +78,7 @@ export function fitScale(bounds: CanvasSize, viewport: CanvasSize, options: FitO
78
78
  return clampScale(scale, minScale, maxScale);
79
79
  }
80
80
 
81
- /** CNV-3 "Fit" — the view that centres `bounds` in the viewport at {@link fitScale}. */
81
+ /** CNV-3 "Fit" — the view that centers `bounds` in the viewport at {@link fitScale}. */
82
82
  export function fitView(bounds: CanvasBounds, viewport: CanvasSize, options: FitOptions = {}): CanvasView | null {
83
83
  const scale = fitScale(bounds, viewport, options);
84
84
  if (scale === null) return null;
@@ -34,9 +34,9 @@ export type BarChartProps = {
34
34
  /** Format the tooltip header. */
35
35
  labelFormatter?: (label: string | number) => string;
36
36
  /**
37
- * Colour each BAR by its datum rather than its series — the heat of a cost against the fleet's
37
+ * Color each BAR by its datum rather than its series — the heat of a cost against the fleet's
38
38
  * median (`heatChartTone(heatBandOf(…))`), a budget's bar turning at its thresholds. Return
39
- * `undefined` to keep the series colour. CHT-7: colour is meaning, so the tones are the status
39
+ * `undefined` to keep the series color. CHT-7: color is meaning, so the tones are the status
40
40
  * tones, never a free hex.
41
41
  */
42
42
  colorBy?: (datum: ChartDatum, index: number) => ChartTone | undefined;
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
2
  import { heatFraction } from './HeatmapChart.js';
3
3
 
4
- describe('heatFraction — normalising magnitude onto the ramp', () => {
4
+ describe('heatFraction — normalizing magnitude onto the ramp', () => {
5
5
  test('a value scales linearly against the top of the scale', () => {
6
6
  expect(heatFraction(5, 10)).toBe(0.5);
7
7
  expect(heatFraction(10, 10)).toBe(1);
@@ -48,7 +48,7 @@ export type HeatmapChartProps = {
48
48
  const cellKey = (row: string, column: string) => `${row}\x00${column}`;
49
49
 
50
50
  /**
51
- * Normalise a value onto 0–1 for the colour ramp.
51
+ * Normalize a value onto 0–1 for the color ramp.
52
52
  *
53
53
  * Exported for its own test: the zero case is the one that goes wrong. When
54
54
  * every observed cell is 0 (a quiet day, not a missing day) a naive
@@ -37,9 +37,9 @@ const iv = (over: Partial<TimelineInterval>): TimelineInterval => ({
37
37
  });
38
38
 
39
39
  /*
40
- * 🔴 Why every assertion below names a literal colour, and a theme token would be WRONG.
40
+ * 🔴 Why every assertion below names a literal color, and a theme token would be WRONG.
41
41
  *
42
- * This suite's subject is the pass-through of a CALLER-supplied colour: `TimelineInterval`
42
+ * This suite's subject is the pass-through of a CALLER-supplied color: `TimelineInterval`
43
43
  * lets a consumer hand a bar its own hue, and what is under test is that the hue survives
44
44
  * the tone fallback and the projected-state channel. A token here would assert that the
45
45
  * component emits a token — the opposite of the promise — and would still pass if the prop
@@ -49,11 +49,11 @@ const iv = (over: Partial<TimelineInterval>): TimelineInterval => ({
49
49
  describe('IntervalTimeline color', () => {
50
50
  test('an explicit color wins over the semantic tone', () => {
51
51
  const { container } = render(
52
- // guardrails-ignore no-hardcoded-colors: the caller's colour IS the fixture — see above
52
+ // guardrails-ignore no-hardcoded-colors: the caller's color IS the fixture — see above
53
53
  <IntervalTimeline ariaLabel='t' intervals={[iv({ color: 'rgb(1, 2, 3)', tone: 'success' })]} />,
54
54
  );
55
55
  const [bar] = bars(container);
56
- // guardrails-ignore no-hardcoded-colors: asserting the caller's own colour came back
56
+ // guardrails-ignore no-hardcoded-colors: asserting the caller's own color came back
57
57
  expect(bar?.style.background).toBe('rgb(1, 2, 3)');
58
58
  });
59
59
 
@@ -61,14 +61,14 @@ describe('IntervalTimeline color', () => {
61
61
  const { container } = render(
62
62
  <IntervalTimeline
63
63
  ariaLabel='t'
64
- // guardrails-ignore no-hardcoded-colors: the caller's colour IS the fixture — see above
64
+ // guardrails-ignore no-hardcoded-colors: the caller's color IS the fixture — see above
65
65
  intervals={[iv({ color: 'rgb(1, 2, 3)', projected: true })]}
66
66
  />,
67
67
  );
68
68
  const [bar] = bars(container);
69
69
  // Identity must survive the state channel: the fill goes, the hue does not.
70
70
  expect(bar?.style.background).toBe('transparent');
71
- // guardrails-ignore no-hardcoded-colors: asserting the caller's own colour came back
71
+ // guardrails-ignore no-hardcoded-colors: asserting the caller's own color came back
72
72
  expect(bar?.style.border).toContain('rgb(1, 2, 3)');
73
73
  });
74
74
 
@@ -11,10 +11,10 @@ export interface TimelineInterval {
11
11
  label: string;
12
12
  from: number;
13
13
  to: number;
14
- /** Semantic colour. Default `accent`. */
14
+ /** Semantic color. Default `accent`. */
15
15
  tone?: ChartTone;
16
16
  /**
17
- * An explicit colour, overriding `tone` — for a timeline whose bars are
17
+ * An explicit color, overriding `tone` — for a timeline whose bars are
18
18
  * CATEGORIES rather than states.
19
19
  *
20
20
  * The five semantic tones answer "how is it going"; a Gantt over projects, a
@@ -144,7 +144,7 @@ export function Treemap({
144
144
  rx={3}
145
145
  />
146
146
  {showLabel && (
147
- // Labels clip to their own tile: "node_modules" ran into its neighbour at 390px.
147
+ // Labels clip to their own tile: "node_modules" ran into its neighbor at 390px.
148
148
  <clipPath id={`${clipId}`}>
149
149
  <rect x={x + 4} y={y} width={Math.max(0, width - 8)} height={h} />
150
150
  </clipPath>
@@ -66,7 +66,7 @@ describe('the safe five stay five whatever the accent is', () => {
66
66
  const t = tokensFor(mode, accent, chartAccent);
67
67
  const five = CATEGORICAL_ORDER.map((_, i) => categoricalColor(t, i));
68
68
  expect(worstPair(five)).toBeGreaterThanOrEqual(SERIES_FLOOR);
69
- // Slot 0 is still the app's colour: a single series is the brand.
69
+ // Slot 0 is still the app's color: a single series is the brand.
70
70
  expect(t.series[0]).toBe(chartAccent ?? accent);
71
71
  });
72
72
  }
@@ -22,7 +22,7 @@ describe('CATEGORICAL_ORDER — the re-stepping is the whole point', () => {
22
22
  expect(categoricalColor(FALLBACK_TOKENS, 0)).toBe(FALLBACK_TOKENS.series[0]);
23
23
  });
24
24
 
25
- test('teal, red and indigo are excluded — collisions and a reserved status colour', () => {
25
+ test('teal, red and indigo are excluded — collisions and a reserved status color', () => {
26
26
  for (const excluded of [5, 6, 7]) {
27
27
  expect([...CATEGORICAL_ORDER]).not.toContain(excluded);
28
28
  }
@@ -47,7 +47,7 @@ describe('categoricalColor', () => {
47
47
  );
48
48
  });
49
49
 
50
- test('a token set with fewer colours than the order falls back to the accent', () => {
50
+ test('a token set with fewer colors than the order falls back to the accent', () => {
51
51
  const thin = { ...FALLBACK_TOKENS, series: [FALLBACK_TOKENS.accent] };
52
52
  expect(categoricalColor(thin, 1)).toBe(thin.accent);
53
53
  });
@@ -58,7 +58,7 @@ describe('sequentialStep — magnitude as one hue', () => {
58
58
  expect(sequentialStep('#34d399', 0)).toBe('rgb(52 211 153 / 0.1)');
59
59
  });
60
60
 
61
- test('the ceiling is the token colour at full strength', () => {
61
+ test('the ceiling is the token color at full strength', () => {
62
62
  expect(sequentialStep('#34d399', 1)).toBe('rgb(52 211 153 / 1)');
63
63
  });
64
64