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
@@ -9,7 +9,7 @@ export interface SectionNavItem {
9
9
  /** Trailing mark, e.g. a dot for unsaved changes. */
10
10
  marker?: ReactNode;
11
11
  /** Words for the marker — the item's hint on hover and on a touch-and-hold, and part of its
12
- * accessible name, so the mark is never colour alone. */
12
+ * accessible name, so the mark is never color alone. */
13
13
  markerLabel?: string;
14
14
  /** Refuses the item and says why (Button's `unavailableReason`): drawn disabled, still
15
15
  * focusable and hoverable so the reason is reachable. */
@@ -28,7 +28,7 @@ export interface SectionNavProps {
28
28
  }
29
29
 
30
30
  /**
31
- * The section selector of a settings page — the labelled list beside the form that Linear,
31
+ * The section selector of a settings page — the labeled list beside the form that Linear,
32
32
  * GitHub and Vercel settings all draw. From `md` (768px) up it is a vertical column of
33
33
  * full-width rows; below it, one line that scrolls sideways above the form, the active section
34
34
  * kept in view.
@@ -39,7 +39,7 @@ export interface SectionNavProps {
39
39
  * A refused item stays in that traversal on purpose — its reason is only reachable focused.
40
40
  *
41
41
  * `list-none m-0 p-0` and an explicit ground on every item: some hosts (desk) mount this with no
42
- * Tailwind preflight, where a bare `<ul>` has bullets and a `<button>` the browser's grey box.
42
+ * Tailwind preflight, where a bare `<ul>` has bullets and a `<button>` the browser's gray box.
43
43
  */
44
44
  export function SectionNav({ items, value, onValueChange, 'aria-label': ariaLabel, className, ...rest }: SectionNavProps) {
45
45
  const refs = useRef(new Map<string, HTMLButtonElement>());
@@ -41,7 +41,7 @@ function Picker({ Field, onPick }: { Field: typeof SelectField; onPick?: (v: str
41
41
  }
42
42
 
43
43
  /**
44
- * A BYTE contract as much as a behavioural one: a SelectField on an app's entry chunk hoisted
44
+ * A BYTE contract as much as a behavioral one: a SelectField on an app's entry chunk hoisted
45
45
  * Radix Select there (+29.20 kB gzip in music, forge task 3096), so the Radix select is its own
46
46
  * chunk and this file is a trigger.
47
47
  */
@@ -79,7 +79,7 @@ export function Slider({
79
79
  data-cb-slider-tick=''
80
80
  className='pointer-events-none absolute bottom-0 h-1 w-px -translate-x-1/2 bg-border-strong'
81
81
  // Radix keeps the thumb inside the track, so its centre runs from half a thumb in at `min`
82
- // to half a thumb in from the end at `max`; a tick sits where the thumb's centre would.
82
+ // to half a thumb in from the end at `max`; a tick sits where the thumb's center would.
83
83
  style={{ left: `calc(0.5rem + (100% - 1rem) * ${(tick - min) / (max - min)})` }}
84
84
  />
85
85
  ))}
@@ -60,7 +60,7 @@ describe('StarRating — whole steps render real buttons', () => {
60
60
 
61
61
  test('🔴 a click does not reach the row underneath — the SLIDER branch too', () => {
62
62
  // The two affordances are two code paths, and only the button one had this.
63
- // Stopping `pointerdown` does NOT stop the `click` the browser synthesises
63
+ // Stopping `pointerdown` does NOT stop the `click` the browser synthesizes
64
64
  // after it, so every fractional rating in apps/music also started the track
65
65
  // the moment it moved to step={0.25} (owner, 2026-08-25).
66
66
  const onRowClick = mock(() => {});
@@ -125,13 +125,13 @@ describe('StarRating — fractional steps render a slider', () => {
125
125
  expect(onChange).toHaveBeenLastCalledWith(0);
126
126
  });
127
127
 
128
- test('🔴 a step that is not a binary fraction never emits a float artefact', () => {
128
+ test('🔴 a step that is not a binary fraction never emits a float artifact', () => {
129
129
  // Quarters are exactly representable, so `step={0.25}` is safe by accident —
130
130
  // which is precisely why the guard needs a test that does not use it. 0.2 +
131
131
  // 0.1 is 0.30000000000000004, and persisted, that is a rating no other code
132
132
  // path will ever produce again: equality ("press the value you have to clear
133
133
  // it") silently stops working on that row, forever.
134
- expect(0.2 + 0.1).not.toBe(0.3); // the artefact is real, not hypothetical
134
+ expect(0.2 + 0.1).not.toBe(0.3); // the artifact is real, not hypothetical
135
135
  const onChange = mock((_: number) => {});
136
136
  const { getByRole } = render(<StarRating value={0.2} onChange={onChange} step={0.1} />);
137
137
  fireEvent.keyDown(getByRole('slider'), { key: 'ArrowRight' });
@@ -206,7 +206,7 @@ describe('StarRating — read-only', () => {
206
206
  });
207
207
 
208
208
  describe('StarRating — max', () => {
209
- test('honours a non-default star count in both the row and the labels', () => {
209
+ test('honors a non-default star count in both the row and the labels', () => {
210
210
  const { getAllByRole } = render(<StarRating value={0} onChange={() => {}} max={10} />);
211
211
  const buttons = getAllByRole('button');
212
212
  expect(buttons).toHaveLength(10);
@@ -94,7 +94,7 @@ function Star({ fill }: { fill: number }) {
94
94
  (measured ~1.1:1 on music's canvas).
95
95
  Filled and empty still differ by WEIGHT as well as hue (the reason this
96
96
  is not simply a paler gold — measured 1.63:1 on a light card when both
97
- were the same colour); the weight now comes from the token, which is
97
+ were the same color); the weight now comes from the token, which is
98
98
  audited per theme, instead of from an alpha that only ever worked on one
99
99
  of them. The `--border-strong` fallback keeps this readable in a host
100
100
  that has not adopted the token yet. */}
@@ -154,7 +154,7 @@ export function StarRating({
154
154
  return (
155
155
  // No `role="group"` wrapper, and that is deliberate (apps/music's original
156
156
  // reasoning, kept): each button's accessible name already carries the label
157
- // ("Rate 3 out of 5 on A Song"), so a labelled group announces the same thing
157
+ // ("Rate 3 out of 5 on A Song"), so a labeled group announces the same thing
158
158
  // twice and adds nothing a screen reader does not already have.
159
159
  <span {...rest} className={cn('inline-flex w-fit gap-0.5', className)}>
160
160
  {stars.map((i) => {
@@ -250,7 +250,7 @@ export function StarRating({
250
250
  /*
251
251
  * 🔴 The CLICK has to be stopped as well as the pointerdown, and they are two
252
252
  * events: stopping `pointerdown` does not stop the `click` the browser
253
- * synthesises after it. The whole-star branch above already carries this — a
253
+ * synthesizes after it. The whole-star branch above already carries this — a
254
254
  * rating control very often sits inside a row that is itself click-to-open, and
255
255
  * apps/music's track row PLAYS on a plain click — and the slider branch was
256
256
  * missing it, so every fractional rating also started the track. It only became
@@ -5,7 +5,7 @@ import { type SwatchOption, SwatchPicker } from './SwatchPicker.js';
5
5
  afterEach(cleanup);
6
6
 
7
7
  const OPTIONS: SwatchOption[] = [
8
- { value: '', none: true, label: 'No colour' },
8
+ { value: '', none: true, label: 'No color' },
9
9
  { value: '1', color: 'var(--chart-1)', label: 'Red' },
10
10
  { value: '2', color: 'var(--chart-2)', label: 'Green' },
11
11
  { value: '3', color: 'var(--chart-3)', label: 'Blue' },
@@ -19,10 +19,10 @@ const radios = (getAllByRole: (role: string) => HTMLElement[]) => getAllByRole('
19
19
  describe('SwatchPicker', () => {
20
20
  test('one named radiogroup, one radio per swatch, named by its label — and no native `title` (DESIGN.md §4)', () => {
21
21
  const { getByRole, getAllByRole, container } = render(
22
- <SwatchPicker aria-label='Card colour' options={OPTIONS} value='2' onChange={() => {}} />,
22
+ <SwatchPicker aria-label='Card color' options={OPTIONS} value='2' onChange={() => {}} />,
23
23
  );
24
- expect(getByRole('radiogroup').getAttribute('aria-label')).toBe('Card colour');
25
- expect(radios(getAllByRole).map((r) => r.getAttribute('aria-label'))).toEqual(['No colour', 'Red', 'Green', 'Blue']);
24
+ expect(getByRole('radiogroup').getAttribute('aria-label')).toBe('Card color');
25
+ expect(radios(getAllByRole).map((r) => r.getAttribute('aria-label'))).toEqual(['No color', 'Red', 'Green', 'Blue']);
26
26
  expect(radios(getAllByRole).map((r) => r.getAttribute('aria-checked'))).toEqual(['false', 'false', 'true', 'false']);
27
27
  expect(container.querySelector('[title]')).toBeNull();
28
28
  });
@@ -13,7 +13,7 @@ interface SwatchOptionBase<T extends string> {
13
13
  disabled?: boolean;
14
14
  }
15
15
 
16
- /** One swatch: a colour — or, with `none`, the "no colour" choice, drawn as the ground struck through. */
16
+ /** One swatch: a color — or, with `none`, the "no color" choice, drawn as the ground struck through. */
17
17
  export type SwatchOption<T extends string = string> = SwatchOptionBase<T> &
18
18
  (
19
19
  | {
@@ -22,7 +22,7 @@ export type SwatchOption<T extends string = string> = SwatchOptionBase<T> &
22
22
  none?: undefined;
23
23
  }
24
24
  | {
25
- /** The "no colour" swatch (a fill cleared, an accent removed): the card ground with a slash. */
25
+ /** The "no color" swatch (a fill cleared, an accent removed): the card ground with a slash. */
26
26
  none: true;
27
27
  color?: undefined;
28
28
  }
@@ -34,15 +34,15 @@ export interface SwatchPickerProps<T extends string = string> {
34
34
  onChange: (value: T) => void;
35
35
  /** Swatch diameter: `sm` 1.5rem, `md` (default) 1.75rem, `lg` 2.25rem. */
36
36
  size?: 'sm' | 'md' | 'lg';
37
- /** `dot` (default) is round; `tile` is a rounded square — a palette's chip (Excel's colour grid). */
37
+ /** `dot` (default) is round; `tile` is a rounded square — a palette's chip (Excel's color grid). */
38
38
  shape?: 'dot' | 'tile';
39
39
  /** Lay the swatches out as a grid this many across (a 2-D palette) instead of one wrapping row. */
40
40
  columns?: number;
41
41
  /**
42
42
  * `automatic` (default): the arrow keys move the choice, as a radio group's do — right for a
43
- * value being SET (an accent, a series colour). `manual`: the arrows only move focus, and
43
+ * value being SET (an accent, a series color). `manual`: the arrows only move focus, and
44
44
  * Enter, Space or a click picks — including the swatch already checked, which reports again.
45
- * Right for a palette that APPLIES a colour (a format menu, a selection's toolbar), where every
45
+ * Right for a palette that APPLIES a color (a format menu, a selection's toolbar), where every
46
46
  * arrow press would otherwise be an edit and the first one would close the menu. The words are
47
47
  * Radix Tabs' `activationMode`.
48
48
  */
@@ -54,7 +54,7 @@ export interface SwatchPickerProps<T extends string = string> {
54
54
 
55
55
  const SIZE = { sm: 'size-6', md: 'size-7', lg: 'size-9' } as const;
56
56
  const SHAPE = { dot: 'rounded-full', tile: 'rounded-sm' } as const;
57
- /** "No colour": the card ground, struck through corner to corner in the destructive hue. */
57
+ /** "No color": the card ground, struck through corner to corner in the destructive hue. */
58
58
  const NONE_FILL =
59
59
  'linear-gradient(135deg, transparent calc(50% - 1px), var(--destructive) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)), var(--card)';
60
60
 
@@ -68,7 +68,7 @@ const NONE_FILL =
68
68
  *
69
69
  * This is the shared primitive for every "row of color dots" UI. For the nav
70
70
  * accent picker (presets + custom hex + reset) see `ColorSwatchGrid`, which
71
- * composes this with a native color input; for an accent row with an any-colour
71
+ * composes this with a native color input; for an accent row with an any-color
72
72
  * well, `ColorSwatches`.
73
73
  *
74
74
  * The checked ring keys off `aria-checked`, not Radix's `data-state`: the tooltip's
@@ -146,14 +146,14 @@ export function SwatchPicker<T extends string = string>({
146
146
  SIZE[size],
147
147
  SHAPE[shape],
148
148
  // A finger needs 44px (DESIGN.md §5): the swatch itself grows on a coarse pointer, since
149
- // the colour IS the button. A 28px one failed e2e/touch-targets (forge task 2514).
149
+ // the color IS the button. A 28px one failed e2e/touch-targets (forge task 2514).
150
150
  TAP_TARGET_SQUARE,
151
151
  'hover:scale-110 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1',
152
152
  'aria-checked:ring-2 aria-checked:ring-foreground aria-checked:ring-offset-1',
153
153
  'disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:scale-100',
154
154
  )}
155
155
  >
156
- {/* The slash IS the "no colour" mark; a check over it would read as a second glyph. */}
156
+ {/* The slash IS the "no color" mark; a check over it would read as a second glyph. */}
157
157
  {opt.none ? null : (
158
158
  <RadioGroup.Indicator asChild>
159
159
  <Check className='size-3.5 text-white mix-blend-difference' aria-hidden />
@@ -9,7 +9,7 @@ import { Tooltip, TooltipDelay } from './Tooltip.js';
9
9
  afterEach(cleanup);
10
10
 
11
11
  /**
12
- * The contract this file protects is a BYTE one as much as a behavioural one:
12
+ * The contract this file protects is a BYTE one as much as a behavioral one:
13
13
  * `Tooltip` is what lands in an app's entry chunk and it must stay dependency-free,
14
14
  * with the Radix/floating-ui stack arriving as a separate chunk. See the header of
15
15
  * `Tooltip.tsx` for the measurement (≈36 KB in 12 of 13 satellites' entry chunks).
@@ -65,7 +65,7 @@ describe('Tooltip (lazy)', () => {
65
65
  test('🔴 a pointer that only PASSES OVER a control never opens it', async () => {
66
66
  // The failure the delay exists to prevent, in its exact shape: roms' transport is a
67
67
  // row of 32px controls, so reaching the last one drags the cursor across every one
68
- // before it. At the old 120ms each of those produced a bubble over its neighbour.
68
+ // before it. At the old 120ms each of those produced a bubble over its neighbor.
69
69
  const { getByRole } = render(
70
70
  <Tooltip content='Full label'>
71
71
  <button
@@ -412,7 +412,7 @@ describe('TooltipDelay — the person-chosen delay', () => {
412
412
  );
413
413
  });
414
414
 
415
- test('a disabled control honours it too', async () => {
415
+ test('a disabled control honors it too', async () => {
416
416
  const { getByRole } = render(
417
417
  <TooltipDelay ms={slow}>
418
418
  <Tooltip content='Load a ROM first'>
@@ -110,7 +110,7 @@ const OWN_PROPS = new Set([
110
110
  *
111
111
  * `data-state` is the one prop two owners genuinely want: the tooltip's Radix trigger sets
112
112
  * its own after this runs, so a wrapped trigger's `data-state` reports the TOOLTIP. That is
113
- * a styling hook, not a behavioural one — Radix reads its own open state from React, never
113
+ * a styling hook, not a behavioral one — Radix reads its own open state from React, never
114
114
  * from the DOM — and the alternative (suppressing the tooltip's) breaks the bubble's own
115
115
  * animation classes.
116
116
  */
@@ -163,7 +163,7 @@ function buildParentMap(
163
163
  return map;
164
164
  }
165
165
 
166
- /** `:focus-visible`, where the engine knows it; a DOM without it keeps the ring (the old behaviour). */
166
+ /** `:focus-visible`, where the engine knows it; a DOM without it keeps the ring (the old behavior). */
167
167
  function isFocusVisible(el: HTMLElement): boolean {
168
168
  try {
169
169
  return el.matches(':focus-visible');
@@ -41,7 +41,7 @@ export interface TruncatedTextProps {
41
41
  * ── Why this exists ─────────────────────────────────────────────────────────
42
42
  * `<span className='truncate' title={value}>` is the fleet's most-repeated line
43
43
  * and it is a `DESIGN.md` §4 violation everywhere it appears: the native `title`
44
- * is drawn by the OS after 1–2 seconds, in its own grey box, in the wrong theme,
44
+ * is drawn by the OS after 1–2 seconds, in its own gray box, in the wrong theme,
45
45
  * and it does not exist at all on the owner's phone. It is also the exact defect
46
46
  * the owner reported against family ("title should show on hover faster") — the
47
47
  * delay is the operating system's, so no amount of CSS or JS can tune it. The
@@ -17,11 +17,11 @@ export interface UnstyledButtonProps extends ButtonHTMLAttributes<HTMLButtonElem
17
17
  }
18
18
 
19
19
  /**
20
- * A `<button>` that brings none of the belt's look and all of its behaviour.
20
+ * A `<button>` that brings none of the belt's look and all of its behavior.
21
21
  *
22
22
  * Mantine's name for the same thing. For a control whose look is the caller's own — a tab
23
23
  * in a deck, a pin in a sidebar, a breadcrumb step — that still has to explain itself and
24
- * still has to refuse a press it cannot honour. {@link Button} with `asChild` would restyle
24
+ * still has to refuse a press it cannot honor. {@link Button} with `asChild` would restyle
25
25
  * the child with the button's variants; this adds no class at all, so `className` is the
26
26
  * whole of its look.
27
27
  *
@@ -59,7 +59,7 @@ export function AuthCard({
59
59
  {...rest}
60
60
  className={cn(
61
61
  'flex w-full flex-col items-center justify-center gap-6 p-4',
62
- // The page colour belongs to the full-screen page only. Embedded, the card sits on its
62
+ // The page color belongs to the full-screen page only. Embedded, the card sits on its
63
63
  // host's surface — painting `bg-background` there drew a slab around it, a box on a box
64
64
  // inside the host's panel (forge task 2466).
65
65
  aurora ? 'dark cb-aurora cb-auth-aurora' : fullScreen && 'bg-background',
@@ -26,13 +26,13 @@
26
26
  border-block-start: 1px solid var(--border);
27
27
  background: var(--surface-raised, var(--card));
28
28
  color: var(--foreground);
29
- /* A cast shadow lifting the bar off the page, not a surface colour — it darkens whatever
29
+ /* A cast shadow lifting the bar off the page, not a surface color — it darkens whatever
30
30
  is behind it, in both themes, and a token would tint a shadow.
31
31
  guardrails-ignore no-hardcoded-colors: see above. */
32
32
  box-shadow: 0 -6px 24px -12px rgb(0 0 0 / 0.35);
33
33
  }
34
34
 
35
- /* The one bit of colour — an update is information, not a failure, so it is the accent and
35
+ /* The one bit of color — an update is information, not a failure, so it is the accent and
36
36
  not the destructive tone. */
37
37
  .cbbf-dot {
38
38
  inline-size: 0.5rem;
@@ -75,9 +75,9 @@ describe('EventChip', () => {
75
75
  expect(screen.getByRole('button').getAttribute('aria-label')).toMatch(/^\d{1,2}:\d{2}\s?(AM|PM) Stand-up$/);
76
76
  });
77
77
 
78
- test('a hex colour is a TINT with same-hue ink, never a solid slab', () => {
78
+ test('a hex color is a TINT with same-hue ink, never a solid slab', () => {
79
79
  // happy-dom drops `color-mix()` from a style, so the resolver is asserted; the browser spec
80
- // (e2e/calendar-time.spec.ts) reads the painted colour.
80
+ // (e2e/calendar-time.spec.ts) reads the painted color.
81
81
  // guardrails-ignore no-hardcoded-colors: test fixture asserting on literal event color, not themeable chrome
82
82
  const { chipStyle } = calendarColorClasses('#4f86f7');
83
83
  // guardrails-ignore no-hardcoded-colors: test fixture asserting on literal event color, not themeable chrome
@@ -134,8 +134,8 @@ export function MonthGrid({
134
134
  : ctx.inMonth
135
135
  ? 'text-foreground'
136
136
  : // 🔴 Muted AND faded. `text-muted-foreground` alone was the same
137
- // weight and very nearly the same colour as the current month, so
138
- // "July 26–31 use the exact same bold font size and dark colouring
137
+ // weight and very nearly the same color as the current month, so
138
+ // "July 26–31 use the exact same bold font size and dark coloring
139
139
  // as August" was a fair reading of the screen. Faded to 85%, not 50%:
140
140
  // half-strength muted text scored 2.32:1 (FND-9, forge task 2628);
141
141
  // at 85% it clears 4.5:1 (80% was 4.48:1) and still reads a step below the month.
@@ -54,11 +54,11 @@ export const isHexColor = (color?: string): color is string =>
54
54
  !!color && /^#[0-9a-f]{6}$/i.test(color);
55
55
 
56
56
  /**
57
- * A custom colour drawn the way the named ones are: a soft tint of the hue with ink of the same hue
57
+ * A custom color drawn the way the named ones are: a soft tint of the hue with ink of the same hue
58
58
  * pulled toward the theme's foreground — so it reads in light AND dark, and sits beside the
59
59
  * `bg-sky-100 text-sky-800` chips as a peer. Until forge task 2591 a hex was a SOLID fill with
60
60
  * white or black text, the loudest mark on the grid whatever it meant (Google Calendar and Linear
61
- * both tint a custom colour rather than fill with it).
61
+ * both tint a custom color rather than fill with it).
62
62
  */
63
63
  const hexChip = (hex: string) => ({
64
64
  backgroundColor: `color-mix(in srgb, ${hex} 18%, transparent)`,
@@ -90,7 +90,7 @@ export const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(
90
90
  /*
91
91
  🔴 Where the dialog mounts is the app's, exactly as for a Popover or a DropdownMenu. An app
92
92
  whose tokens live on its own root (desk keeps every variable on `.cs-root`) got a dialog in
93
- `document.body` drawn with no colours at all, and a full-screen element hid it outright.
93
+ `document.body` drawn with no colors at all, and a full-screen element hid it outright.
94
94
  */
95
95
  const container = useFloatingContainer();
96
96
  return (
@@ -2,7 +2,7 @@ import { AlertCircle } from 'lucide-react';
2
2
  import type { ReactNode } from 'react';
3
3
 
4
4
  /**
5
- * The inline error row a {@link Field} draws under its control — icon, colour and size in one
5
+ * The inline error row a {@link Field} draws under its control — icon, color and size in one
6
6
  * place. Internal: a control that cannot sit in a `Field` (SignupForm's terms checkbox, whose
7
7
  * label is the checkbox's own) draws this, so its error reads like every other one (forge task
8
8
  * 2466 found that checkbox's error with no icon, as a bare red line).
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * Knobs:
11
11
  * --cb-panesplit-ground what the seam's track is painted — set it to the panes' background
12
- * --cb-panesplit-line the hairline's colour (default `--border`)
12
+ * --cb-panesplit-line the hairline's color (default `--border`)
13
13
  * --cb-panesplit-reach the seam's track, the size of the hit area (default 5px)
14
14
  * --cb-panesplit-active the line on hover and focus (default `--ring`)
15
15
  */
@@ -20,6 +20,21 @@ const groupGrant: ShareGrantRow = {
20
20
  };
21
21
 
22
22
  describe('ShareEditor', () => {
23
+ test('the picker placeholder and the list heading can name what this editor is for', () => {
24
+ const { getByPlaceholderText, getByText, queryByText } = render(
25
+ <ShareEditor
26
+ resource={RESOURCE}
27
+ loadRecipients={loadRecipients}
28
+ onAdd={() => {}}
29
+ placeholder='Add a group…'
30
+ listLabel='Groups with access'
31
+ />,
32
+ );
33
+ expect(getByPlaceholderText('Add a group…')).toBeTruthy();
34
+ expect(getByText('Groups with access')).toBeTruthy();
35
+ expect(queryByText('Shared with')).toBeNull();
36
+ });
37
+
23
38
  test('a person known only by email is named by the address, once — not "Someone" above it', () => {
24
39
  const { getAllByText, queryByText } = render(
25
40
  <ShareEditor
@@ -35,6 +35,10 @@ export interface ShareEditorProps {
35
35
  /** Revoke a grant (a confirm step fires first). */
36
36
  onRevoke?: (grantId: string) => void;
37
37
  emptyMessage?: string;
38
+ /** The picker's placeholder — name what it adds ("Add a group…"). Default `'Add people or groups…'`. */
39
+ placeholder?: string;
40
+ /** The heading over the current grants. Default `'Shared with'`. */
41
+ listLabel?: string;
38
42
  className?: string;
39
43
  }
40
44
 
@@ -127,7 +131,7 @@ function GrantRow({
127
131
  (editable ? (
128
132
  <RevokeButton onConfirm={() => onRevoke(grant.id)} />
129
133
  ) : (
130
- // Holds the remove column, so a fixed row's level lines up with its neighbours'.
134
+ // Holds the remove column, so a fixed row's level lines up with its neighbors'.
131
135
  <span className='size-9 shrink-0' aria-hidden='true' />
132
136
  ))}
133
137
  </li>
@@ -152,6 +156,8 @@ export function ShareEditor({
152
156
  onChangeLevel,
153
157
  onRevoke,
154
158
  emptyMessage = 'Not shared with anyone yet.',
159
+ placeholder,
160
+ listLabel = 'Shared with',
155
161
  className,
156
162
  // Named so it stays off the root `<div>`: the handlers already carry the resource.
157
163
  resource: _resource,
@@ -166,10 +172,15 @@ export function ShareEditor({
166
172
 
167
173
  return (
168
174
  <div {...rest} className={cn('space-y-4', className)}>
169
- <RecipientPicker loadRecipients={loadRecipients} onPick={onAdd} excludeIds={excludeIds} />
175
+ <RecipientPicker
176
+ loadRecipients={loadRecipients}
177
+ onPick={onAdd}
178
+ excludeIds={excludeIds}
179
+ {...(placeholder ? { placeholder } : {})}
180
+ />
170
181
 
171
182
  <div>
172
- <p className='mb-1 text-xs font-semibold text-muted-foreground'>Shared with</p>
183
+ <p className='mb-1 text-xs font-semibold text-muted-foreground'>{listLabel}</p>
173
184
  {isLoading ? (
174
185
  <div className='flex justify-center py-4'>
175
186
  <Spinner />
@@ -60,7 +60,7 @@ describe('format', () => {
60
60
  expect(links.root('library')).toBe('#/');
61
61
  });
62
62
 
63
- test('history mode writes real paths and honours a base', () => {
63
+ test('history mode writes real paths and honors a base', () => {
64
64
  const history = defineDeepLinks({
65
65
  mode: 'history',
66
66
  base: '/inspector',
@@ -132,7 +132,7 @@ export interface DeepLinks<V extends string = string> {
132
132
  paramsOf(view: V): readonly string[];
133
133
  /** True when this href carries no place at all — the bare entry resume restores. */
134
134
  isBare(raw: string): boolean;
135
- /** Structural equality, so a no-op navigation can be recognised as one. */
135
+ /** Structural equality, so a no-op navigation can be recognized as one. */
136
136
  equals(a: DeepLinkLocation<V>, b: DeepLinkLocation<V>): boolean;
137
137
  }
138
138
 
@@ -108,7 +108,7 @@ describe('useResume', () => {
108
108
 
109
109
  /**
110
110
  * The defect the music browser smoke found: the location moved while the read was in
111
- * flight, the effect re-ran, its cleanup cancelled the read, and nothing was ever
111
+ * flight, the effect re-ran, its cleanup canceled the read, and nothing was ever
112
112
  * recorded again for the life of the page.
113
113
  */
114
114
  test('a navigation DURING the read does not kill recording', async () => {
@@ -157,7 +157,7 @@ export function useResume<V extends string = string>(options: UseResumeOptions<V
157
157
  * Every one of them — `navigateTo`, `client`, `canRestore` — has an identity
158
158
  * that changes when the location changes, so a dependency list naming them
159
159
  * re-runs the effect mid-read. The re-run bailed on `attempted`, its cleanup
160
- * cancelled the read in flight, `ready` never became true, and NOTHING WAS
160
+ * canceled the read in flight, `ready` never became true, and NOTHING WAS
161
161
  * EVER RECORDED. It was invisible in a hook test (the read resolved before
162
162
  * anything re-rendered) and reproduced every time in a browser, which is why
163
163
  * `apps/music/__smoke/deepLinks.spec.ts` exists.
@@ -57,7 +57,7 @@
57
57
  opacity: 1 !important;
58
58
  }
59
59
 
60
- /* Syntax colours from cursedbelt's text-safe tone tokens, for both themes (the tokens flip
60
+ /* Syntax colors from cursedbelt's text-safe tone tokens, for both themes (the tokens flip
61
61
  * under `.dark`). The library ships GitHub's literal palette (#d73a49, #e36209, #6f42c1,
62
62
  * #005cc5), which measured 3.5-4.3:1 on white and on the added/removed line tints. Every
63
63
  * token below clears 4.5:1 on the plain, added, removed and highlighted backgrounds, light
@@ -14,7 +14,7 @@ import type { FileTreeNode } from 'cursedbelt-core/file-tree/file-tree-model';
14
14
  * passes on any implementation, which is worse than no test (the lesson
15
15
  * `denseGallery.layout.spec.ts` records at length). The drop RULES are therefore tested as
16
16
  * arithmetic in `core/file-tree/fileTreeModel.spec.ts`, and what is left here is everything
17
- * that is real DOM behaviour: selection, disclosure, the keyboard, the rename field and the
17
+ * that is real DOM behavior: selection, disclosure, the keyboard, the rename field and the
18
18
  * external-drag path, which uses real `dragover`/`drop` events and needs no layout.
19
19
  */
20
20
 
@@ -79,7 +79,7 @@ describe('drawing', () => {
79
79
  expect(container.querySelectorAll('[role="treeitem"]')).toHaveLength(5);
80
80
  });
81
81
 
82
- test('`expandable: false` is still honoured — that row gets an icon, not an arrow', () => {
82
+ test('`expandable: false` is still honored — that row gets an icon, not an arrow', () => {
83
83
  const { container } = render(
84
84
  <FileTree
85
85
  nodes={[{ id: 'inert', name: 'Inert', kind: 'folder', expandable: false }]}
@@ -333,7 +333,7 @@ describe('renaming in place', () => {
333
333
 
334
334
  test('🔴 the draft row is named BEFORE anything is created', () => {
335
335
  // A folder made first and renamed afterwards is a row that spent a moment called
336
- // "untitled", and a row left behind if the field is cancelled.
336
+ // "untitled", and a row left behind if the field is canceled.
337
337
  const made: string[] = [];
338
338
  tree({ draft: { parentId: 'simpsons' }, onDraftCommit: (name) => made.push(name) });
339
339
  const field = screen.getByLabelText('Name') as HTMLInputElement;
@@ -614,7 +614,7 @@ describe('a private row is marked as private', () => {
614
614
 
615
615
  test('🔴 the mark does not swallow the click that opens the row', () => {
616
616
  // A dead spot at the end of every private row would be a worse bug than the one this fixes.
617
- // `pointer-events: none` in the stylesheet is the mechanism; this is the behaviour.
617
+ // `pointer-events: none` in the stylesheet is the mechanism; this is the behavior.
618
618
  const picked: string[] = [];
619
619
  render(
620
620
  <FileTree nodes={tree} selectedId={null} onSelect={(node) => picked.push(node.id)} />,
@@ -625,7 +625,7 @@ describe('a private row is marked as private', () => {
625
625
  });
626
626
 
627
627
  /**
628
- * The six behaviours that came over from `cursedesk`'s tree on 2026-09-13 so that adopting
628
+ * The six behaviors that came over from `cursedesk`'s tree on 2026-09-13 so that adopting
629
629
  * this one is a graduation rather than a regression. See `FileTree.tsx`'s header.
630
630
  */
631
631
  describe('where you are', () => {
@@ -1268,7 +1268,7 @@ describe('selecting more than one row', () => {
1268
1268
  });
1269
1269
 
1270
1270
  test('🔴 the anchor does not move, so a second shift-click re-covers from the same start', () => {
1271
- // The behaviour every file explorer has: shift-click down four rows, realise you meant
1271
+ // The behavior every file explorer has: shift-click down four rows, realize you meant
1272
1272
  // two, shift-click the second — and get two, not six.
1273
1273
  const reported: string[][] = [];
1274
1274
  tree({ onSelectionChange: (ids) => reported.push(ids) });
@@ -1509,7 +1509,7 @@ describe('deleting a selection', () => {
1509
1509
  expect(many).toEqual([['simpsons']]);
1510
1510
  });
1511
1511
 
1512
- test('🔴 without `onDeleteMany` it is the focused row alone — today’s behaviour, kept', () => {
1512
+ test('🔴 without `onDeleteMany` it is the focused row alone — today’s behavior, kept', () => {
1513
1513
  const one: string[] = [];
1514
1514
  tree({
1515
1515
  selectedIds: ['dinos', 'travels'],
@@ -1764,7 +1764,7 @@ describe('the clipboard', () => {
1764
1764
  await act(async () => undefined);
1765
1765
  const { row } = pressV('Simpsons');
1766
1766
  const paste = fireEvent.paste(row, { clipboardData: clipboardWith('Dinos') });
1767
- // `fireEvent` returns false when the event was cancelled.
1767
+ // `fireEvent` returns false when the event was canceled.
1768
1768
  expect(paste).toBe(false);
1769
1769
  await act(async () => new Promise((done) => setTimeout(done, 5)));
1770
1770
  // Once — the fallback timer must not paste the same keypress a second time.
@@ -1844,7 +1844,7 @@ describe('New Folder with Selection', () => {
1844
1844
  onDraftCommit: (name, wrap) => made.push([name, wrap]),
1845
1845
  });
1846
1846
  // Enter on the SUGGESTION, unchanged — which is the person agreeing with it, not
1847
- // cancelling. An unchanged RENAME still cancels; see the rename spec above.
1847
+ // canceling. An unchanged RENAME still cancels; see the rename spec above.
1848
1848
  fireEvent.keyDown(screen.getByLabelText('Name'), { key: 'Enter' });
1849
1849
  expect(made).toEqual([['beach', ['trips/beach']]]);
1850
1850
  });
@@ -2138,9 +2138,9 @@ describe('pinned rows', () => {
2138
2138
 
2139
2139
  test('the section takes the consumer’s own word for it', () => {
2140
2140
  // The mechanism is general and the vocabulary is not — the same reason `accessCopy` exists.
2141
- tree({ pinnedIds: ['dinos'], pinnedLabel: 'Favourites' });
2142
- expect(screen.getByRole('tree', { name: 'Favourites' })).toBeDefined();
2143
- expect(screen.getByText('Favourites')).toBeDefined();
2141
+ tree({ pinnedIds: ['dinos'], pinnedLabel: 'Favorites' });
2142
+ expect(screen.getByRole('tree', { name: 'Favorites' })).toBeDefined();
2143
+ expect(screen.getByText('Favorites')).toBeDefined();
2144
2144
  });
2145
2145
 
2146
2146
  test('🔴 a consumer wiring none of it sees byte-for-byte its current tree', () => {
@@ -2159,7 +2159,7 @@ describe('pinned rows', () => {
2159
2159
  selectedId={null}
2160
2160
  onSelect={() => undefined}
2161
2161
  pinnedIds={[]}
2162
- pinnedLabel='Favourites'
2162
+ pinnedLabel='Favorites'
2163
2163
  />,
2164
2164
  );
2165
2165
  expect(withPins.container.innerHTML).toBe(plain.container.innerHTML);