@medalsocial/meda 2.7.2 → 2.8.1
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/README.md +65 -1
- package/dist/auth/auth-message.d.ts +3 -3
- package/dist/auth/auth-provider-button.d.ts +1 -1
- package/dist/auth/auth-provider-list.d.ts +1 -1
- package/dist/auth/better-auth.d.ts +3 -3
- package/dist/brand/medal-social-mark.d.ts +1 -1
- package/dist/calendar/calendar-toolbar.d.ts +1 -1
- package/dist/calendar/calendar.d.ts +1 -1
- package/dist/calendar/day-view.d.ts +1 -1
- package/dist/calendar/internal/day-cell.d.ts +1 -1
- package/dist/calendar/internal/event-pill.d.ts +1 -1
- package/dist/calendar/internal/time-slot.d.ts +1 -1
- package/dist/calendar/month-view.d.ts +1 -1
- package/dist/calendar/week-view.d.ts +1 -1
- package/dist/chat/latency-badge.d.ts +1 -1
- package/dist/chat/latency-breakdown.d.ts +1 -1
- package/dist/chat/tool-call-block.d.ts +1 -1
- package/dist/chat/transcript-stream.d.ts +1 -1
- package/dist/chat/turn-card.d.ts +1 -1
- package/dist/components/ui/checkbox.d.ts +1 -1
- package/dist/components/ui/collapsible.d.ts +3 -3
- package/dist/components/ui/command.d.ts +9 -9
- package/dist/components/ui/dialog.d.ts +10 -10
- package/dist/components/ui/drawer.d.ts +10 -10
- package/dist/components/ui/dropdown-menu.d.ts +15 -15
- package/dist/components/ui/tooltip.d.ts +4 -4
- package/dist/email-builder/block-palette.d.ts +1 -1
- package/dist/email-builder/block-renderer.d.ts +1 -1
- package/dist/email-builder/block-renderers/button.d.ts +1 -1
- package/dist/email-builder/block-renderers/columns.d.ts +1 -1
- package/dist/email-builder/block-renderers/divider.d.ts +1 -1
- package/dist/email-builder/block-renderers/footer.d.ts +1 -1
- package/dist/email-builder/block-renderers/heading.d.ts +1 -1
- package/dist/email-builder/block-renderers/image.d.ts +1 -1
- package/dist/email-builder/block-renderers/social.d.ts +1 -1
- package/dist/email-builder/block-renderers/spacer.d.ts +1 -1
- package/dist/email-builder/block-renderers/text.d.ts +1 -1
- package/dist/email-builder/builder-canvas.d.ts +1 -1
- package/dist/email-builder/builder-header.d.ts +1 -1
- package/dist/email-builder/builder-left-tabs.d.ts +1 -1
- package/dist/email-builder/email-builder.d.ts +1 -1
- package/dist/email-builder/envelope-card.d.ts +1 -1
- package/dist/email-builder/floating-bar.d.ts +1 -1
- package/dist/email-builder/internal/dnd-wrapper.d.ts +1 -1
- package/dist/email-builder/mobile-drawers.d.ts +1 -1
- package/dist/email-builder/mobile-tab-bar.d.ts +1 -1
- package/dist/email-builder/property-editors/_shared.d.ts +8 -8
- package/dist/email-builder/property-editors/button-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/columns-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/divider-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/footer-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/heading-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/image-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/social-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/spacer-editor.d.ts +1 -1
- package/dist/email-builder/property-editors/text-editor.d.ts +1 -1
- package/dist/email-builder/property-inspector.d.ts +1 -1
- package/dist/email-builder/view-controls.d.ts +1 -1
- package/dist/kanban/kanban-board.d.ts +1 -1
- package/dist/kanban/kanban-card-wrapper.d.ts +1 -1
- package/dist/kanban/kanban-column.d.ts +1 -1
- package/dist/list/list-row.d.ts +2 -2
- package/dist/marketing/marketing-announcement-bar.d.ts +1 -1
- package/dist/marketing/marketing-bento-card.d.ts +1 -1
- package/dist/marketing/marketing-bento-grid.d.ts +1 -1
- package/dist/marketing/marketing-callout.d.ts +1 -1
- package/dist/marketing/marketing-contact.d.ts +1 -1
- package/dist/marketing/marketing-cta-list.d.ts +1 -1
- package/dist/marketing/marketing-cta.d.ts +1 -1
- package/dist/marketing/marketing-faq.d.ts +1 -1
- package/dist/marketing/marketing-footer.d.ts +1 -1
- package/dist/marketing/marketing-header-logo.d.ts +1 -1
- package/dist/marketing/marketing-header.d.ts +1 -1
- package/dist/marketing/marketing-hero.d.ts +1 -1
- package/dist/marketing/marketing-lead-magnet.d.ts +1 -1
- package/dist/marketing/marketing-mega-menu.d.ts +1 -1
- package/dist/marketing/marketing-nav-item.d.ts +1 -1
- package/dist/marketing/marketing-numbered-features.d.ts +1 -1
- package/dist/marketing/marketing-shell.d.ts +1 -1
- package/dist/marketing/marketing-trust-bar.d.ts +1 -1
- package/dist/panel/inspector-field.d.ts +1 -1
- package/dist/panel/inspector-json.d.ts +1 -1
- package/dist/panel/inspector.d.ts +1 -1
- package/dist/post-preview/internal/avatar.d.ts +1 -1
- package/dist/post-preview/platforms/bluesky.d.ts +1 -1
- package/dist/post-preview/platforms/discord.d.ts +1 -1
- package/dist/post-preview/platforms/facebook.d.ts +1 -1
- package/dist/post-preview/platforms/generic.d.ts +1 -1
- package/dist/post-preview/platforms/google-business.d.ts +1 -1
- package/dist/post-preview/platforms/instagram.d.ts +1 -1
- package/dist/post-preview/platforms/linkedin.d.ts +1 -1
- package/dist/post-preview/platforms/telegram.d.ts +1 -1
- package/dist/post-preview/platforms/threads.d.ts +1 -1
- package/dist/post-preview/platforms/tiktok.d.ts +1 -1
- package/dist/post-preview/platforms/twitter.d.ts +1 -1
- package/dist/post-preview/platforms/youtube.d.ts +1 -1
- package/dist/primitives/card.d.ts +4 -4
- package/dist/primitives/empty-state.d.ts +1 -1
- package/dist/primitives/filter-rail.d.ts +2 -2
- package/dist/primitives/markdown-view.d.ts +1 -1
- package/dist/primitives/skeleton.d.ts +1 -1
- package/dist/primitives/status-pill.d.ts +1 -1
- package/dist/shell/app-shell-auth.d.ts +1 -1
- package/dist/shell/app-shell-chat.d.ts +1 -1
- package/dist/shell/app-shell-workspace.d.ts +8 -2
- package/dist/shell/app-shell-workspace.js +7 -3
- package/dist/shell/app-shell.d.ts +14 -4
- package/dist/shell/app-shell.js +1 -1
- package/dist/shell/command-palette.d.ts +1 -1
- package/dist/shell/context-rail.d.ts +1 -1
- package/dist/shell/drag-mode-banner.d.ts +1 -1
- package/dist/shell/extras/shell-desktop-panel-dock.d.ts +1 -1
- package/dist/shell/extras/shell-scrollable-content.d.ts +1 -1
- package/dist/shell/extras/shell-tab-bar.d.ts +1 -1
- package/dist/shell/extras/workbench-layout.d.ts +1 -1
- package/dist/shell/icon-rail.d.ts +2 -2
- package/dist/shell/index.d.ts +2 -2
- package/dist/shell/internal/mobile-bottom-nav.d.ts +1 -1
- package/dist/shell/internal/mobile-dock.d.ts +7 -1
- package/dist/shell/internal/mobile-dock.js +26 -11
- package/dist/shell/internal/mobile-drawers.d.ts +1 -1
- package/dist/shell/internal/mobile-header.d.ts +1 -1
- package/dist/shell/internal/mobile-workspace-sheet.d.ts +15 -1
- package/dist/shell/internal/mobile-workspace-sheet.js +70 -3
- package/dist/shell/panel-views-provider.d.ts +1 -1
- package/dist/shell/rail-drop-slot.d.ts +1 -1
- package/dist/shell/rail-drop-zones.d.ts +1 -1
- package/dist/shell/resizable-shell.d.ts +3 -3
- package/dist/shell/right-panel.d.ts +1 -1
- package/dist/shell/shell-header.d.ts +43 -6
- package/dist/shell/shell-header.js +29 -5
- package/dist/shell/shell-main.d.ts +1 -1
- package/dist/shell/shell-provider.d.ts +1 -1
- package/dist/shell/theme-next-themes.d.ts +1 -1
- package/dist/shell/theme.d.ts +2 -2
- package/dist/shell/types.d.ts +38 -0
- package/dist/shell/use-shell-viewport.js +3 -1
- package/dist/timeline/date-switcher.d.ts +1 -1
- package/dist/timeline/event-card.d.ts +1 -1
- package/dist/timeline/lane-timeline.d.ts +1 -1
- package/dist/timeline/lane.d.ts +1 -1
- package/dist/timeline/live-indicator.d.ts +1 -1
- package/dist/timeline/scrub-bar.d.ts +1 -1
- package/dist/timeline/time-axis.d.ts +1 -1
- package/dist/timeline/timeline-rail.d.ts +1 -1
- package/dist/timeline/timeline-tape.d.ts +1 -1
- package/dist/voice/voice-level.d.ts +2 -1
- package/dist/voice/voice-orb-scene.d.ts +2 -1
- package/dist/voice/voice-status-pill.d.ts +1 -1
- package/dist/workflow-builder/edges/default-edge.d.ts +1 -1
- package/dist/workflow-builder/nodes/action-node.d.ts +1 -1
- package/dist/workflow-builder/nodes/base-node.d.ts +1 -1
- package/dist/workflow-builder/nodes/condition-node.d.ts +1 -1
- package/dist/workflow-builder/nodes/delay-node.d.ts +1 -1
- package/dist/workflow-builder/nodes/end-node.d.ts +1 -1
- package/dist/workflow-builder/nodes/trigger-node.d.ts +1 -1
- package/dist/workflow-builder/workflow-builder.d.ts +1 -1
- package/dist/workflow-builder/workflow-canvas.d.ts +1 -1
- package/dist/workflow-builder/workflow-card-compact.d.ts +1 -1
- package/dist/workflow-builder/workflow-card.d.ts +1 -1
- package/dist/workflow-builder/workflow-header.d.ts +1 -1
- package/dist/workflow-builder/workflow-toolbox.d.ts +1 -1
- package/package.json +42 -41
- package/skills/shell/SKILL.md +86 -1
|
@@ -9,21 +9,21 @@ export declare function Field({ label, htmlFor, children, }: {
|
|
|
9
9
|
label: string;
|
|
10
10
|
htmlFor?: string;
|
|
11
11
|
children: ReactNode;
|
|
12
|
-
}): import("react
|
|
12
|
+
}): import("react").JSX.Element;
|
|
13
13
|
export declare function TextInput({ id, value, onChange, placeholder, 'aria-label': ariaLabel, }: {
|
|
14
14
|
id?: string;
|
|
15
15
|
value: string;
|
|
16
16
|
onChange: (next: string) => void;
|
|
17
17
|
placeholder?: string;
|
|
18
18
|
'aria-label'?: string;
|
|
19
|
-
}): import("react
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
20
|
export declare function TextAreaInput({ id, value, onChange, rows, 'aria-label': ariaLabel, }: {
|
|
21
21
|
id?: string;
|
|
22
22
|
value: string;
|
|
23
23
|
onChange: (next: string) => void;
|
|
24
24
|
rows?: number;
|
|
25
25
|
'aria-label'?: string;
|
|
26
|
-
}): import("react
|
|
26
|
+
}): import("react").JSX.Element;
|
|
27
27
|
export declare function NumberInput({ id, value, onChange, min, max, step, 'aria-label': ariaLabel, }: {
|
|
28
28
|
id?: string;
|
|
29
29
|
value: number;
|
|
@@ -32,12 +32,12 @@ export declare function NumberInput({ id, value, onChange, min, max, step, 'aria
|
|
|
32
32
|
max?: number;
|
|
33
33
|
step?: number;
|
|
34
34
|
'aria-label'?: string;
|
|
35
|
-
}): import("react
|
|
35
|
+
}): import("react").JSX.Element;
|
|
36
36
|
export declare function ColorInput({ id, value, onChange, }: {
|
|
37
37
|
id?: string;
|
|
38
38
|
value: string;
|
|
39
39
|
onChange: (next: string) => void;
|
|
40
|
-
}): import("react
|
|
40
|
+
}): import("react").JSX.Element;
|
|
41
41
|
export declare function SelectInput<T extends string>({ id, value, options, onChange, 'aria-label': ariaLabel, }: {
|
|
42
42
|
id?: string;
|
|
43
43
|
value: T;
|
|
@@ -47,12 +47,12 @@ export declare function SelectInput<T extends string>({ id, value, options, onCh
|
|
|
47
47
|
}[];
|
|
48
48
|
onChange: (next: T) => void;
|
|
49
49
|
'aria-label'?: string;
|
|
50
|
-
}): import("react
|
|
50
|
+
}): import("react").JSX.Element;
|
|
51
51
|
export declare function AlignmentToggle({ value, onChange, }: {
|
|
52
52
|
value: Alignment;
|
|
53
53
|
onChange: (next: Alignment) => void;
|
|
54
|
-
}): import("react
|
|
54
|
+
}): import("react").JSX.Element;
|
|
55
55
|
export declare function SpacingEditor({ value, onChange, }: {
|
|
56
56
|
value: SpacingValue;
|
|
57
57
|
onChange: (next: SpacingValue) => void;
|
|
58
|
-
}): import("react
|
|
58
|
+
}): import("react").JSX.Element;
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: ButtonBlockProps;
|
|
4
4
|
onChange: (patch: Partial<ButtonBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function ButtonPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function ButtonPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: ColumnsBlockProps;
|
|
4
4
|
onChange: (patch: Partial<ColumnsBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function ColumnsPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function ColumnsPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: DividerBlockProps;
|
|
4
4
|
onChange: (patch: Partial<DividerBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function DividerPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function DividerPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: FooterBlockProps;
|
|
4
4
|
onChange: (patch: Partial<FooterBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function FooterPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function FooterPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: HeadingBlockProps;
|
|
4
4
|
onChange: (patch: Partial<HeadingBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function HeadingPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function HeadingPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -4,5 +4,5 @@ interface Props {
|
|
|
4
4
|
onChange: (patch: Partial<ImageBlockProps>) => void;
|
|
5
5
|
renderMediaPicker?: EmailBuilderProps['renderMediaPicker'];
|
|
6
6
|
}
|
|
7
|
-
export declare function ImagePropertyEditor({ value, onChange, renderMediaPicker }: Props): import("react
|
|
7
|
+
export declare function ImagePropertyEditor({ value, onChange, renderMediaPicker }: Props): import("react").JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: SocialBlockProps;
|
|
4
4
|
onChange: (patch: Partial<SocialBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function SocialPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function SocialPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
value: SpacerBlockProps;
|
|
4
4
|
onChange: (patch: Partial<SpacerBlockProps>) => void;
|
|
5
5
|
}
|
|
6
|
-
export declare function SpacerPropertyEditor({ value, onChange }: Props): import("react
|
|
6
|
+
export declare function SpacerPropertyEditor({ value, onChange }: Props): import("react").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -9,5 +9,5 @@ interface Props {
|
|
|
9
9
|
onChange: (next: string) => void;
|
|
10
10
|
}) => ReactNode;
|
|
11
11
|
}
|
|
12
|
-
export declare function TextPropertyEditor({ value, onChange, renderEditor }: Props): import("react
|
|
12
|
+
export declare function TextPropertyEditor({ value, onChange, renderEditor }: Props): import("react").JSX.Element;
|
|
13
13
|
export {};
|
|
@@ -7,5 +7,5 @@ interface PropertyInspectorProps {
|
|
|
7
7
|
renderMediaPicker?: EmailBuilderProps['renderMediaPicker'];
|
|
8
8
|
renderTextEditor?: EmailBuilderProps['renderTextEditor'];
|
|
9
9
|
}
|
|
10
|
-
export declare function PropertyInspector({ block, onChange, emptyContent, renderMediaPicker, renderTextEditor, }: PropertyInspectorProps): import("react
|
|
10
|
+
export declare function PropertyInspector({ block, onChange, emptyContent, renderMediaPicker, renderTextEditor, }: PropertyInspectorProps): import("react").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -6,5 +6,5 @@ interface ViewControlsProps {
|
|
|
6
6
|
mobileLabel: string;
|
|
7
7
|
}
|
|
8
8
|
/** Toggle between desktop and mobile preview modes. */
|
|
9
|
-
export declare function ViewControls({ device, onDeviceChange, desktopLabel, mobileLabel, }: ViewControlsProps): import("react
|
|
9
|
+
export declare function ViewControls({ device, onDeviceChange, desktopLabel, mobileLabel, }: ViewControlsProps): import("react").JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -5,4 +5,4 @@ import { type KanbanBoardProps, type KanbanItem } from './types.js';
|
|
|
5
5
|
* A reusable drag-and-drop kanban board that can be used across
|
|
6
6
|
* different features (Deals, Ideas, etc.)
|
|
7
7
|
*/
|
|
8
|
-
export declare function KanbanBoard<TItem extends KanbanItem, TStatus extends string = string>(props: KanbanBoardProps<TItem, TStatus>): import("react
|
|
8
|
+
export declare function KanbanBoard<TItem extends KanbanItem, TStatus extends string = string>(props: KanbanBoardProps<TItem, TStatus>): import("react").JSX.Element;
|
|
@@ -12,5 +12,5 @@ interface KanbanCardWrapperProps {
|
|
|
12
12
|
*
|
|
13
13
|
* Wraps card content to make it draggable within the kanban board.
|
|
14
14
|
*/
|
|
15
|
-
export declare function KanbanCardWrapper({ id, isDragging, children }: KanbanCardWrapperProps): import("react
|
|
15
|
+
export declare function KanbanCardWrapper({ id, isDragging, children }: KanbanCardWrapperProps): import("react").JSX.Element;
|
|
16
16
|
export {};
|
|
@@ -15,5 +15,5 @@ interface KanbanColumnProps<TItem extends KanbanItem> {
|
|
|
15
15
|
*
|
|
16
16
|
* A single column in the kanban board that can receive dropped items.
|
|
17
17
|
*/
|
|
18
|
-
export declare function KanbanColumn<TItem extends KanbanItem>({ column, count, isOver, onAddItem, onHideColumn, labels, children, }: KanbanColumnProps<TItem>): import("react
|
|
18
|
+
export declare function KanbanColumn<TItem extends KanbanItem>({ column, count, isOver, onAddItem, onHideColumn, labels, children, }: KanbanColumnProps<TItem>): import("react").JSX.Element;
|
|
19
19
|
export {};
|
package/dist/list/list-row.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export interface ListRowProps {
|
|
|
33
33
|
* A Linear-style list row with checkbox, hover states, and click handling.
|
|
34
34
|
* Compact ~40-48px height for dense, scannable lists.
|
|
35
35
|
*/
|
|
36
|
-
export declare function ListRow({ selected, selectionActive, onSelect, onClick, onMouseEnter, onMouseLeave, onFocus, onBlur, focused, children, className, }: ListRowProps): import("react
|
|
36
|
+
export declare function ListRow({ selected, selectionActive, onSelect, onClick, onMouseEnter, onMouseLeave, onFocus, onBlur, focused, children, className, }: ListRowProps): import("react").JSX.Element;
|
|
37
37
|
/**
|
|
38
38
|
* Cell wrapper for consistent column sizing
|
|
39
39
|
*/
|
|
@@ -49,4 +49,4 @@ export interface ListCellProps {
|
|
|
49
49
|
/** Additional class names */
|
|
50
50
|
className?: string;
|
|
51
51
|
}
|
|
52
|
-
export declare function ListCell({ width, shrink, align, children, className, }: ListCellProps): import("react
|
|
52
|
+
export declare function ListCell({ width, shrink, align, children, className, }: ListCellProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingAnnouncementBarProps } from './types.js';
|
|
2
|
-
export declare function MarketingAnnouncementBar({ href, icon, children, className, }: MarketingAnnouncementBarProps): import("react
|
|
2
|
+
export declare function MarketingAnnouncementBar({ href, icon, children, className, }: MarketingAnnouncementBarProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingBentoCardProps } from './types.js';
|
|
2
|
-
export declare function MarketingBentoCard({ colSpan, rowSpan, variant, icon, title, description, children, href, className, }: MarketingBentoCardProps): import("react
|
|
2
|
+
export declare function MarketingBentoCard({ colSpan, rowSpan, variant, icon, title, description, children, href, className, }: MarketingBentoCardProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingBentoGridProps } from './types.js';
|
|
2
|
-
export declare function MarketingBentoGrid({ cols, children, className }: MarketingBentoGridProps): import("react
|
|
2
|
+
export declare function MarketingBentoGrid({ cols, children, className }: MarketingBentoGridProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingCalloutProps } from './types.js';
|
|
2
|
-
export declare function MarketingCallout({ eyebrow, title, description, children, ctas, variant, align, className, }: MarketingCalloutProps): import("react
|
|
2
|
+
export declare function MarketingCallout({ eyebrow, title, description, children, ctas, variant, align, className, }: MarketingCalloutProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingContactProps } from './types.js';
|
|
2
|
-
export declare function MarketingContact({ intro, form, office, contactPerson, compact, className, }: MarketingContactProps): import("react
|
|
2
|
+
export declare function MarketingContact({ intro, form, office, contactPerson, compact, className, }: MarketingContactProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingCtaListProps } from './types.js';
|
|
2
|
-
export declare function MarketingCtaList({ ctas, align, className }: MarketingCtaListProps): import("react
|
|
2
|
+
export declare function MarketingCtaList({ ctas, align, className }: MarketingCtaListProps): import("react").JSX.Element | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingCTAProps } from './types.js';
|
|
2
|
-
export declare function MarketingCTA({ eyebrow, title, subtitle, ctas, className }: MarketingCTAProps): import("react
|
|
2
|
+
export declare function MarketingCTA({ eyebrow, title, subtitle, ctas, className }: MarketingCTAProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingFAQProps } from './types.js';
|
|
2
|
-
export declare function MarketingFAQ({ eyebrow, title, items, defaultOpenId, className, }: MarketingFAQProps): import("react
|
|
2
|
+
export declare function MarketingFAQ({ eyebrow, title, items, defaultOpenId, className, }: MarketingFAQProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingFooterProps } from './types.js';
|
|
2
|
-
export declare function MarketingFooter({ brand, tagline, columns, bottomSlot, className, }: MarketingFooterProps): import("react
|
|
2
|
+
export declare function MarketingFooter({ brand, tagline, columns, bottomSlot, className, }: MarketingFooterProps): import("react").JSX.Element;
|
|
@@ -7,4 +7,4 @@ export interface MarketingHeaderLogoProps {
|
|
|
7
7
|
label?: string;
|
|
8
8
|
className?: string;
|
|
9
9
|
}
|
|
10
|
-
export declare function MarketingHeaderLogo({ mark, word, href, label, className, }: MarketingHeaderLogoProps): import("react
|
|
10
|
+
export declare function MarketingHeaderLogo({ mark, word, href, label, className, }: MarketingHeaderLogoProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingHeaderProps } from './types.js';
|
|
2
|
-
export declare function MarketingHeader({ logo, navItems, user, signInHref, signUpHref, appHref, rightSlot, toggles, renderLoggedOut, renderLoggedIn, className, }: MarketingHeaderProps): import("react
|
|
2
|
+
export declare function MarketingHeader({ logo, navItems, user, signInHref, signUpHref, appHref, rightSlot, toggles, renderLoggedOut, renderLoggedIn, className, }: MarketingHeaderProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingHeroProps } from './types.js';
|
|
2
|
-
export declare function MarketingHero({ eyebrow, headline, subtitle, ctas, meta, productMockup, className, }: MarketingHeroProps): import("react
|
|
2
|
+
export declare function MarketingHero({ eyebrow, headline, subtitle, ctas, meta, productMockup, className, }: MarketingHeroProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingLeadMagnetProps } from './types.js';
|
|
2
|
-
export declare function MarketingLeadMagnet({ title, description, benefits, image, buttonText, formTitle, form, variant, open, defaultOpen, onOpenChange, className, }: MarketingLeadMagnetProps): import("react
|
|
2
|
+
export declare function MarketingLeadMagnet({ title, description, benefits, image, buttonText, formTitle, form, variant, open, defaultOpen, onOpenChange, className, }: MarketingLeadMagnetProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingMegaMenuProps } from './types.js';
|
|
2
|
-
export declare function MarketingMegaMenu({ triggerId, open, onOpenChange, features, children, className, }: MarketingMegaMenuProps): import("react
|
|
2
|
+
export declare function MarketingMegaMenu({ triggerId, open, onOpenChange, features, children, className, }: MarketingMegaMenuProps): import("react").JSX.Element | null;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingNumberedFeaturesProps } from './types.js';
|
|
2
|
-
export declare function MarketingNumberedFeatures({ eyebrow, title, features, className, }: MarketingNumberedFeaturesProps): import("react
|
|
2
|
+
export declare function MarketingNumberedFeatures({ eyebrow, title, features, className, }: MarketingNumberedFeaturesProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingShellProps } from './types.js';
|
|
2
|
-
export declare function MarketingShell({ header, footer, children, className }: MarketingShellProps): import("react
|
|
2
|
+
export declare function MarketingShell({ header, footer, children, className }: MarketingShellProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { MarketingTrustBarProps } from './types.js';
|
|
2
|
-
export declare function MarketingTrustBar({ eyebrow, title, stats, className }: MarketingTrustBarProps): import("react
|
|
2
|
+
export declare function MarketingTrustBar({ eyebrow, title, stats, className }: MarketingTrustBarProps): import("react").JSX.Element;
|
|
@@ -6,4 +6,4 @@ export interface InspectorFieldProps {
|
|
|
6
6
|
hint?: ReactNode;
|
|
7
7
|
className?: string;
|
|
8
8
|
}
|
|
9
|
-
export declare function InspectorField({ label, value, hint, className }: InspectorFieldProps): import("react
|
|
9
|
+
export declare function InspectorField({ label, value, hint, className }: InspectorFieldProps): import("react").JSX.Element;
|
|
@@ -4,4 +4,4 @@ export interface InspectorJSONProps {
|
|
|
4
4
|
indent?: number;
|
|
5
5
|
className?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function InspectorJSON({ data, indent, className }: InspectorJSONProps): import("react
|
|
7
|
+
export declare function InspectorJSON({ data, indent, className }: InspectorJSONProps): import("react").JSX.Element;
|
|
@@ -4,4 +4,4 @@ export interface InspectorProps {
|
|
|
4
4
|
defaultTab?: string;
|
|
5
5
|
className?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function Inspector({ tabs, defaultTab, className }: InspectorProps): import("react
|
|
7
|
+
export declare function Inspector({ tabs, defaultTab, className }: InspectorProps): import("react").JSX.Element;
|
|
@@ -9,4 +9,4 @@ export interface AvatarProps {
|
|
|
9
9
|
* from the public surface so we don't lock consumers in. Consumers
|
|
10
10
|
* who want a richer Avatar primitive should pull one from elsewhere.
|
|
11
11
|
*/
|
|
12
|
-
export declare function Avatar({ src, displayName, className }: AvatarProps): import("react
|
|
12
|
+
export declare function Avatar({ src, displayName, className }: AvatarProps): import("react").JSX.Element;
|
|
@@ -12,4 +12,4 @@ export interface BlueSkyPreviewProps extends PostPreviewBaseProps {
|
|
|
12
12
|
* BlueSky feed-card preview. Auto-formats the username with `.bsky.social`
|
|
13
13
|
* if no domain is present.
|
|
14
14
|
*/
|
|
15
|
-
export declare function BlueSkyPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: BlueSkyPreviewProps): import("react
|
|
15
|
+
export declare function BlueSkyPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: BlueSkyPreviewProps): import("react").JSX.Element;
|
|
@@ -41,4 +41,4 @@ export interface DiscordPreviewProps extends PostPreviewBaseProps {
|
|
|
41
41
|
* Discord channel message preview. Renders the user message followed by
|
|
42
42
|
* any embeds (unless `suppressEmbeds` is true).
|
|
43
43
|
*/
|
|
44
|
-
export declare function DiscordPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, embeds, suppressEmbeds, }: DiscordPreviewProps): import("react
|
|
44
|
+
export declare function DiscordPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, embeds, suppressEmbeds, }: DiscordPreviewProps): import("react").JSX.Element;
|
|
@@ -20,4 +20,4 @@ export interface FacebookPreviewProps extends PostPreviewBaseProps {
|
|
|
20
20
|
* Facebook feed-card preview. Renders displayName, avatar, content, optional
|
|
21
21
|
* media grid, and the standard Like/Comment/Share footer.
|
|
22
22
|
*/
|
|
23
|
-
export declare function FacebookPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: FacebookPreviewProps): import("react
|
|
23
|
+
export declare function FacebookPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: FacebookPreviewProps): import("react").JSX.Element;
|
|
@@ -19,4 +19,4 @@ export interface GenericPreviewProps extends PostPreviewBaseProps {
|
|
|
19
19
|
* component. Layout is intentionally neutral so it composes well inside
|
|
20
20
|
* `PlatformChrome` if a consumer wants to add device framing.
|
|
21
21
|
*/
|
|
22
|
-
export declare function GenericPreview({ platform, displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: GenericPreviewProps): import("react
|
|
22
|
+
export declare function GenericPreview({ platform, displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: GenericPreviewProps): import("react").JSX.Element;
|
|
@@ -15,4 +15,4 @@ export interface GoogleBusinessPreviewProps extends PostPreviewBaseProps {
|
|
|
15
15
|
* Google Business Profile update-post preview. Renders the business name,
|
|
16
16
|
* timestamp, content, optional media, and a Learn-more CTA button.
|
|
17
17
|
*/
|
|
18
|
-
export declare function GoogleBusinessPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: GoogleBusinessPreviewProps): import("react
|
|
18
|
+
export declare function GoogleBusinessPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: GoogleBusinessPreviewProps): import("react").JSX.Element;
|
|
@@ -28,4 +28,4 @@ export interface InstagramPreviewProps extends PostPreviewBaseProps {
|
|
|
28
28
|
* Instagram preview supporting Feed / Carousel / Reel / Story layouts.
|
|
29
29
|
* Auto-detects `carousel` when more than one media URL is present.
|
|
30
30
|
*/
|
|
31
|
-
export declare function InstagramPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, instagramPostType, }: InstagramPreviewProps): import("react
|
|
31
|
+
export declare function InstagramPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, instagramPostType, }: InstagramPreviewProps): import("react").JSX.Element;
|
|
@@ -49,4 +49,4 @@ export interface LinkedInPreviewProps extends PostPreviewBaseProps {
|
|
|
49
49
|
* content with optional `@mention` highlight spans, media grid, and the
|
|
50
50
|
* standard Like/Comment/Repost/Send footer.
|
|
51
51
|
*/
|
|
52
|
-
export declare function LinkedInPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, mentions, onMentionsChange, renderMentionPicker, }: LinkedInPreviewProps): import("react
|
|
52
|
+
export declare function LinkedInPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, mentions, onMentionsChange, renderMentionPicker, }: LinkedInPreviewProps): import("react").JSX.Element;
|
|
@@ -43,4 +43,4 @@ export interface TelegramPreviewProps extends PostPreviewBaseProps {
|
|
|
43
43
|
* Telegram channel post preview. Renders a chat bubble with optional
|
|
44
44
|
* poll, pinned indicator, and inline keyboard.
|
|
45
45
|
*/
|
|
46
|
-
export declare function TelegramPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, poll, pinMessage, replyMarkup, }: TelegramPreviewProps): import("react
|
|
46
|
+
export declare function TelegramPreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, poll, pinMessage, replyMarkup, }: TelegramPreviewProps): import("react").JSX.Element;
|
|
@@ -16,4 +16,4 @@ export interface ThreadsPreviewProps extends PostPreviewBaseProps {
|
|
|
16
16
|
* Threads feed-card preview. Honors a parent `.dark` class for the dark
|
|
17
17
|
* variant the platform itself uses.
|
|
18
18
|
*/
|
|
19
|
-
export declare function ThreadsPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: ThreadsPreviewProps): import("react
|
|
19
|
+
export declare function ThreadsPreview({ displayName, username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: ThreadsPreviewProps): import("react").JSX.Element;
|
|
@@ -15,4 +15,4 @@ export interface TikTokPreviewProps extends PostPreviewBaseProps {
|
|
|
15
15
|
* TikTok video-overlay preview. Always renders against a dark background to
|
|
16
16
|
* match the platform's video-first UI.
|
|
17
17
|
*/
|
|
18
|
-
export declare function TikTokPreview({ displayName, username, avatarUrl, content, editable, onContentChange, className, labels, }: TikTokPreviewProps): import("react
|
|
18
|
+
export declare function TikTokPreview({ displayName, username, avatarUrl, content, editable, onContentChange, className, labels, }: TikTokPreviewProps): import("react").JSX.Element;
|
|
@@ -37,4 +37,4 @@ export interface TwitterPreviewProps extends PostPreviewBaseProps {
|
|
|
37
37
|
* Twitter / X feed-card preview. Supports light, dim, and lights-out
|
|
38
38
|
* themes plus an optional `@mention` picker render slot.
|
|
39
39
|
*/
|
|
40
|
-
export declare function TwitterPreview({ displayName, username, avatarUrl, content, mediaUrls, characterLimit, editable, onContentChange, className, labels, theme, renderMentionPicker, }: TwitterPreviewProps): import("react
|
|
40
|
+
export declare function TwitterPreview({ displayName, username, avatarUrl, content, mediaUrls, characterLimit, editable, onContentChange, className, labels, theme, renderMentionPicker, }: TwitterPreviewProps): import("react").JSX.Element;
|
|
@@ -14,4 +14,4 @@ export interface YouTubePreviewProps extends PostPreviewBaseProps {
|
|
|
14
14
|
/**
|
|
15
15
|
* YouTube community-post preview. Honors `.dark` for the dark variant.
|
|
16
16
|
*/
|
|
17
|
-
export declare function YouTubePreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: YouTubePreviewProps): import("react
|
|
17
|
+
export declare function YouTubePreview({ displayName, username: _username, avatarUrl, content, mediaUrls, editable, onContentChange, className, labels, }: YouTubePreviewProps): import("react").JSX.Element;
|
|
@@ -3,10 +3,10 @@ export type CardProps = ComponentPropsWithoutRef<'div'>;
|
|
|
3
3
|
export type CardHeaderProps = ComponentPropsWithoutRef<'div'>;
|
|
4
4
|
export type CardBodyProps = ComponentPropsWithoutRef<'div'>;
|
|
5
5
|
export type CardFooterProps = ComponentPropsWithoutRef<'div'>;
|
|
6
|
-
declare function CardRoot({ children, className, ...props }: CardProps): import("react
|
|
7
|
-
declare function CardHeader({ children, className, ...props }: CardHeaderProps): import("react
|
|
8
|
-
declare function CardBody({ children, className, ...props }: CardBodyProps): import("react
|
|
9
|
-
declare function CardFooter({ children, className, ...props }: CardFooterProps): import("react
|
|
6
|
+
declare function CardRoot({ children, className, ...props }: CardProps): import("react").JSX.Element;
|
|
7
|
+
declare function CardHeader({ children, className, ...props }: CardHeaderProps): import("react").JSX.Element;
|
|
8
|
+
declare function CardBody({ children, className, ...props }: CardBodyProps): import("react").JSX.Element;
|
|
9
|
+
declare function CardFooter({ children, className, ...props }: CardFooterProps): import("react").JSX.Element;
|
|
10
10
|
export declare const Card: typeof CardRoot & {
|
|
11
11
|
Header: typeof CardHeader;
|
|
12
12
|
Body: typeof CardBody;
|
|
@@ -8,4 +8,4 @@ export interface EmptyStateProps extends Omit<ComponentPropsWithoutRef<'div'>, '
|
|
|
8
8
|
action?: ReactNode;
|
|
9
9
|
variant?: EmptyStateVariant;
|
|
10
10
|
}
|
|
11
|
-
export declare function EmptyState({ icon, title, description, action, variant, className, ...props }: EmptyStateProps): import("react
|
|
11
|
+
export declare function EmptyState({ icon, title, description, action, variant, className, ...props }: EmptyStateProps): import("react").JSX.Element;
|
|
@@ -12,8 +12,8 @@ export interface FilterRailGroupProps extends Omit<ComponentPropsWithoutRef<'fie
|
|
|
12
12
|
description?: ReactNode;
|
|
13
13
|
children?: ReactNode;
|
|
14
14
|
}
|
|
15
|
-
declare function FilterRailGroup({ title, description, children, className, ...props }: FilterRailGroupProps): import("react
|
|
16
|
-
declare function FilterRailRoot({ title, description, search, actions, footer, children, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...props }: FilterRailProps): import("react
|
|
15
|
+
declare function FilterRailGroup({ title, description, children, className, ...props }: FilterRailGroupProps): import("react").JSX.Element;
|
|
16
|
+
declare function FilterRailRoot({ title, description, search, actions, footer, children, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, ...props }: FilterRailProps): import("react").JSX.Element;
|
|
17
17
|
export declare const FilterRail: typeof FilterRailRoot & {
|
|
18
18
|
Group: typeof FilterRailGroup;
|
|
19
19
|
};
|
|
@@ -19,4 +19,4 @@ export interface MarkdownViewProps extends Omit<ComponentPropsWithoutRef<'div'>,
|
|
|
19
19
|
* pnpm add react-markdown remark-gfm rehype-highlight
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
export declare function MarkdownView({ children, className, components, ...props }: MarkdownViewProps): import("react
|
|
22
|
+
export declare function MarkdownView({ children, className, components, ...props }: MarkdownViewProps): import("react").JSX.Element;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ComponentProps } from 'react';
|
|
2
2
|
export type SkeletonProps = ComponentProps<'div'>;
|
|
3
|
-
export declare function Skeleton({ className, 'aria-hidden': ariaHidden, ...props }: SkeletonProps): import("react
|
|
3
|
+
export declare function Skeleton({ className, 'aria-hidden': ariaHidden, ...props }: SkeletonProps): import("react").JSX.Element;
|
|
@@ -9,4 +9,4 @@ export interface StatusPillProps extends ComponentPropsWithoutRef<'span'> {
|
|
|
9
9
|
*/
|
|
10
10
|
dot?: boolean;
|
|
11
11
|
}
|
|
12
|
-
export declare function StatusPill({ tone, size, dot, className, children, ...props }: StatusPillProps): import("react
|
|
12
|
+
export declare function StatusPill({ tone, size, dot, className, children, ...props }: StatusPillProps): import("react").JSX.Element;
|
|
@@ -2,4 +2,4 @@ import type { ReactNode } from 'react';
|
|
|
2
2
|
import type { AppShellAuthConfig } from './types.js';
|
|
3
3
|
export declare function AppShellAuth({ children, title, description, brandName, brandMark, eyebrow, preview, actions, }: AppShellAuthConfig & {
|
|
4
4
|
children: ReactNode;
|
|
5
|
-
}): import("react
|
|
5
|
+
}): import("react").JSX.Element;
|
|
@@ -3,4 +3,4 @@ export interface AppShellChatProps {
|
|
|
3
3
|
globalActions?: ReactNode;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
}
|
|
6
|
-
export declare function AppShellChat({ globalActions, children }: AppShellChatProps): import("react
|
|
6
|
+
export declare function AppShellChat({ globalActions, children }: AppShellChatProps): import("react").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import type { AppShellAppTabsConfig, AppShellContextRailConfig, AppShellIconRailConfig, AppShellMobileNavConfig, AppShellRightPanelConfig, AppShellWorkspaceConfig, ShellMainLayout } from './types.js';
|
|
2
|
+
import type { AppShellAppTabsConfig, AppShellContextRailConfig, AppShellIconRailConfig, AppShellMobileNavConfig, AppShellRightPanelConfig, AppShellWorkspaceConfig, ShellHeaderLayout, ShellMainLayout } from './types.js';
|
|
3
3
|
export interface AppShellWorkspaceProps {
|
|
4
4
|
iconRail?: AppShellIconRailConfig;
|
|
5
5
|
contextRail?: AppShellContextRailConfig;
|
|
@@ -9,6 +9,12 @@ export interface AppShellWorkspaceProps {
|
|
|
9
9
|
globalActions?: ReactNode;
|
|
10
10
|
headerCenter?: ReactNode;
|
|
11
11
|
headerLeading?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Desktop header grid — `split` (default, unchanged) or `rail`. See
|
|
14
|
+
* `ShellHeaderLayout`. In `rail` the header's first column is sized from
|
|
15
|
+
* `iconRail.labelVisibility` so it lines up with the rail below it.
|
|
16
|
+
*/
|
|
17
|
+
headerLayout?: ShellHeaderLayout;
|
|
12
18
|
banners?: ReactNode;
|
|
13
19
|
mainLayout?: ShellMainLayout;
|
|
14
20
|
mainClassName?: string;
|
|
@@ -27,4 +33,4 @@ export interface AppShellWorkspaceProps {
|
|
|
27
33
|
mobileNav?: AppShellMobileNavConfig;
|
|
28
34
|
children: ReactNode;
|
|
29
35
|
}
|
|
30
|
-
export declare function AppShellWorkspace({ iconRail, contextRail, rightPanel, workspace, appTabs, globalActions, headerCenter, headerLeading, banners, mainLayout, mainClassName, builtInCommandPalette, mobileNav, children, }: AppShellWorkspaceProps): import("react
|
|
36
|
+
export declare function AppShellWorkspace({ iconRail, contextRail, rightPanel, workspace, appTabs, globalActions, headerCenter, headerLeading, headerLayout, banners, mainLayout, mainClassName, builtInCommandPalette, mobileNav, children, }: AppShellWorkspaceProps): import("react").JSX.Element;
|
|
@@ -17,11 +17,15 @@ import { ShellHeader } from './shell-header.js';
|
|
|
17
17
|
import { ShellMain } from './shell-main.js';
|
|
18
18
|
import { useShellViewport } from './use-shell-viewport.js';
|
|
19
19
|
const EMPTY_PANEL_VIEWS = [];
|
|
20
|
-
export function AppShellWorkspace({ iconRail, contextRail, rightPanel, workspace, appTabs, globalActions, headerCenter, headerLeading, banners, mainLayout, mainClassName, builtInCommandPalette = true, mobileNav, children, }) {
|
|
20
|
+
export function AppShellWorkspace({ iconRail, contextRail, rightPanel, workspace, appTabs, globalActions, headerCenter, headerLeading, headerLayout, banners, mainLayout, mainClassName, builtInCommandPalette = true, mobileNav, children, }) {
|
|
21
21
|
const viewport = useShellViewport();
|
|
22
22
|
const isMobile = viewport === 'mobile';
|
|
23
23
|
const staticPanelViews = rightPanel?.panelViews ?? EMPTY_PANEL_VIEWS;
|
|
24
24
|
const resolvedRightPanel = useResolvedPanelViews(staticPanelViews, rightPanel?.defaultView);
|
|
25
|
+
// The header toggle still requires at least one panel view — `showToggle`
|
|
26
|
+
// only lets a consumer KEEP the views and drop the control, never the
|
|
27
|
+
// reverse (a toggle with nothing behind it is a dead end).
|
|
28
|
+
const showPanelToggle = (rightPanel?.showToggle ?? true) && resolvedRightPanel.panelViews.length > 0;
|
|
25
29
|
// Derive the bottom-nav items from the variant config so each button maps
|
|
26
30
|
// to a drawer that actually has content. Menu is always available because
|
|
27
31
|
// the mobile drawer now carries workspace actions and the theme toggle.
|
|
@@ -42,12 +46,12 @@ export function AppShellWorkspace({ iconRail, contextRail, rightPanel, workspace
|
|
|
42
46
|
// <AppShell> wrapper already enforces h-screen for the workspace variant, so
|
|
43
47
|
// nested viewport-height divs collapse cleanly — no double-scroll.
|
|
44
48
|
const commandRegistry = useContext(CommandRegistryContext);
|
|
45
|
-
const shell = (_jsxs("div", { className: "flex h-svh flex-col", children: [isMobile ? (_jsx(MobileHeader, { globalActions: globalActions, headerCenter: headerCenter })) : (_jsx(ShellHeader, { globalActions: globalActions, headerCenter: headerCenter, headerLeading: headerLeading, appTabsRenderLink: appTabs?.renderLink, workspaceMenuItems: workspace?.menuItems, workspaceMenuFooter: workspace?.menuFooter, showPanelToggle:
|
|
49
|
+
const shell = (_jsxs("div", { className: "flex h-svh flex-col", children: [isMobile ? (_jsx(MobileHeader, { globalActions: globalActions, headerCenter: headerCenter })) : (_jsx(ShellHeader, { globalActions: globalActions, headerCenter: headerCenter, headerLeading: headerLeading, headerLayout: headerLayout, railLabelVisibility: iconRail?.labelVisibility, appTabsRenderLink: appTabs?.renderLink, workspaceMenuItems: workspace?.menuItems, workspaceMenuFooter: workspace?.menuFooter, showPanelToggle: showPanelToggle, panelViews: resolvedRightPanel.panelViews })), banners ? (_jsx("div", { "data-meda-banners": "", className: "flex-shrink-0", children: banners })) : (false), _jsxs("div", { className: "relative flex flex-1 overflow-hidden", children: [!isMobile && iconRail && (_jsx(IconRail, { mainItems: iconRail.mainItems, utilityItems: iconRail.utilityItems, footer: iconRail.footer, activeId: iconRail.activeId, renderLink: iconRail.renderLink, labelVisibility: iconRail.labelVisibility })), !isMobile && contextRail && (_jsx(ContextRail, { appId: contextRail.appId, module: contextRail.module, activeItemId: contextRail.activeItemId, renderLink: contextRail.renderLink, header: contextRail.header, scroll: contextRail.scroll })), _jsx(ShellMain, { layout: mainLayout ?? 'workspace', className: cn(mainClassName,
|
|
46
50
|
// Pad the scroll area so the dock never covers content. 64px is
|
|
47
51
|
// the bar-variant dock's intrinsic height (py-2 + 25px icon +
|
|
48
52
|
// label) — the previous 80px over-reserved 16px of permanently
|
|
49
53
|
// unreachable space at the bottom of every mobile surface.
|
|
50
|
-
isMobile && mobileNav && 'pb-[calc(env(safe-area-inset-bottom)+64px)]'), children: children }), !isMobile && resolvedRightPanel.panelViews.length > 0 && (_jsx(RightPanel, { panelViews: staticPanelViews, defaultView: rightPanel?.defaultView }))] }), isMobile && mobileNav ? (_jsxs(_Fragment, { children: [_jsx(MobileDock, { items: mobileNav.dock, activeTo: mobileNav.activeTo, renderLink: mobileNav.renderLink, variant: mobileNav.variant }), _jsx(MobileWorkspaceSheet, { tree: mobileNav.tree, activeTo: mobileNav.activeTo, renderLink: mobileNav.renderLink, workspaceMenuItems: workspace?.menuItems, workspaceMenuFooter: workspace?.menuFooter })] })) : (_jsxs(_Fragment, { children: [isMobile && hasDrawerContent && _jsx(MobileBottomNav, { items: navItems }), isMobile && hasDrawerContent && (_jsx(MobileDrawers, { menuItems: mobileMenuItems, menuActiveId: iconRail?.activeId, menuRenderLink: iconRail?.renderLink, workspaceMenuItems: workspace?.menuItems, workspaceMenuFooter: workspace?.menuFooter, module: contextRail?.module, moduleAppId: contextRail?.appId, moduleActiveItemId: contextRail?.activeItemId, moduleRenderLink: contextRail?.renderLink, moduleHeader: contextRail?.header, moduleScroll: contextRail?.scroll, sectionTabs: headerLeading, panelViews: resolvedRightPanel.panelViews, defaultView: resolvedRightPanel.defaultView }))] }))] }));
|
|
54
|
+
isMobile && mobileNav && 'pb-[calc(env(safe-area-inset-bottom)+64px)]'), children: children }), !isMobile && resolvedRightPanel.panelViews.length > 0 && (_jsx(RightPanel, { panelViews: staticPanelViews, defaultView: rightPanel?.defaultView }))] }), isMobile && mobileNav ? (_jsxs(_Fragment, { children: [_jsx(MobileDock, { items: mobileNav.dock, activeTo: mobileNav.activeTo, activeId: mobileNav.activeId, renderLink: mobileNav.renderLink, variant: mobileNav.variant }), _jsx(MobileWorkspaceSheet, { tree: mobileNav.tree, activeTo: mobileNav.activeTo, activeId: mobileNav.activeId, currentFirst: mobileNav.currentFirst, renderLink: mobileNav.renderLink, workspaceMenuItems: workspace?.menuItems, workspaceMenuFooter: workspace?.menuFooter })] })) : (_jsxs(_Fragment, { children: [isMobile && hasDrawerContent && _jsx(MobileBottomNav, { items: navItems }), isMobile && hasDrawerContent && (_jsx(MobileDrawers, { menuItems: mobileMenuItems, menuActiveId: iconRail?.activeId, menuRenderLink: iconRail?.renderLink, workspaceMenuItems: workspace?.menuItems, workspaceMenuFooter: workspace?.menuFooter, module: contextRail?.module, moduleAppId: contextRail?.appId, moduleActiveItemId: contextRail?.activeItemId, moduleRenderLink: contextRail?.renderLink, moduleHeader: contextRail?.header, moduleScroll: contextRail?.scroll, sectionTabs: headerLeading, panelViews: resolvedRightPanel.panelViews, defaultView: resolvedRightPanel.defaultView }))] }))] }));
|
|
51
55
|
// Backwards-compatible default: meda provides the built-in CommandPalette
|
|
52
56
|
// (and its CommandRegistryContext) so consumers calling useCommands()/
|
|
53
57
|
// useCommandGroup() under the workspace shell keep working. When a registry is
|