cursedbelt 5.40.0 → 5.45.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/react/Toast.d.ts +12 -2
- package/dist/react/Toast.d.ts.map +1 -1
- package/dist/react/Toast.js +32 -3
- package/dist/react/Toast.js.map +1 -1
- package/dist/react/analytics/MetricDrilldown.js +1 -1
- package/dist/react/charts/AreaChart.d.ts.map +1 -1
- package/dist/react/charts/AreaChart.js +5 -5
- package/dist/react/charts/AreaChart.js.map +1 -1
- package/dist/react/charts/BarChart.d.ts.map +1 -1
- package/dist/react/charts/BarChart.js +3 -3
- package/dist/react/charts/BarChart.js.map +1 -1
- package/dist/react/charts/ChartCard.d.ts +53 -0
- package/dist/react/charts/ChartCard.d.ts.map +1 -0
- package/dist/react/charts/ChartCard.js +46 -0
- package/dist/react/charts/ChartCard.js.map +1 -0
- package/dist/react/charts/ChartFrame.d.ts +12 -5
- package/dist/react/charts/ChartFrame.d.ts.map +1 -1
- package/dist/react/charts/ChartFrame.js +12 -5
- package/dist/react/charts/ChartFrame.js.map +1 -1
- package/dist/react/charts/ChartLegend.js +1 -1
- package/dist/react/charts/ChartLegend.js.map +1 -1
- package/dist/react/charts/HeatmapChart.js +3 -3
- package/dist/react/charts/HeatmapChart.js.map +1 -1
- package/dist/react/charts/IntervalTimeline.js +1 -1
- package/dist/react/charts/IntervalTimeline.js.map +1 -1
- package/dist/react/charts/LineChart.d.ts.map +1 -1
- package/dist/react/charts/LineChart.js +3 -3
- package/dist/react/charts/LineChart.js.map +1 -1
- package/dist/react/charts/TimeSeriesChart.d.ts.map +1 -1
- package/dist/react/charts/TimeSeriesChart.js +6 -6
- package/dist/react/charts/TimeSeriesChart.js.map +1 -1
- package/dist/react/charts/chartBox.d.ts +46 -0
- package/dist/react/charts/chartBox.d.ts.map +1 -0
- package/dist/react/charts/chartBox.js +45 -0
- package/dist/react/charts/chartBox.js.map +1 -0
- package/dist/react/charts/index.d.ts +2 -0
- package/dist/react/charts/index.d.ts.map +1 -1
- package/dist/react/charts/index.js +2 -0
- package/dist/react/charts/index.js.map +1 -1
- package/dist/react/charts/shared.d.ts +13 -2
- package/dist/react/charts/shared.d.ts.map +1 -1
- package/dist/react/charts/shared.js +14 -3
- package/dist/react/charts/shared.js.map +1 -1
- package/dist/react/chat/Bubble.js +4 -4
- package/dist/react/chat/Bubble.js.map +1 -1
- package/dist/react/chat/MessageScroller.js +1 -1
- package/dist/react/chat/MessageScroller.js.map +1 -1
- package/dist/react/components/ActionBar.d.ts.map +1 -1
- package/dist/react/components/ActionBar.js +63 -1
- package/dist/react/components/ActionBar.js.map +1 -1
- package/dist/react/components/AddItemsMenu.js +1 -1
- package/dist/react/components/AddItemsMenu.js.map +1 -1
- package/dist/react/components/Alert.d.ts +16 -2
- package/dist/react/components/Alert.d.ts.map +1 -1
- package/dist/react/components/Alert.js +35 -2
- package/dist/react/components/Alert.js.map +1 -1
- package/dist/react/components/AppShell.d.ts +55 -33
- package/dist/react/components/AppShell.d.ts.map +1 -1
- package/dist/react/components/AppShell.js +121 -31
- package/dist/react/components/AppShell.js.map +1 -1
- package/dist/react/components/AsyncPanel.d.ts +21 -3
- package/dist/react/components/AsyncPanel.d.ts.map +1 -1
- package/dist/react/components/AsyncPanel.js +49 -5
- package/dist/react/components/AsyncPanel.js.map +1 -1
- package/dist/react/components/BannerLane.d.ts +32 -0
- package/dist/react/components/BannerLane.d.ts.map +1 -0
- package/dist/react/components/BannerLane.js +41 -0
- package/dist/react/components/BannerLane.js.map +1 -0
- package/dist/react/components/Button.d.ts.map +1 -1
- package/dist/react/components/Button.js +2 -1
- package/dist/react/components/Button.js.map +1 -1
- package/dist/react/components/ChipFilterStrip.js +1 -1
- package/dist/react/components/ChipFilterStrip.js.map +1 -1
- package/dist/react/components/ComboboxField.d.ts.map +1 -1
- package/dist/react/components/ComboboxField.js +14 -4
- package/dist/react/components/ComboboxField.js.map +1 -1
- package/dist/react/components/CommentThread.js +2 -2
- package/dist/react/components/CommentThread.js.map +1 -1
- package/dist/react/components/ConfirmDialog.js +1 -1
- package/dist/react/components/ConfirmDialog.js.map +1 -1
- package/dist/react/components/DataTable/DataTable.d.ts +18 -2
- package/dist/react/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/react/components/DataTable/DataTable.js +51 -12
- package/dist/react/components/DataTable/DataTable.js.map +1 -1
- package/dist/react/components/DataTable/Pagination.js +1 -1
- package/dist/react/components/DataTable/Pagination.js.map +1 -1
- package/dist/react/components/DataTable/RowActions.d.ts +7 -1
- package/dist/react/components/DataTable/RowActions.d.ts.map +1 -1
- package/dist/react/components/DataTable/RowActions.js +10 -3
- package/dist/react/components/DataTable/RowActions.js.map +1 -1
- package/dist/react/components/DataTable/TableFilterBuilder.js +1 -1
- package/dist/react/components/DataTable/TableFilterBuilder.js.map +1 -1
- package/dist/react/components/DataTable/cells/CodeCell.js +1 -1
- package/dist/react/components/DataTable/cells/CodeCell.js.map +1 -1
- package/dist/react/components/DataTable/cells/LinkCell.js +1 -1
- package/dist/react/components/DataTable/cells/LinkCell.js.map +1 -1
- package/dist/react/components/DataTable/index.d.ts +1 -1
- package/dist/react/components/DataTable/index.d.ts.map +1 -1
- package/dist/react/components/DataTable/index.js.map +1 -1
- package/dist/react/components/DataTable/types.d.ts +20 -0
- package/dist/react/components/DataTable/types.d.ts.map +1 -1
- package/dist/react/components/DataTable/types.js +22 -0
- package/dist/react/components/DataTable/types.js.map +1 -1
- package/dist/react/components/DateTimeField.d.ts.map +1 -1
- package/dist/react/components/DateTimeField.js +4 -1
- package/dist/react/components/DateTimeField.js.map +1 -1
- package/dist/react/components/DeleteButton.js +2 -0
- package/dist/react/components/DeleteButton.js.map +1 -1
- package/dist/react/components/Drawer.js +3 -3
- package/dist/react/components/Drawer.js.map +1 -1
- package/dist/react/components/DropdownMenu.d.ts +16 -0
- package/dist/react/components/DropdownMenu.d.ts.map +1 -1
- package/dist/react/components/DropdownMenu.js +22 -6
- package/dist/react/components/DropdownMenu.js.map +1 -1
- package/dist/react/components/EmptyState.d.ts +10 -2
- package/dist/react/components/EmptyState.d.ts.map +1 -1
- package/dist/react/components/EmptyState.js +10 -5
- package/dist/react/components/EmptyState.js.map +1 -1
- package/dist/react/components/EventTimeline.js +1 -1
- package/dist/react/components/EventTimeline.js.map +1 -1
- package/dist/react/components/FileDropZone.js +1 -1
- package/dist/react/components/FileDropZone.js.map +1 -1
- package/dist/react/components/Grid.d.ts +9 -1
- package/dist/react/components/Grid.d.ts.map +1 -1
- package/dist/react/components/Grid.js +20 -2
- package/dist/react/components/Grid.js.map +1 -1
- package/dist/react/components/Guide.d.ts +31 -0
- package/dist/react/components/Guide.d.ts.map +1 -0
- package/dist/react/components/Guide.js +18 -0
- package/dist/react/components/Guide.js.map +1 -0
- package/dist/react/components/InfoHintImpl.d.ts +0 -13
- package/dist/react/components/InfoHintImpl.d.ts.map +1 -1
- package/dist/react/components/InfoHintImpl.js +17 -1
- package/dist/react/components/InfoHintImpl.js.map +1 -1
- package/dist/react/components/InlineEditableText.js +1 -1
- package/dist/react/components/InlineEditableText.js.map +1 -1
- package/dist/react/components/IsolatedFrame.js +1 -1
- package/dist/react/components/IsolatedFrame.js.map +1 -1
- package/dist/react/components/ListToolbar.d.ts.map +1 -1
- package/dist/react/components/ListToolbar.js +2 -2
- package/dist/react/components/ListToolbar.js.map +1 -1
- package/dist/react/components/LogViewer.d.ts +26 -2
- package/dist/react/components/LogViewer.d.ts.map +1 -1
- package/dist/react/components/LogViewer.js +41 -26
- package/dist/react/components/LogViewer.js.map +1 -1
- package/dist/react/components/Modal.d.ts +5 -1
- package/dist/react/components/Modal.d.ts.map +1 -1
- package/dist/react/components/Modal.js +18 -8
- package/dist/react/components/Modal.js.map +1 -1
- package/dist/react/components/Page.d.ts +51 -7
- package/dist/react/components/Page.d.ts.map +1 -1
- package/dist/react/components/Page.js +53 -8
- package/dist/react/components/Page.js.map +1 -1
- package/dist/react/components/PageGuideButton.d.ts +11 -0
- package/dist/react/components/PageGuideButton.d.ts.map +1 -0
- package/dist/react/components/PageGuideButton.js +13 -0
- package/dist/react/components/PageGuideButton.js.map +1 -0
- package/dist/react/components/PanelSeparator.js +1 -1
- package/dist/react/components/PanelSeparator.js.map +1 -1
- package/dist/react/components/Popover.d.ts.map +1 -1
- package/dist/react/components/Popover.js +2 -1
- package/dist/react/components/Popover.js.map +1 -1
- package/dist/react/components/PromptDialog.js +1 -1
- package/dist/react/components/PromptDialog.js.map +1 -1
- package/dist/react/components/ScrollArea.d.ts +9 -1
- package/dist/react/components/ScrollArea.d.ts.map +1 -1
- package/dist/react/components/ScrollArea.js +9 -3
- package/dist/react/components/ScrollArea.js.map +1 -1
- package/dist/react/components/Section.d.ts +5 -2
- package/dist/react/components/Section.d.ts.map +1 -1
- package/dist/react/components/Section.js +5 -2
- package/dist/react/components/Section.js.map +1 -1
- package/dist/react/components/Skeleton.d.ts +19 -1
- package/dist/react/components/Skeleton.d.ts.map +1 -1
- package/dist/react/components/Skeleton.js +24 -2
- package/dist/react/components/Skeleton.js.map +1 -1
- package/dist/react/components/StatStrip.js +1 -1
- package/dist/react/components/StatStrip.js.map +1 -1
- package/dist/react/components/StatTile.d.ts +30 -3
- package/dist/react/components/StatTile.d.ts.map +1 -1
- package/dist/react/components/StatTile.js +35 -9
- package/dist/react/components/StatTile.js.map +1 -1
- package/dist/react/components/StatTileGrid.d.ts +10 -1
- package/dist/react/components/StatTileGrid.d.ts.map +1 -1
- package/dist/react/components/StatTileGrid.js +50 -33
- package/dist/react/components/StatTileGrid.js.map +1 -1
- package/dist/react/components/StatusPill.d.ts.map +1 -1
- package/dist/react/components/StatusPill.js +26 -1
- package/dist/react/components/StatusPill.js.map +1 -1
- package/dist/react/components/Surface.d.ts +1 -1
- package/dist/react/components/Surface.d.ts.map +1 -1
- package/dist/react/components/Surface.js +20 -11
- package/dist/react/components/Surface.js.map +1 -1
- package/dist/react/components/SwatchPicker.d.ts.map +1 -1
- package/dist/react/components/SwatchPicker.js +5 -1
- package/dist/react/components/SwatchPicker.js.map +1 -1
- package/dist/react/components/Switch.js +1 -1
- package/dist/react/components/Switch.js.map +1 -1
- package/dist/react/components/WidgetHeader.js +1 -1
- package/dist/react/components/WidgetHeader.js.map +1 -1
- package/dist/react/components/calendar/CalendarLegend.js +1 -1
- package/dist/react/components/calendar/CalendarLegend.js.map +1 -1
- package/dist/react/components/calendar/DayAgenda.js +1 -1
- package/dist/react/components/calendar/DayAgenda.js.map +1 -1
- package/dist/react/components/calendar/EventChip.js +1 -1
- package/dist/react/components/calendar/EventChip.js.map +1 -1
- package/dist/react/components/calendar/MonthGrid.js +1 -1
- package/dist/react/components/calendar/MonthGrid.js.map +1 -1
- package/dist/react/components/calendar/WeekView.js +2 -2
- package/dist/react/components/calendar/WeekView.js.map +1 -1
- package/dist/react/components/cardFrame.d.ts +16 -0
- package/dist/react/components/cardFrame.d.ts.map +1 -0
- package/dist/react/components/cardFrame.js +24 -0
- package/dist/react/components/cardFrame.js.map +1 -0
- package/dist/react/components/dialog.d.ts.map +1 -1
- package/dist/react/components/dialog.js +2 -1
- package/dist/react/components/dialog.js.map +1 -1
- package/dist/react/dashboard-grid/WidgetFrame.js +2 -2
- package/dist/react/dashboard-grid/WidgetFrame.js.map +1 -1
- package/dist/react/emoji/EmojiPicker.js +1 -1
- package/dist/react/emoji/EmojiPicker.js.map +1 -1
- package/dist/react/file-tree/FileTree.d.ts +8 -1
- package/dist/react/file-tree/FileTree.d.ts.map +1 -1
- package/dist/react/file-tree/FileTree.js +29 -4
- package/dist/react/file-tree/FileTree.js.map +1 -1
- package/dist/react/filter-rail/FilterRail.js +1 -1
- package/dist/react/filter-rail/FilterRail.js.map +1 -1
- package/dist/react/icons.js +1 -1
- package/dist/react/icons.js.map +1 -1
- package/dist/react/index.d.ts +8 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +5 -2
- package/dist/react/index.js.map +1 -1
- package/dist/react/lib/menuSections.d.ts +8 -0
- package/dist/react/lib/menuSections.d.ts.map +1 -0
- package/dist/react/lib/menuSections.js +37 -0
- package/dist/react/lib/menuSections.js.map +1 -0
- package/dist/react/markdown/Markdown.js +2 -2
- package/dist/react/markdown/Markdown.js.map +1 -1
- package/dist/react/media/HoverScrubVideoThumb.js +1 -1
- package/dist/react/media/HoverScrubVideoThumb.js.map +1 -1
- package/dist/react/media/MaskPainter.js +1 -1
- package/dist/react/media/MediaUploadControl.js +1 -1
- package/dist/react/media/MediaUploadControl.js.map +1 -1
- package/dist/react/media/VideoTrimmer.js +1 -1
- package/dist/react/media/VideoTrimmer.js.map +1 -1
- package/dist/react/media/denseGallery.css +5 -1
- package/dist/react/namespace/NamespaceTargetCapsule.js +1 -1
- package/dist/react/namespace/NamespaceTargetCapsule.js.map +1 -1
- package/dist/react/nav/BreadcrumbTrail.js +1 -1
- package/dist/react/nav/BreadcrumbTrail.js.map +1 -1
- package/dist/react/nav/CommandBar.d.ts +7 -1
- package/dist/react/nav/CommandBar.d.ts.map +1 -1
- package/dist/react/nav/CommandBar.js +5 -3
- package/dist/react/nav/CommandBar.js.map +1 -1
- package/dist/react/nav/PlaceBar.d.ts.map +1 -1
- package/dist/react/nav/PlaceBar.js +7 -9
- package/dist/react/nav/PlaceBar.js.map +1 -1
- package/dist/react/nav/SideNav.d.ts +12 -2
- package/dist/react/nav/SideNav.d.ts.map +1 -1
- package/dist/react/nav/SideNav.js +42 -22
- package/dist/react/nav/SideNav.js.map +1 -1
- package/dist/react/nav/TopBar.d.ts +65 -31
- package/dist/react/nav/TopBar.d.ts.map +1 -1
- package/dist/react/nav/TopBar.js +59 -24
- package/dist/react/nav/TopBar.js.map +1 -1
- package/dist/react/nav/index.d.ts +1 -1
- package/dist/react/nav/index.d.ts.map +1 -1
- package/dist/react/nav/index.js +1 -1
- package/dist/react/nav/index.js.map +1 -1
- package/dist/react/nav/navShared.d.ts +10 -1
- package/dist/react/nav/navShared.d.ts.map +1 -1
- package/dist/react/nav/navShared.js +23 -0
- package/dist/react/nav/navShared.js.map +1 -1
- package/dist/react/notifications/NotificationFeed.js +2 -2
- package/dist/react/notifications/NotificationFeed.js.map +1 -1
- package/dist/react/palette/Command.d.ts.map +1 -1
- package/dist/react/palette/Command.js +1 -1
- package/dist/react/palette/Command.js.map +1 -1
- package/dist/react/palette/CommandPalette.d.ts +13 -1
- package/dist/react/palette/CommandPalette.d.ts.map +1 -1
- package/dist/react/palette/CommandPalette.js +44 -8
- package/dist/react/palette/CommandPalette.js.map +1 -1
- package/dist/react/palette/commandSources.d.ts +57 -0
- package/dist/react/palette/commandSources.d.ts.map +1 -0
- package/dist/react/palette/commandSources.js +129 -0
- package/dist/react/palette/commandSources.js.map +1 -0
- package/dist/react/palette/index.d.ts +1 -0
- package/dist/react/palette/index.d.ts.map +1 -1
- package/dist/react/palette/index.js +1 -0
- package/dist/react/palette/index.js.map +1 -1
- package/dist/react/rich-text/RichTextEditor.js +1 -1
- package/dist/react/rich-text/RichTextEditor.js.map +1 -1
- package/dist/react/rich-text/RichTextToolbar.js +1 -1
- package/dist/react/rich-text/RichTextToolbar.js.map +1 -1
- package/dist/scripts/guardrailsEnforce.d.ts.map +1 -1
- package/dist/styles-areas/analytics.css +16 -16
- package/dist/styles-areas/auth.css +3 -3
- package/dist/styles-areas/calendar.css +6 -6
- package/dist/styles-areas/chart-table.css +1 -1
- package/dist/styles-areas/charts.css +3 -3
- package/dist/styles-areas/chat.css +7 -6
- package/dist/styles-areas/companion-link.css +2 -2
- package/dist/styles-areas/core.css +98 -89
- package/dist/styles-areas/dashboard-grid.css +4 -4
- package/dist/styles-areas/data-table.css +16 -16
- package/dist/styles-areas/disk-usage.css +5 -5
- package/dist/styles-areas/emoji.css +2 -2
- package/dist/styles-areas/fields.css +13 -14
- package/dist/styles-areas/filter-rail.css +4 -4
- package/dist/styles-areas/folder-tree.css +3 -3
- package/dist/styles-areas/markdown.css +2 -1
- package/dist/styles-areas/master-detail.css +3 -3
- package/dist/styles-areas/media-gallery.css +8 -8
- package/dist/styles-areas/media.css +12 -13
- package/dist/styles-areas/nav.css +28 -14
- package/dist/styles-areas/notifications.css +4 -4
- package/dist/styles-areas/overlays.css +4 -4
- package/dist/styles-areas/palette.css +4 -3
- package/dist/styles-areas/rich-text.css +3 -3
- package/dist/styles-areas/sharing.css +4 -3
- package/dist/styles-areas/stats.css +9 -8
- package/dist/styles-areas/test-report.css +3 -3
- package/dist/styles-areas/wizard.css +6 -5
- package/dist/styles-areas/workbench.css +10 -9
- package/dist/styles-areas/workbook-viewer.css +2 -2
- package/dist/styles-utilities.css +272 -187
- package/dist/testing/designAudit.d.ts.map +1 -1
- package/dist/testing/designAudit.js +4 -0
- package/dist/testing/designAudit.js.map +1 -1
- package/dist/testing/designBaseline.d.ts.map +1 -1
- package/dist/testing/designBaseline.js +4 -0
- package/dist/testing/designBaseline.js.map +1 -1
- package/dist/theme.css +103 -2
- package/package.json +3 -2
- package/scripts/guardrails-baseline.json +2 -1
- package/scripts/guardrailsEnforce.spec.ts +64 -0
- package/scripts/guardrailsEnforce.ts +65 -8
- package/scripts/styleAreas.ts +1 -0
- package/src/nodeTypesDeclared.spec.ts +47 -0
- package/src/react/Toast.spec.tsx +43 -0
- package/src/react/Toast.tsx +45 -2
- package/src/react/analytics/MetricDrilldown.tsx +1 -1
- package/src/react/charts/AreaChart.tsx +9 -8
- package/src/react/charts/BarChart.tsx +11 -10
- package/src/react/charts/ChartCard.tsx +146 -0
- package/src/react/charts/ChartFrame.tsx +28 -10
- package/src/react/charts/ChartLegend.tsx +1 -1
- package/src/react/charts/HeatmapChart.tsx +5 -5
- package/src/react/charts/IntervalTimeline.tsx +2 -2
- package/src/react/charts/LineChart.tsx +9 -8
- package/src/react/charts/TimeSeriesChart.tsx +11 -10
- package/src/react/charts/chartBox.spec.ts +40 -0
- package/src/react/charts/chartBox.ts +75 -0
- package/src/react/charts/index.ts +2 -0
- package/src/react/charts/shared.ts +16 -3
- package/src/react/chat/Bubble.tsx +5 -5
- package/src/react/chat/MessageScroller.tsx +1 -1
- package/src/react/components/ActionBar.spec.tsx +90 -0
- package/src/react/components/ActionBar.tsx +82 -2
- package/src/react/components/AddItemsMenu.tsx +1 -1
- package/src/react/components/Alert.spec.tsx +32 -2
- package/src/react/components/Alert.tsx +47 -3
- package/src/react/components/AppShell.spec.tsx +199 -13
- package/src/react/components/AppShell.tsx +235 -92
- package/src/react/components/AsyncPanel.spec.tsx +7 -1
- package/src/react/components/AsyncPanel.tsx +85 -5
- package/src/react/components/BannerLane.tsx +128 -0
- package/src/react/components/Button.tsx +2 -0
- package/src/react/components/ChipFilterStrip.tsx +1 -1
- package/src/react/components/ComboboxField.tsx +20 -3
- package/src/react/components/CommentThread.tsx +2 -2
- package/src/react/components/ConfirmDialog.tsx +1 -1
- package/src/react/components/DataTable/DataTable.tsx +80 -8
- package/src/react/components/DataTable/Pagination.tsx +1 -1
- package/src/react/components/DataTable/RowActions.tsx +55 -2
- package/src/react/components/DataTable/TableFilterBuilder.tsx +1 -1
- package/src/react/components/DataTable/cells/CodeCell.tsx +1 -1
- package/src/react/components/DataTable/cells/LinkCell.tsx +1 -1
- package/src/react/components/DataTable/index.ts +1 -0
- package/src/react/components/DataTable/numericColumn.spec.ts +19 -0
- package/src/react/components/DataTable/types.ts +36 -0
- package/src/react/components/DateTimeField.tsx +3 -1
- package/src/react/components/DeleteButton.tsx +3 -0
- package/src/react/components/Drawer.tsx +3 -3
- package/src/react/components/DropdownMenu.spec.tsx +55 -0
- package/src/react/components/DropdownMenu.tsx +73 -20
- package/src/react/components/EmptyState.tsx +26 -7
- package/src/react/components/EventTimeline.tsx +1 -1
- package/src/react/components/Field.width.spec.tsx +11 -0
- package/src/react/components/FileDropZone.tsx +1 -1
- package/src/react/components/Grid.spec.tsx +44 -0
- package/src/react/components/Grid.tsx +41 -11
- package/src/react/components/Guide.tsx +77 -0
- package/src/react/components/InfoHint.spec.tsx +21 -0
- package/src/react/components/InfoHintImpl.tsx +22 -1
- package/src/react/components/InlineEditableText.tsx +1 -1
- package/src/react/components/IsolatedFrame.tsx +1 -1
- package/src/react/components/ListToolbar.spec.tsx +12 -0
- package/src/react/components/ListToolbar.tsx +8 -5
- package/src/react/components/LogViewer.tsx +118 -18
- package/src/react/components/Modal.spec.tsx +17 -2
- package/src/react/components/Modal.tsx +25 -10
- package/src/react/components/MultiSelectField.spec.tsx +6 -0
- package/src/react/components/Page.spec.tsx +89 -5
- package/src/react/components/Page.tsx +100 -16
- package/src/react/components/PageGuideButton.tsx +42 -0
- package/src/react/components/PanelSeparator.tsx +1 -1
- package/src/react/components/Popover.tsx +3 -1
- package/src/react/components/PromptDialog.tsx +1 -1
- package/src/react/components/ScrollArea.spec.tsx +20 -0
- package/src/react/components/ScrollArea.tsx +19 -0
- package/src/react/components/Section.spec.tsx +82 -1
- package/src/react/components/Section.tsx +10 -4
- package/src/react/components/Skeleton.tsx +50 -2
- package/src/react/components/StatStrip.tsx +1 -1
- package/src/react/components/StatTile.tsx +84 -11
- package/src/react/components/StatTileGrid.spec.tsx +6 -1
- package/src/react/components/StatTileGrid.tsx +25 -0
- package/src/react/components/StatusPill.tsx +26 -1
- package/src/react/components/Surface.tsx +22 -14
- package/src/react/components/SwatchPicker.tsx +4 -0
- package/src/react/components/Switch.tsx +1 -1
- package/src/react/components/WidgetHeader.tsx +1 -1
- package/src/react/components/calendar/CalendarLegend.tsx +1 -1
- package/src/react/components/calendar/DayAgenda.tsx +1 -1
- package/src/react/components/calendar/EventChip.tsx +1 -1
- package/src/react/components/calendar/MonthGrid.tsx +1 -1
- package/src/react/components/calendar/WeekView.tsx +2 -2
- package/src/react/components/cardFrame.ts +28 -0
- package/src/react/components/dataDisplay.spec.tsx +176 -0
- package/src/react/components/dialog.tsx +4 -1
- package/src/react/dashboard-grid/WidgetFrame.tsx +2 -2
- package/src/react/emoji/EmojiPicker.tsx +1 -1
- package/src/react/file-tree/FileTree.spec.tsx +49 -0
- package/src/react/file-tree/FileTree.tsx +37 -4
- package/src/react/filter-rail/FilterRail.tsx +1 -1
- package/src/react/icons.tsx +1 -1
- package/src/react/index.ts +28 -3
- package/src/react/lib/menuSections.ts +33 -0
- package/src/react/markdown/Markdown.tsx +2 -2
- package/src/react/media/HoverScrubVideoThumb.tsx +2 -2
- package/src/react/media/MaskPainter.tsx +1 -1
- package/src/react/media/MediaUploadControl.tsx +1 -1
- package/src/react/media/VideoTrimmer.tsx +1 -1
- package/src/react/media/denseGallery.css +5 -1
- package/src/react/namespace/NamespaceTargetCapsule.tsx +1 -1
- package/src/react/nav/BreadcrumbTrail.tsx +2 -2
- package/src/react/nav/CommandBar.tsx +14 -3
- package/src/react/nav/PlaceBar.tsx +18 -8
- package/src/react/nav/SideNav.tsx +99 -17
- package/src/react/nav/TopBar.spec.tsx +78 -21
- package/src/react/nav/TopBar.tsx +270 -98
- package/src/react/nav/index.ts +8 -1
- package/src/react/nav/nav.spec.tsx +46 -2
- package/src/react/nav/navShared.tsx +23 -2
- package/src/react/notifications/NotificationFeed.tsx +2 -2
- package/src/react/palette/Command.tsx +1 -1
- package/src/react/palette/CommandPalette.spec.tsx +31 -0
- package/src/react/palette/CommandPalette.tsx +108 -11
- package/src/react/palette/commandSources.tsx +186 -0
- package/src/react/palette/index.ts +7 -0
- package/src/react/rich-text/RichTextEditor.tsx +1 -1
- package/src/react/rich-text/RichTextToolbar.tsx +1 -1
- package/src/styles-areas/analytics.css +16 -16
- package/src/styles-areas/auth.css +3 -3
- package/src/styles-areas/calendar.css +6 -6
- package/src/styles-areas/chart-table.css +1 -1
- package/src/styles-areas/charts.css +3 -3
- package/src/styles-areas/chat.css +7 -6
- package/src/styles-areas/companion-link.css +2 -2
- package/src/styles-areas/core.css +98 -89
- package/src/styles-areas/dashboard-grid.css +4 -4
- package/src/styles-areas/data-table.css +16 -16
- package/src/styles-areas/disk-usage.css +5 -5
- package/src/styles-areas/emoji.css +2 -2
- package/src/styles-areas/fields.css +13 -14
- package/src/styles-areas/filter-rail.css +4 -4
- package/src/styles-areas/folder-tree.css +3 -3
- package/src/styles-areas/markdown.css +2 -1
- package/src/styles-areas/master-detail.css +3 -3
- package/src/styles-areas/media-gallery.css +8 -8
- package/src/styles-areas/media.css +12 -13
- package/src/styles-areas/nav.css +28 -14
- package/src/styles-areas/notifications.css +4 -4
- package/src/styles-areas/overlays.css +4 -4
- package/src/styles-areas/palette.css +4 -3
- package/src/styles-areas/rich-text.css +3 -3
- package/src/styles-areas/sharing.css +4 -3
- package/src/styles-areas/stats.css +9 -8
- package/src/styles-areas/test-report.css +3 -3
- package/src/styles-areas/wizard.css +6 -5
- package/src/styles-areas/workbench.css +10 -9
- package/src/styles-areas/workbook-viewer.css +2 -2
- package/src/styles-utilities.css +272 -187
- package/src/testing/designAudit.ts +3 -0
- package/src/testing/designBaseline.ts +4 -0
- package/src/theme.css +103 -2
- package/src/themeDarkScopeAliases.spec.ts +65 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceBar.js","sourceRoot":"","sources":["../../../src/react/nav/PlaceBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,oBAAoB,GAIrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"PlaceBar.js","sourceRoot":"","sources":["../../../src/react/nav/PlaceBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,18 @@ export interface SideNavProps extends NavNavigationProps {
|
|
|
32
32
|
badgeTone?: NavBadgeTone;
|
|
33
33
|
/** App slot above the list (logo / brand). */
|
|
34
34
|
header?: ReactNode;
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* App slot below the list — the version, `BuildFreshness` and a Settings link (NAV-13). Set
|
|
37
|
+
* in 12px muted type, under a 1px rule; a tool has no marketing footer anywhere else. Not
|
|
38
|
+
* drawn in the `collapsed` icon rail, which is 64px wide.
|
|
39
|
+
*/
|
|
36
40
|
footer?: ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Show the ACTIVE place's own items beneath it, each label aligned under the parent's label
|
|
43
|
+
* text (NAV-7) — so a reader sees where they are inside a place without a second nav.
|
|
44
|
+
* Default `true`. Never in the icon rail, which has no labels to align to.
|
|
45
|
+
*/
|
|
46
|
+
expandActive?: boolean;
|
|
37
47
|
className?: string;
|
|
38
48
|
}
|
|
39
49
|
/**
|
|
@@ -47,5 +57,5 @@ export interface SideNavProps extends NavNavigationProps {
|
|
|
47
57
|
* Consumed by `AppShell` (which renders it inside the desktop sidebar AND the mobile
|
|
48
58
|
* drawer); also usable standalone.
|
|
49
59
|
*/
|
|
50
|
-
export declare function SideNav({ model, activeHref, gate, linkComponent, onNavigate, onAfterNavigate, resolveIcon, prefs, onPrefsChange, collapsed, collapsedSections: controlledCollapsedSections, onSectionToggle, badges, badgeTone, header, footer, className, }: SideNavProps): import("react").JSX.Element;
|
|
60
|
+
export declare function SideNav({ model, activeHref, gate, linkComponent, onNavigate, onAfterNavigate, resolveIcon, prefs, onPrefsChange, collapsed, collapsedSections: controlledCollapsedSections, onSectionToggle, badges, badgeTone, header, footer, expandActive, className, }: SideNavProps): import("react").JSX.Element;
|
|
51
61
|
//# sourceMappingURL=SideNav.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.d.ts","sourceRoot":"","sources":["../../../src/react/nav/SideNav.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"SideNav.d.ts","sourceRoot":"","sources":["../../../src/react/nav/SideNav.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AACrE,OAAO,EAKL,KAAK,MAAM,EAEX,KAAK,eAAe,EAEpB,KAAK,cAAc,EACpB,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAIL,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EAIxB,MAAM,gBAAgB,CAAC;AAsBxB,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,0EAA0E;IAC1E,KAAK,EAAE,eAAe,CAAC;IACvB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qFACiF;IACjF,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/C,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;mDAC+C;IAC/C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACzC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,UAAU,EACV,IAAmB,EACnB,aAAa,EACb,UAAU,EACV,eAAe,EACf,WAAW,EACX,KAAK,EACL,aAAa,EACb,SAAiB,EACjB,iBAAiB,EAAE,2BAA2B,EAC9C,eAAe,EACf,MAAM,EACN,SAAmB,EACnB,MAAM,EACN,MAAM,EACN,YAAmB,EACnB,SAAS,GACV,EAAE,YAAY,+BA0Ld"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Fragment, Suspense, useState } from 'react';
|
|
3
|
-
import { allowAllGate, CURRENT_NAV_PREFS_VERSION, deriveSideNavDomains, } from 'cursedbelt-core/navigation';
|
|
3
|
+
import { allowAllGate, CURRENT_NAV_PREFS_VERSION, deriveDomainItems, deriveSideNavDomains, } from 'cursedbelt-core/navigation';
|
|
4
4
|
import { DisclosureButton } from '../components/DisclosureButton.js';
|
|
5
5
|
import { lazyWithReload } from '../lazy/staleChunk.js';
|
|
6
6
|
import { ScrollArea } from '../components/ScrollArea.js';
|
|
7
7
|
import { Tooltip } from '../components/Tooltip.js';
|
|
8
8
|
import { cn } from '../lib/cn.js';
|
|
9
|
-
import { isPathWithin, NAV_BADGE_TONE, NavLink, navAccent, rankBySavedOrder, renderIcon, } from './navShared.js';
|
|
9
|
+
import { isDomainActive, isPathWithin, NAV_BADGE_TONE, NavLink, navAccent, rankBySavedOrder, renderIcon, } from './navShared.js';
|
|
10
10
|
import { TAP_TARGET, TAP_TARGET_HEIGHT } from '../lib/tapTarget.js';
|
|
11
11
|
/**
|
|
12
12
|
* 🔴 Lazy on purpose, and the number is why: drag-to-reorder pulls three
|
|
@@ -31,7 +31,7 @@ const RestoreHiddenMenu = lazyWithReload(() => import('./SideNavCustomize.js').t
|
|
|
31
31
|
* Consumed by `AppShell` (which renders it inside the desktop sidebar AND the mobile
|
|
32
32
|
* drawer); also usable standalone.
|
|
33
33
|
*/
|
|
34
|
-
export function SideNav({ model, activeHref, gate = allowAllGate, linkComponent, onNavigate, onAfterNavigate, resolveIcon, prefs, onPrefsChange, collapsed = false, collapsedSections: controlledCollapsedSections, onSectionToggle, badges, badgeTone = 'alert', header, footer, className, }) {
|
|
34
|
+
export function SideNav({ model, activeHref, gate = allowAllGate, linkComponent, onNavigate, onAfterNavigate, resolveIcon, prefs, onPrefsChange, collapsed = false, collapsedSections: controlledCollapsedSections, onSectionToggle, badges, badgeTone = 'alert', header, footer, expandActive = true, className, }) {
|
|
35
35
|
const domains = deriveSideNavDomains(model, gate);
|
|
36
36
|
const hiddenIds = prefs?.hidden ?? [];
|
|
37
37
|
const visible = rankBySavedOrder(domains.filter((d) => !hiddenIds.includes(d.id)), (d) => d.id, prefs?.order);
|
|
@@ -75,15 +75,26 @@ export function SideNav({ model, activeHref, gate = allowAllGate, linkComponent,
|
|
|
75
75
|
// section order otherwise stays first-appearance).
|
|
76
76
|
sections.sort((a, b) => Number(b.section === undefined) - Number(a.section === undefined));
|
|
77
77
|
}
|
|
78
|
-
const renderRow = (domain, drag) =>
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
const renderRow = (domain, drag) => {
|
|
79
|
+
const active = isDomainActive(domain, activeHref);
|
|
80
|
+
const children = active && expandActive && !collapsed ? deriveDomainItems(domain, gate) : [];
|
|
81
|
+
const activeChild = children.find((it) => isPathWithin(it.path, activeHref));
|
|
82
|
+
const row = (_jsx(DomainRow, { domain: domain, active: active,
|
|
83
|
+
// When a child is the current page, IT carries the bar and the tint; the place keeps
|
|
84
|
+
// its foreground label so the reader still sees which place they are inside.
|
|
85
|
+
activeIsChild: Boolean(activeChild), color: prefs?.colors?.[domain.id], badge: badges?.[domain.id], badgeTone: badgeTone, collapsed: collapsed, canCustomize: canCustomize, drag: drag, onHide: () => setPref({ hidden: [...hiddenIds, domain.id] }), onColor: (color) => {
|
|
86
|
+
const colors = { ...(prefs?.colors ?? {}) };
|
|
87
|
+
if (color)
|
|
88
|
+
colors[domain.id] = color;
|
|
89
|
+
else
|
|
90
|
+
delete colors[domain.id];
|
|
91
|
+
setPref({ colors });
|
|
92
|
+
}, ...navProps }, domain.id));
|
|
93
|
+
if (children.length === 0)
|
|
94
|
+
return row;
|
|
95
|
+
return (_jsxs(Fragment, { children: [row, _jsx("ul", { "data-cb-sidenav-children": '', className: 'mt-0.5 space-y-0.5', children: children.map((item) => (_jsx("li", { children: _jsx(ChildRow, { item: item, active: item === activeChild, ...navProps }) }, item.id))) })] }, domain.id));
|
|
96
|
+
};
|
|
97
|
+
return (_jsxs("nav", { "data-cb-sidenav": '', "data-cb-nav-collapsed": collapsed ? '' : undefined, "aria-label": 'Primary', className: cn('flex h-full flex-col', collapsed ? 'w-16' : 'w-full', className), children: [header && _jsx("div", { className: 'shrink-0 border-b border-border px-3 py-4', children: header }), _jsx(ScrollArea, { axis: 'y', className: 'p-2', children: hasSections ? (_jsx("div", { className: 'space-y-1', children: sections.map(({ section, domains: sectionDomains }) => {
|
|
87
98
|
const isOpen = section === undefined || !collapsedSections.includes(section);
|
|
88
99
|
// A section can hold the active domain while itself collapsed
|
|
89
100
|
// (rail default: every section starts collapsed so its header
|
|
@@ -93,15 +104,9 @@ export function SideNav({ model, activeHref, gate = allowAllGate, linkComponent,
|
|
|
93
104
|
// resting state.
|
|
94
105
|
const containsActive = !isOpen && sectionDomains.some((d) => isDomainActive(d, activeHref));
|
|
95
106
|
return (_jsxs(Fragment, { children: [section !== undefined && (_jsx(DisclosureButton, { open: isOpen, onToggle: () => toggleSection(section), className: cn('cb-meta-label flex w-full items-center justify-between rounded px-3 pb-1 pt-3 transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', containsActive && 'text-foreground'), classNames: { arrow: 'size-3.5' }, children: _jsxs("span", { className: 'flex items-center gap-1.5', children: [containsActive && (_jsx("span", { "aria-hidden": 'true', className: 'size-1.5 shrink-0 rounded-full bg-accent-solid' })), section] }) })), isOpen && (_jsx("ul", { className: 'space-y-0.5', children: sectionDomains.map((domain) => (_jsx("li", { children: renderRow(domain) }, domain.id))) }))] }, section ?? '__unsectioned'));
|
|
96
|
-
}) })) : canCustomize ? (_jsx(Suspense, { fallback: _jsx("ul", { className: 'space-y-0.5', children: visible.map((domain) => (_jsx("li", { children: renderRow(domain) }, domain.id))) }), children: _jsx(ReorderableRows, { domains: visible, onReorder: (next) => setPref({ order: next.map((d) => d.id) }), renderRow: renderRow }) })) : (_jsx("ul", { className: 'space-y-0.5', children: visible.map((domain) => (_jsx("li", { children: renderRow(domain) }, domain.id))) })) }), (footer || (canCustomize && hiddenDomains.length > 0)) && (_jsxs("div", { className: 'shrink-0 space-y-2 border-t border-border px-3 py-3', children: [canCustomize && hiddenDomains.length > 0 && (_jsx(Suspense, { fallback: null, children: _jsx(RestoreHiddenMenu, { domains: hiddenDomains, resolveIcon: resolveIcon, onRestore: (id) => setPref({ hidden: hiddenIds.filter((x) => x !== id) }) }) })), footer] }))] }));
|
|
97
|
-
}
|
|
98
|
-
/** A domain is active when the route is its landing or lives within it. */
|
|
99
|
-
function isDomainActive(domain, activeHref) {
|
|
100
|
-
if (isPathWithin(domain.path, activeHref))
|
|
101
|
-
return true;
|
|
102
|
-
return domain.groups.some((g) => g.items.some((it) => isPathWithin(it.path, activeHref)));
|
|
107
|
+
}) })) : canCustomize ? (_jsx(Suspense, { fallback: _jsx("ul", { className: 'space-y-0.5', children: visible.map((domain) => (_jsx("li", { children: renderRow(domain) }, domain.id))) }), children: _jsx(ReorderableRows, { domains: visible, onReorder: (next) => setPref({ order: next.map((d) => d.id) }), renderRow: renderRow }) })) : (_jsx("ul", { className: 'space-y-0.5', children: visible.map((domain) => (_jsx("li", { children: renderRow(domain) }, domain.id))) })) }), ((footer && !collapsed) || (canCustomize && hiddenDomains.length > 0)) && (_jsxs("div", { "data-cb-sidenav-footer": '', className: 'shrink-0 space-y-2 border-t border-border px-3 py-3 text-xs text-muted-foreground', children: [canCustomize && hiddenDomains.length > 0 && (_jsx(Suspense, { fallback: null, children: _jsx(RestoreHiddenMenu, { domains: hiddenDomains, resolveIcon: resolveIcon, onRestore: (id) => setPref({ hidden: hiddenIds.filter((x) => x !== id) }) }) })), collapsed ? null : footer] }))] }));
|
|
103
108
|
}
|
|
104
|
-
function DomainRow({ domain, active, color, badge, badgeTone, collapsed, canCustomize, drag, onHide, onColor, linkComponent, onNavigate, onAfterNavigate, resolveIcon, }) {
|
|
109
|
+
function DomainRow({ domain, active, activeIsChild = false, color, badge, badgeTone, collapsed, canCustomize, drag, onHide, onColor, linkComponent, onNavigate, onAfterNavigate, resolveIcon, }) {
|
|
105
110
|
const accent = navAccent(color);
|
|
106
111
|
const icon = renderIcon(resolveIcon, domain.icon);
|
|
107
112
|
/**
|
|
@@ -113,7 +118,7 @@ function DomainRow({ domain, active, color, badge, badgeTone, collapsed, canCust
|
|
|
113
118
|
*/
|
|
114
119
|
const limit = domain.hostLimit;
|
|
115
120
|
const limited = Boolean(limit) && limit?.navigable !== true;
|
|
116
|
-
const link = (_jsxs(NavLink, { path: domain.path, linkComponent: linkComponent, onNavigate: onNavigate, onAfterNavigate: onAfterNavigate, ariaCurrent: active ? 'page' : undefined, disabled: limited,
|
|
121
|
+
const link = (_jsxs(NavLink, { path: domain.path, linkComponent: linkComponent, onNavigate: onNavigate, onAfterNavigate: onAfterNavigate, ariaCurrent: active && !activeIsChild ? 'page' : undefined, disabled: limited,
|
|
117
122
|
// When there IS a host limit the wrapper below carries the richer hint, so the
|
|
118
123
|
// link must not open a second, nested one.
|
|
119
124
|
title: limit ? undefined : collapsed ? domain.label : undefined, className: cn('group/navrow relative flex items-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',
|
|
@@ -127,7 +132,14 @@ function DomainRow({ domain, active, color, badge, badgeTone, collapsed, canCust
|
|
|
127
132
|
// 390px mobile-drawer teardown — sidenav rows measured 223×36).
|
|
128
133
|
collapsed
|
|
129
134
|
? `size-10 justify-center ${TAP_TARGET}`
|
|
130
|
-
: `w-full gap-3 px-3 py-2 ${TAP_TARGET_HEIGHT}`,
|
|
135
|
+
: `w-full gap-3 px-3 py-2 ${TAP_TARGET_HEIGHT}`,
|
|
136
|
+
// NAV-6: the current place is marked three ways — the bar below, this tint, and a
|
|
137
|
+
// foreground label against the muted ones around it. Color alone fails.
|
|
138
|
+
active && !activeIsChild
|
|
139
|
+
? 'bg-accent/10 text-foreground'
|
|
140
|
+
: active
|
|
141
|
+
? 'text-foreground hover:bg-muted'
|
|
142
|
+
: 'text-muted-foreground hover:bg-muted hover:text-foreground'), children: [active && !activeIsChild && (_jsx("span", { "aria-hidden": 'true', "data-cb-active-indicator": '', className: cn('absolute left-0 w-[var(--indicator-w)] rounded-full', collapsed ? 'inset-y-1' : 'inset-y-1.5'), style: { backgroundColor: accent } })), icon && (_jsx("span", { className: 'grid size-5 shrink-0 place-items-center [&_svg]:size-5', "aria-hidden": 'true', style: active ? { color: accent } : undefined, children: icon })), !collapsed && _jsx("span", { className: 'flex-1 truncate text-left', children: domain.label }), !collapsed && badge != null && badge !== 0 && (_jsx("span", { className: cn('rounded-full px-1.5 py-0.5 text-xs font-bold', NAV_BADGE_TONE[badgeTone]), children: typeof badge === 'number' && badge > 99 ? '99+' : badge }))] }));
|
|
131
143
|
const hint = limit ? (_jsxs("span", { className: 'block max-w-64', children: [_jsxs("span", { className: 'block font-semibold', children: [domain.label, " \u2014 not available here"] }), _jsx("span", { className: 'block', children: limit.reason }), limit.worksAt ? _jsx("span", { className: 'mt-1 block opacity-80', children: limit.worksAt }) : null] })) : null;
|
|
132
144
|
// Icon-rail: just the icon link with a portal tooltip carrying the label.
|
|
133
145
|
if (collapsed) {
|
|
@@ -141,4 +153,12 @@ function DomainRow({ domain, active, color, badge, badgeTone, collapsed, canCust
|
|
|
141
153
|
// Expanded: the link + (when customizing) a reveal-on-hover drag handle + kebab.
|
|
142
154
|
return (_jsxs("div", { className: 'group/navitem relative flex items-center', children: [_jsx("div", { className: 'min-w-0 flex-1', children: link }), canCustomize && (_jsx(Suspense, { fallback: null, children: _jsx(RowCustomizeControls, { label: domain.label, color: color, drag: drag, onHide: onHide, onColor: onColor }) }))] }));
|
|
143
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* One of the active place's items (NAV-7). Its label starts exactly under the parent's label:
|
|
158
|
+
* the parent row's `px-3` + its 20px icon + its `gap-3` is 44px, so the child's padding is 44px
|
|
159
|
+
* (`pl-11`) and its text lands on the same x. Marked like the place when it is the current page.
|
|
160
|
+
*/
|
|
161
|
+
function ChildRow({ item, active, linkComponent, onNavigate, onAfterNavigate, }) {
|
|
162
|
+
return (_jsxs(NavLink, { path: item.path, linkComponent: linkComponent, onNavigate: onNavigate, onAfterNavigate: onAfterNavigate, ariaCurrent: active ? 'page' : undefined, className: cn('relative flex w-full items-center rounded-md py-1.5 pl-11 pr-3 text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', TAP_TARGET_HEIGHT, active ? 'bg-accent/10 font-medium text-foreground' : 'text-muted-foreground hover:bg-muted hover:text-foreground'), children: [active && (_jsx("span", { "aria-hidden": 'true', "data-cb-active-indicator": '', className: 'absolute inset-y-1.5 left-0 w-[var(--indicator-w)] rounded-full bg-accent-solid' })), _jsx("span", { "data-cb-nav-child-label": '', className: 'min-w-0 flex-1 truncate text-left', children: item.label })] }));
|
|
163
|
+
}
|
|
144
164
|
//# sourceMappingURL=SideNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/react/nav/SideNav.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/react/nav/SideNav.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,32 @@
|
|
|
1
|
-
import type { AnchorHTMLAttributes, ReactNode } from 'react';
|
|
1
|
+
import type { AnchorHTMLAttributes, ElementType, ReactNode } from 'react';
|
|
2
|
+
import { type NavBadgeTone } from './navShared.js';
|
|
2
3
|
/** What an `<a>` in the bar is handed — `href`, `onClick`, whatever the app's router needs. */
|
|
3
4
|
export type TopBarLinkProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'className' | 'aria-label' | 'href'>;
|
|
4
5
|
export interface TopBarItem {
|
|
5
6
|
/** Stable key. */
|
|
6
7
|
id: string;
|
|
7
|
-
/** The place's name
|
|
8
|
+
/** The place's name — painted beside the icon from 768px up, and always its accessible name. */
|
|
8
9
|
label: string;
|
|
9
|
-
/** The glyph
|
|
10
|
+
/** The place's glyph. Alone below 768px (or in an `iconOnly` utility bar), beside the label above. */
|
|
10
11
|
icon: ReactNode;
|
|
11
|
-
/** The place the user is in.
|
|
12
|
+
/** The place the user is in. Marked three ways, and `aria-current="page"`. */
|
|
12
13
|
active?: boolean;
|
|
13
14
|
/** Where it goes. A real link, so it still copies and middle-clicks. */
|
|
14
15
|
href: string;
|
|
15
16
|
/** `onClick` and whatever else the app's router needs on the `<a>`. */
|
|
16
17
|
linkProps?: TopBarLinkProps;
|
|
17
18
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* purposefully made exception", and a `showLabel` flag is an exception nobody had to make.
|
|
21
|
-
* Even then the words drop below `sm`, because a phone is where they overflowed.
|
|
19
|
+
* A count beside the label (unread, waiting), on the icon's corner where the icon stands alone.
|
|
20
|
+
* Clamped to 99+, and read as part of the place's name (`Duplicates · 7`).
|
|
22
21
|
*/
|
|
23
|
-
|
|
22
|
+
badge?: number | string;
|
|
23
|
+
/** How the count reads — `alert` (default, red) or a plain fact. */
|
|
24
|
+
badgeTone?: NavBadgeTone;
|
|
25
|
+
/**
|
|
26
|
+
* The place exists but cannot work on THIS host: it stays visible, cannot be followed, and
|
|
27
|
+
* says why on hover — the owner's one-UI rule, never a hidden item. The reason, in a sentence.
|
|
28
|
+
*/
|
|
29
|
+
unavailable?: string;
|
|
24
30
|
}
|
|
25
31
|
export interface TopBarProps {
|
|
26
32
|
/** The app's mark. Its `label` is painted from `md` up and is the accessible name below it. */
|
|
@@ -30,43 +36,71 @@ export interface TopBarProps {
|
|
|
30
36
|
href: string;
|
|
31
37
|
linkProps?: TopBarLinkProps;
|
|
32
38
|
};
|
|
33
|
-
/** The places
|
|
39
|
+
/** The places — 2 to 5 of them (NAV-3). Six or more belong in `AppShell`'s sectioned `SideNav`. */
|
|
34
40
|
items: readonly TopBarItem[];
|
|
35
|
-
/** The
|
|
41
|
+
/** The right zone: ⌘K, alerts, theme toggle, account. Locked — it never shrinks (NAV-1). */
|
|
36
42
|
trailing?: ReactNode;
|
|
37
43
|
/**
|
|
38
44
|
* One control BEFORE the brand — a phone's way into the app's sidebar drawer (the owner's
|
|
39
45
|
* music report, 2026-09-28: *"there is a large horizontal scrolling header row and no sidebar
|
|
40
|
-
* popout"*). Top-left is where Gmail, Linear and Slack put it on a phone
|
|
41
|
-
* without being told. Never shrinks. Render it only where there is a sidebar to open.
|
|
46
|
+
* popout"*). Top-left is where Gmail, Linear and Slack put it on a phone. Never shrinks.
|
|
42
47
|
*/
|
|
43
48
|
leading?: ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* The center zone's content when it is NOT the places — a global search, a command trigger.
|
|
51
|
+
* Given together with `items`, the places render first and this follows them.
|
|
52
|
+
*/
|
|
53
|
+
center?: ReactNode;
|
|
54
|
+
/**
|
|
55
|
+
* The header height (NAV-1): `roomy` 64px for media and consumer apps, `dense` 48px for a
|
|
56
|
+
* tool (station, desk, binary-server). Unset, it reads `--header-h`, which a `.cb-dense`
|
|
57
|
+
* scope already sets to 48px.
|
|
58
|
+
*/
|
|
59
|
+
density?: 'roomy' | 'dense';
|
|
60
|
+
/**
|
|
61
|
+
* A UTILITY bar, not the app's router: icons only at every width, each with its tooltip.
|
|
62
|
+
* NAV-2 allows icons alone only in a utility cluster — a row of window controls, a
|
|
63
|
+
* viewer's tools — so this is the mode for those, never for an app's places.
|
|
64
|
+
*/
|
|
65
|
+
iconOnly?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Below 768px: `'icons'` (default) keeps the places as an icon strip in the header; `'none'`
|
|
68
|
+
* drops them, for a shell whose bottom `PlaceBar` already carries every place (NAV-14).
|
|
69
|
+
*/
|
|
70
|
+
phonePlaces?: 'icons' | 'none';
|
|
71
|
+
/** SPA link component (e.g. react-router `Link`) — receives `to` and `href`. Default `<a>`. */
|
|
72
|
+
linkComponent?: ElementType;
|
|
44
73
|
/** The nav landmark's name. Default `'Places'`. */
|
|
45
74
|
navLabel?: string;
|
|
46
75
|
className?: string;
|
|
47
76
|
}
|
|
48
77
|
/**
|
|
49
|
-
* THE top bar: brand, places,
|
|
50
|
-
* screen.
|
|
51
|
-
*
|
|
52
|
-
* ── Why it exists (owner, 2026-09-25) ───────────────────────────────────────────────────
|
|
53
|
-
* *"the music app header on iphone goes off the right side of the screen. It should use
|
|
54
|
-
* icons instead of words and it should not be allowed to make the screen have a wide
|
|
55
|
-
* scrollbar … cb should enforce this via a top bar component so each app cannot do it wrong
|
|
56
|
-
* with separately made components."* Every app had hand-rolled its own `<header><nav>`, and
|
|
57
|
-
* music's — "♪ Music · Library · Visualize · YouTube · Add music · Downloads" plus a theme
|
|
58
|
-
* toggle and an avatar — was ~560px of words on a 390px phone, so the whole page scrolled
|
|
59
|
-
* sideways.
|
|
78
|
+
* THE top bar: three zones on one midline — brand, places, utilities — in a row that can
|
|
79
|
+
* never be wider than the screen.
|
|
60
80
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
81
|
+
* ── Why it is shaped like this ─────────────────────────────────────────────────────────
|
|
82
|
+
* It was born (owner, 2026-09-25) from music's header running off a 390px phone, and the
|
|
83
|
+
* fix then was *"icons instead of words"*. The owner's 2026-10-01 review reversed the words
|
|
84
|
+
* half: thirteen naked icons is mystery-meat navigation (`docs/design/README.md`, "Settled
|
|
85
|
+
* conflicts" #1). So now (`docs/design/shell-and-navigation.md`):
|
|
86
|
+
* · **Destinations have words** (NAV-2) — icon plus label from 768px up. Icons alone only
|
|
87
|
+
* below 768px, or in an `iconOnly` utility bar.
|
|
88
|
+
* · **Three zones, one height** (NAV-1) — `--header-h` (64/48px), every item on one
|
|
89
|
+
* midline, a 1px bottom border and no shadow. Left and right are locked; when space
|
|
90
|
+
* runs out the center gives way, scrolling INSIDE its own strip, so the page never
|
|
91
|
+
* scrolls sideways and the account menu is always reachable.
|
|
92
|
+
* · **The active place is unmistakable** (NAV-6) — a 3px accent bar on the header-side
|
|
93
|
+
* edge, a tinted background and foreground (not muted) text. Never color alone.
|
|
67
94
|
*
|
|
68
95
|
* `guardrails no-raw-nav` is the other half: a hand-rolled `<nav>` in app source fails the
|
|
69
96
|
* app's gate, so the next header is this one.
|
|
70
97
|
*/
|
|
71
|
-
export declare function TopBar({ brand, items, trailing, leading, navLabel, className }: TopBarProps): import("react").JSX.Element;
|
|
98
|
+
export declare function TopBar({ brand, items, trailing, leading, center, density, iconOnly, phonePlaces, linkComponent, navLabel, className, }: TopBarProps): import("react").JSX.Element;
|
|
99
|
+
export interface TopBarPlacesProps extends Pick<TopBarProps, 'items' | 'iconOnly' | 'phonePlaces' | 'linkComponent' | 'navLabel'> {
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The center zone's places on their own — `TopBar` draws them, and so does `AppShell`'s
|
|
103
|
+
* header for a 2–5-place app (NAV-3). One strip, so the two can never drift.
|
|
104
|
+
*/
|
|
105
|
+
export declare function TopBarPlaces({ items, iconOnly, phonePlaces, linkComponent, navLabel, }: TopBarPlacesProps): import("react").JSX.Element;
|
|
72
106
|
//# sourceMappingURL=TopBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../../../src/react/nav/TopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../../../src/react/nav/TopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ1E,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnE,+FAA+F;AAC/F,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CACjD,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAC;IACd,sGAAsG;IACtG,IAAI,EAAE,SAAS,CAAC;IAChB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,oEAAoE;IACpE,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,+FAA+F;IAC/F,KAAK,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IACrF,mGAAmG;IACnG,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAgB,EAChB,WAAqB,EACrB,aAAa,EACb,QAAmB,EACnB,SAAS,GACV,EAAE,WAAW,+BAqEb;AAKD,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,UAAU,CAAC;CAAG;AAEnG;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAgB,EAChB,WAAqB,EACrB,aAAa,EACb,QAAmB,GACpB,EAAE,iBAAiB,+BAsCnB"}
|
package/dist/react/nav/TopBar.js
CHANGED
|
@@ -1,40 +1,75 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ScrollArea } from '../components/ScrollArea.js';
|
|
3
3
|
import { Tooltip } from '../components/Tooltip.js';
|
|
4
|
+
import { useMediaQuery } from '../hooks/useMediaQuery.js';
|
|
4
5
|
import { useScrollEdgeFade } from '../hooks/useScrollEdgeFade.js';
|
|
5
6
|
import { cn } from '../lib/cn.js';
|
|
7
|
+
import { devWarnOnce } from '../lib/devWarn.js';
|
|
6
8
|
import { TAP_TARGET_SQUARE } from '../lib/tapTarget.js';
|
|
9
|
+
import { NAV_BADGE_TONE } from './navShared.js';
|
|
7
10
|
/**
|
|
8
|
-
* THE top bar: brand, places,
|
|
9
|
-
* screen.
|
|
11
|
+
* THE top bar: three zones on one midline — brand, places, utilities — in a row that can
|
|
12
|
+
* never be wider than the screen.
|
|
10
13
|
*
|
|
11
|
-
* ── Why it
|
|
12
|
-
*
|
|
13
|
-
* icons instead of words
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* remaining width and, if a phone is narrower still, scroll INSIDE their own strip.
|
|
25
|
-
* Brand and trailing controls never shrink, so the account menu is always reachable.
|
|
14
|
+
* ── Why it is shaped like this ─────────────────────────────────────────────────────────
|
|
15
|
+
* It was born (owner, 2026-09-25) from music's header running off a 390px phone, and the
|
|
16
|
+
* fix then was *"icons instead of words"*. The owner's 2026-10-01 review reversed the words
|
|
17
|
+
* half: thirteen naked icons is mystery-meat navigation (`docs/design/README.md`, "Settled
|
|
18
|
+
* conflicts" #1). So now (`docs/design/shell-and-navigation.md`):
|
|
19
|
+
* · **Destinations have words** (NAV-2) — icon plus label from 768px up. Icons alone only
|
|
20
|
+
* below 768px, or in an `iconOnly` utility bar.
|
|
21
|
+
* · **Three zones, one height** (NAV-1) — `--header-h` (64/48px), every item on one
|
|
22
|
+
* midline, a 1px bottom border and no shadow. Left and right are locked; when space
|
|
23
|
+
* runs out the center gives way, scrolling INSIDE its own strip, so the page never
|
|
24
|
+
* scrolls sideways and the account menu is always reachable.
|
|
25
|
+
* · **The active place is unmistakable** (NAV-6) — a 3px accent bar on the header-side
|
|
26
|
+
* edge, a tinted background and foreground (not muted) text. Never color alone.
|
|
26
27
|
*
|
|
27
28
|
* `guardrails no-raw-nav` is the other half: a hand-rolled `<nav>` in app source fails the
|
|
28
29
|
* app's gate, so the next header is this one.
|
|
29
30
|
*/
|
|
30
|
-
export function TopBar({ brand, items, trailing, leading, navLabel = 'Places', className }) {
|
|
31
|
+
export function TopBar({ brand, items, trailing, leading, center, density, iconOnly = false, phonePlaces = 'icons', linkComponent, navLabel = 'Places', className, }) {
|
|
32
|
+
if (!iconOnly && items.length > 5) {
|
|
33
|
+
devWarnOnce(`TopBar:too-many:${brand.label}`, `cursedbelt: <TopBar> "${brand.label}" puts ${items.length} places in the header. NAV-3 caps a top bar at 5 — ` +
|
|
34
|
+
'pass the places to AppShell as a NavigationModel with sections, and it renders a SideNav.');
|
|
35
|
+
}
|
|
36
|
+
const hasPlaces = items.length > 0;
|
|
37
|
+
return (_jsxs("header", { "data-cb-topbar": '', "data-cb-density": density, className: cn('flex w-full min-w-0 max-w-full shrink-0 items-center gap-2 border-b border-border px-3 md:gap-4 md:px-6', density === 'dense'
|
|
38
|
+
? 'h-[var(--header-h-dense)]'
|
|
39
|
+
: density === 'roomy'
|
|
40
|
+
? 'h-[var(--header-h-roomy)]'
|
|
41
|
+
: 'h-[var(--header-h)]', className), children: [_jsxs("div", { "data-cb-topbar-zone": 'left', className: 'flex shrink-0 items-center gap-2', children: [leading ? _jsx("div", { className: 'flex shrink-0 items-center', children: leading }) : null, _jsxs("a", { ...brand.linkProps, href: brand.href, "aria-label": brand.label, "data-cb-topbar-brand": '', className: cn('flex shrink-0 items-center gap-2 rounded-md px-1.5 py-1 font-semibold text-foreground', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', TAP_TARGET_SQUARE, 'md:pointer-coarse:w-auto'), children: [_jsx("span", { "aria-hidden": 'true', className: 'grid size-6 place-items-center [&_svg]:size-5', children: brand.icon }), _jsx("span", { "aria-hidden": 'true', className: 'hidden md:inline', children: brand.label })] })] }), _jsxs("div", { "data-cb-topbar-zone": 'center', className: 'flex h-full min-w-0 flex-1 items-center justify-center gap-3', children: [hasPlaces ? (_jsx(TopBarPlaces, { items: items, iconOnly: iconOnly, phonePlaces: phonePlaces, linkComponent: linkComponent, navLabel: navLabel })) : null, center ? _jsx("div", { className: 'flex min-w-0 flex-1 items-center justify-center', children: center }) : null] }), trailing ? (_jsx("div", { "data-cb-topbar-zone": 'right', className: 'flex shrink-0 items-center gap-1', children: trailing })) : null] }));
|
|
42
|
+
}
|
|
43
|
+
/** NAV-2's line: from here up a router's places show their words. */
|
|
44
|
+
const WIDE_QUERY = '(min-width: 768px)';
|
|
45
|
+
/**
|
|
46
|
+
* The center zone's places on their own — `TopBar` draws them, and so does `AppShell`'s
|
|
47
|
+
* header for a 2–5-place app (NAV-3). One strip, so the two can never drift.
|
|
48
|
+
*/
|
|
49
|
+
export function TopBarPlaces({ items, iconOnly = false, phonePlaces = 'icons', linkComponent, navLabel = 'Places', }) {
|
|
31
50
|
const fade = useScrollEdgeFade();
|
|
32
|
-
|
|
51
|
+
const wide = useMediaQuery(WIDE_QUERY);
|
|
52
|
+
return (_jsx("nav", { "aria-label": navLabel, "data-cb-topbar-nav": '', "data-cb-primary-nav": iconOnly ? undefined : '', "data-cb-nav-utility": iconOnly ? '' : undefined, className: cn('h-full min-w-0', phonePlaces === 'none' && !iconOnly && 'max-md:hidden'), style: fade.maskStyle, children: _jsx(ScrollArea, { axis: 'x', space: 'none', safeArea: false, scrollRef: fade.ref, onScroll: fade.onScroll, className: 'h-full w-full [scrollbar-width:none] [&::-webkit-scrollbar]:hidden', children: _jsx("div", { className: 'flex h-full w-max items-center gap-1', children: items.map((item) => (_jsx(TopBarLink, { item: item, hint: iconOnly || !wide, iconOnly: iconOnly, linkComponent: linkComponent }, item.id))) }) }) }));
|
|
33
53
|
}
|
|
34
|
-
function TopBarLink({ item }) {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
54
|
+
function TopBarLink({ item, hint, iconOnly, linkComponent, }) {
|
|
55
|
+
const Link = item.unavailable ? 'span' : (linkComponent ?? 'a');
|
|
56
|
+
const showBadge = item.badge != null && item.badge !== 0;
|
|
57
|
+
const badgeText = typeof item.badge === 'number' && item.badge > 99 ? '99+' : item.badge;
|
|
58
|
+
const target = item.unavailable
|
|
59
|
+
? // HTML has no disabled anchor: a span that still announces as the link it is.
|
|
60
|
+
{ role: 'link', 'aria-disabled': 'true', tabIndex: 0 }
|
|
61
|
+
: { ...item.linkProps, ...(linkComponent ? { to: item.href } : {}), href: item.href };
|
|
62
|
+
const link = (_jsxs(Link, { ...target, "aria-label": showBadge ? `${item.label} · ${badgeText}` : item.label, "aria-current": item.active ? 'page' : undefined, "data-active": item.active ? '' : undefined, "data-cb-nav-item": '', className: cn('relative flex h-9 min-w-9 shrink-0 items-center justify-center gap-2 rounded-md px-2 transition-colors', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', TAP_TARGET_SQUARE, !iconOnly && 'md:px-3 md:pointer-coarse:w-auto', item.unavailable && 'opacity-55', item.active
|
|
63
|
+
? 'bg-accent/10 text-foreground'
|
|
64
|
+
: 'text-muted-foreground hover:bg-muted hover:text-foreground'), children: [item.active ? (_jsx("span", { "aria-hidden": 'true', "data-cb-active-indicator": '', className: 'absolute inset-x-2 bottom-0 h-[var(--indicator-w)] rounded-full bg-accent-solid' })) : null, _jsx("span", { "aria-hidden": 'true', className: 'grid size-5 place-items-center [&_svg]:size-5', children: item.icon }), iconOnly ? null : (_jsx("span", { "aria-hidden": 'true', className: 'hidden whitespace-nowrap text-sm font-medium md:inline', children: item.label })), showBadge ? (_jsx("span", { "aria-hidden": 'true', "data-cb-nav-badge": '', className: cn('rounded-full px-1.5 py-0.5 text-xs font-bold leading-none', NAV_BADGE_TONE[item.badgeTone ?? 'alert'],
|
|
65
|
+
// Where the glyph stands alone the count rides on its corner — a pill beside it
|
|
66
|
+
// would crowd the strip, and hiding it would hide the one figure the reader goes by.
|
|
67
|
+
iconOnly ? 'absolute -top-0.5 -right-0.5' : 'max-md:absolute max-md:-top-0.5 max-md:-right-0.5'), children: badgeText })) : null] }));
|
|
68
|
+
if (item.unavailable) {
|
|
69
|
+
return (_jsx(Tooltip, { content: `${item.label} — not available here. ${item.unavailable}`, side: 'bottom', multiline: true, children: link }));
|
|
70
|
+
}
|
|
71
|
+
// The hover hint is only for a glyph standing alone: in a utility bar always, and below
|
|
72
|
+
// 768px in a router. Above it the word is painted, and a tooltip repeating it is noise.
|
|
73
|
+
return hint ? (_jsx(Tooltip, { content: item.label, side: 'bottom', children: link })) : (link);
|
|
39
74
|
}
|
|
40
75
|
//# sourceMappingURL=TopBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../../../src/react/nav/TopBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../../../src/react/nav/TopBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,5 +16,5 @@ export { type IconResolver, isPathWithin, NavLink, type NavLinkProps, type NavNa
|
|
|
16
16
|
export { PlaceBar, type PlaceBarProps } from './PlaceBar.js';
|
|
17
17
|
export { type SearchResultGroup, type SearchResultRow, SearchResults, type SearchResultsProps, searchOptionId, } from './SearchResults.js';
|
|
18
18
|
export { SideNav, type SideNavProps } from './SideNav.js';
|
|
19
|
-
export { TopBar, type TopBarItem, type TopBarLinkProps, type TopBarProps } from './TopBar.js';
|
|
19
|
+
export { TopBar, type TopBarItem, type TopBarLinkProps, TopBarPlaces, type TopBarPlacesProps, type TopBarProps, } from './TopBar.js';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/nav/index.ts"],"names":[],"mappings":"AAQA,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,aAAa,EACb,aAAa,EACb,KAAK,qBAAqB,EAC1B,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,KAAK,YAAY,EACjB,YAAY,EACZ,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,aAAa,EACb,KAAK,kBAAkB,EACvB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/nav/index.ts"],"names":[],"mappings":"AAQA,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,aAAa,EACb,aAAa,EACb,KAAK,qBAAqB,EAC1B,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,KAAK,YAAY,EACjB,YAAY,EACZ,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,aAAa,EACb,KAAK,kBAAkB,EACvB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC"}
|
package/dist/react/nav/index.js
CHANGED
|
@@ -23,5 +23,5 @@ export { isPathWithin, NavLink, } from './navShared.js';
|
|
|
23
23
|
export { PlaceBar } from './PlaceBar.js';
|
|
24
24
|
export { SearchResults, searchOptionId, } from './SearchResults.js';
|
|
25
25
|
export { SideNav } from './SideNav.js';
|
|
26
|
-
export { TopBar } from './TopBar.js';
|
|
26
|
+
export { TopBar, TopBarPlaces, } from './TopBar.js';
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/nav/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,iGAAiG;AACjG,sFAAsF;AACtF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,6FAA6F;AAE7F,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,WAAW,EAEX,eAAe,EAEf,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAKL,aAAa,EACb,aAAa,EAEb,QAAQ,EAGR,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAA4B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAEL,YAAY,EACZ,OAAO,GAGR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAGL,aAAa,EAEb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/nav/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,iGAAiG;AACjG,sFAAsF;AACtF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,6FAA6F;AAE7F,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,WAAW,EAEX,eAAe,EAEf,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAKL,aAAa,EACb,aAAa,EAEb,QAAQ,EAGR,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAA4B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAEL,YAAY,EACZ,OAAO,GAGR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAGL,aAAa,EAEb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,MAAM,EAGN,YAAY,GAGb,MAAM,aAAa,CAAC"}
|