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
|
@@ -30,7 +30,7 @@ export interface TruncatedTextProps {
|
|
|
30
30
|
* ── Why this exists ─────────────────────────────────────────────────────────
|
|
31
31
|
* `<span className='truncate' title={value}>` is the fleet's most-repeated line
|
|
32
32
|
* and it is a `DESIGN.md` §4 violation everywhere it appears: the native `title`
|
|
33
|
-
* is drawn by the OS after 1–2 seconds, in its own
|
|
33
|
+
* is drawn by the OS after 1–2 seconds, in its own gray box, in the wrong theme,
|
|
34
34
|
* and it does not exist at all on the owner's phone. It is also the exact defect
|
|
35
35
|
* the owner reported against family ("title should show on hover faster") — the
|
|
36
36
|
* delay is the operating system's, so no amount of CSS or JS can tune it. The
|
|
@@ -8,7 +8,7 @@ import { Tooltip } from './Tooltip.js';
|
|
|
8
8
|
* ── Why this exists ─────────────────────────────────────────────────────────
|
|
9
9
|
* `<span className='truncate' title={value}>` is the fleet's most-repeated line
|
|
10
10
|
* and it is a `DESIGN.md` §4 violation everywhere it appears: the native `title`
|
|
11
|
-
* is drawn by the OS after 1–2 seconds, in its own
|
|
11
|
+
* is drawn by the OS after 1–2 seconds, in its own gray box, in the wrong theme,
|
|
12
12
|
* and it does not exist at all on the owner's phone. It is also the exact defect
|
|
13
13
|
* the owner reported against family ("title should show on hover faster") — the
|
|
14
14
|
* delay is the operating system's, so no amount of CSS or JS can tune it. The
|
|
@@ -14,11 +14,11 @@ export interface UnstyledButtonProps extends ButtonHTMLAttributes<HTMLButtonElem
|
|
|
14
14
|
ref?: Ref<HTMLButtonElement>;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* A `<button>` that brings none of the belt's look and all of its
|
|
17
|
+
* A `<button>` that brings none of the belt's look and all of its behavior.
|
|
18
18
|
*
|
|
19
19
|
* Mantine's name for the same thing. For a control whose look is the caller's own — a tab
|
|
20
20
|
* in a deck, a pin in a sidebar, a breadcrumb step — that still has to explain itself and
|
|
21
|
-
* still has to refuse a press it cannot
|
|
21
|
+
* still has to refuse a press it cannot honor. {@link Button} with `asChild` would restyle
|
|
22
22
|
* the child with the button's variants; this adds no class at all, so `className` is the
|
|
23
23
|
* whole of its look.
|
|
24
24
|
*
|
|
@@ -2,11 +2,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Tooltip } from './Tooltip.js';
|
|
3
3
|
import { RAW_BUTTON } from '../lib/cn.js';
|
|
4
4
|
/**
|
|
5
|
-
* A `<button>` that brings none of the belt's look and all of its
|
|
5
|
+
* A `<button>` that brings none of the belt's look and all of its behavior.
|
|
6
6
|
*
|
|
7
7
|
* Mantine's name for the same thing. For a control whose look is the caller's own — a tab
|
|
8
8
|
* in a deck, a pin in a sidebar, a breadcrumb step — that still has to explain itself and
|
|
9
|
-
* still has to refuse a press it cannot
|
|
9
|
+
* still has to refuse a press it cannot honor. {@link Button} with `asChild` would restyle
|
|
10
10
|
* the child with the button's variants; this adds no class at all, so `className` is the
|
|
11
11
|
* whole of its look.
|
|
12
12
|
*
|
|
@@ -12,7 +12,7 @@ import { Surface } from '../Surface.js';
|
|
|
12
12
|
*/
|
|
13
13
|
export function AuthCard({ title, subtitle, logo, footer, fullScreen = true, aurora = false, children, className, ...rest }) {
|
|
14
14
|
return (_jsxs("div", { ...rest, className: cn('flex w-full flex-col items-center justify-center gap-6 p-4',
|
|
15
|
-
// The page
|
|
15
|
+
// The page color belongs to the full-screen page only. Embedded, the card sits on its
|
|
16
16
|
// host's surface — painting `bg-background` there drew a slab around it, a box on a box
|
|
17
17
|
// inside the host's panel (forge task 2466).
|
|
18
18
|
aurora ? 'dark cb-aurora cb-auth-aurora' : fullScreen && 'bg-background', fullScreen && 'min-h-dvh', className), children: [aurora ? _jsx(AmbientBackdrop, { position: 'absolute' }) : null, _jsxs("div", { className: 'flex w-full max-w-sm flex-col gap-6', children: [(logo != null || title != null || subtitle != null) && (_jsxs("div", { className: 'flex flex-col items-center gap-2 text-center', children: [logo != null ? _jsx("div", { className: 'mb-1', children: logo }) : null, title != null ? (_jsx("h1", { className: cn('text-2xl font-semibold text-foreground', aurora && 'cb-gradient-text'), children: title })) : null, subtitle != null ? _jsx("p", { className: 'text-sm text-muted-foreground', children: subtitle }) : null] })), _jsx(Surface, { level: aurora ? 'glass' : 'raised', pad: 'lg', radius: 'xl', className: 'w-full', children: children }), footer != null ? (_jsx("div", { className: 'text-center text-sm text-muted-foreground', children: footer })) : null] })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthCard.js","sourceRoot":"","sources":["../../../../src/react/components/auth/AuthCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAkCxC;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,KAAK,EACd,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACO;IACd,OAAO,CACL,kBACM,IAAI,EACR,SAAS,EAAE,EAAE,CACX,4DAA4D;QAC5D,
|
|
1
|
+
{"version":3,"file":"AuthCard.js","sourceRoot":"","sources":["../../../../src/react/components/auth/AuthCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAkCxC;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,KAAK,EACd,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACO;IACd,OAAO,CACL,kBACM,IAAI,EACR,SAAS,EAAE,EAAE,CACX,4DAA4D;QAC5D,sFAAsF;QACtF,wFAAwF;QACxF,6CAA6C;QAC7C,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,UAAU,IAAI,eAAe,EACxE,UAAU,IAAI,WAAW,EACzB,SAAS,CACV,aAIA,MAAM,CAAC,CAAC,CAAC,KAAC,eAAe,IAAC,QAAQ,EAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAExD,eAAK,SAAS,EAAC,qCAAqC,aACjD,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,CACtD,eAAK,SAAS,EAAC,8CAA8C,aAC1D,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,MAAM,YAAE,IAAI,GAAO,CAAC,CAAC,CAAC,IAAI,EACxD,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CACf,aACE,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,MAAM,IAAI,kBAAkB,CAC7B,YAEA,KAAK,GACH,CACN,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,+BAA+B,YAAE,QAAQ,GAAK,CAAC,CAAC,CAAC,IAAI,IAClF,CACP,EAED,KAAC,OAAO,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,YACjF,QAAQ,GACD,EAET,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAChB,cAAK,SAAS,EAAC,2CAA2C,YAAE,MAAM,GAAO,CAC1E,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
|
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
|
|
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;
|
|
@@ -38,8 +38,8 @@ export function MonthGrid({ monthDate, weekStart = 'sunday', renderDay, onSelect
|
|
|
38
38
|
: ctx.inMonth
|
|
39
39
|
? 'text-foreground'
|
|
40
40
|
: // 🔴 Muted AND faded. `text-muted-foreground` alone was the same
|
|
41
|
-
// weight and very nearly the same
|
|
42
|
-
// "July 26–31 use the exact same bold font size and dark
|
|
41
|
+
// weight and very nearly the same color as the current month, so
|
|
42
|
+
// "July 26–31 use the exact same bold font size and dark coloring
|
|
43
43
|
// as August" was a fair reading of the screen. Faded to 85%, not 50%:
|
|
44
44
|
// half-strength muted text scored 2.32:1 (FND-9, forge task 2628);
|
|
45
45
|
// at 85% it clears 4.5:1 (80% was 4.48:1) and still reads a step below the month.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonthGrid.js","sourceRoot":"","sources":["../../../../src/react/components/calendar/MonthGrid.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA6CxC;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,SAAS,EACT,SAAS,GAAG,QAAQ,EACpB,SAAS,EACT,WAAW,EACX,eAAe,EACf,eAAe,GAAG,OAAO,EACzB,aAAa,EACb,SAAS,EACT,GAAG,IAAI,EACQ;IACf,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvC,OAAO,CACL,KAAC,OAAO,OAAK,IAAI,EAAE,OAAO,QAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,YAClH,iCACa,gBAAgB,aAG3B,cACE,SAAS,EAAC,gFAAgF,iBAC9E,MAAM,YAEjB,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACxC,cAEE,SAAS,EAAC,2GAA2G,YAEpH,KAAK,IAHD,KAAK,CAIN,CACP,CAAC,GACE,EAGN,cAAK,SAAS,EAAC,0CAA0C,YACtD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAClB,MAAM,GAAG,GAAiB;4BACxB,MAAM,EAAE,IAAI,CAAC,GAAG;4BAChB,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACnC,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,KAAK;yBAC5B,CAAC;wBAEF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;wBAEtC,OAAO,CAIL,eAEE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAC7D,SAAS,EAAE,EAAE;4BACX,sEAAsE;4BACtE,wEAAwE;4BACxE,wEAAwE;4BACxE,2EAA2E;4BAC3E,mHAAmH,EACnH,aAAa,EACb,SAAS,IAAI,kCAAkC;4BAC/C,yEAAyE;4BACzE,qEAAqE;4BACrE,CAAC,GAAG,CAAC,OAAO,IAAI,aAAa,CAC9B,aAED,eAAK,SAAS,EAAC,0CAA0C,aACvD,eACE,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,GAAG,CAAC,OAAO;gDACT,CAAC,CAAC,8CAA8C;gDAChD,CAAC,CAAC,GAAG,CAAC,OAAO;oDACX,CAAC,CAAC,iBAAiB;oDACnB,CAAC,CAAC,iEAAiE;wDACjE,kEAAkE;wDAClE,
|
|
1
|
+
{"version":3,"file":"MonthGrid.js","sourceRoot":"","sources":["../../../../src/react/components/calendar/MonthGrid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -46,11 +46,11 @@ const FALLBACK = COLOR_MAP.slate;
|
|
|
46
46
|
// ─── Hex detection + contrast ─────────────────────────────────────────────────
|
|
47
47
|
export const isHexColor = (color) => !!color && /^#[0-9a-f]{6}$/i.test(color);
|
|
48
48
|
/**
|
|
49
|
-
* A custom
|
|
49
|
+
* A custom color drawn the way the named ones are: a soft tint of the hue with ink of the same hue
|
|
50
50
|
* pulled toward the theme's foreground — so it reads in light AND dark, and sits beside the
|
|
51
51
|
* `bg-sky-100 text-sky-800` chips as a peer. Until forge task 2591 a hex was a SOLID fill with
|
|
52
52
|
* white or black text, the loudest mark on the grid whatever it meant (Google Calendar and Linear
|
|
53
|
-
* both tint a custom
|
|
53
|
+
* both tint a custom color rather than fill with it).
|
|
54
54
|
*/
|
|
55
55
|
const hexChip = (hex) => ({
|
|
56
56
|
backgroundColor: `color-mix(in srgb, ${hex} 18%, transparent)`,
|
|
@@ -65,7 +65,7 @@ export const DialogContent = forwardRef(({ className, overlayClassName, children
|
|
|
65
65
|
/*
|
|
66
66
|
🔴 Where the dialog mounts is the app's, exactly as for a Popover or a DropdownMenu. An app
|
|
67
67
|
whose tokens live on its own root (desk keeps every variable on `.cs-root`) got a dialog in
|
|
68
|
-
`document.body` drawn with no
|
|
68
|
+
`document.body` drawn with no colors at all, and a full-screen element hid it outright.
|
|
69
69
|
*/
|
|
70
70
|
const container = useFloatingContainer();
|
|
71
71
|
return (_jsxs(DialogPortal, { container: container, children: [_jsx(DialogOverlay, { className: overlayClassName }), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('z-50 outline-none', className), onPointerDownOutside: (event) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
/**
|
|
3
|
-
* The inline error row a {@link Field} draws under its control — icon,
|
|
3
|
+
* The inline error row a {@link Field} draws under its control — icon, color and size in one
|
|
4
4
|
* place. Internal: a control that cannot sit in a `Field` (SignupForm's terms checkbox, whose
|
|
5
5
|
* label is the checkbox's own) draws this, so its error reads like every other one (forge task
|
|
6
6
|
* 2466 found that checkbox's error with no icon, as a bare red line).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { AlertCircle } from 'lucide-react';
|
|
3
3
|
/**
|
|
4
|
-
* The inline error row a {@link Field} draws under its control — icon,
|
|
4
|
+
* The inline error row a {@link Field} draws under its control — icon, color and size in one
|
|
5
5
|
* place. Internal: a control that cannot sit in a `Field` (SignupForm's terms checkbox, whose
|
|
6
6
|
* label is the checkbox's own) draws this, so its error reads like every other one (forge task
|
|
7
7
|
* 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
|
|
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
|
*/
|
|
@@ -16,6 +16,10 @@ export interface ShareEditorProps {
|
|
|
16
16
|
/** Revoke a grant (a confirm step fires first). */
|
|
17
17
|
onRevoke?: (grantId: string) => void;
|
|
18
18
|
emptyMessage?: string;
|
|
19
|
+
/** The picker's placeholder — name what it adds ("Add a group…"). Default `'Add people or groups…'`. */
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/** The heading over the current grants. Default `'Shared with'`. */
|
|
22
|
+
listLabel?: string;
|
|
19
23
|
className?: string;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
@@ -27,5 +31,5 @@ export interface ShareEditorProps {
|
|
|
27
31
|
* Rendered inside {@link ShareDialog} (desktop modal) and {@link ShareSheet} (mobile
|
|
28
32
|
* bottom sheet) — one component set, two presentations.
|
|
29
33
|
*/
|
|
30
|
-
export declare function ShareEditor({ grants, isLoading, levels, loadRecipients, onAdd, onChangeLevel, onRevoke, emptyMessage, className, resource: _resource, ...rest }: ShareEditorProps): import("react").JSX.Element;
|
|
34
|
+
export declare function ShareEditor({ grants, isLoading, levels, loadRecipients, onAdd, onChangeLevel, onRevoke, emptyMessage, placeholder, listLabel, className, resource: _resource, ...rest }: ShareEditorProps): import("react").JSX.Element;
|
|
31
35
|
//# sourceMappingURL=ShareEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/sharing/ShareEditor.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,cAAc,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACvD,oFAAoF;IACpF,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkGD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAW,EACX,SAAS,EACT,MAA6B,EAC7B,cAAc,EACd,KAAK,EACL,aAAa,EACb,QAAQ,EACR,YAA4C,EAC5C,SAAS,EAET,QAAQ,EAAE,SAAS,EACnB,GAAG,IAAI,EACR,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"ShareEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/sharing/ShareEditor.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,cAAc,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACvD,oFAAoF;IACpF,KAAK,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,mDAAmD;IACnD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wGAAwG;IACxG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkGD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAW,EACX,SAAS,EACT,MAA6B,EAC7B,cAAc,EACd,KAAK,EACL,aAAa,EACb,QAAQ,EACR,YAA4C,EAC5C,WAAW,EACX,SAAyB,EACzB,SAAS,EAET,QAAQ,EAAE,SAAS,EACnB,GAAG,IAAI,EACR,EAAE,gBAAgB,+BAyClB"}
|
|
@@ -46,7 +46,7 @@ function GrantRow({ grant, levels, onChangeLevel, onRevoke, }) {
|
|
|
46
46
|
* Rendered inside {@link ShareDialog} (desktop modal) and {@link ShareSheet} (mobile
|
|
47
47
|
* bottom sheet) — one component set, two presentations.
|
|
48
48
|
*/
|
|
49
|
-
export function ShareEditor({ grants = [], isLoading, levels = DEFAULT_SHARE_LEVELS, loadRecipients, onAdd, onChangeLevel, onRevoke, emptyMessage = 'Not shared with anyone yet.', className,
|
|
49
|
+
export function ShareEditor({ grants = [], isLoading, levels = DEFAULT_SHARE_LEVELS, loadRecipients, onAdd, onChangeLevel, onRevoke, emptyMessage = 'Not shared with anyone yet.', placeholder, listLabel = 'Shared with', className,
|
|
50
50
|
// Named so it stays off the root `<div>`: the handlers already carry the resource.
|
|
51
51
|
resource: _resource, ...rest }) {
|
|
52
52
|
const excludeIds = grants.map((g) => g.recipient.id);
|
|
@@ -55,6 +55,6 @@ resource: _resource, ...rest }) {
|
|
|
55
55
|
...grants.filter((g) => g.recipient.kind === 'group'),
|
|
56
56
|
...grants.filter((g) => g.recipient.kind === 'user'),
|
|
57
57
|
];
|
|
58
|
-
return (_jsxs("div", { ...rest, className: cn('space-y-4', className), children: [_jsx(RecipientPicker, { loadRecipients: loadRecipients, onPick: onAdd, excludeIds: excludeIds }), _jsxs("div", { children: [_jsx("p", { className: 'mb-1 text-xs font-semibold text-muted-foreground', children:
|
|
58
|
+
return (_jsxs("div", { ...rest, className: cn('space-y-4', className), children: [_jsx(RecipientPicker, { loadRecipients: loadRecipients, onPick: onAdd, excludeIds: excludeIds, ...(placeholder ? { placeholder } : {}) }), _jsxs("div", { children: [_jsx("p", { className: 'mb-1 text-xs font-semibold text-muted-foreground', children: listLabel }), isLoading ? (_jsx("div", { className: 'flex justify-center py-4', children: _jsx(Spinner, {}) })) : ordered.length === 0 ? (_jsx("p", { className: 'py-2 text-sm text-muted-foreground', children: emptyMessage })) : (_jsx("ul", { className: 'divide-y divide-border', children: ordered.map((g) => (_jsx(GrantRow, { grant: g, levels: levels, onChangeLevel: onChangeLevel, onRevoke: onRevoke }, g.id))) }))] })] }));
|
|
59
59
|
}
|
|
60
60
|
//# sourceMappingURL=ShareEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareEditor.js","sourceRoot":"","sources":["../../../../src/react/components/sharing/ShareEditor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EAKjB,eAAe,GAChB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ShareEditor.js","sourceRoot":"","sources":["../../../../src/react/components/sharing/ShareEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -126,7 +126,7 @@ export interface DeepLinks<V extends string = string> {
|
|
|
126
126
|
paramsOf(view: V): readonly string[];
|
|
127
127
|
/** True when this href carries no place at all — the bare entry resume restores. */
|
|
128
128
|
isBare(raw: string): boolean;
|
|
129
|
-
/** Structural equality, so a no-op navigation can be
|
|
129
|
+
/** Structural equality, so a no-op navigation can be recognized as one. */
|
|
130
130
|
equals(a: DeepLinkLocation<V>, b: DeepLinkLocation<V>): boolean;
|
|
131
131
|
}
|
|
132
132
|
export declare function defineDeepLinks<V extends string>(options: DeepLinksOptions<V>): DeepLinks<V>;
|
|
@@ -115,7 +115,7 @@ export function useResume(options) {
|
|
|
115
115
|
* Every one of them — `navigateTo`, `client`, `canRestore` — has an identity
|
|
116
116
|
* that changes when the location changes, so a dependency list naming them
|
|
117
117
|
* re-runs the effect mid-read. The re-run bailed on `attempted`, its cleanup
|
|
118
|
-
*
|
|
118
|
+
* canceled the read in flight, `ready` never became true, and NOTHING WAS
|
|
119
119
|
* EVER RECORDED. It was invisible in a hook test (the read resolved before
|
|
120
120
|
* anything re-rendered) and reproduced every time in a browser, which is why
|
|
121
121
|
* `apps/music/__smoke/deepLinks.spec.ts` exists.
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
opacity: 1 !important;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
/* Syntax
|
|
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
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* ── Where it came from ──────────────────────────────────────────────────────────────────
|
|
10
10
|
* Owner, 2026-09-08: *"the spreadsheet app has a much better file tree sidebar than
|
|
11
11
|
* collections has. Add the file tree viewer from it into cb so apps like collections can
|
|
12
|
-
* use it."* This is `cursed-embeddable-spreadsheet`'s `FileTree`,
|
|
12
|
+
* use it."* This is `cursed-embeddable-spreadsheet`'s `FileTree`, generalized: its workbook
|
|
13
13
|
* /sheet/note vocabulary is gone, its manual sibling order became the opt-in
|
|
14
14
|
* {@link FileTreeProps.allowReorder}, and everything that made it good — the gesture, the
|
|
15
15
|
* spring-open, the typeahead, the in-place rename — is here unchanged.
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
* ── 🔴 The graduation verdict, 2026-09-13: this one stays, and it grew ──────────────────
|
|
18
18
|
* `cursedesk` has a `FileTree.tsx` of its own — the same ancestor, kept in step by hand ever
|
|
19
19
|
* since. The pair was compared to decide which should be the shared one, and this is: it is
|
|
20
|
-
* the app's tree with the workbook/sheet/note/merge vocabulary
|
|
20
|
+
* the app's tree with the workbook/sheet/note/merge vocabulary generalized away, and it has
|
|
21
21
|
* external drags, `canDrop`, `acceptsDrop`, reordering, filtering, access marks, counts and
|
|
22
22
|
* the three render slots, none of which the app's has.
|
|
23
23
|
*
|
|
24
|
-
* But the app's carried SIX
|
|
24
|
+
* But the app's carried SIX behaviors this did not, every one of them general, and adopting
|
|
25
25
|
* this tree without them would have been a regression on a 200-row library rather than a
|
|
26
26
|
* graduation. They are here now and each says so where it lives:
|
|
27
27
|
*
|
|
@@ -180,7 +180,7 @@ export interface FileTreeProps {
|
|
|
180
180
|
* folder the library is filtered by. Those are singular questions with singular answers,
|
|
181
181
|
* and a tree that silently became multi-select would break "what am I looking at" in two
|
|
182
182
|
* shipped apps on the day it published. So a consumer that passes neither this nor
|
|
183
|
-
* {@link onSelectionChange} gets EXACTLY today's
|
|
183
|
+
* {@link onSelectionChange} gets EXACTLY today's behavior, byte for byte.
|
|
184
184
|
*
|
|
185
185
|
* Omit it and the selection is `[selectedId]`, which is what makes ⌘-click work for a
|
|
186
186
|
* consumer that stores only the one id and grows into the array afterwards.
|
|
@@ -218,7 +218,7 @@ export interface FileTreeProps {
|
|
|
218
218
|
* persisted is still the collapse it persisted — on the next mount the tree reads it back
|
|
219
219
|
* unchanged. Shutting one of them by hand drops it from the overlay and the persisted value
|
|
220
220
|
* decides again; nothing about it is ever written out. That is the whole of the objection
|
|
221
|
-
* limit 1 records, answered without giving up the
|
|
221
|
+
* limit 1 records, answered without giving up the behavior he asked for.
|
|
222
222
|
*
|
|
223
223
|
* Off unless it is wired, like every other verb here: a consumer that passes nothing gets
|
|
224
224
|
* byte for byte today's reveal.
|
|
@@ -276,7 +276,7 @@ export interface FileTreeProps {
|
|
|
276
276
|
/**
|
|
277
277
|
* What the pinned section is called — its heading, and its `aria-label`. Default `Pinned`.
|
|
278
278
|
*
|
|
279
|
-
* An app whose vocabulary differs ("
|
|
279
|
+
* An app whose vocabulary differs ("Favorites", "Starred") passes its own, for the same
|
|
280
280
|
* reason {@link accessCopy} exists: the mechanism is general and the words are not.
|
|
281
281
|
*/
|
|
282
282
|
pinnedLabel?: string;
|
|
@@ -367,7 +367,7 @@ export interface FileTreeProps {
|
|
|
367
367
|
* delete all the selected files"*.
|
|
368
368
|
*
|
|
369
369
|
* Without it, ⌫ on a multi-selection deletes the focused row alone, which is today's
|
|
370
|
-
*
|
|
370
|
+
* behavior and a consumer that never asked for the plural keeps it. The nodes are handed
|
|
371
371
|
* over rather than the ids, because a confirmation dialog needs their names.
|
|
372
372
|
*/
|
|
373
373
|
onDeleteMany?: (nodes: readonly FileTreeNode[]) => void;
|
|
@@ -394,7 +394,7 @@ export interface FileTreeProps {
|
|
|
394
394
|
*
|
|
395
395
|
* 🔴 Nothing is created until the name is committed. A folder made first and renamed
|
|
396
396
|
* afterwards is a row that spent a moment called "untitled", and a row in the way if the
|
|
397
|
-
* field is
|
|
397
|
+
* field is canceled.
|
|
398
398
|
*
|
|
399
399
|
* `wrap` is the same draft asked to close AROUND rows that already exist — *"allow make
|
|
400
400
|
* dir from file where dir wraps file location and gets name of file"*, which is Finder's
|
|
@@ -453,7 +453,7 @@ export interface FileTreeProps {
|
|
|
453
453
|
*
|
|
454
454
|
* 🔴 A tree whose folders are DERIVED has nothing to wrap with. `apps/music` builds a
|
|
455
455
|
* folder out of the `folder` column of the tracks inside it, so there is no folder for this
|
|
456
|
-
* gesture to make — and offering a name field that cannot be
|
|
456
|
+
* gesture to make — and offering a name field that cannot be honored is the "control that
|
|
457
457
|
* fails on commit" this component refuses everywhere else. See `refuseWrap`.
|
|
458
458
|
*
|
|
459
459
|
* A row the consumer marked `draggable: false` is refused without asking, because wrapping
|
|
@@ -74,7 +74,7 @@ function DefaultIcon({ node, open }) {
|
|
|
74
74
|
/**
|
|
75
75
|
* A row's name, with {@link FileTreeProps.subtitle}'s muted second line under it when it has one.
|
|
76
76
|
* The two stack in one column so every mark after the name (lock, count, tools) stays on the
|
|
77
|
-
* row's
|
|
77
|
+
* row's center line, and each line truncates on its own.
|
|
78
78
|
*/
|
|
79
79
|
function withSubtitle(name, subtitle) {
|
|
80
80
|
if (!subtitle)
|
|
@@ -144,7 +144,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
144
144
|
* Swallow the `click` a finished drag leaves behind.
|
|
145
145
|
*
|
|
146
146
|
* 🔴 A pointerdown and a pointerup on the same row still produce a click even when the
|
|
147
|
-
* pointer
|
|
147
|
+
* pointer traveled the length of the list in between — and with `setPointerCapture` the
|
|
148
148
|
* click is delivered to the row the gesture STARTED on whatever it ended over. So without
|
|
149
149
|
* this, dropping a row into a folder also selects the row that was dropped, which in a
|
|
150
150
|
* consumer that navigates on select means the drag takes you somewhere. The drag is the
|
|
@@ -156,7 +156,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
156
156
|
*
|
|
157
157
|
* 🔴 A shift-click deliberately does not move it. That is what lets a second shift-click
|
|
158
158
|
* re-cover the range from the same start instead of growing it one row at a time, which is
|
|
159
|
-
* the
|
|
159
|
+
* the behavior every file explorer has and the reason the anchor is not just "the last
|
|
160
160
|
* thing selected".
|
|
161
161
|
*/
|
|
162
162
|
const anchor = useRef(null);
|
|
@@ -344,7 +344,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
344
344
|
* one and the consumer wired the plural verb, and `node` alone otherwise.
|
|
345
345
|
*
|
|
346
346
|
* 🔴 `batched` is the whole compatibility story in one argument. Every plural callback is
|
|
347
|
-
* optional, so a consumer that wired only the singular one keeps the singular
|
|
347
|
+
* optional, so a consumer that wired only the singular one keeps the singular behavior on
|
|
348
348
|
* every gesture — the tree never invents a batch nobody can receive.
|
|
349
349
|
*/
|
|
350
350
|
const actOn = useCallback((node, plural) => {
|
|
@@ -525,7 +525,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
525
525
|
}, [revealShut, onRevealExpand]);
|
|
526
526
|
/** The selection an expanding reveal has already fired for — see limit 1 below. */
|
|
527
527
|
const revealedFor = useRef(null);
|
|
528
|
-
/** The {@link FileTreeProps.revealKey} last
|
|
528
|
+
/** The {@link FileTreeProps.revealKey} last honored — a change re-arms `revealedFor`. */
|
|
529
529
|
const revealedKey = useRef(revealKey);
|
|
530
530
|
/**
|
|
531
531
|
* Bring the selected row into view — the explorer's *reveal*.
|
|
@@ -545,12 +545,12 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
545
545
|
*
|
|
546
546
|
* 🔴 **The argument, and what changed about it, 2026-09-16.** This limit was written as
|
|
547
547
|
* a flat refusal: auto-expanding is what `explorer.autoReveal` does and it is the
|
|
548
|
-
*
|
|
548
|
+
* behavior people turn off, because it silently undoes a collapse they chose — and
|
|
549
549
|
* `collapsed` here is often a CONTROLLED value the consumer persists, so expanding would
|
|
550
550
|
* write it open for good. Then the owner asked for it BY NAME — *"show that file in the
|
|
551
551
|
* file tree by like vscode does when you select a tab with a file in it"* — and named the
|
|
552
552
|
* application whose default is `true`. His ask wins over the default this file chose for
|
|
553
|
-
* him, so the
|
|
553
|
+
* him, so the behavior is here.
|
|
554
554
|
*
|
|
555
555
|
* What survives is the half of the objection that was never taste: **the persisted value
|
|
556
556
|
* is not rewritten.** The expansion goes into `revealOpened`, an overlay of this tree's
|
|
@@ -673,8 +673,8 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
673
673
|
const endDrag = useCallback((commit, state) => {
|
|
674
674
|
stopAutoScroll();
|
|
675
675
|
stopSpring();
|
|
676
|
-
// Whatever happens next, a gesture that actually
|
|
677
|
-
// click — see `draggedJustNow`. Set for a
|
|
676
|
+
// Whatever happens next, a gesture that actually traveled owes the row a swallowed
|
|
677
|
+
// click — see `draggedJustNow`. Set for a canceled drag too: the click arrives either
|
|
678
678
|
// way, and Escape landing you on a different row would be its own surprise.
|
|
679
679
|
if (state?.active)
|
|
680
680
|
draggedJustNow.current = true;
|
|
@@ -1054,7 +1054,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1054
1054
|
}, [canDrop, clipboard, commitMove, lockedReason, onCopy, shown, takesDrop]);
|
|
1055
1055
|
const onKeyDown = useCallback((event, row,
|
|
1056
1056
|
/*
|
|
1057
|
-
* The rows the ARROWS walk, and which section drew this one. A pinned copy's
|
|
1057
|
+
* The rows the ARROWS walk, and which section drew this one. A pinned copy's neighbors
|
|
1058
1058
|
* are the other pins, not the tree rows around where it lives — ↓ from the last pin
|
|
1059
1059
|
* jumping into the middle of a folder would be a cursor that teleports. Every verb below
|
|
1060
1060
|
* still acts on `row.node`, which is the one identity both copies share.
|
|
@@ -1451,7 +1451,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1451
1451
|
* Files on the clipboard, or text that is not the rows' names, mean something was copied
|
|
1452
1452
|
* after the rows: the rows are put down and the event goes on untouched, to whatever the
|
|
1453
1453
|
* consumer does with a paste (desk files a screenshot into the folder). The names still
|
|
1454
|
-
* there mean the rows ARE the newest copy, and they are pasted — the event
|
|
1454
|
+
* there mean the rows ARE the newest copy, and they are pasted — the event canceled and
|
|
1455
1455
|
* stopped, so nothing above pastes the same keypress a second time.
|
|
1456
1456
|
*/
|
|
1457
1457
|
const onPaste = useCallback((event) => {
|
|
@@ -1604,7 +1604,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1604
1604
|
* it always has — there is nothing for it to be named after.
|
|
1605
1605
|
*/
|
|
1606
1606
|
const draftRow = (depth) => (_jsxs("div", { className: 'cbft-row cbft-row-draft', style: { '--cbft-depth': depth }, children: [_jsx("span", { className: 'cbft-slot', "aria-hidden": 'true', children: renderIcon ? (renderIcon({ id: '', name: '', kind: 'folder' })) : (_jsx(DefaultIcon, { node: { id: '', name: '', kind: 'folder' }, open: false })) }), nameField(wrapping?.name ?? '', (value) => commitDraft(value), () => onDraftCancel?.(),
|
|
1607
|
-
// A suggested name that comes back unchanged is the person AGREEING with it.
|
|
1607
|
+
// A suggested name that comes back unchanged is the person AGREEING with it. Canceling
|
|
1608
1608
|
// there would make Enter mean "no" on the one field where it obviously means "yes".
|
|
1609
1609
|
wrapping ? 'commit' : 'cancel', wrapping ? undefined : draftPlaceholder)] }));
|
|
1610
1610
|
const nameField = (initial, commit, cancel,
|
|
@@ -1846,7 +1846,7 @@ export function FileTree({ nodes, selectedId, onSelect, selectedIds, onSelection
|
|
|
1846
1846
|
* 🔴 Asked on the ROW rather than answered by handlers on the shelf. A container with an
|
|
1847
1847
|
* `onClick` that only calls `stopPropagation` is a static element the a11y rules correctly
|
|
1848
1848
|
* refuse — it looks interactive, announces nothing, and has no keyboard equivalent. The row
|
|
1849
|
-
* bailing is the same
|
|
1849
|
+
* bailing is the same behavior said once, in the place that actually has the rule: a press
|
|
1850
1850
|
* on a tool must not select the row or start a drag.
|
|
1851
1851
|
*/
|
|
1852
1852
|
function inTools(event) {
|