@mastra/playground-ui 63.0.0-alpha.3 → 63.0.0-alpha.4
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/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/PageHeader.cjs.js +1 -1
- package/dist/components/PageHeader.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +1 -1
- package/dist/components/PageLayout.cjs.js.map +1 -1
- package/dist/components/PageLayout.es.js +1 -1
- package/dist/components/PageLayout.es.js.map +1 -1
- package/dist/{data-panel-nbeducTl.js → data-panel-BdCw3F_h.js} +4 -4
- package/dist/{data-panel-nbeducTl.js.map → data-panel-BdCw3F_h.js.map} +1 -1
- package/dist/{data-panel-FG2S84x7.cjs → data-panel-Wjgbl6zx.cjs} +4 -4
- package/dist/{data-panel-FG2S84x7.cjs.map → data-panel-Wjgbl6zx.cjs.map} +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +0 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +0 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
- package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +0 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +0 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.es.js +1 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js +0 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +0 -1
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/new/layout/page-header.cjs.js +1 -1
- package/dist/new/layout/page-header.es.js +1 -1
- package/dist/{page-header-CLxPq7T5.cjs → page-header-9Q9vOrh-.cjs} +3 -9
- package/dist/page-header-9Q9vOrh-.cjs.map +1 -0
- package/dist/{page-header-Bf0zLkyY.js → page-header-d2cK2zOg.js} +3 -9
- package/dist/page-header-d2cK2zOg.js.map +1 -0
- package/dist/style.css +4 -0
- package/package.json +9 -9
- package/dist/page-header-Bf0zLkyY.js.map +0 -1
- package/dist/page-header-CLxPq7T5.cjs.map +0 -1
|
@@ -113,16 +113,10 @@ function groupSlots(items) {
|
|
|
113
113
|
function PageHeaderRoot({ children, className, spacing = "default", ...props }) {
|
|
114
114
|
const items = Children.toArray(children);
|
|
115
115
|
const { eyebrows, icons, headline, below, actions } = groupSlots(items);
|
|
116
|
-
const hasControls = icons.length > 0 || actions.length > 0;
|
|
117
116
|
return /* @__PURE__ */ jsxs(
|
|
118
117
|
"header",
|
|
119
118
|
{
|
|
120
|
-
className: cn(
|
|
121
|
-
"relative flex w-full flex-col",
|
|
122
|
-
!hasControls && "gap-1",
|
|
123
|
-
className,
|
|
124
|
-
spacing === "breathing" && "pt-10"
|
|
125
|
-
),
|
|
119
|
+
className: cn("relative flex w-full flex-col", className, spacing === "breathing" && "pt-10"),
|
|
126
120
|
"data-page-header-spacing": spacing === "breathing" ? spacing : void 0,
|
|
127
121
|
...props,
|
|
128
122
|
children: [
|
|
@@ -130,7 +124,7 @@ function PageHeaderRoot({ children, className, spacing = "default", ...props })
|
|
|
130
124
|
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-start gap-3", children: [
|
|
131
125
|
icons,
|
|
132
126
|
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
133
|
-
headline.length > 0 && /* @__PURE__ */ jsx("div", { className:
|
|
127
|
+
headline.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex min-w-0 items-start gap-3 py-1", children: headline }),
|
|
134
128
|
below
|
|
135
129
|
] }),
|
|
136
130
|
actions
|
|
@@ -150,4 +144,4 @@ const PageHeader = Object.assign(PageHeaderRoot, {
|
|
|
150
144
|
});
|
|
151
145
|
|
|
152
146
|
export { PageHeader as P };
|
|
153
|
-
//# sourceMappingURL=page-header-
|
|
147
|
+
//# sourceMappingURL=page-header-d2cK2zOg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header-d2cK2zOg.js","sources":["../src/ds/new/layout/page-header/page-header-action.tsx","../src/ds/new/layout/page-header/page-header-description.tsx","../src/ds/new/layout/page-header/page-header-eyebrow.tsx","../src/ds/new/layout/page-header/page-header-icon.tsx","../src/ds/new/layout/page-header/page-header-meta.tsx","../src/ds/new/layout/page-header/page-header-title.tsx","../src/ds/new/layout/page-header/page-header-root.tsx","../src/ds/new/layout/page-header/page-header.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderActionProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderAction({ className, ...props }: PageHeaderActionProps) {\n return (\n <div\n data-slot=\"page-header-action\"\n className={cn('ml-auto flex min-h-control-lg shrink-0 items-center self-start', className)}\n {...props}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderDescriptionProps extends ComponentPropsWithoutRef<'p'> {\n isLoading?: boolean;\n}\n\nexport function PageHeaderDescription({ children, className, isLoading, ...props }: PageHeaderDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"page-header-description\"\n className={cn(\n 'flex max-w-140 flex-wrap gap-x-4 gap-y-1',\n isLoading && 'w-160 max-w-4/5 animate-pulse rounded-md bg-muted',\n className,\n )}\n {...props}\n >\n {isLoading ? <> </> : children}\n </Txt>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderEyebrowProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderEyebrow({ className, ...props }: PageHeaderEyebrowProps) {\n return (\n <div\n data-slot=\"page-header-eyebrow\"\n {...props}\n className={cn(\n 'text-caption text-muted-foreground',\n 'flex min-w-0 items-center',\n '*:inline-flex *:items-center *:gap-1 *:rounded-sm *:transition-colors *:hover:text-foreground',\n className,\n )}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderIconProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderIcon({ className, ...props }: PageHeaderIconProps) {\n return (\n <div\n data-slot=\"page-header-icon\"\n className={cn('flex min-h-control-lg items-center self-start text-muted-foreground', className)}\n {...props}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderMetaProps extends ComponentPropsWithoutRef<'div'> {\n beside?: boolean;\n}\n\nexport function PageHeaderMeta({ beside = false, className, ...props }: PageHeaderMetaProps) {\n return (\n <div\n data-slot=\"page-header-meta\"\n data-placement={beside ? 'beside' : 'below'}\n {...props}\n className={cn(\n 'text-meta text-muted-foreground',\n 'flex min-w-0 flex-wrap items-center gap-2',\n beside && 'min-h-6 shrink-0',\n className,\n )}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderTitleProps extends ComponentPropsWithoutRef<'h1'> {\n isLoading?: boolean;\n}\n\nexport function PageHeaderTitle({ children, className, isLoading, ...props }: PageHeaderTitleProps) {\n return (\n <Txt\n as=\"h1\"\n variant=\"heading\"\n tone=\"ink\"\n data-slot=\"page-header-title\"\n className={cn(\n 'flex min-w-0 items-center gap-2',\n isLoading && 'w-60 max-w-1/2 animate-pulse rounded-md bg-fill',\n className,\n )}\n {...props}\n >\n {isLoading ? <> </> : children}\n </Txt>\n );\n}\n","import { Children, isValidElement } from 'react';\nimport type { ComponentPropsWithoutRef, ElementType, ReactNode } from 'react';\n\nimport { PageHeaderAction } from './page-header-action';\nimport { PageHeaderEyebrow } from './page-header-eyebrow';\nimport { PageHeaderIcon } from './page-header-icon';\nimport { PageHeaderMeta } from './page-header-meta';\nimport type { PageHeaderMetaProps } from './page-header-meta';\nimport { PageHeaderTitle } from './page-header-title';\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderRootProps = ComponentPropsWithoutRef<'header'> & {\n spacing?: 'default' | 'breathing';\n};\n\nfunction isSlot(child: ReactNode, type: ElementType) {\n return isValidElement(child) && child.type === type;\n}\n\nfunction isBesideMeta(child: ReactNode) {\n return isValidElement<PageHeaderMetaProps>(child) && child.type === PageHeaderMeta && Boolean(child.props.beside);\n}\n\nfunction groupSlots(items: ReactNode[]) {\n const eyebrows = items.filter(child => isSlot(child, PageHeaderEyebrow));\n const icons = items.filter(child => isSlot(child, PageHeaderIcon));\n const headline = [...items.filter(child => isSlot(child, PageHeaderTitle)), ...items.filter(isBesideMeta)];\n // Actions sit outside the title column so their height never affects title/meta/description alignment.\n const actions = items.filter(child => isSlot(child, PageHeaderAction));\n const placed = [...eyebrows, ...icons, ...headline, ...actions];\n const below = items.filter(child => !placed.includes(child));\n return { eyebrows, icons, headline, below, actions };\n}\n\nexport function PageHeaderRoot({ children, className, spacing = 'default', ...props }: PageHeaderRootProps) {\n const items = Children.toArray(children);\n const { eyebrows, icons, headline, below, actions } = groupSlots(items);\n\n return (\n <header\n className={cn('relative flex w-full flex-col', className, spacing === 'breathing' && 'pt-10')}\n data-page-header-spacing={spacing === 'breathing' ? spacing : undefined}\n {...props}\n >\n {eyebrows}\n <div className=\"flex w-full items-start gap-3\">\n {icons}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n {headline.length > 0 && <div className=\"flex min-w-0 items-start gap-3 py-1\">{headline}</div>}\n {below}\n </div>\n {actions}\n </div>\n </header>\n );\n}\n","import './page-header.css';\n\nimport { PageHeaderAction } from './page-header-action';\nimport { PageHeaderDescription } from './page-header-description';\nimport { PageHeaderEyebrow } from './page-header-eyebrow';\nimport { PageHeaderIcon } from './page-header-icon';\nimport { PageHeaderMeta } from './page-header-meta';\nimport { PageHeaderRoot } from './page-header-root';\nimport { PageHeaderTitle } from './page-header-title';\n\nexport type { PageHeaderActionProps } from './page-header-action';\nexport type { PageHeaderDescriptionProps } from './page-header-description';\nexport type { PageHeaderEyebrowProps } from './page-header-eyebrow';\nexport type { PageHeaderIconProps } from './page-header-icon';\nexport type { PageHeaderMetaProps } from './page-header-meta';\nexport type { PageHeaderRootProps } from './page-header-root';\nexport type { PageHeaderTitleProps } from './page-header-title';\n\nexport const PageHeader = Object.assign(PageHeaderRoot, {\n Eyebrow: PageHeaderEyebrow,\n Icon: PageHeaderIcon,\n Title: PageHeaderTitle,\n Meta: PageHeaderMeta,\n Description: PageHeaderDescription,\n Action: PageHeaderAction,\n});\n"],"names":[],"mappings":"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"}
|
package/dist/style.css
CHANGED
|
@@ -3929,6 +3929,10 @@
|
|
|
3929
3929
|
scroll-padding-block: calc(var(--spacing) * 8);
|
|
3930
3930
|
}
|
|
3931
3931
|
|
|
3932
|
+
.\[scrollbar-gutter\:stable\] {
|
|
3933
|
+
scrollbar-gutter: stable;
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3932
3936
|
.\[scrollbar-gutter\:stable_both-edges\] {
|
|
3933
3937
|
scrollbar-gutter: stable both-edges;
|
|
3934
3938
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/playground-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "63.0.0-alpha.
|
|
4
|
+
"version": "63.0.0-alpha.4",
|
|
5
5
|
"description": "Mastra Playground components",
|
|
6
6
|
"sideEffects": [
|
|
7
7
|
"**/*.css"
|
|
@@ -202,9 +202,9 @@
|
|
|
202
202
|
"react": ">=19.0.0",
|
|
203
203
|
"react-dom": ">=19.0.0",
|
|
204
204
|
"tailwindcss": "^4.0.0",
|
|
205
|
-
"@mastra/
|
|
206
|
-
"@mastra/
|
|
207
|
-
"@mastra/
|
|
205
|
+
"@mastra/client-js": "^1.54.0-alpha.4",
|
|
206
|
+
"@mastra/react": "1.10.0-alpha.4",
|
|
207
|
+
"@mastra/ai-sdk": "^1.11.1-alpha.0"
|
|
208
208
|
},
|
|
209
209
|
"devDependencies": {
|
|
210
210
|
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
@@ -251,11 +251,11 @@
|
|
|
251
251
|
"vitest": "4.1.11",
|
|
252
252
|
"@internal/lint": "0.0.142",
|
|
253
253
|
"@mastra/ai-sdk": "1.11.1-alpha.0",
|
|
254
|
-
"@mastra/
|
|
255
|
-
"@mastra/
|
|
256
|
-
"@mastra/
|
|
257
|
-
"@mastra/
|
|
258
|
-
"@mastra/
|
|
254
|
+
"@mastra/memory": "1.37.1-alpha.3",
|
|
255
|
+
"@mastra/client-js": "^1.54.0-alpha.4",
|
|
256
|
+
"@mastra/react": "1.10.0-alpha.4",
|
|
257
|
+
"@mastra/schema-compat": "1.3.14-alpha.0",
|
|
258
|
+
"@mastra/core": "1.77.0-alpha.4"
|
|
259
259
|
},
|
|
260
260
|
"homepage": "https://mastra.ai",
|
|
261
261
|
"repository": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-header-Bf0zLkyY.js","sources":["../src/ds/new/layout/page-header/page-header-action.tsx","../src/ds/new/layout/page-header/page-header-description.tsx","../src/ds/new/layout/page-header/page-header-eyebrow.tsx","../src/ds/new/layout/page-header/page-header-icon.tsx","../src/ds/new/layout/page-header/page-header-meta.tsx","../src/ds/new/layout/page-header/page-header-title.tsx","../src/ds/new/layout/page-header/page-header-root.tsx","../src/ds/new/layout/page-header/page-header.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderActionProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderAction({ className, ...props }: PageHeaderActionProps) {\n return (\n <div\n data-slot=\"page-header-action\"\n className={cn('ml-auto flex min-h-control-lg shrink-0 items-center self-start', className)}\n {...props}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderDescriptionProps extends ComponentPropsWithoutRef<'p'> {\n isLoading?: boolean;\n}\n\nexport function PageHeaderDescription({ children, className, isLoading, ...props }: PageHeaderDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"page-header-description\"\n className={cn(\n 'flex max-w-140 flex-wrap gap-x-4 gap-y-1',\n isLoading && 'w-160 max-w-4/5 animate-pulse rounded-md bg-muted',\n className,\n )}\n {...props}\n >\n {isLoading ? <> </> : children}\n </Txt>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderEyebrowProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderEyebrow({ className, ...props }: PageHeaderEyebrowProps) {\n return (\n <div\n data-slot=\"page-header-eyebrow\"\n {...props}\n className={cn(\n 'text-caption text-muted-foreground',\n 'flex min-w-0 items-center',\n '*:inline-flex *:items-center *:gap-1 *:rounded-sm *:transition-colors *:hover:text-foreground',\n className,\n )}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderIconProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderIcon({ className, ...props }: PageHeaderIconProps) {\n return (\n <div\n data-slot=\"page-header-icon\"\n className={cn('flex min-h-control-lg items-center self-start text-muted-foreground', className)}\n {...props}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderMetaProps extends ComponentPropsWithoutRef<'div'> {\n beside?: boolean;\n}\n\nexport function PageHeaderMeta({ beside = false, className, ...props }: PageHeaderMetaProps) {\n return (\n <div\n data-slot=\"page-header-meta\"\n data-placement={beside ? 'beside' : 'below'}\n {...props}\n className={cn(\n 'text-meta text-muted-foreground',\n 'flex min-w-0 flex-wrap items-center gap-2',\n beside && 'min-h-6 shrink-0',\n className,\n )}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderTitleProps extends ComponentPropsWithoutRef<'h1'> {\n isLoading?: boolean;\n}\n\nexport function PageHeaderTitle({ children, className, isLoading, ...props }: PageHeaderTitleProps) {\n return (\n <Txt\n as=\"h1\"\n variant=\"heading\"\n tone=\"ink\"\n data-slot=\"page-header-title\"\n className={cn(\n 'flex min-w-0 items-center gap-2',\n isLoading && 'w-60 max-w-1/2 animate-pulse rounded-md bg-fill',\n className,\n )}\n {...props}\n >\n {isLoading ? <> </> : children}\n </Txt>\n );\n}\n","import { Children, isValidElement } from 'react';\nimport type { ComponentPropsWithoutRef, ElementType, ReactNode } from 'react';\n\nimport { PageHeaderAction } from './page-header-action';\nimport { PageHeaderEyebrow } from './page-header-eyebrow';\nimport { PageHeaderIcon } from './page-header-icon';\nimport { PageHeaderMeta } from './page-header-meta';\nimport type { PageHeaderMetaProps } from './page-header-meta';\nimport { PageHeaderTitle } from './page-header-title';\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderRootProps = ComponentPropsWithoutRef<'header'> & {\n spacing?: 'default' | 'breathing';\n};\n\nfunction isSlot(child: ReactNode, type: ElementType) {\n return isValidElement(child) && child.type === type;\n}\n\nfunction isBesideMeta(child: ReactNode) {\n return isValidElement<PageHeaderMetaProps>(child) && child.type === PageHeaderMeta && Boolean(child.props.beside);\n}\n\nfunction groupSlots(items: ReactNode[]) {\n const eyebrows = items.filter(child => isSlot(child, PageHeaderEyebrow));\n const icons = items.filter(child => isSlot(child, PageHeaderIcon));\n const headline = [...items.filter(child => isSlot(child, PageHeaderTitle)), ...items.filter(isBesideMeta)];\n // Actions sit outside the title column so their height never affects title/meta/description alignment.\n const actions = items.filter(child => isSlot(child, PageHeaderAction));\n const placed = [...eyebrows, ...icons, ...headline, ...actions];\n const below = items.filter(child => !placed.includes(child));\n return { eyebrows, icons, headline, below, actions };\n}\n\nexport function PageHeaderRoot({ children, className, spacing = 'default', ...props }: PageHeaderRootProps) {\n const items = Children.toArray(children);\n const { eyebrows, icons, headline, below, actions } = groupSlots(items);\n const hasControls = icons.length > 0 || actions.length > 0;\n\n return (\n <header\n className={cn(\n 'relative flex w-full flex-col',\n !hasControls && 'gap-1',\n className,\n spacing === 'breathing' && 'pt-10',\n )}\n data-page-header-spacing={spacing === 'breathing' ? spacing : undefined}\n {...props}\n >\n {eyebrows}\n <div className=\"flex w-full items-start gap-3\">\n {icons}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n {headline.length > 0 && (\n <div className={cn('flex min-w-0 items-start gap-3', hasControls && 'py-1')}>{headline}</div>\n )}\n {below}\n </div>\n {actions}\n </div>\n </header>\n );\n}\n","import './page-header.css';\n\nimport { PageHeaderAction } from './page-header-action';\nimport { PageHeaderDescription } from './page-header-description';\nimport { PageHeaderEyebrow } from './page-header-eyebrow';\nimport { PageHeaderIcon } from './page-header-icon';\nimport { PageHeaderMeta } from './page-header-meta';\nimport { PageHeaderRoot } from './page-header-root';\nimport { PageHeaderTitle } from './page-header-title';\n\nexport type { PageHeaderActionProps } from './page-header-action';\nexport type { PageHeaderDescriptionProps } from './page-header-description';\nexport type { PageHeaderEyebrowProps } from './page-header-eyebrow';\nexport type { PageHeaderIconProps } from './page-header-icon';\nexport type { PageHeaderMetaProps } from './page-header-meta';\nexport type { PageHeaderRootProps } from './page-header-root';\nexport type { PageHeaderTitleProps } from './page-header-title';\n\nexport const PageHeader = Object.assign(PageHeaderRoot, {\n Eyebrow: PageHeaderEyebrow,\n Icon: PageHeaderIcon,\n Title: PageHeaderTitle,\n Meta: PageHeaderMeta,\n Description: PageHeaderDescription,\n Action: PageHeaderAction,\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-header-CLxPq7T5.cjs","sources":["../src/ds/new/layout/page-header/page-header-action.tsx","../src/ds/new/layout/page-header/page-header-description.tsx","../src/ds/new/layout/page-header/page-header-eyebrow.tsx","../src/ds/new/layout/page-header/page-header-icon.tsx","../src/ds/new/layout/page-header/page-header-meta.tsx","../src/ds/new/layout/page-header/page-header-title.tsx","../src/ds/new/layout/page-header/page-header-root.tsx","../src/ds/new/layout/page-header/page-header.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderActionProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderAction({ className, ...props }: PageHeaderActionProps) {\n return (\n <div\n data-slot=\"page-header-action\"\n className={cn('ml-auto flex min-h-control-lg shrink-0 items-center self-start', className)}\n {...props}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderDescriptionProps extends ComponentPropsWithoutRef<'p'> {\n isLoading?: boolean;\n}\n\nexport function PageHeaderDescription({ children, className, isLoading, ...props }: PageHeaderDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"page-header-description\"\n className={cn(\n 'flex max-w-140 flex-wrap gap-x-4 gap-y-1',\n isLoading && 'w-160 max-w-4/5 animate-pulse rounded-md bg-muted',\n className,\n )}\n {...props}\n >\n {isLoading ? <> </> : children}\n </Txt>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderEyebrowProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderEyebrow({ className, ...props }: PageHeaderEyebrowProps) {\n return (\n <div\n data-slot=\"page-header-eyebrow\"\n {...props}\n className={cn(\n 'text-caption text-muted-foreground',\n 'flex min-w-0 items-center',\n '*:inline-flex *:items-center *:gap-1 *:rounded-sm *:transition-colors *:hover:text-foreground',\n className,\n )}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderIconProps = ComponentPropsWithoutRef<'div'>;\n\nexport function PageHeaderIcon({ className, ...props }: PageHeaderIconProps) {\n return (\n <div\n data-slot=\"page-header-icon\"\n className={cn('flex min-h-control-lg items-center self-start text-muted-foreground', className)}\n {...props}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderMetaProps extends ComponentPropsWithoutRef<'div'> {\n beside?: boolean;\n}\n\nexport function PageHeaderMeta({ beside = false, className, ...props }: PageHeaderMetaProps) {\n return (\n <div\n data-slot=\"page-header-meta\"\n data-placement={beside ? 'beside' : 'below'}\n {...props}\n className={cn(\n 'text-meta text-muted-foreground',\n 'flex min-w-0 flex-wrap items-center gap-2',\n beside && 'min-h-6 shrink-0',\n className,\n )}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\n\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface PageHeaderTitleProps extends ComponentPropsWithoutRef<'h1'> {\n isLoading?: boolean;\n}\n\nexport function PageHeaderTitle({ children, className, isLoading, ...props }: PageHeaderTitleProps) {\n return (\n <Txt\n as=\"h1\"\n variant=\"heading\"\n tone=\"ink\"\n data-slot=\"page-header-title\"\n className={cn(\n 'flex min-w-0 items-center gap-2',\n isLoading && 'w-60 max-w-1/2 animate-pulse rounded-md bg-fill',\n className,\n )}\n {...props}\n >\n {isLoading ? <> </> : children}\n </Txt>\n );\n}\n","import { Children, isValidElement } from 'react';\nimport type { ComponentPropsWithoutRef, ElementType, ReactNode } from 'react';\n\nimport { PageHeaderAction } from './page-header-action';\nimport { PageHeaderEyebrow } from './page-header-eyebrow';\nimport { PageHeaderIcon } from './page-header-icon';\nimport { PageHeaderMeta } from './page-header-meta';\nimport type { PageHeaderMetaProps } from './page-header-meta';\nimport { PageHeaderTitle } from './page-header-title';\nimport { cn } from '@/lib/utils';\n\nexport type PageHeaderRootProps = ComponentPropsWithoutRef<'header'> & {\n spacing?: 'default' | 'breathing';\n};\n\nfunction isSlot(child: ReactNode, type: ElementType) {\n return isValidElement(child) && child.type === type;\n}\n\nfunction isBesideMeta(child: ReactNode) {\n return isValidElement<PageHeaderMetaProps>(child) && child.type === PageHeaderMeta && Boolean(child.props.beside);\n}\n\nfunction groupSlots(items: ReactNode[]) {\n const eyebrows = items.filter(child => isSlot(child, PageHeaderEyebrow));\n const icons = items.filter(child => isSlot(child, PageHeaderIcon));\n const headline = [...items.filter(child => isSlot(child, PageHeaderTitle)), ...items.filter(isBesideMeta)];\n // Actions sit outside the title column so their height never affects title/meta/description alignment.\n const actions = items.filter(child => isSlot(child, PageHeaderAction));\n const placed = [...eyebrows, ...icons, ...headline, ...actions];\n const below = items.filter(child => !placed.includes(child));\n return { eyebrows, icons, headline, below, actions };\n}\n\nexport function PageHeaderRoot({ children, className, spacing = 'default', ...props }: PageHeaderRootProps) {\n const items = Children.toArray(children);\n const { eyebrows, icons, headline, below, actions } = groupSlots(items);\n const hasControls = icons.length > 0 || actions.length > 0;\n\n return (\n <header\n className={cn(\n 'relative flex w-full flex-col',\n !hasControls && 'gap-1',\n className,\n spacing === 'breathing' && 'pt-10',\n )}\n data-page-header-spacing={spacing === 'breathing' ? spacing : undefined}\n {...props}\n >\n {eyebrows}\n <div className=\"flex w-full items-start gap-3\">\n {icons}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n {headline.length > 0 && (\n <div className={cn('flex min-w-0 items-start gap-3', hasControls && 'py-1')}>{headline}</div>\n )}\n {below}\n </div>\n {actions}\n </div>\n </header>\n );\n}\n","import './page-header.css';\n\nimport { PageHeaderAction } from './page-header-action';\nimport { PageHeaderDescription } from './page-header-description';\nimport { PageHeaderEyebrow } from './page-header-eyebrow';\nimport { PageHeaderIcon } from './page-header-icon';\nimport { PageHeaderMeta } from './page-header-meta';\nimport { PageHeaderRoot } from './page-header-root';\nimport { PageHeaderTitle } from './page-header-title';\n\nexport type { PageHeaderActionProps } from './page-header-action';\nexport type { PageHeaderDescriptionProps } from './page-header-description';\nexport type { PageHeaderEyebrowProps } from './page-header-eyebrow';\nexport type { PageHeaderIconProps } from './page-header-icon';\nexport type { PageHeaderMetaProps } from './page-header-meta';\nexport type { PageHeaderRootProps } from './page-header-root';\nexport type { PageHeaderTitleProps } from './page-header-title';\n\nexport const PageHeader = Object.assign(PageHeaderRoot, {\n Eyebrow: PageHeaderEyebrow,\n Icon: PageHeaderIcon,\n Title: PageHeaderTitle,\n Meta: PageHeaderMeta,\n Description: PageHeaderDescription,\n Action: PageHeaderAction,\n});\n"],"names":["jsx","cn","Txt","Fragment","isValidElement","Children","jsxs"],"mappings":"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"}
|