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.
- package/dist/looks.css +4 -4
- package/dist/react/Toast.js +2 -2
- package/dist/react/Toast.js.map +1 -1
- package/dist/react/VirtualCardGrid.d.ts +1 -1
- package/dist/react/VirtualCardGrid.js +1 -1
- package/dist/react/activity-bar/ActivityBar.d.ts +2 -2
- package/dist/react/activity-bar/ActivityBar.js +1 -1
- package/dist/react/activity-bar/activityBar.css +4 -4
- package/dist/react/analytics/AnalyticsPanel.d.ts +1 -1
- package/dist/react/analytics/AnalyticsPanel.js +1 -1
- package/dist/react/canvas-hud/CanvasMinimap.d.ts +1 -1
- package/dist/react/canvas-hud/HudControls.d.ts +2 -2
- package/dist/react/canvas-hud/alignment.d.ts +2 -2
- package/dist/react/canvas-hud/alignment.js +3 -3
- package/dist/react/canvas-hud/alignment.js.map +1 -1
- package/dist/react/canvas-hud/viewport.d.ts +1 -1
- package/dist/react/canvas-hud/viewport.js +1 -1
- package/dist/react/charts/BarChart.d.ts +2 -2
- package/dist/react/charts/HeatmapChart.d.ts +1 -1
- package/dist/react/charts/HeatmapChart.js +1 -1
- package/dist/react/charts/IntervalTimeline.d.ts +2 -2
- package/dist/react/charts/IntervalTimeline.d.ts.map +1 -1
- package/dist/react/charts/categorical.d.ts +11 -11
- package/dist/react/charts/categorical.js +9 -9
- package/dist/react/charts/categorical.js.map +1 -1
- package/dist/react/charts/ink.d.ts +5 -5
- package/dist/react/charts/ink.js +5 -5
- package/dist/react/charts/tokens.d.ts +1 -1
- package/dist/react/charts/tokens.js +1 -1
- package/dist/react/chat/Bubble.js +1 -1
- package/dist/react/chat/Bubble.js.map +1 -1
- package/dist/react/chat/DateMarker.js +1 -1
- package/dist/react/chat/MessageComposer.d.ts +1 -1
- package/dist/react/chat/types.d.ts +1 -1
- package/dist/react/chat/usePresence.d.ts +2 -2
- package/dist/react/chat/usePresence.js +1 -1
- package/dist/react/code-editor/markdownRules.js +1 -1
- package/dist/react/code-editor/markdownRules.js.map +1 -1
- package/dist/react/components/Badge.js +1 -1
- package/dist/react/components/Badge.js.map +1 -1
- package/dist/react/components/Button.js +5 -5
- package/dist/react/components/Button.js.map +1 -1
- package/dist/react/components/ChartTablePanel.js +1 -1
- package/dist/react/components/ChartTablePanel.js.map +1 -1
- package/dist/react/components/Checkbox.js +2 -2
- package/dist/react/components/Checkbox.js.map +1 -1
- package/dist/react/components/ChoiceGroup.d.ts +1 -1
- package/dist/react/components/ChoiceGroup.js +1 -1
- package/dist/react/components/CodeChip.d.ts +1 -1
- package/dist/react/components/CodeChip.js +1 -1
- package/dist/react/components/ColorSwatches.d.ts +10 -10
- package/dist/react/components/ColorSwatches.d.ts.map +1 -1
- package/dist/react/components/ColorSwatches.js +10 -10
- package/dist/react/components/ColorSwatches.js.map +1 -1
- package/dist/react/components/DataTable/DataTable.d.ts +2 -2
- package/dist/react/components/DataTable/DataTable.js +8 -8
- package/dist/react/components/DataTable/DataTable.js.map +1 -1
- package/dist/react/components/DataTable/SearchBox.js +2 -2
- package/dist/react/components/DataTable/SortHeader.js +1 -1
- package/dist/react/components/DataTable/SortHeader.js.map +1 -1
- package/dist/react/components/DataTable/TableFilterBuilder.d.ts +1 -1
- package/dist/react/components/DataTable/TableFilterBuilder.js +1 -1
- package/dist/react/components/DropdownMenu.js +1 -1
- package/dist/react/components/Field.d.ts +1 -1
- package/dist/react/components/FormPreviewLayout.d.ts +1 -1
- package/dist/react/components/FormPreviewLayout.js +1 -1
- package/dist/react/components/Heat.d.ts +6 -6
- package/dist/react/components/Heat.js +1 -1
- package/dist/react/components/IconPicker.d.ts +8 -8
- package/dist/react/components/IconPicker.d.ts.map +1 -1
- package/dist/react/components/IconPicker.js +6 -6
- package/dist/react/components/IconPicker.js.map +1 -1
- package/dist/react/components/InfoHint.d.ts +1 -1
- package/dist/react/components/InfoHint.js +1 -1
- package/dist/react/components/InheritBadge.js +2 -2
- package/dist/react/components/ListToolbar.d.ts +1 -1
- package/dist/react/components/ListToolbar.js +1 -1
- package/dist/react/components/Menu.d.ts +1 -1
- package/dist/react/components/Menu.d.ts.map +1 -1
- package/dist/react/components/Modal.js +5 -5
- package/dist/react/components/Modal.js.map +1 -1
- package/dist/react/components/Page.d.ts +1 -1
- package/dist/react/components/Page.js +1 -1
- package/dist/react/components/PaneSplit.d.ts +1 -1
- package/dist/react/components/PathText.d.ts +1 -1
- package/dist/react/components/PathText.js +1 -1
- package/dist/react/components/Popover.d.ts +1 -1
- package/dist/react/components/PropertyList.d.ts +1 -1
- package/dist/react/components/PropertyList.js +1 -1
- package/dist/react/components/PropertyPicker.d.ts +2 -2
- package/dist/react/components/PropertyPicker.js +2 -2
- package/dist/react/components/RatingField.js +1 -1
- package/dist/react/components/RatingField.js.map +1 -1
- package/dist/react/components/SaveIndicator.d.ts +2 -2
- package/dist/react/components/SaveIndicator.js +2 -2
- package/dist/react/components/SearchInput.d.ts +1 -1
- package/dist/react/components/SearchInput.d.ts.map +1 -1
- package/dist/react/components/SecretInput.d.ts +1 -1
- package/dist/react/components/Section.d.ts +1 -1
- package/dist/react/components/SectionNav.d.ts +3 -3
- package/dist/react/components/SectionNav.d.ts.map +1 -1
- package/dist/react/components/SectionNav.js +2 -2
- package/dist/react/components/Slider.js +1 -1
- package/dist/react/components/StarRating.js +1 -1
- package/dist/react/components/SwatchPicker.d.ts +6 -6
- package/dist/react/components/SwatchPicker.d.ts.map +1 -1
- package/dist/react/components/SwatchPicker.js +3 -3
- package/dist/react/components/SwatchPicker.js.map +1 -1
- package/dist/react/components/Tooltip.js +1 -1
- package/dist/react/components/TreeView.js +1 -1
- package/dist/react/components/TreeView.js.map +1 -1
- package/dist/react/components/TruncatedText.d.ts +1 -1
- package/dist/react/components/TruncatedText.js +1 -1
- package/dist/react/components/UnstyledButton.d.ts +2 -2
- package/dist/react/components/UnstyledButton.js +2 -2
- package/dist/react/components/auth/AuthCard.js +1 -1
- package/dist/react/components/auth/AuthCard.js.map +1 -1
- package/dist/react/components/buildFreshness.css +2 -2
- package/dist/react/components/calendar/MonthGrid.js +2 -2
- package/dist/react/components/calendar/MonthGrid.js.map +1 -1
- package/dist/react/components/calendar/colorUtils.js +2 -2
- package/dist/react/components/dialog.js +1 -1
- package/dist/react/components/fieldErrorText.d.ts +1 -1
- package/dist/react/components/fieldErrorText.js +1 -1
- package/dist/react/components/paneSplit.css +1 -1
- package/dist/react/components/sharing/ShareEditor.d.ts +5 -1
- package/dist/react/components/sharing/ShareEditor.d.ts.map +1 -1
- package/dist/react/components/sharing/ShareEditor.js +2 -2
- package/dist/react/components/sharing/ShareEditor.js.map +1 -1
- package/dist/react/deep-link/links.d.ts +1 -1
- package/dist/react/deep-link/resume.js +1 -1
- package/dist/react/diff-viewer/DiffViewer.css +1 -1
- package/dist/react/file-tree/FileTree.d.ts +9 -9
- package/dist/react/file-tree/FileTree.js +13 -13
- package/dist/react/file-tree/FileTree.js.map +1 -1
- package/dist/react/file-tree/FolderViewMenus.d.ts +3 -3
- package/dist/react/file-tree/FolderViewMenus.d.ts.map +1 -1
- package/dist/react/file-tree/FolderViewMenus.js +1 -1
- package/dist/react/file-tree/FolderViewMenus.js.map +1 -1
- package/dist/react/file-tree/fileTree.css +14 -14
- package/dist/react/file-tree/fileTreeSelection.d.ts +3 -3
- package/dist/react/file-tree/fileTreeSelection.js +4 -4
- package/dist/react/file-tree/folderView.d.ts +3 -3
- package/dist/react/file-tree/folderView.d.ts.map +1 -1
- package/dist/react/file-tree/folderView.js +3 -3
- package/dist/react/file-tree/folderView.js.map +1 -1
- package/dist/react/filter-rail/FilterRail.d.ts +3 -3
- package/dist/react/filter-rail/FilterRail.d.ts.map +1 -1
- package/dist/react/filter-rail/FilterRail.js +1 -1
- package/dist/react/filter-rail/RailSection.d.ts +1 -1
- package/dist/react/filter-rail/railResize.d.ts +1 -1
- package/dist/react/filter-rail/railResize.js +1 -1
- package/dist/react/folder-tree/FolderBreadcrumb.d.ts +1 -1
- package/dist/react/folder-tree/NewFolderControl.js +1 -1
- package/dist/react/hooks/keyboardDnd.d.ts +1 -1
- package/dist/react/hooks/keyboardDnd.d.ts.map +1 -1
- package/dist/react/hooks/keyboardDnd.js +2 -2
- package/dist/react/hooks/keyboardDnd.js.map +1 -1
- package/dist/react/hooks/pointerDnd.d.ts +2 -2
- package/dist/react/hooks/pointerDnd.d.ts.map +1 -1
- package/dist/react/hooks/pointerDnd.js +1 -1
- package/dist/react/hooks/usePointerDrag.d.ts +2 -2
- package/dist/react/icons.d.ts +16 -9
- package/dist/react/icons.d.ts.map +1 -1
- package/dist/react/icons.js +17 -10
- package/dist/react/icons.js.map +1 -1
- package/dist/react/layoutEngine/LayoutRenderer.js +1 -1
- package/dist/react/layoutEngine/LayoutRenderer.js.map +1 -1
- package/dist/react/lib/cn.d.ts +3 -3
- package/dist/react/lib/cn.js +4 -4
- package/dist/react/lib/field.d.ts +1 -1
- package/dist/react/lib/floatingContainer.d.ts +1 -1
- package/dist/react/lib/floatingContainer.js +1 -1
- package/dist/react/lib/floatingStyles.d.ts +1 -1
- package/dist/react/lib/floatingStyles.js +2 -2
- package/dist/react/lib/floatingStyles.js.map +1 -1
- package/dist/react/lib/hoverIntent.d.ts +6 -6
- package/dist/react/lib/hoverIntent.js +6 -6
- package/dist/react/lib/infoHint.d.ts +1 -1
- package/dist/react/lib/infoHint.js +1 -1
- package/dist/react/lib/overlayMotion.d.ts +1 -1
- package/dist/react/lib/overlayMotion.d.ts.map +1 -1
- package/dist/react/lib/overlayMotion.js +1 -1
- package/dist/react/lib/overlayMotion.js.map +1 -1
- package/dist/react/lib/press.d.ts +1 -1
- package/dist/react/lib/press.js +1 -1
- package/dist/react/lib/selectField.d.ts +2 -2
- package/dist/react/lib/selectField.d.ts.map +1 -1
- package/dist/react/lib/selectField.js +2 -2
- package/dist/react/lib/selectField.js.map +1 -1
- package/dist/react/look/AppearanceMenu.d.ts +1 -1
- package/dist/react/look/AppearanceMenu.js +1 -1
- package/dist/react/look/LookPicker.d.ts +3 -3
- package/dist/react/look/LookPicker.js +3 -3
- package/dist/react/look/lookStore.d.ts +1 -1
- package/dist/react/look/lookStore.js +4 -4
- package/dist/react/look/lookStore.js.map +1 -1
- package/dist/react/master-lock/MasterLockDialog.js +2 -2
- package/dist/react/master-lock/MasterLockDialog.js.map +1 -1
- package/dist/react/master-lock/MasterLockProvider.d.ts +1 -1
- package/dist/react/media/DenseGalleryShell.d.ts +3 -3
- package/dist/react/media/FocusViewer.js +3 -3
- package/dist/react/media/FocusViewer.js.map +1 -1
- package/dist/react/media/FrameGrabber.js +3 -3
- package/dist/react/media/FrameGrabber.js.map +1 -1
- package/dist/react/media/HoverScrubVideoThumb.d.ts +1 -1
- package/dist/react/media/HoverScrubVideoThumb.js +1 -1
- package/dist/react/media/HoverScrubVideoThumb.js.map +1 -1
- package/dist/react/media/MediaCell.d.ts +1 -1
- package/dist/react/media/MediaCell.js +1 -1
- package/dist/react/media/MediaResize.d.ts +1 -1
- package/dist/react/media/MediaThumb.d.ts +1 -1
- package/dist/react/media/PictureControls.d.ts +1 -1
- package/dist/react/media/PictureControls.js +2 -2
- package/dist/react/media/PictureControls.js.map +1 -1
- package/dist/react/media/PictureEditor.js +2 -2
- package/dist/react/media/PictureEditor.js.map +1 -1
- package/dist/react/media/PlayerStrip.d.ts +4 -4
- package/dist/react/media/PlayerStrip.d.ts.map +1 -1
- package/dist/react/media/PlayerStrip.js +2 -2
- package/dist/react/media/VideoPlayer.d.ts +3 -3
- package/dist/react/media/VideoPlayer.js +5 -5
- package/dist/react/media/VideoTurner.js +1 -1
- package/dist/react/media/VideoTurner.js.map +1 -1
- package/dist/react/media/VirtualizedRows.d.ts +1 -1
- package/dist/react/media/denseGallery.css +7 -7
- package/dist/react/media/focusViewer.css +2 -2
- package/dist/react/media/gifEncode.d.ts +4 -4
- package/dist/react/media/gifEncode.d.ts.map +1 -1
- package/dist/react/media/gifEncode.js +8 -8
- package/dist/react/media/gifEncode.js.map +1 -1
- package/dist/react/media/gifRecord.js +1 -1
- package/dist/react/media/gifRecord.js.map +1 -1
- package/dist/react/media/hlsSource.js +2 -2
- package/dist/react/media/hlsSource.js.map +1 -1
- package/dist/react/media/mediaResize.css +3 -3
- package/dist/react/media/pictureEdit.d.ts +1 -1
- package/dist/react/media/pictureEdit.js +4 -4
- package/dist/react/media/pictureEdit.js.map +1 -1
- package/dist/react/media/pictureEditor.css +6 -6
- package/dist/react/media/playerSpaceKey.js +3 -3
- package/dist/react/media/playerStrip.css +11 -11
- package/dist/react/media/posterFraming.d.ts +2 -2
- package/dist/react/media/posterFraming.d.ts.map +1 -1
- package/dist/react/media/posterFraming.js +4 -4
- package/dist/react/media/posterFraming.js.map +1 -1
- package/dist/react/media/sourceFault.d.ts +2 -2
- package/dist/react/media/sourceFault.js +1 -1
- package/dist/react/media/stageResize.d.ts +1 -1
- package/dist/react/media/stageResize.js +1 -1
- package/dist/react/media/surfaceGesture.d.ts +1 -1
- package/dist/react/media/surfaceGesture.js +1 -1
- package/dist/react/media/types.d.ts +1 -1
- package/dist/react/media/videoChapterEditor.css +1 -1
- package/dist/react/media/videoChapters.d.ts +1 -1
- package/dist/react/media/videoChapters.js +1 -1
- package/dist/react/media/videoCutEditor.css +2 -2
- package/dist/react/media/videoEnhance.d.ts +2 -2
- package/dist/react/media/videoEnhance.js +2 -2
- package/dist/react/media/videoPoster.d.ts +3 -3
- package/dist/react/media/videoPoster.d.ts.map +1 -1
- package/dist/react/media/videoPoster.js +4 -4
- package/dist/react/media/videoPoster.js.map +1 -1
- package/dist/react/media/videoRegion.d.ts +8 -8
- package/dist/react/media/videoRegion.js +8 -8
- package/dist/react/media-gallery/MediaGallery.d.ts +2 -2
- package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
- package/dist/react/media-gallery/MediaGallery.js +17 -17
- package/dist/react/media-gallery/MediaGallery.js.map +1 -1
- package/dist/react/media-gallery/MediaMetaEditor.js +1 -1
- package/dist/react/media-gallery/galleryDeepLink.d.ts +1 -1
- package/dist/react/media-gallery/galleryDeepLink.js +2 -2
- package/dist/react/media-gallery/galleryItemMedia.d.ts +1 -1
- package/dist/react/media-gallery/galleryItemMedia.js +1 -1
- package/dist/react/media-gallery/galleryReturn.d.ts +1 -1
- package/dist/react/media-gallery/galleryReturn.js +2 -2
- package/dist/react/media-gallery/mediaGallery.css +10 -10
- package/dist/react/media-gallery/mediaGalleryModel.d.ts +1 -1
- package/dist/react/media-gallery/mediaGalleryModel.js +1 -1
- package/dist/react/media-gallery/playbackPreferences.d.ts +3 -3
- package/dist/react/media-gallery/playbackPreferences.js +2 -2
- package/dist/react/media-gallery/playbackRun.d.ts +1 -1
- package/dist/react/media-gallery/playbackRun.js +1 -1
- package/dist/react/media-gallery/preferenceSync.js +1 -1
- package/dist/react/namespace/NamespaceTargetCapsule.d.ts +1 -1
- package/dist/react/nav/BreadcrumbTrail.d.ts +1 -1
- package/dist/react/nav/BreadcrumbTrail.js +1 -1
- package/dist/react/nav/Breadcrumbs.d.ts +1 -1
- package/dist/react/nav/Breadcrumbs.js +1 -1
- package/dist/react/nav/HeaderSearch.d.ts +3 -3
- package/dist/react/nav/HeaderSearch.d.ts.map +1 -1
- package/dist/react/nav/HeaderSearch.js +2 -2
- package/dist/react/nav/PlaceBar.d.ts +1 -1
- package/dist/react/nav/PlaceBar.js +2 -2
- package/dist/react/nav/SearchResults.d.ts +2 -2
- package/dist/react/nav/SearchResults.d.ts.map +1 -1
- package/dist/react/nav/SearchResults.js +1 -1
- package/dist/react/nav/TopBar.js +1 -1
- package/dist/react/nav/breadcrumbStore.js +1 -1
- package/dist/react/nav/navShared.d.ts +1 -1
- package/dist/react/palette/CommandPalette.js +1 -1
- package/dist/react/palette/CommandPalette.js.map +1 -1
- package/dist/react/pdf-viewer/PdfPage.js +1 -1
- package/dist/react/pdf-viewer/PdfPage.js.map +1 -1
- package/dist/react/spreadsheet/SpreadsheetGrid.d.ts +1 -1
- package/dist/react/spreadsheet/useGlideTheme.js +2 -2
- package/dist/react/workbook-viewer/WorkbookViewer.js +1 -1
- package/dist/react/workbook-viewer/WorkbookViewer.js.map +1 -1
- package/dist/styles-areas/notifications.css +1 -1
- package/dist/styles-static.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing/designAudit.d.ts +2 -2
- package/dist/testing/designAudit.js +3 -3
- package/dist/testing/designAudit.js.map +1 -1
- package/dist/testing/phoneRules.d.ts +4 -4
- package/dist/testing/phoneRules.js +4 -4
- package/dist/testing/phoneRules.js.map +1 -1
- package/dist/theme.css +10 -10
- package/package.json +1 -1
- package/scripts/attributesForwarded.ts +1 -1
- package/scripts/checkAreaStyles.ts +2 -2
- package/scripts/cssRules.ts +2 -2
- package/scripts/demoCoverage.ts +1 -1
- package/scripts/demoServer.ts +1 -1
- package/scripts/generateStaticStyles.ts +1 -1
- package/scripts/guardrailsEnforce.spec.ts +14 -14
- package/scripts/guardrailsEnforce.ts +25 -25
- package/scripts/paths.ts +1 -1
- package/scripts/styleAreas.ts +2 -2
- package/scripts/testTmpRoot.ts +1 -1
- package/src/buildIsStaged.spec.ts +1 -1
- package/src/iframesMakeNoRealRequest.spec.ts +1 -1
- package/src/looks.css +4 -4
- package/src/looks.spec.ts +3 -3
- package/src/namedSubpathsResolve.spec.ts +2 -2
- package/src/publishShape.spec.ts +1 -1
- package/src/react/Toast.spec.tsx +1 -1
- package/src/react/Toast.tsx +2 -2
- package/src/react/VirtualCardGrid.spec.tsx +1 -1
- package/src/react/VirtualCardGrid.tsx +3 -3
- package/src/react/activity-bar/ActivityBar.spec.tsx +2 -2
- package/src/react/activity-bar/ActivityBar.tsx +4 -4
- package/src/react/activity-bar/activityBar.css +4 -4
- package/src/react/analytics/AnalyticsPanel.tsx +1 -1
- package/src/react/canvas-hud/CanvasMinimap.tsx +1 -1
- package/src/react/canvas-hud/HudControls.spec.tsx +1 -1
- package/src/react/canvas-hud/HudControls.tsx +2 -2
- package/src/react/canvas-hud/alignment.spec.tsx +4 -4
- package/src/react/canvas-hud/alignment.ts +3 -3
- package/src/react/canvas-hud/viewport.spec.ts +1 -1
- package/src/react/canvas-hud/viewport.ts +1 -1
- package/src/react/charts/BarChart.tsx +2 -2
- package/src/react/charts/HeatmapChart.spec.ts +1 -1
- package/src/react/charts/HeatmapChart.tsx +1 -1
- package/src/react/charts/IntervalTimeline.color.spec.tsx +6 -6
- package/src/react/charts/IntervalTimeline.tsx +2 -2
- package/src/react/charts/Treemap.tsx +1 -1
- package/src/react/charts/accentCollision.spec.ts +1 -1
- package/src/react/charts/categorical.spec.ts +3 -3
- package/src/react/charts/categorical.ts +12 -12
- package/src/react/charts/ink.spec.ts +1 -1
- package/src/react/charts/ink.ts +5 -5
- package/src/react/charts/tokens.ts +1 -1
- package/src/react/chat/Bubble.tsx +1 -1
- package/src/react/chat/DateMarker.tsx +2 -2
- package/src/react/chat/MessageComposer.tsx +1 -1
- package/src/react/chat/PresenceRoster.tsx +2 -2
- package/src/react/chat/types.ts +1 -1
- package/src/react/chat/usePresence.ts +2 -2
- package/src/react/code-editor/markdownRules.ts +1 -1
- package/src/react/components/AvatarStack.spec.tsx +2 -2
- package/src/react/components/AvatarStack.tsx +2 -2
- package/src/react/components/Badge.capsule.spec.ts +6 -6
- package/src/react/components/Badge.tsx +1 -1
- package/src/react/components/Button.spec.tsx +1 -1
- package/src/react/components/Button.tsx +5 -5
- package/src/react/components/ChartTablePanel.tsx +1 -1
- package/src/react/components/Checkbox.spec.tsx +2 -2
- package/src/react/components/Checkbox.tsx +2 -2
- package/src/react/components/ChoiceGroup.tsx +1 -1
- package/src/react/components/CodeChip.spec.tsx +1 -1
- package/src/react/components/CodeChip.tsx +1 -1
- package/src/react/components/ColorSwatches.spec.tsx +9 -9
- package/src/react/components/ColorSwatches.tsx +16 -16
- package/src/react/components/CommentThread.tsx +1 -1
- package/src/react/components/ConnectionHealer.tsx +1 -1
- package/src/react/components/DataTable/DataTable.spec.tsx +2 -2
- package/src/react/components/DataTable/DataTable.tsx +10 -10
- package/src/react/components/DataTable/SearchBox.tsx +2 -2
- package/src/react/components/DataTable/SortHeader.tsx +1 -1
- package/src/react/components/DataTable/TableFilterBuilder.tsx +1 -1
- package/src/react/components/DataTable/selection.spec.tsx +1 -1
- package/src/react/components/DataTable/virtualize.spec.tsx +1 -1
- package/src/react/components/DropdownMenu.tsx +1 -1
- package/src/react/components/Field.tsx +1 -1
- package/src/react/components/FormPreviewLayout.tsx +1 -1
- package/src/react/components/Heat.spec.tsx +1 -1
- package/src/react/components/Heat.tsx +6 -6
- package/src/react/components/IconPicker.spec.tsx +1 -1
- package/src/react/components/IconPicker.tsx +9 -9
- package/src/react/components/InfoHint.spec.tsx +2 -2
- package/src/react/components/InfoHint.tsx +1 -1
- package/src/react/components/InheritBadge.tsx +2 -2
- package/src/react/components/IsolatedFrame.tsx +1 -1
- package/src/react/components/ListToolbar.tsx +1 -1
- package/src/react/components/Menu.tsx +1 -1
- package/src/react/components/Modal.tsx +5 -5
- package/src/react/components/Page.spec.tsx +1 -1
- package/src/react/components/Page.tsx +2 -2
- package/src/react/components/PaneSplit.tsx +1 -1
- package/src/react/components/PathText.tsx +1 -1
- package/src/react/components/PointerDrag.spec.tsx +1 -1
- package/src/react/components/Popover.spec.tsx +2 -2
- package/src/react/components/Popover.tsx +1 -1
- package/src/react/components/PropertyList.tsx +1 -1
- package/src/react/components/PropertyPicker.tsx +2 -2
- package/src/react/components/RatingField.tsx +1 -1
- package/src/react/components/SaveIndicator.tsx +2 -2
- package/src/react/components/SearchInput.tsx +1 -1
- package/src/react/components/SecretInput.tsx +1 -1
- package/src/react/components/Section.tsx +1 -1
- package/src/react/components/SectionNav.spec.tsx +3 -3
- package/src/react/components/SectionNav.tsx +3 -3
- package/src/react/components/SelectField.spec.tsx +1 -1
- package/src/react/components/Slider.tsx +1 -1
- package/src/react/components/StarRating.spec.tsx +4 -4
- package/src/react/components/StarRating.tsx +3 -3
- package/src/react/components/SwatchPicker.spec.tsx +4 -4
- package/src/react/components/SwatchPicker.tsx +9 -9
- package/src/react/components/Tooltip.spec.tsx +3 -3
- package/src/react/components/Tooltip.tsx +1 -1
- package/src/react/components/TreeView.tsx +1 -1
- package/src/react/components/TruncatedText.tsx +1 -1
- package/src/react/components/UnstyledButton.tsx +2 -2
- package/src/react/components/auth/AuthCard.tsx +1 -1
- package/src/react/components/buildFreshness.css +2 -2
- package/src/react/components/calendar/EventChip.spec.tsx +2 -2
- package/src/react/components/calendar/MonthGrid.tsx +2 -2
- package/src/react/components/calendar/colorUtils.ts +2 -2
- package/src/react/components/dialog.tsx +1 -1
- package/src/react/components/fieldErrorText.tsx +1 -1
- package/src/react/components/paneSplit.css +1 -1
- package/src/react/components/sharing/ShareEditor.spec.tsx +15 -0
- package/src/react/components/sharing/ShareEditor.tsx +14 -3
- package/src/react/deep-link/links.spec.ts +1 -1
- package/src/react/deep-link/links.ts +1 -1
- package/src/react/deep-link/resume.spec.tsx +1 -1
- package/src/react/deep-link/resume.ts +1 -1
- package/src/react/diff-viewer/DiffViewer.css +1 -1
- package/src/react/file-tree/FileTree.spec.tsx +13 -13
- package/src/react/file-tree/FileTree.tsx +22 -22
- package/src/react/file-tree/FolderViewMenus.tsx +3 -3
- package/src/react/file-tree/FolderViewPanels.tsx +1 -1
- package/src/react/file-tree/fileTree.css +14 -14
- package/src/react/file-tree/fileTreeGeometry.spec.ts +5 -5
- package/src/react/file-tree/fileTreeSelection.ts +4 -4
- package/src/react/file-tree/folderView.spec.ts +1 -1
- package/src/react/file-tree/folderView.ts +3 -3
- package/src/react/filter-rail/FilterRail.spec.tsx +1 -1
- package/src/react/filter-rail/FilterRail.tsx +4 -4
- package/src/react/filter-rail/RailSection.spec.tsx +2 -2
- package/src/react/filter-rail/RailSection.tsx +1 -1
- package/src/react/filter-rail/railResize.tsx +1 -1
- package/src/react/folder-tree/FolderBreadcrumb.tsx +1 -1
- package/src/react/folder-tree/NewFolderControl.tsx +1 -1
- package/src/react/hooks/keyboardDnd.spec.tsx +1 -1
- package/src/react/hooks/keyboardDnd.tsx +2 -2
- package/src/react/hooks/pointerDnd.spec.ts +3 -3
- package/src/react/hooks/pointerDnd.ts +2 -2
- package/src/react/hooks/useOutsidePress.spec.tsx +1 -1
- package/src/react/hooks/usePointerDrag.ts +2 -2
- package/src/react/icons.tsx +18 -11
- package/src/react/keep-awake/keepAwakeEngine.spec.ts +1 -1
- package/src/react/layoutEngine/LayoutConfigDialog.tsx +1 -1
- package/src/react/layoutEngine/LayoutRenderer.tsx +1 -1
- package/src/react/layoutEngine/gridClasses.spec.ts +3 -3
- package/src/react/lib/cn.spec.ts +1 -1
- package/src/react/lib/cn.ts +4 -4
- package/src/react/lib/directUpload.spec.ts +1 -1
- package/src/react/lib/field.ts +1 -1
- package/src/react/lib/floatingContainer.ts +1 -1
- package/src/react/lib/floatingStyles.spec.ts +1 -1
- package/src/react/lib/floatingStyles.ts +2 -2
- package/src/react/lib/hoverIntent.ts +6 -6
- package/src/react/lib/infoHint.ts +1 -1
- package/src/react/lib/overlayMotion.ts +1 -1
- package/src/react/lib/press.ts +1 -1
- package/src/react/lib/selectField.ts +2 -2
- package/src/react/lib/zodResolver.ts +1 -1
- package/src/react/look/AppearanceMenu.tsx +1 -1
- package/src/react/look/LookPicker.tsx +3 -3
- package/src/react/look/lookStore.ts +4 -4
- package/src/react/markdown/MarkdownDoc.spec.tsx +1 -1
- package/src/react/master-detail/MasterDetail.tsx +1 -1
- package/src/react/master-lock/MasterLockDialog.tsx +2 -2
- package/src/react/master-lock/MasterLockProvider.spec.tsx +1 -1
- package/src/react/master-lock/MasterLockProvider.tsx +1 -1
- package/src/react/media/DenseGalleryShell.tsx +3 -3
- package/src/react/media/FocusViewer.tsx +3 -3
- package/src/react/media/FrameGrabber.spec.tsx +2 -2
- package/src/react/media/FrameGrabber.tsx +3 -3
- package/src/react/media/HoverScrubVideoThumb.tsx +3 -3
- package/src/react/media/MediaCell.tsx +1 -1
- package/src/react/media/MediaResize.spec.tsx +4 -4
- package/src/react/media/MediaResize.tsx +1 -1
- package/src/react/media/MediaThumb.tsx +1 -1
- package/src/react/media/PictureControls.tsx +2 -2
- package/src/react/media/PictureEditor.tsx +2 -2
- package/src/react/media/PlayerStrip.tsx +9 -9
- package/src/react/media/VideoChapterEditor.tsx +1 -1
- package/src/react/media/VideoCutEditor.spec.tsx +1 -1
- package/src/react/media/VideoCutEditor.tsx +1 -1
- package/src/react/media/VideoPlayer.spec.tsx +7 -7
- package/src/react/media/VideoPlayer.tsx +6 -6
- package/src/react/media/VideoTurner.tsx +1 -1
- package/src/react/media/VirtualizedRows.tsx +1 -1
- package/src/react/media/denseGallery.css +7 -7
- package/src/react/media/focusViewer.css +2 -2
- package/src/react/media/focusViewer.css.spec.ts +1 -1
- package/src/react/media/gifEncode.spec.ts +2 -2
- package/src/react/media/gifEncode.ts +9 -9
- package/src/react/media/gifRecord.ts +1 -1
- package/src/react/media/hlsSource.recovery.spec.ts +2 -2
- package/src/react/media/hlsSource.spec.ts +1 -1
- package/src/react/media/hlsSource.ts +2 -2
- package/src/react/media/mediaResize.css +3 -3
- package/src/react/media/pictureEdit.spec.ts +5 -5
- package/src/react/media/pictureEdit.ts +4 -4
- package/src/react/media/pictureEditor.css +6 -6
- package/src/react/media/playerSpaceKey.ts +3 -3
- package/src/react/media/playerStrip.css +11 -11
- package/src/react/media/playerStrip.spec.tsx +17 -13
- package/src/react/media/posterFraming.spec.ts +4 -4
- package/src/react/media/posterFraming.ts +5 -5
- package/src/react/media/sourceFault.tsx +2 -2
- package/src/react/media/stageResize.ts +1 -1
- package/src/react/media/surfaceGesture.ts +1 -1
- package/src/react/media/types.ts +1 -1
- package/src/react/media/videoChapterEditor.css +1 -1
- package/src/react/media/videoChapters.spec.ts +1 -1
- package/src/react/media/videoChapters.ts +1 -1
- package/src/react/media/videoCutEditor.css +2 -2
- package/src/react/media/videoEnhance.spec.ts +1 -1
- package/src/react/media/videoEnhance.ts +2 -2
- package/src/react/media/videoPoster.spec.ts +3 -3
- package/src/react/media/videoPoster.ts +5 -5
- package/src/react/media/videoRegion.spec.ts +7 -7
- package/src/react/media/videoRegion.ts +8 -8
- package/src/react/media-gallery/GalleryTable.tsx +1 -1
- package/src/react/media-gallery/MediaGallery.spec.tsx +11 -11
- package/src/react/media-gallery/MediaGallery.tsx +23 -23
- package/src/react/media-gallery/MediaMetaEditor.tsx +1 -1
- package/src/react/media-gallery/galleryDeepLink.ts +2 -2
- package/src/react/media-gallery/galleryItemMedia.spec.tsx +1 -1
- package/src/react/media-gallery/galleryItemMedia.tsx +1 -1
- package/src/react/media-gallery/galleryReturn.ts +2 -2
- package/src/react/media-gallery/mediaGallery.css +10 -10
- package/src/react/media-gallery/mediaGalleryModel.ts +1 -1
- package/src/react/media-gallery/playbackPreferences.ts +3 -3
- package/src/react/media-gallery/playbackRun.spec.ts +1 -1
- package/src/react/media-gallery/playbackRun.ts +1 -1
- package/src/react/media-gallery/preferenceSync.ts +1 -1
- package/src/react/namespace/NamespaceTargetCapsule.tsx +1 -1
- package/src/react/nav/BreadcrumbTrail.tsx +1 -1
- package/src/react/nav/Breadcrumbs.tsx +1 -1
- package/src/react/nav/HeaderSearch.tsx +3 -3
- package/src/react/nav/PlaceBar.spec.tsx +4 -4
- package/src/react/nav/PlaceBar.tsx +4 -4
- package/src/react/nav/SearchResults.tsx +2 -2
- package/src/react/nav/TopBar.spec.tsx +1 -1
- package/src/react/nav/TopBar.tsx +1 -1
- package/src/react/nav/breadcrumbStore.ts +1 -1
- package/src/react/nav/breadcrumbSystem.spec.tsx +1 -1
- package/src/react/nav/navShared.tsx +1 -1
- package/src/react/palette/CommandPalette.spec.tsx +1 -1
- package/src/react/palette/CommandPalette.tsx +1 -1
- package/src/react/pdf-viewer/PdfPage.tsx +1 -1
- package/src/react/spreadsheet/SpreadsheetGrid.tsx +1 -1
- package/src/react/spreadsheet/useGlideTheme.ts +2 -2
- package/src/react/workbook-viewer/WorkbookViewer.tsx +1 -1
- package/src/shippedFilesAreTracked.spec.ts +2 -2
- package/src/styles-areas/notifications.css +1 -1
- package/src/styles-static.css +1 -1
- package/src/styles.css +1 -1
- package/src/stylesAreas.spec.ts +1 -1
- package/src/stylesStaticMatches.spec.ts +2 -2
- package/src/stylesUtilitiesMatches.spec.ts +4 -4
- package/src/testing/designAudit.ts +4 -4
- package/src/testing/phoneRules.spec.ts +1 -1
- package/src/testing/phoneRules.ts +7 -7
- package/src/theme.css +10 -10
- package/src/themeColorsResolve.spec.ts +5 -5
- package/src/themeDarkScopeAliases.spec.ts +1 -1
- package/src/verifyGraph.spec.ts +1 -1
|
@@ -17,7 +17,7 @@ function formatMarkerDate(date, now = new Date()) {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* The LOCAL calendar day as `YYYY-MM-DD` — the same day the label names. `toISOString()` is the
|
|
20
|
-
* UTC day, so a message at 19:00 in Chicago was
|
|
20
|
+
* UTC day, so a message at 19:00 in Chicago was labeled "Wednesday, July 1" and stamped
|
|
21
21
|
* `2026-07-02` (forge task 2591).
|
|
22
22
|
*/
|
|
23
23
|
function localDayKey(date) {
|
|
@@ -8,7 +8,7 @@ export interface MessageComposerProps {
|
|
|
8
8
|
/** Show the file attachment button. Default false. */
|
|
9
9
|
allowAttachments?: boolean;
|
|
10
10
|
/** A reply is still streaming in — swaps the Send button for a Stop button
|
|
11
|
-
* (always clickable, even while `disabled` —
|
|
11
|
+
* (always clickable, even while `disabled` — canceling must work exactly
|
|
12
12
|
* when the composer would otherwise be locked waiting on that reply). */
|
|
13
13
|
isGenerating?: boolean;
|
|
14
14
|
/** Called when the Stop button is clicked. Required when `isGenerating` is used. */
|
|
@@ -15,7 +15,7 @@ export interface ChatAttachment {
|
|
|
15
15
|
mimeType?: string;
|
|
16
16
|
/** Bytes — used to render a human-readable size. */
|
|
17
17
|
sizeBytes?: number;
|
|
18
|
-
/** The referenced file no longer exists in the host's
|
|
18
|
+
/** The referenced file no longer exists in the host's catalog — the chip renders a
|
|
19
19
|
* "file deleted" placeholder instead of a broken image/link. */
|
|
20
20
|
deleted?: boolean;
|
|
21
21
|
}
|
|
@@ -8,7 +8,7 @@ import type { PresenceUser } from './types.js';
|
|
|
8
8
|
* `presence: true`, whose `getPresence(channel)` is one `{ userId, connectedAt }` row per live
|
|
9
9
|
* client) and nothing in between — so the roster sat exported with zero consumers, and the one
|
|
10
10
|
* app that shows presence (`apps/family`, `src/live.ts`) hand-rolled its own socket. This is that
|
|
11
|
-
* socket,
|
|
11
|
+
* socket, generalized: open `/ws/<channel>`, take every `presence` snapshot the channel
|
|
12
12
|
* broadcasts, and reconnect with a capped backoff when the socket drops.
|
|
13
13
|
*
|
|
14
14
|
* The server side a channel needs is one line in its lifecycle hooks:
|
|
@@ -68,7 +68,7 @@ export interface PresenceSubscription {
|
|
|
68
68
|
export declare const PRESENCE_RETRY_MS: readonly [500, 1000, 2000, 5000, 10000, 30000];
|
|
69
69
|
/**
|
|
70
70
|
* Collapse a snapshot to one {@link PresenceUser} per user, earliest arrival first, without
|
|
71
|
-
* `selfId`. Pure — the hook's whole
|
|
71
|
+
* `selfId`. Pure — the hook's whole judgment, exported so it is tested without a socket.
|
|
72
72
|
*/
|
|
73
73
|
export declare function presenceUsers(rows: readonly PresenceEntryLike[], selfId?: string | null, resolveUser?: UsePresenceOptions['resolveUser']): PresenceUser[];
|
|
74
74
|
export declare function usePresence(options: UsePresenceOptions): PresenceSubscription;
|
|
@@ -4,7 +4,7 @@ import { useEffect, useMemo, useRef, useState } from 'react';
|
|
|
4
4
|
export const PRESENCE_RETRY_MS = [500, 1_000, 2_000, 5_000, 10_000, 30_000];
|
|
5
5
|
/**
|
|
6
6
|
* Collapse a snapshot to one {@link PresenceUser} per user, earliest arrival first, without
|
|
7
|
-
* `selfId`. Pure — the hook's whole
|
|
7
|
+
* `selfId`. Pure — the hook's whole judgment, exported so it is tested without a socket.
|
|
8
8
|
*/
|
|
9
9
|
export function presenceUsers(rows, selfId, resolveUser) {
|
|
10
10
|
const byUser = new Map();
|
|
@@ -46,7 +46,7 @@ const rulePlugin = ViewPlugin.fromClass(class {
|
|
|
46
46
|
}
|
|
47
47
|
}, { decorations: (plugin) => plugin.decorations });
|
|
48
48
|
const ruleTheme = EditorView.baseTheme({
|
|
49
|
-
// The rule is the line's background,
|
|
49
|
+
// The rule is the line's background, centered, the width of the text column; the dashes stay
|
|
50
50
|
// in the document (and under the caret's click), just not painted.
|
|
51
51
|
'.cb-md-rule': {
|
|
52
52
|
backgroundImage: 'linear-gradient(var(--border), var(--border))',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownRules.js","sourceRoot":"","sources":["../../../src/react/code-editor/markdownRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAsB,UAAU,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAE3G;;;;;;GAMG;AACH,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AAEtD,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,MAA+C;IAC3F,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC;YACX,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3F,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,MAAM,KAAK,GAAwB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CACrC;IACE,WAAW,CAAgB;IAC3B,YAAY,IAAgB;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,MAAkB;QACvB,IACE,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,eAAe;YACtB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YAE1D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,EACD,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAChD,CAAC;AAEF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"markdownRules.js","sourceRoot":"","sources":["../../../src/react/code-editor/markdownRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAsB,UAAU,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAE3G;;;;;;GAMG;AACH,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;AAEtD,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,KAAkB,EAAE,MAA+C;IAC3F,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC;YACX,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;gBACd,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3F,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,IAAgB;IAC7B,MAAM,KAAK,GAAwB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzG,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CACrC;IACE,WAAW,CAAgB;IAC3B,YAAY,IAAgB;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,MAAkB;QACvB,IACE,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,YAAY;YACnB,MAAM,CAAC,eAAe;YACtB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YAE1D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,EACD,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAChD,CAAC;AAEF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACrC,6FAA6F;IAC7F,mEAAmE;IACnE,aAAa,EAAE;QACb,eAAe,EAAE,+CAA+C;QAChE,cAAc,EAAE,UAAU;QAC1B,kBAAkB,EAAE,QAAQ;QAC5B,gBAAgB,EAAE,WAAW;QAC7B,gBAAgB,EAAE,aAAa;QAC/B,cAAc,EAAE,aAAa;KAC9B;IACD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,wBAAwB;KAChC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -60,7 +60,7 @@ export const BADGE_TONE = {
|
|
|
60
60
|
slate: 'bg-tone-slate-bg text-tone-slate-fg border border-tone-slate-fg/30',
|
|
61
61
|
// Four more, 2026-08-20 (unit 15) — see theme.css. Eight hues is enough while a tone
|
|
62
62
|
// means a badge and not enough when the hue is an identity CHANNEL (arcade's Crowns
|
|
63
|
-
// tells ten regions apart by
|
|
63
|
+
// tells ten regions apart by color alone).
|
|
64
64
|
lime: 'bg-tone-lime-bg text-tone-lime-fg',
|
|
65
65
|
teal: 'bg-tone-teal-bg text-tone-teal-fg',
|
|
66
66
|
violet: 'bg-tone-violet-bg text-tone-violet-fg',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/react/components/Badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,4HAA4H;AAC5H,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,2EAA2E;IAC3E,8FAA8F;IAC9F,yFAAyF;IACzF,6FAA6F;IAC7F,gFAAgF;IAChF,OAAO,EAAE,4DAA4D;IACrE,OAAO,EAAE,4DAA4D,EAAE,mBAAmB;IAC1F,OAAO,EAAE,4BAA4B;IACrC,MAAM,EAAE,iCAAiC,EAAE,oEAAoE;IAC/G,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,OAAO,EAAE,4DAA4D;IACrE,OAAO,EAAE,4DAA4D;IACrE,KAAK,EAAE,wEAAwE;IAC/E,WAAW,EAAE,wEAAwE,EAAE,iBAAiB;IACxG,gFAAgF;IAChF,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,mDAAmD;IACnD,OAAO,EAAE,sDAAsD;IAC/D,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,qDAAqD;IACrD,OAAO,EAAE,yCAAyC;IAClD,0FAA0F;IAC1F,uFAAuF;IACvF,oFAAoF;IACpF,GAAG,EAAE,8DAA8D;IACnE,IAAI,EAAE,mCAAmC;IACzC,KAAK,EAAE,qCAAqC;IAC5C,MAAM,EAAE,uCAAuC;IAC/C,IAAI,EAAE,mCAAmC;IACzC,MAAM,EAAE,uCAAuC;IAC/C,KAAK,EAAE,oEAAoE;IAC3E,qFAAqF;IACrF,oFAAoF;IACpF,
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/react/components/Badge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ import { PRESS } from '../lib/press.js';
|
|
|
25
25
|
export const buttonVariants = cva([
|
|
26
26
|
'relative inline-flex items-center justify-center gap-2 rounded-md font-medium',
|
|
27
27
|
// 🔴 TACTILE (forge task family-app-ux-overhaul, 2026-10-06): a press is answered — eased
|
|
28
|
-
//
|
|
28
|
+
// colors and a `--press-scale` dip while held. The contract and who is exempt: `lib/press.ts`.
|
|
29
29
|
PRESS,
|
|
30
30
|
TAP_TARGET_HEIGHT, // ≥44px touch target on coarse pointers
|
|
31
31
|
'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background',
|
|
@@ -35,7 +35,7 @@ export const buttonVariants = cva([
|
|
|
35
35
|
// it has to be hoverable and focusable to deliver the reason it exists to give.
|
|
36
36
|
'aria-disabled:cursor-not-allowed aria-disabled:opacity-50',
|
|
37
37
|
// A toggle that is ON (`aria-pressed`) reads as selected in every variant — the
|
|
38
|
-
// accent border and text over a faint accent wash, never
|
|
38
|
+
// accent border and text over a faint accent wash, never color alone (the border).
|
|
39
39
|
'aria-pressed:border aria-pressed:border-accent aria-pressed:bg-accent/10 aria-pressed:text-accent',
|
|
40
40
|
'[&_svg]:size-4 [&_svg]:shrink-0',
|
|
41
41
|
], {
|
|
@@ -56,7 +56,7 @@ export const buttonVariants = cva([
|
|
|
56
56
|
// an emergency stop). ≤1 per view, like primary.
|
|
57
57
|
// success-solid — its green twin, for the "go" half of a state toggle whose
|
|
58
58
|
// "stop" half is destructive-solid (a runner's Resume beside its
|
|
59
|
-
// Pause): the
|
|
59
|
+
// Pause): the color says what the press DOES. Not a second primary.
|
|
60
60
|
variant: {
|
|
61
61
|
primary: 'bg-accent-solid text-white hover:bg-accent-solid-hover focus-visible:ring-accent-solid',
|
|
62
62
|
// Neutral FILLED outline (card bg + hairline + raised shadow), not a bare
|
|
@@ -68,7 +68,7 @@ export const buttonVariants = cva([
|
|
|
68
68
|
// `border-border-strong bg-card`: the card's own ground inside a full-strength 3:1
|
|
69
69
|
// outline, so a toolbar of them was a row of bright boxes ("stark block borders", the
|
|
70
70
|
// judge's words when desk lost to Linear on 2026-10-05, task 2822). The fill carries the
|
|
71
|
-
// presence now and the edge is the quiet `--border`; a
|
|
71
|
+
// presence now and the edge is the quiet `--border`; a labeled button is identified by
|
|
72
72
|
// its label and fill, so the 3:1 non-text floor that FIELD borders hold does not apply.
|
|
73
73
|
secondary: 'border border-border bg-muted text-foreground shadow-raised hover:bg-border focus-visible:ring-accent',
|
|
74
74
|
tertiary: 'text-foreground hover:bg-muted focus-visible:ring-accent',
|
|
@@ -128,7 +128,7 @@ export const buttonVariants = cva([
|
|
|
128
128
|
* 🔴 sonner is loaded when a toast is about to be SHOWN, never at import.
|
|
129
129
|
*
|
|
130
130
|
* `Button` is on every app's entry chunk, and a static `import { toast } from 'sonner'` here put
|
|
131
|
-
* the whole of sonner there with it — and, because Rollup
|
|
131
|
+
* the whole of sonner there with it — and, because Rollup colors a module into the chunk of its
|
|
132
132
|
* static importers, every app that mounted `Toaster` anywhere (even lazily) paid for the stack on
|
|
133
133
|
* first paint too. Measured in family, 2026-10-06 (forge task 2900): 36 kB minified of sonner on
|
|
134
134
|
* the entry, 15.5 kB of it the `Toaster` a lazy mount could not move. A toast follows an async
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/react/components/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAML,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,OAAO,EAA6C,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B;IACE,+EAA+E;IAC/E,0FAA0F;IAC1F
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/react/components/Button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -69,7 +69,7 @@ export function ChartTablePanel({ title, icon, status, actions, chart, data, col
|
|
|
69
69
|
{ value: 'chart', label: 'Chart' },
|
|
70
70
|
{ value: 'table', label: 'Table' },
|
|
71
71
|
] })] }) }), current === 'chart' ? (
|
|
72
|
-
// The chart side
|
|
72
|
+
// The chart side honors `loading` and `emptyState` as the table side does: it drew the
|
|
73
73
|
// caller's chart over no rows — bare axes — while the Table tab said "loading" (forge
|
|
74
74
|
// task 2593).
|
|
75
75
|
loading ? (_jsx(SkeletonChart, {})) : data.length === 0 ? (typeof emptyState === 'string' || emptyState == null ? (_jsx(EmptyState, { compact: true, title: emptyState ?? 'Nothing to chart yet' })) : (emptyState)) : (chart)) : (_jsx(DataTable, { data: data, columns: columns, ...(getRowId ? { getRowId } : {}), ...(onRowClick ? { onRowClick } : {}), ...(caption ?? titleText ? { caption: caption ?? titleText } : {}), ...(pageSize ? { pageSize } : {}), ...(hidePagination ? { hidePagination } : {}), ...(stickyHeader ? { stickyHeader } : {}), ...(loading ? { loading } : {}), ...(emptyState ? { emptyState } : {}) }))] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartTablePanel.js","sourceRoot":"","sources":["../../../src/react/components/ChartTablePanel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChartTablePanel.js","sourceRoot":"","sources":["../../../src/react/components/ChartTablePanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,13 +19,13 @@ import { TAP_TARGET } from '../lib/tapTarget.js';
|
|
|
19
19
|
const BOX = cn('peer size-4 shrink-0 rounded-sm border border-border-strong bg-surface transition-colors', 'data-[state=checked]:border-accent-solid data-[state=checked]:bg-accent-solid data-[state=checked]:text-white', 'data-[state=indeterminate]:border-accent-solid data-[state=indeterminate]:bg-accent-solid data-[state=indeterminate]:text-white', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background', 'disabled:cursor-not-allowed disabled:opacity-50');
|
|
20
20
|
// The tap target: the whole label, box and caption and the gap between them.
|
|
21
21
|
//
|
|
22
|
-
// Clicking a `<label>` toggles the control it labels — native browser
|
|
22
|
+
// Clicking a `<label>` toggles the control it labels — native browser behavior,
|
|
23
23
|
// not something this component implements — so the 44px floor belongs on the
|
|
24
24
|
// region a thumb is actually aiming at, which is the words as much as the box.
|
|
25
25
|
// `data-cb-tap-target` is the seam `e2e/touch-targets.spec.ts` measures a
|
|
26
26
|
// sub-44px control through, the way a checkbox has to be measured.
|
|
27
27
|
const TARGET = cn('inline-flex shrink-0 cursor-pointer items-center gap-2 align-middle', TAP_TARGET);
|
|
28
|
-
// A bare box
|
|
28
|
+
// A bare box centers itself in its 44px square. A captioned one starts at the left edge and is
|
|
29
29
|
// only as wide as its caption: `justify-center` on a stretched label (any column parent) set a
|
|
30
30
|
// short caption adrift in the middle of the row, off the edge every other control shares (FRM-2).
|
|
31
31
|
const BARE = 'justify-center';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/react/components/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiD,KAAK,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmBjD,mFAAmF;AACnF,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,kFAAkF;AAClF,iFAAiF;AACjF,mEAAmE;AACnE,EAAE;AACF,kFAAkF;AAClF,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,GAAG,GAAG,EAAE,CACZ,0FAA0F,EAC1F,+GAA+G,EAC/G,iIAAiI,EACjI,0IAA0I,EAC1I,iDAAiD,CAClD,CAAC;AAEF,6EAA6E;AAC7E,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/react/components/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiD,KAAK,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmBjD,mFAAmF;AACnF,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,kFAAkF;AAClF,iFAAiF;AACjF,mEAAmE;AACnE,EAAE;AACF,kFAAkF;AAClF,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,GAAG,GAAG,EAAE,CACZ,0FAA0F,EAC1F,+GAA+G,EAC/G,iIAAiI,EACjI,0IAA0I,EAC1I,iDAAiD,CAClD,CAAC;AAEF,6EAA6E;AAC7E,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,mEAAmE;AACnE,MAAM,MAAM,GAAG,EAAE,CAAC,qEAAqE,EAAE,UAAU,CAAC,CAAC;AAErG,+FAA+F;AAC/F,+FAA+F;AAC/F,kGAAkG;AAClG,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAC9B,MAAM,SAAS,GAAG,oCAAoC,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,cAAc,EACd,EAAE,EAAE,MAAM,EACV,GAAG,KAAK,EACM;IACd,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC;IAC7B,OAAO,CAKL,iBAAO,OAAO,EAAE,EAAE,wBAAqB,EAAE,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,aAC/F,KAAC,aAAa,CAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,KAAM,KAAK,YAClE,KAAC,aAAa,CAAC,SAAS,IAAC,SAAS,EAAC,+CAA+C,YAC/E,KAAK,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CACnC,KAAC,KAAK,IAAC,SAAS,EAAC,UAAU,GAAG,CAC/B,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,SAAS,EAAC,UAAU,GAAG,CAC/B,GACuB,GACP,EACpB,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,eAAM,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,cAAc,CAAC,YAAG,KAAK,GAAQ,CAC/E,IACK,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -52,7 +52,7 @@ export interface ChoiceGroupProps<T extends string = string> {
|
|
|
52
52
|
* When to use which:
|
|
53
53
|
* - a short view/mode switch on one line → `SegmentedControl`
|
|
54
54
|
* - a long or data-driven list → `SelectField` / `ChoiceMenu`
|
|
55
|
-
* - a
|
|
55
|
+
* - a color → `SwatchPicker`
|
|
56
56
|
* - one picture out of several (a cover, an avatar) → THIS, `layout='picture'`
|
|
57
57
|
* - a handful of answers that each need words → THIS
|
|
58
58
|
*
|
|
@@ -12,7 +12,7 @@ import { Tooltip } from './Tooltip.js';
|
|
|
12
12
|
* When to use which:
|
|
13
13
|
* - a short view/mode switch on one line → `SegmentedControl`
|
|
14
14
|
* - a long or data-driven list → `SelectField` / `ChoiceMenu`
|
|
15
|
-
* - a
|
|
15
|
+
* - a color → `SwatchPicker`
|
|
16
16
|
* - one picture out of several (a cover, an avatar) → THIS, `layout='picture'`
|
|
17
17
|
* - a handful of answers that each need words → THIS
|
|
18
18
|
*
|
|
@@ -18,7 +18,7 @@ export interface CodeChipProps extends Omit<HTMLAttributes<HTMLElement>, 'childr
|
|
|
18
18
|
*
|
|
19
19
|
* cursedbelt had three near-relatives and none of them was this clause:
|
|
20
20
|
* {@link PathText} middle-truncates a path onto ONE line (it renders as a chip
|
|
21
|
-
* now, but it is still a path renderer), {@link FileLocation} is a whole
|
|
21
|
+
* now, but it is still a path renderer), {@link FileLocation} is a whole labeled
|
|
22
22
|
* row, and `data-table`'s `CodeCell` is a table cell. What every app improvised
|
|
23
23
|
* instead was `<code className="bg-muted px-1">`, spelled slightly differently in
|
|
24
24
|
* each one — station, vault, tools, admin and orch all have a version.
|
|
@@ -11,7 +11,7 @@ import { CopyButton } from './CopyButton.js';
|
|
|
11
11
|
*
|
|
12
12
|
* cursedbelt had three near-relatives and none of them was this clause:
|
|
13
13
|
* {@link PathText} middle-truncates a path onto ONE line (it renders as a chip
|
|
14
|
-
* now, but it is still a path renderer), {@link FileLocation} is a whole
|
|
14
|
+
* now, but it is still a path renderer), {@link FileLocation} is a whole labeled
|
|
15
15
|
* row, and `data-table`'s `CodeCell` is a table cell. What every app improvised
|
|
16
16
|
* instead was `<code className="bg-muted px-1">`, spelled slightly differently in
|
|
17
17
|
* each one — station, vault, tools, admin and orch all have a version.
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
export interface ColorSwatchesProps {
|
|
2
|
-
/** The preset dots, in order. Any CSS
|
|
2
|
+
/** The preset dots, in order. Any CSS color; a 6-digit hex is what the custom well can open on. */
|
|
3
3
|
presets: readonly string[];
|
|
4
|
-
/** The current
|
|
4
|
+
/** The current color — one of the presets, or any other color picked through the well. */
|
|
5
5
|
value: string | undefined;
|
|
6
6
|
onChange: (color: string) => void;
|
|
7
|
-
/** Offer a last dot for any
|
|
7
|
+
/** Offer a last dot for any color (the browser's own color well). Default `true`. */
|
|
8
8
|
custom?: boolean;
|
|
9
|
-
/** The custom dot's accessible name. Default "Any
|
|
9
|
+
/** The custom dot's accessible name. Default "Any color". */
|
|
10
10
|
customLabel?: string;
|
|
11
11
|
/** Dot diameter, as `SwatchPicker`'s: `sm` 1.5rem, `md` (default) 1.75rem, `lg` 2.25rem. */
|
|
12
12
|
size?: 'sm' | 'md' | 'lg';
|
|
13
|
-
/** Accessible name for the preset group (default "
|
|
13
|
+
/** Accessible name for the preset group (default "Color"). */
|
|
14
14
|
'aria-label'?: string;
|
|
15
15
|
className?: string;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* `ColorSwatches` — an accent picker drawn as ONE row of dots: the presets, then a last dot for
|
|
19
|
-
* any
|
|
20
|
-
* roving tabindex, arrow keys move the choice); the last dot is the browser's
|
|
21
|
-
* invisibly over a dot painted with the theme's categorical ramp, and becomes that
|
|
22
|
-
* ringed as the current one — once a
|
|
19
|
+
* any color. The preset dots are a {@link SwatchPicker} radiogroup (Radix: radio semantics,
|
|
20
|
+
* roving tabindex, arrow keys move the choice); the last dot is the browser's color well, laid
|
|
21
|
+
* invisibly over a dot painted with the theme's categorical ramp, and becomes that color —
|
|
22
|
+
* ringed as the current one — once a color outside the presets is picked.
|
|
23
23
|
*
|
|
24
24
|
* desk drew this twice by hand (its component and list template pages, forge task 2829): a row
|
|
25
25
|
* of raw buttons, one of them with a raw `<input type="color">` behind an opt-out and the other
|
|
26
|
-
* with no custom
|
|
26
|
+
* with no custom color at all. `ColorField` is a full-width hex field; this is the compact
|
|
27
27
|
* "pick an accent for this thing" control, and the next app that wants one takes it from here.
|
|
28
28
|
*
|
|
29
29
|
* Matching is case-insensitive, and what the well reports is lower-case hex, so a stored
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorSwatches.d.ts","sourceRoot":"","sources":["../../../src/react/components/ColorSwatches.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"ColorSwatches.d.ts","sourceRoot":"","sources":["../../../src/react/components/ColorSwatches.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,mGAAmG;IACnG,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,0FAA0F;IAC1F,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAa,EACb,WAAyB,EACzB,IAAW,EACX,YAAY,EAAE,SAAmB,EACjC,SAAS,EACT,GAAG,IAAI,EACR,EAAE,kBAAkB,+BA+CpB"}
|
|
@@ -5,29 +5,29 @@ import { TAP_TARGET_SQUARE } from '../lib/tapTarget.js';
|
|
|
5
5
|
import { SwatchPicker } from './SwatchPicker.js';
|
|
6
6
|
const SIZE = { sm: 'size-6', md: 'size-7', lg: 'size-9' };
|
|
7
7
|
const HEX6 = /^#[0-9a-f]{6}$/i;
|
|
8
|
-
/** The any-
|
|
8
|
+
/** The any-color dot before a custom color is picked: the theme's categorical ramp, round the dial. */
|
|
9
9
|
const RAMP = 'conic-gradient(var(--chart-1), var(--chart-2), var(--chart-3), var(--chart-4), var(--chart-5), var(--chart-6), var(--chart-7), var(--chart-8), var(--chart-1))';
|
|
10
10
|
/**
|
|
11
11
|
* `ColorSwatches` — an accent picker drawn as ONE row of dots: the presets, then a last dot for
|
|
12
|
-
* any
|
|
13
|
-
* roving tabindex, arrow keys move the choice); the last dot is the browser's
|
|
14
|
-
* invisibly over a dot painted with the theme's categorical ramp, and becomes that
|
|
15
|
-
* ringed as the current one — once a
|
|
12
|
+
* any color. The preset dots are a {@link SwatchPicker} radiogroup (Radix: radio semantics,
|
|
13
|
+
* roving tabindex, arrow keys move the choice); the last dot is the browser's color well, laid
|
|
14
|
+
* invisibly over a dot painted with the theme's categorical ramp, and becomes that color —
|
|
15
|
+
* ringed as the current one — once a color outside the presets is picked.
|
|
16
16
|
*
|
|
17
17
|
* desk drew this twice by hand (its component and list template pages, forge task 2829): a row
|
|
18
18
|
* of raw buttons, one of them with a raw `<input type="color">` behind an opt-out and the other
|
|
19
|
-
* with no custom
|
|
19
|
+
* with no custom color at all. `ColorField` is a full-width hex field; this is the compact
|
|
20
20
|
* "pick an accent for this thing" control, and the next app that wants one takes it from here.
|
|
21
21
|
*
|
|
22
22
|
* Matching is case-insensitive, and what the well reports is lower-case hex, so a stored
|
|
23
23
|
* `#2563EB` still lights its preset.
|
|
24
24
|
*/
|
|
25
|
-
export function ColorSwatches({ presets, value, onChange, custom = true, customLabel = 'Any
|
|
25
|
+
export function ColorSwatches({ presets, value, onChange, custom = true, customLabel = 'Any color', size = 'md', 'aria-label': ariaLabel = 'Color', className, ...rest }) {
|
|
26
26
|
const current = value?.toLowerCase();
|
|
27
27
|
const isPreset = current !== undefined && presets.some((color) => color.toLowerCase() === current);
|
|
28
28
|
const isCustom = current !== undefined && current !== '' && !isPreset;
|
|
29
|
-
// The well opens on the current
|
|
30
|
-
// in step here, because a controlled
|
|
29
|
+
// The well opens on the current color when it is one it can show. It is uncontrolled and kept
|
|
30
|
+
// in step here, because a controlled color input needs a hex for "nothing chosen" and there is
|
|
31
31
|
// no honest one to write.
|
|
32
32
|
const wellHex = current !== undefined && HEX6.test(current) ? current : undefined;
|
|
33
33
|
const well = useRef(null);
|
|
@@ -36,7 +36,7 @@ export function ColorSwatches({ presets, value, onChange, custom = true, customL
|
|
|
36
36
|
well.current.value = wellHex;
|
|
37
37
|
}, [wellHex]);
|
|
38
38
|
return (_jsxs("div", { ...rest, "data-slot": 'color-swatches', className: cn('flex flex-wrap items-center gap-1.5', className), children: [_jsx(SwatchPicker, { "aria-label": ariaLabel, size: size, options: presets.map((color) => ({ value: color.toLowerCase(), color, label: color })), value: isPreset ? current : undefined, onChange: onChange }), custom ? (_jsx("label", { "data-slot": 'color-swatches-custom', "data-state": isCustom ? 'checked' : 'unchecked', style: { '--cb-swatch-fill': isCustom ? value : RAMP }, className: cn('relative inline-flex flex-none cursor-pointer rounded-full [background:var(--cb-swatch-fill,var(--muted))] border border-border/40 transition-transform', SIZE[size], TAP_TARGET_SQUARE, 'hover:scale-110 focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-1', 'data-[state=checked]:ring-2 data-[state=checked]:ring-foreground data-[state=checked]:ring-offset-1'), children: _jsx("input", {
|
|
39
|
-
// guardrails-ignore no-raw-inputs: task 2829 — the browser's own
|
|
39
|
+
// guardrails-ignore no-raw-inputs: task 2829 — the browser's own color well, laid invisibly over the last dot; a hex field is ColorField's job, not a dot's
|
|
40
40
|
type: 'color', ref: well, "aria-label": customLabel, defaultValue: wellHex, onChange: (event) => onChange(event.target.value.toLowerCase()), className: 'absolute inset-0 m-0 size-full cursor-pointer appearance-none border-0 p-0 opacity-0' }) })) : null] }));
|
|
41
41
|
}
|
|
42
42
|
//# sourceMappingURL=ColorSwatches.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorSwatches.js","sourceRoot":"","sources":["../../../src/react/components/ColorSwatches.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAsB,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAmBjD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAW,CAAC;AACnE,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAC/B,
|
|
1
|
+
{"version":3,"file":"ColorSwatches.js","sourceRoot":"","sources":["../../../src/react/components/ColorSwatches.tsx"],"names":[],"mappings":"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"}
|
|
@@ -453,7 +453,7 @@ export interface DataTableProps<TRow extends Record<string, unknown>> {
|
|
|
453
453
|
* date created."* Clicking a column already in the stack cycles it
|
|
454
454
|
* ascending → descending → out, without disturbing the others.
|
|
455
455
|
*
|
|
456
|
-
* Default `true`. `false` restores the old one-key-at-a-time
|
|
456
|
+
* Default `true`. `false` restores the old one-key-at-a-time behavior.
|
|
457
457
|
*/
|
|
458
458
|
multiSort?: boolean;
|
|
459
459
|
/**
|
|
@@ -621,7 +621,7 @@ hasActions?: boolean | number): number;
|
|
|
621
621
|
* What one header click does to the sort STACK.
|
|
622
622
|
*
|
|
623
623
|
* 🔴 The new key goes to the FRONT, and that is the whole feature. The owner
|
|
624
|
-
* described the
|
|
624
|
+
* described the behavior by its result — *"I sort by date created, then sort by
|
|
625
625
|
* artist and I get a list ordered by artist with their tracks still sorted by
|
|
626
626
|
* date created"* — which is a stack in click order where the LATEST click is the
|
|
627
627
|
* primary key and everything clicked before it survives as a tie-breaker.
|
|
@@ -167,7 +167,7 @@ hasActions = false) {
|
|
|
167
167
|
* What one header click does to the sort STACK.
|
|
168
168
|
*
|
|
169
169
|
* 🔴 The new key goes to the FRONT, and that is the whole feature. The owner
|
|
170
|
-
* described the
|
|
170
|
+
* described the behavior by its result — *"I sort by date created, then sort by
|
|
171
171
|
* artist and I get a list ordered by artist with their tracks still sorted by
|
|
172
172
|
* date created"* — which is a stack in click order where the LATEST click is the
|
|
173
173
|
* primary key and everything clicked before it survives as a tie-breaker.
|
|
@@ -198,7 +198,7 @@ export function nextSortStack(current, id, multi, options = {}) {
|
|
|
198
198
|
return multi ? current.filter((sort) => sort.id !== id) : [];
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
201
|
-
* Read a `ColDef.key` off a row,
|
|
201
|
+
* Read a `ColDef.key` off a row, honoring the dot-notation `ColDef` documents.
|
|
202
202
|
* TanStack's own `accessorKey` does this for the cells; the filter builder runs
|
|
203
203
|
* BEFORE TanStack (see `filteredData`) and so needs the same reading, or a
|
|
204
204
|
* nested column would filter on `undefined` and match nothing.
|
|
@@ -227,13 +227,13 @@ function readPath(row, key) {
|
|
|
227
227
|
* too, so a collapsed cell reads as nothing, not as a value nobody can see.)
|
|
228
228
|
*
|
|
229
229
|
* 🔴 `invisible` too: `[&>*]` reaches child ELEMENTS only, and a `render` that returns a bare
|
|
230
|
-
* string is a text node — it overflowed the zero-wide cell and printed across its
|
|
230
|
+
* string is a text node — it overflowed the zero-wide cell and printed across its neighbor at
|
|
231
231
|
* phone width (desk's folder list, forge task 2762). Hidden visibility hides the text and takes
|
|
232
232
|
* it out of the accessibility tree, without touching the column's box.
|
|
233
233
|
*
|
|
234
234
|
* 🔴 And a font size of zero: hidden text still LAYS OUT, and a table's auto layout hands each
|
|
235
235
|
* column a share of the spare width by its content's width — so a collapsed column whose cells
|
|
236
|
-
* are bare strings ("3m 16s") stood 45px wide and blank between its
|
|
236
|
+
* are bare strings ("3m 16s") stood 45px wide and blank between its neighbors (station's Insights
|
|
237
237
|
* kinds table at 1440, forge task 2975). Text at size zero has no width, and the column is 0px.
|
|
238
238
|
*/
|
|
239
239
|
const HIDE_BELOW_CLASS = {
|
|
@@ -523,12 +523,12 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
|
|
|
523
523
|
columns: tsColumns,
|
|
524
524
|
getRowId: resolvedGetRowId,
|
|
525
525
|
state: { sorting, columnFilters, globalFilter: search, columnVisibility, pagination },
|
|
526
|
-
// Through `applySorting`, like every other write — so a controlled `sorting` is
|
|
526
|
+
// Through `applySorting`, like every other write — so a controlled `sorting` is honored
|
|
527
527
|
// whether TanStack or a header asked for the change.
|
|
528
528
|
onSortingChange: (updater) => applySorting((prev) => (typeof updater === 'function' ? updater(prev) : updater)),
|
|
529
529
|
onColumnFiltersChange: chainUpdaterResettingPage(setColumnFilters, setPagination, onColumnFiltersChange),
|
|
530
530
|
// TanStack hands the updater whatever `state.globalFilter` is, which is now
|
|
531
|
-
// a TableSearchState; the toolbar sets TEXT, so
|
|
531
|
+
// a TableSearchState; the toolbar sets TEXT, so normalize both shapes.
|
|
532
532
|
onGlobalFilterChange: (updater) => {
|
|
533
533
|
const next = typeof updater === 'function' ? updater(search) : updater;
|
|
534
534
|
const text = typeof next === 'string' ? next : (next?.text ?? '');
|
|
@@ -540,7 +540,7 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
|
|
|
540
540
|
// `String(new Date())` / `String(['rock','80s'])` are not the text the
|
|
541
541
|
// reader can see in the cell — a date column answered nothing at all for a
|
|
542
542
|
// typed year, which is the owner's own *"'199' in the date created"* case.
|
|
543
|
-
// `filterableText` is the SAME
|
|
543
|
+
// `filterableText` is the SAME normalization the filter builder uses, so a
|
|
544
544
|
// search and a `contains` condition on one column agree by construction
|
|
545
545
|
// rather than by two implementations happening to match.
|
|
546
546
|
globalFilterFn: (row, columnId, value) => {
|
|
@@ -554,7 +554,7 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
|
|
|
554
554
|
return filterableText(row.getValue(columnId)).toLowerCase().includes(text.toLowerCase());
|
|
555
555
|
},
|
|
556
556
|
// A server window is server-ordered and server-filtered by construction: a WINDOW
|
|
557
|
-
// re-sorted locally would put row 4,000's
|
|
557
|
+
// re-sorted locally would put row 4,000's neighbors next to row 12's.
|
|
558
558
|
manualSorting: serverSide || !!serverWindow,
|
|
559
559
|
manualFiltering: serverSide || !!serverWindow,
|
|
560
560
|
manualPagination: serverSide,
|