@loykin/designkit 0.0.1-dev.7 → 0.0.2
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 +29 -16
- package/dist/index.cjs +25 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +58 -2
- package/dist/index.d.ts +58 -2
- package/dist/index.js +37 -17
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.cts
CHANGED
|
@@ -330,6 +330,12 @@ interface WorkbenchBodyTemplateProps {
|
|
|
330
330
|
}
|
|
331
331
|
declare function WorkbenchBodyTemplate({ theme, className, contentClassName, title, description, status, topBar, headerRight, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, onResize, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, leftPaneLabel, rightPaneLabel, }: WorkbenchBodyTemplateProps): React__default.JSX.Element;
|
|
332
332
|
|
|
333
|
+
/**
|
|
334
|
+
* Defines one tab inside `DataBodyTemplate`.
|
|
335
|
+
*
|
|
336
|
+
* Must be rendered beneath a `DataBodyTemplate` root. Do not mix `Tab`, `Section`,
|
|
337
|
+
* and `Body` as sibling layout modes in the same root.
|
|
338
|
+
*/
|
|
333
339
|
interface DataBodyTabProps {
|
|
334
340
|
id: string;
|
|
335
341
|
label: React__default.ReactNode;
|
|
@@ -338,11 +344,23 @@ interface DataBodyTabProps {
|
|
|
338
344
|
children: React__default.ReactNode;
|
|
339
345
|
}
|
|
340
346
|
declare function DataBodyTab(_props: DataBodyTabProps): null;
|
|
347
|
+
/**
|
|
348
|
+
* Defines the single-pane body of `DataBodyTemplate`.
|
|
349
|
+
*
|
|
350
|
+
* Must be rendered beneath a `DataBodyTemplate` root. Use this instead of `Tab`
|
|
351
|
+
* or `Section` when the page has one full-height content pane.
|
|
352
|
+
*/
|
|
341
353
|
interface DataBodyBodyProps {
|
|
342
354
|
children?: React__default.ReactNode;
|
|
343
355
|
className?: string;
|
|
344
356
|
}
|
|
345
357
|
declare function DataBodyBody(_props: DataBodyBodyProps): null;
|
|
358
|
+
/**
|
|
359
|
+
* Defines one section in the left-navigation layout of `DataBodyTemplate`.
|
|
360
|
+
*
|
|
361
|
+
* Must be rendered beneath a `DataBodyTemplate` root. Do not combine sections
|
|
362
|
+
* with `Tab` or `Body` siblings in the same root.
|
|
363
|
+
*/
|
|
346
364
|
interface DataBodySectionProps {
|
|
347
365
|
id: string;
|
|
348
366
|
label: React__default.ReactNode;
|
|
@@ -351,14 +369,24 @@ interface DataBodySectionProps {
|
|
|
351
369
|
children?: React__default.ReactNode;
|
|
352
370
|
}
|
|
353
371
|
declare function DataBodySection(_props: DataBodySectionProps): null;
|
|
372
|
+
/** Adds summary content beneath the header of a `DataBodyTemplate` root. */
|
|
354
373
|
interface DataBodySummaryProps {
|
|
355
374
|
children?: React__default.ReactNode;
|
|
356
375
|
}
|
|
357
376
|
declare function DataBodySummary(_props: DataBodySummaryProps): null;
|
|
358
377
|
type GroupLayout = 'stacked' | 'horizontal' | 'inline' | 'split';
|
|
359
378
|
type GroupVariant = 'card' | 'plain' | 'bordered';
|
|
379
|
+
/**
|
|
380
|
+
* Groups related content inside `DataBodyTemplate`.
|
|
381
|
+
*
|
|
382
|
+
* `DataBodyTemplate.Group` is a compound child and must never be rendered as a
|
|
383
|
+
* standalone page component. Wrap it in `DataBodyTemplate`, optionally inside a
|
|
384
|
+
* `Tab`, `Section`, or `Body`.
|
|
385
|
+
*/
|
|
360
386
|
interface DataBodyGroupProps {
|
|
387
|
+
/** Visual arrangement of the group. @defaultValue `'stacked'` */
|
|
361
388
|
layout?: GroupLayout;
|
|
389
|
+
/** Surface treatment. Defaults depend on `layout`. */
|
|
362
390
|
variant?: GroupVariant;
|
|
363
391
|
title?: React__default.ReactNode;
|
|
364
392
|
description?: React__default.ReactNode;
|
|
@@ -368,12 +396,14 @@ interface DataBodyGroupProps {
|
|
|
368
396
|
children?: React__default.ReactNode;
|
|
369
397
|
}
|
|
370
398
|
declare function DataBodyGroup(props: DataBodyGroupProps): React__default.JSX.Element;
|
|
399
|
+
/** Read-only label/value content for a `DataBodyTemplate.Group`. */
|
|
371
400
|
interface DataBodyFieldProps {
|
|
372
401
|
label: string;
|
|
373
402
|
description?: string;
|
|
374
403
|
children?: React__default.ReactNode;
|
|
375
404
|
}
|
|
376
405
|
declare function DataBodyField({ label, description, children }: DataBodyFieldProps): React__default.JSX.Element;
|
|
406
|
+
/** Form label/control content for a `DataBodyTemplate.Group`. */
|
|
377
407
|
interface DataBodyRowProps {
|
|
378
408
|
label: string;
|
|
379
409
|
description?: string;
|
|
@@ -381,6 +411,12 @@ interface DataBodyRowProps {
|
|
|
381
411
|
children?: React__default.ReactNode;
|
|
382
412
|
}
|
|
383
413
|
declare function DataBodyRow({ label, description, required, children }: DataBodyRowProps): React__default.JSX.Element;
|
|
414
|
+
/**
|
|
415
|
+
* Props for the required root of the `DataBodyTemplate` compound component.
|
|
416
|
+
*
|
|
417
|
+
* Choose one primary child mode: direct content/groups, `Tab`, `Section`, or
|
|
418
|
+
* `Body`. Do not combine those layout modes in the same root.
|
|
419
|
+
*/
|
|
384
420
|
interface DataBodyTemplateProps {
|
|
385
421
|
theme?: React__default.CSSProperties;
|
|
386
422
|
className?: string;
|
|
@@ -397,7 +433,25 @@ interface DataBodyTemplateProps {
|
|
|
397
433
|
children?: React__default.ReactNode;
|
|
398
434
|
contentClassName?: string;
|
|
399
435
|
}
|
|
400
|
-
declare function Root$1(
|
|
436
|
+
declare function Root$1(props: DataBodyTemplateProps): React__default.JSX.Element;
|
|
437
|
+
/**
|
|
438
|
+
* Page-level template for data, list, tab, form, and settings experiences.
|
|
439
|
+
*
|
|
440
|
+
* Compound members such as `DataBodyTemplate.Group`, `Tab`, `Section`, `Body`,
|
|
441
|
+
* `Row`, and `Field` must be rendered beneath this root. Rendering a compound
|
|
442
|
+
* member without the root throws a descriptive runtime error.
|
|
443
|
+
*
|
|
444
|
+
* @example
|
|
445
|
+
* ```tsx
|
|
446
|
+
* <DataBodyTemplate title="Settings">
|
|
447
|
+
* <DataBodyTemplate.Group title="Profile">
|
|
448
|
+
* <DataBodyTemplate.Row label="Name">
|
|
449
|
+
* <Input />
|
|
450
|
+
* </DataBodyTemplate.Row>
|
|
451
|
+
* </DataBodyTemplate.Group>
|
|
452
|
+
* </DataBodyTemplate>
|
|
453
|
+
* ```
|
|
454
|
+
*/
|
|
401
455
|
declare const DataBodyTemplate: typeof Root$1 & {
|
|
402
456
|
Body: typeof DataBodyBody;
|
|
403
457
|
Tab: typeof DataBodyTab;
|
|
@@ -443,6 +497,8 @@ interface DetailBodyTemplateProps {
|
|
|
443
497
|
aside?: React__default.ReactNode;
|
|
444
498
|
summary?: React__default.ReactNode;
|
|
445
499
|
stickyAside?: boolean;
|
|
500
|
+
/** Class applied to the inner content + aside layout container. */
|
|
501
|
+
layoutClassName?: string;
|
|
446
502
|
contentClassName?: string;
|
|
447
503
|
mediaClassName?: string;
|
|
448
504
|
asideClassName?: string;
|
|
@@ -475,7 +531,7 @@ interface DetailBodySectionProps {
|
|
|
475
531
|
children?: React__default.ReactNode;
|
|
476
532
|
}
|
|
477
533
|
declare function DetailBodySection({ title, description, actions, surface, className, children, }: DetailBodySectionProps): React__default.JSX.Element;
|
|
478
|
-
declare function DetailBodyTemplateRoot({ variant, theme, className, topBar, header, lead, eyebrow, title, description, status, actions, media, aside, summary, stickyAside, contentClassName, mediaClassName, asideClassName, children, }: DetailBodyTemplateProps): React__default.JSX.Element;
|
|
534
|
+
declare function DetailBodyTemplateRoot({ variant, theme, className, topBar, header, lead, eyebrow, title, description, status, actions, media, aside, summary, stickyAside, layoutClassName, contentClassName, mediaClassName, asideClassName, children, }: DetailBodyTemplateProps): React__default.JSX.Element;
|
|
479
535
|
declare const DetailBodyTemplate: typeof DetailBodyTemplateRoot & {
|
|
480
536
|
Header: typeof DetailBodyHeader;
|
|
481
537
|
Tab: typeof DetailBodyTab;
|
package/dist/index.d.ts
CHANGED
|
@@ -330,6 +330,12 @@ interface WorkbenchBodyTemplateProps {
|
|
|
330
330
|
}
|
|
331
331
|
declare function WorkbenchBodyTemplate({ theme, className, contentClassName, title, description, status, topBar, headerRight, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, onResize, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, leftPaneLabel, rightPaneLabel, }: WorkbenchBodyTemplateProps): React__default.JSX.Element;
|
|
332
332
|
|
|
333
|
+
/**
|
|
334
|
+
* Defines one tab inside `DataBodyTemplate`.
|
|
335
|
+
*
|
|
336
|
+
* Must be rendered beneath a `DataBodyTemplate` root. Do not mix `Tab`, `Section`,
|
|
337
|
+
* and `Body` as sibling layout modes in the same root.
|
|
338
|
+
*/
|
|
333
339
|
interface DataBodyTabProps {
|
|
334
340
|
id: string;
|
|
335
341
|
label: React__default.ReactNode;
|
|
@@ -338,11 +344,23 @@ interface DataBodyTabProps {
|
|
|
338
344
|
children: React__default.ReactNode;
|
|
339
345
|
}
|
|
340
346
|
declare function DataBodyTab(_props: DataBodyTabProps): null;
|
|
347
|
+
/**
|
|
348
|
+
* Defines the single-pane body of `DataBodyTemplate`.
|
|
349
|
+
*
|
|
350
|
+
* Must be rendered beneath a `DataBodyTemplate` root. Use this instead of `Tab`
|
|
351
|
+
* or `Section` when the page has one full-height content pane.
|
|
352
|
+
*/
|
|
341
353
|
interface DataBodyBodyProps {
|
|
342
354
|
children?: React__default.ReactNode;
|
|
343
355
|
className?: string;
|
|
344
356
|
}
|
|
345
357
|
declare function DataBodyBody(_props: DataBodyBodyProps): null;
|
|
358
|
+
/**
|
|
359
|
+
* Defines one section in the left-navigation layout of `DataBodyTemplate`.
|
|
360
|
+
*
|
|
361
|
+
* Must be rendered beneath a `DataBodyTemplate` root. Do not combine sections
|
|
362
|
+
* with `Tab` or `Body` siblings in the same root.
|
|
363
|
+
*/
|
|
346
364
|
interface DataBodySectionProps {
|
|
347
365
|
id: string;
|
|
348
366
|
label: React__default.ReactNode;
|
|
@@ -351,14 +369,24 @@ interface DataBodySectionProps {
|
|
|
351
369
|
children?: React__default.ReactNode;
|
|
352
370
|
}
|
|
353
371
|
declare function DataBodySection(_props: DataBodySectionProps): null;
|
|
372
|
+
/** Adds summary content beneath the header of a `DataBodyTemplate` root. */
|
|
354
373
|
interface DataBodySummaryProps {
|
|
355
374
|
children?: React__default.ReactNode;
|
|
356
375
|
}
|
|
357
376
|
declare function DataBodySummary(_props: DataBodySummaryProps): null;
|
|
358
377
|
type GroupLayout = 'stacked' | 'horizontal' | 'inline' | 'split';
|
|
359
378
|
type GroupVariant = 'card' | 'plain' | 'bordered';
|
|
379
|
+
/**
|
|
380
|
+
* Groups related content inside `DataBodyTemplate`.
|
|
381
|
+
*
|
|
382
|
+
* `DataBodyTemplate.Group` is a compound child and must never be rendered as a
|
|
383
|
+
* standalone page component. Wrap it in `DataBodyTemplate`, optionally inside a
|
|
384
|
+
* `Tab`, `Section`, or `Body`.
|
|
385
|
+
*/
|
|
360
386
|
interface DataBodyGroupProps {
|
|
387
|
+
/** Visual arrangement of the group. @defaultValue `'stacked'` */
|
|
361
388
|
layout?: GroupLayout;
|
|
389
|
+
/** Surface treatment. Defaults depend on `layout`. */
|
|
362
390
|
variant?: GroupVariant;
|
|
363
391
|
title?: React__default.ReactNode;
|
|
364
392
|
description?: React__default.ReactNode;
|
|
@@ -368,12 +396,14 @@ interface DataBodyGroupProps {
|
|
|
368
396
|
children?: React__default.ReactNode;
|
|
369
397
|
}
|
|
370
398
|
declare function DataBodyGroup(props: DataBodyGroupProps): React__default.JSX.Element;
|
|
399
|
+
/** Read-only label/value content for a `DataBodyTemplate.Group`. */
|
|
371
400
|
interface DataBodyFieldProps {
|
|
372
401
|
label: string;
|
|
373
402
|
description?: string;
|
|
374
403
|
children?: React__default.ReactNode;
|
|
375
404
|
}
|
|
376
405
|
declare function DataBodyField({ label, description, children }: DataBodyFieldProps): React__default.JSX.Element;
|
|
406
|
+
/** Form label/control content for a `DataBodyTemplate.Group`. */
|
|
377
407
|
interface DataBodyRowProps {
|
|
378
408
|
label: string;
|
|
379
409
|
description?: string;
|
|
@@ -381,6 +411,12 @@ interface DataBodyRowProps {
|
|
|
381
411
|
children?: React__default.ReactNode;
|
|
382
412
|
}
|
|
383
413
|
declare function DataBodyRow({ label, description, required, children }: DataBodyRowProps): React__default.JSX.Element;
|
|
414
|
+
/**
|
|
415
|
+
* Props for the required root of the `DataBodyTemplate` compound component.
|
|
416
|
+
*
|
|
417
|
+
* Choose one primary child mode: direct content/groups, `Tab`, `Section`, or
|
|
418
|
+
* `Body`. Do not combine those layout modes in the same root.
|
|
419
|
+
*/
|
|
384
420
|
interface DataBodyTemplateProps {
|
|
385
421
|
theme?: React__default.CSSProperties;
|
|
386
422
|
className?: string;
|
|
@@ -397,7 +433,25 @@ interface DataBodyTemplateProps {
|
|
|
397
433
|
children?: React__default.ReactNode;
|
|
398
434
|
contentClassName?: string;
|
|
399
435
|
}
|
|
400
|
-
declare function Root$1(
|
|
436
|
+
declare function Root$1(props: DataBodyTemplateProps): React__default.JSX.Element;
|
|
437
|
+
/**
|
|
438
|
+
* Page-level template for data, list, tab, form, and settings experiences.
|
|
439
|
+
*
|
|
440
|
+
* Compound members such as `DataBodyTemplate.Group`, `Tab`, `Section`, `Body`,
|
|
441
|
+
* `Row`, and `Field` must be rendered beneath this root. Rendering a compound
|
|
442
|
+
* member without the root throws a descriptive runtime error.
|
|
443
|
+
*
|
|
444
|
+
* @example
|
|
445
|
+
* ```tsx
|
|
446
|
+
* <DataBodyTemplate title="Settings">
|
|
447
|
+
* <DataBodyTemplate.Group title="Profile">
|
|
448
|
+
* <DataBodyTemplate.Row label="Name">
|
|
449
|
+
* <Input />
|
|
450
|
+
* </DataBodyTemplate.Row>
|
|
451
|
+
* </DataBodyTemplate.Group>
|
|
452
|
+
* </DataBodyTemplate>
|
|
453
|
+
* ```
|
|
454
|
+
*/
|
|
401
455
|
declare const DataBodyTemplate: typeof Root$1 & {
|
|
402
456
|
Body: typeof DataBodyBody;
|
|
403
457
|
Tab: typeof DataBodyTab;
|
|
@@ -443,6 +497,8 @@ interface DetailBodyTemplateProps {
|
|
|
443
497
|
aside?: React__default.ReactNode;
|
|
444
498
|
summary?: React__default.ReactNode;
|
|
445
499
|
stickyAside?: boolean;
|
|
500
|
+
/** Class applied to the inner content + aside layout container. */
|
|
501
|
+
layoutClassName?: string;
|
|
446
502
|
contentClassName?: string;
|
|
447
503
|
mediaClassName?: string;
|
|
448
504
|
asideClassName?: string;
|
|
@@ -475,7 +531,7 @@ interface DetailBodySectionProps {
|
|
|
475
531
|
children?: React__default.ReactNode;
|
|
476
532
|
}
|
|
477
533
|
declare function DetailBodySection({ title, description, actions, surface, className, children, }: DetailBodySectionProps): React__default.JSX.Element;
|
|
478
|
-
declare function DetailBodyTemplateRoot({ variant, theme, className, topBar, header, lead, eyebrow, title, description, status, actions, media, aside, summary, stickyAside, contentClassName, mediaClassName, asideClassName, children, }: DetailBodyTemplateProps): React__default.JSX.Element;
|
|
534
|
+
declare function DetailBodyTemplateRoot({ variant, theme, className, topBar, header, lead, eyebrow, title, description, status, actions, media, aside, summary, stickyAside, layoutClassName, contentClassName, mediaClassName, asideClassName, children, }: DetailBodyTemplateProps): React__default.JSX.Element;
|
|
479
535
|
declare const DetailBodyTemplate: typeof DetailBodyTemplateRoot & {
|
|
480
536
|
Header: typeof DetailBodyHeader;
|
|
481
537
|
Tab: typeof DetailBodyTab;
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { clsx } from 'clsx';
|
|
|
3
3
|
import { twMerge } from 'tailwind-merge';
|
|
4
4
|
import { Button as Button$1 } from '@base-ui/react/button';
|
|
5
5
|
import { cva } from 'class-variance-authority';
|
|
6
|
-
import { jsxs, jsx, Fragment
|
|
6
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
|
|
8
8
|
import { mergeProps } from '@base-ui/react/merge-props';
|
|
9
9
|
import { useRender } from '@base-ui/react/use-render';
|
|
@@ -18,7 +18,7 @@ import { Select as Select$1 } from '@base-ui/react/select';
|
|
|
18
18
|
import { Separator as Separator$1 } from '@base-ui/react/separator';
|
|
19
19
|
import { Dialog } from '@base-ui/react/dialog';
|
|
20
20
|
import * as React2 from 'react';
|
|
21
|
-
import React2__default, { createContext, forwardRef, useContext, useEffect, useMemo, Children, useState, Fragment, useCallback } from 'react';
|
|
21
|
+
import React2__default, { createContext, forwardRef, useContext, useEffect, useMemo, Children, useState, Fragment as Fragment$1, useCallback } from 'react';
|
|
22
22
|
import { Tooltip as Tooltip$1 } from '@base-ui/react/tooltip';
|
|
23
23
|
import { Slider as Slider$1 } from '@base-ui/react/slider';
|
|
24
24
|
import { Switch as Switch$1 } from '@base-ui/react/switch';
|
|
@@ -1458,7 +1458,7 @@ function Sidebar({
|
|
|
1458
1458
|
/* @__PURE__ */ jsx(SheetTitle, { children: "Sidebar" }),
|
|
1459
1459
|
/* @__PURE__ */ jsx(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
1460
1460
|
] }),
|
|
1461
|
-
/* @__PURE__ */ jsx("div", { className: "flex h-full w-full flex-col", children })
|
|
1461
|
+
/* @__PURE__ */ jsx("div", { className: "flex h-full min-h-0 w-full flex-col", children })
|
|
1462
1462
|
]
|
|
1463
1463
|
}
|
|
1464
1464
|
) });
|
|
@@ -2645,7 +2645,7 @@ function WorkbenchBodyTemplate({
|
|
|
2645
2645
|
] })
|
|
2646
2646
|
] }),
|
|
2647
2647
|
/* @__PURE__ */ jsxs("div", { className: cn("flex min-h-0 flex-1 overflow-hidden", contentClassName), children: [
|
|
2648
|
-
showLeftPane && /* @__PURE__ */ jsxs(Fragment
|
|
2648
|
+
showLeftPane && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2649
2649
|
/* @__PURE__ */ jsx(
|
|
2650
2650
|
"aside",
|
|
2651
2651
|
{
|
|
@@ -2684,8 +2684,8 @@ function WorkbenchBodyTemplate({
|
|
|
2684
2684
|
)
|
|
2685
2685
|
] }),
|
|
2686
2686
|
/* @__PURE__ */ jsxs("main", { className: cn("flex min-w-0 flex-1 flex-col overflow-hidden", mainPaneClassName), children: [
|
|
2687
|
-
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-
|
|
2688
|
-
showBottomPane && /* @__PURE__ */ jsxs(Fragment
|
|
2687
|
+
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: mainPane ?? children }),
|
|
2688
|
+
showBottomPane && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2689
2689
|
resizable && /* @__PURE__ */ jsx(
|
|
2690
2690
|
ResizeHandle,
|
|
2691
2691
|
{
|
|
@@ -2724,7 +2724,7 @@ function WorkbenchBodyTemplate({
|
|
|
2724
2724
|
)
|
|
2725
2725
|
] })
|
|
2726
2726
|
] }),
|
|
2727
|
-
showRightPane && /* @__PURE__ */ jsxs(Fragment
|
|
2727
|
+
showRightPane && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2728
2728
|
resizable && /* @__PURE__ */ jsx(
|
|
2729
2729
|
ResizeHandle,
|
|
2730
2730
|
{
|
|
@@ -2765,19 +2765,30 @@ function WorkbenchBodyTemplate({
|
|
|
2765
2765
|
] })
|
|
2766
2766
|
] });
|
|
2767
2767
|
}
|
|
2768
|
+
var DataBodyTemplateContext = React2__default.createContext(false);
|
|
2769
|
+
function useDataBodyTemplateParent(component) {
|
|
2770
|
+
if (!React2__default.useContext(DataBodyTemplateContext)) {
|
|
2771
|
+
throw new Error(
|
|
2772
|
+
`[DesignKit] <DataBodyTemplate.${component}> must be rendered inside <DataBodyTemplate>. Wrap it like: <DataBodyTemplate><DataBodyTemplate.${component}>...</DataBodyTemplate.${component}></DataBodyTemplate>.`
|
|
2773
|
+
);
|
|
2774
|
+
}
|
|
2775
|
+
}
|
|
2768
2776
|
function DataBodyTab(_props) {
|
|
2777
|
+
useDataBodyTemplateParent("Tab");
|
|
2769
2778
|
return null;
|
|
2770
2779
|
}
|
|
2771
2780
|
function isDataBodyTab(node) {
|
|
2772
2781
|
return Boolean(node && typeof node === "object" && "type" in node && node.type === DataBodyTab);
|
|
2773
2782
|
}
|
|
2774
2783
|
function DataBodyBody(_props) {
|
|
2784
|
+
useDataBodyTemplateParent("Body");
|
|
2775
2785
|
return null;
|
|
2776
2786
|
}
|
|
2777
2787
|
function isDataBodyBody(node) {
|
|
2778
2788
|
return Boolean(node && typeof node === "object" && "type" in node && node.type === DataBodyBody);
|
|
2779
2789
|
}
|
|
2780
2790
|
function DataBodySection(_props) {
|
|
2791
|
+
useDataBodyTemplateParent("Section");
|
|
2781
2792
|
return null;
|
|
2782
2793
|
}
|
|
2783
2794
|
function isDataBodySection(node) {
|
|
@@ -2786,6 +2797,7 @@ function isDataBodySection(node) {
|
|
|
2786
2797
|
);
|
|
2787
2798
|
}
|
|
2788
2799
|
function DataBodySummary(_props) {
|
|
2800
|
+
useDataBodyTemplateParent("Summary");
|
|
2789
2801
|
return null;
|
|
2790
2802
|
}
|
|
2791
2803
|
function isDataBodySummary(node) {
|
|
@@ -2800,6 +2812,7 @@ var layoutDefaultVariant = {
|
|
|
2800
2812
|
split: "bordered"
|
|
2801
2813
|
};
|
|
2802
2814
|
function DataBodyGroup(props) {
|
|
2815
|
+
useDataBodyTemplateParent("Group");
|
|
2803
2816
|
return renderGroupProps(props);
|
|
2804
2817
|
}
|
|
2805
2818
|
function isDataBodyGroup(node) {
|
|
@@ -2819,12 +2832,12 @@ function GroupWrapper({
|
|
|
2819
2832
|
}
|
|
2820
2833
|
return /* @__PURE__ */ jsx("div", { className: "rounded-(--radius) border border-border p-(--designkit-panel-gap)", children });
|
|
2821
2834
|
}
|
|
2822
|
-
return /* @__PURE__ */ jsx(Fragment
|
|
2835
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
2823
2836
|
}
|
|
2824
2837
|
function renderGroups(nodes) {
|
|
2825
2838
|
const childArray = Children.toArray(nodes);
|
|
2826
2839
|
if (!childArray.some(isDataBodyGroup)) return nodes;
|
|
2827
|
-
return /* @__PURE__ */ jsx(Fragment
|
|
2840
|
+
return /* @__PURE__ */ jsx(Fragment, { children: childArray.map((child, i) => /* @__PURE__ */ jsx(Fragment$1, { children: isDataBodyGroup(child) ? renderGroup(child) : child }, i)) });
|
|
2828
2841
|
}
|
|
2829
2842
|
function renderGroup(group) {
|
|
2830
2843
|
return renderGroupProps(group.props);
|
|
@@ -2897,6 +2910,7 @@ function renderGroupProps(props) {
|
|
|
2897
2910
|
] });
|
|
2898
2911
|
}
|
|
2899
2912
|
function DataBodyField({ label, description, children }) {
|
|
2913
|
+
useDataBodyTemplateParent("Field");
|
|
2900
2914
|
return /* @__PURE__ */ jsxs(
|
|
2901
2915
|
"div",
|
|
2902
2916
|
{
|
|
@@ -2913,6 +2927,7 @@ function DataBodyField({ label, description, children }) {
|
|
|
2913
2927
|
);
|
|
2914
2928
|
}
|
|
2915
2929
|
function DataBodyRow({ label, description, required, children }) {
|
|
2930
|
+
useDataBodyTemplateParent("Row");
|
|
2916
2931
|
return /* @__PURE__ */ jsxs(
|
|
2917
2932
|
"div",
|
|
2918
2933
|
{
|
|
@@ -2935,7 +2950,7 @@ function TopBarSlot({ topBar }) {
|
|
|
2935
2950
|
if (!topBar) return null;
|
|
2936
2951
|
return /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar });
|
|
2937
2952
|
}
|
|
2938
|
-
function
|
|
2953
|
+
function RootContent({
|
|
2939
2954
|
theme,
|
|
2940
2955
|
className,
|
|
2941
2956
|
topBar,
|
|
@@ -3041,10 +3056,13 @@ function Root2({
|
|
|
3041
3056
|
/* @__PURE__ */ jsx("div", { className: "flex min-w-0 items-center gap-2", children: toolbarLeft }),
|
|
3042
3057
|
/* @__PURE__ */ jsx(DataPage.Actions, { children: toolbarRight })
|
|
3043
3058
|
] }),
|
|
3044
|
-
hasTabs ? /* @__PURE__ */ jsx(DataPage.GroupBody, { className: "min-h-full", children: renderGroups(activeTabNode?.props.children) }) : /* @__PURE__ */ jsx(DataPage.GroupBody, { children: bodyChildren.map((child, i) => /* @__PURE__ */ jsx(Fragment, { children: isDataBodyGroup(child) ? renderGroup(child) : child }, i)) })
|
|
3059
|
+
hasTabs ? /* @__PURE__ */ jsx(DataPage.GroupBody, { className: "min-h-full", children: renderGroups(activeTabNode?.props.children) }) : /* @__PURE__ */ jsx(DataPage.GroupBody, { children: bodyChildren.map((child, i) => /* @__PURE__ */ jsx(Fragment$1, { children: isDataBodyGroup(child) ? renderGroup(child) : child }, i)) })
|
|
3045
3060
|
] })
|
|
3046
3061
|
] });
|
|
3047
3062
|
}
|
|
3063
|
+
function Root2(props) {
|
|
3064
|
+
return /* @__PURE__ */ jsx(DataBodyTemplateContext.Provider, { value: true, children: /* @__PURE__ */ jsx(RootContent, { ...props }) });
|
|
3065
|
+
}
|
|
3048
3066
|
var DataBodyTemplate = Object.assign(Root2, {
|
|
3049
3067
|
Body: DataBodyBody,
|
|
3050
3068
|
Tab: DataBodyTab,
|
|
@@ -3122,7 +3140,7 @@ function BrowseBodyTemplate({
|
|
|
3122
3140
|
"div",
|
|
3123
3141
|
{
|
|
3124
3142
|
className: cn(
|
|
3125
|
-
"min-w-0 flex-1 overflow-
|
|
3143
|
+
"min-w-0 flex-1 overflow-auto px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
3126
3144
|
"[&_.gridkit-shell]:h-full [&_.gridkit-table-stack]:flex-1 [&_.gridkit-table-stack]:min-h-0",
|
|
3127
3145
|
"[&_.gridkit-frame]:flex-1 [&_.gridkit-frame]:min-h-0 [&_.gridkit-frame]:overflow-auto",
|
|
3128
3146
|
contentClassName
|
|
@@ -3193,7 +3211,7 @@ function DetailBodySection({
|
|
|
3193
3211
|
);
|
|
3194
3212
|
}
|
|
3195
3213
|
function renderChildren(nodes) {
|
|
3196
|
-
return Children.toArray(nodes).map((child, i) => /* @__PURE__ */ jsx(Fragment, { children: child }, i));
|
|
3214
|
+
return Children.toArray(nodes).map((child, i) => /* @__PURE__ */ jsx(Fragment$1, { children: child }, i));
|
|
3197
3215
|
}
|
|
3198
3216
|
function DetailBodyTemplateRoot({
|
|
3199
3217
|
variant = "record",
|
|
@@ -3211,6 +3229,7 @@ function DetailBodyTemplateRoot({
|
|
|
3211
3229
|
aside,
|
|
3212
3230
|
summary,
|
|
3213
3231
|
stickyAside = true,
|
|
3232
|
+
layoutClassName,
|
|
3214
3233
|
contentClassName,
|
|
3215
3234
|
mediaClassName,
|
|
3216
3235
|
asideClassName,
|
|
@@ -3267,7 +3286,7 @@ function DetailBodyTemplateRoot({
|
|
|
3267
3286
|
const hasRecordInspector = Boolean(leadSlot);
|
|
3268
3287
|
const hasFullLeadArea = Boolean(leadSlot || insideAsideSlot);
|
|
3269
3288
|
const layout = {
|
|
3270
|
-
media: /* @__PURE__ */ jsxs(Fragment
|
|
3289
|
+
media: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3271
3290
|
leadSlot && /* @__PURE__ */ jsx("div", { className: "mb-(--designkit-panel-gap)", children: leadSlot }),
|
|
3272
3291
|
body
|
|
3273
3292
|
] }),
|
|
@@ -3284,7 +3303,7 @@ function DetailBodyTemplateRoot({
|
|
|
3284
3303
|
]
|
|
3285
3304
|
}
|
|
3286
3305
|
),
|
|
3287
|
-
full: /* @__PURE__ */ jsxs(Fragment
|
|
3306
|
+
full: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3288
3307
|
hasFullLeadArea && /* @__PURE__ */ jsxs(
|
|
3289
3308
|
"div",
|
|
3290
3309
|
{
|
|
@@ -3324,7 +3343,8 @@ function DetailBodyTemplateRoot({
|
|
|
3324
3343
|
{
|
|
3325
3344
|
className: cn(
|
|
3326
3345
|
"grid h-full min-h-0 grid-cols-1 overflow-hidden",
|
|
3327
|
-
outsideAsideSlot && "lg:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
|
|
3346
|
+
outsideAsideSlot && "lg:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]",
|
|
3347
|
+
layoutClassName
|
|
3328
3348
|
),
|
|
3329
3349
|
children: [
|
|
3330
3350
|
/* @__PURE__ */ jsx(
|
|
@@ -3491,7 +3511,7 @@ function FormWizardBodyTemplate({
|
|
|
3491
3511
|
return /* @__PURE__ */ jsxs(DataPage, { className: "layout-form-wizard", style: theme, children: [
|
|
3492
3512
|
topBar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar }),
|
|
3493
3513
|
/* @__PURE__ */ jsx(DataPage.Header, { children: /* @__PURE__ */ jsx(DataPage.TitleBlock, { title, status }) }),
|
|
3494
|
-
/* @__PURE__ */ jsx("div", { className: "shrink-0 px-(--designkit-page-padding-x) pb-4", children: /* @__PURE__ */ jsx("div", { className: "flex items-center", children: steps.map((step, i) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3514
|
+
/* @__PURE__ */ jsx("div", { className: "shrink-0 px-(--designkit-page-padding-x) pb-4", children: /* @__PURE__ */ jsx("div", { className: "flex items-center", children: steps.map((step, i) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
3495
3515
|
i > 0 && /* @__PURE__ */ jsx(
|
|
3496
3516
|
"div",
|
|
3497
3517
|
{
|