@planningcenter/tapestry 4.8.0 → 4.8.1-qa-1336.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/dist/components/DataTable/FilterControls.d.ts.map +1 -1
- package/dist/components/DataTable/FilterControls.js +10 -8
- package/dist/components/DataTable/FilterControls.js.map +1 -1
- package/dist/components/DataTable/FilterControls.module.css.js +1 -1
- package/dist/components/DataTable/TruncatedFilterLabel.d.ts +16 -0
- package/dist/components/DataTable/TruncatedFilterLabel.d.ts.map +1 -0
- package/dist/components/DataTable/TruncatedFilterLabel.js +41 -0
- package/dist/components/DataTable/TruncatedFilterLabel.js.map +1 -0
- package/dist/components/DataTable/numberFilter.d.ts.map +1 -1
- package/dist/components/DataTable/numberFilter.js +49 -31
- package/dist/components/DataTable/numberFilter.js.map +1 -1
- package/dist/components/DataTable/textFilter.js +14 -2
- package/dist/components/DataTable/textFilter.js.map +1 -1
- package/dist/components/pane/Pane.d.ts +22 -0
- package/dist/components/pane/Pane.d.ts.map +1 -0
- package/dist/components/pane/Pane.js +29 -0
- package/dist/components/pane/Pane.js.map +1 -0
- package/dist/components/pane/PaneBody.d.ts +18 -0
- package/dist/components/pane/PaneBody.d.ts.map +1 -0
- package/dist/components/pane/PaneBody.js +17 -0
- package/dist/components/pane/PaneBody.js.map +1 -0
- package/dist/components/pane/PaneContext.d.ts +12 -0
- package/dist/components/pane/PaneContext.d.ts.map +1 -0
- package/dist/components/pane/PaneContext.js +6 -0
- package/dist/components/pane/PaneContext.js.map +1 -0
- package/dist/components/pane/PaneDivider.d.ts +14 -0
- package/dist/components/pane/PaneDivider.d.ts.map +1 -0
- package/dist/components/pane/PaneDivider.js +17 -0
- package/dist/components/pane/PaneDivider.js.map +1 -0
- package/dist/components/pane/PaneFooter.d.ts +27 -0
- package/dist/components/pane/PaneFooter.d.ts.map +1 -0
- package/dist/components/pane/PaneFooter.js +20 -0
- package/dist/components/pane/PaneFooter.js.map +1 -0
- package/dist/components/pane/PaneHeader.d.ts +36 -0
- package/dist/components/pane/PaneHeader.d.ts.map +1 -0
- package/dist/components/pane/PaneHeader.js +35 -0
- package/dist/components/pane/PaneHeader.js.map +1 -0
- package/dist/components/pane/PaneHeaderActions.d.ts +24 -0
- package/dist/components/pane/PaneHeaderActions.d.ts.map +1 -0
- package/dist/components/pane/PaneHeaderActions.js +20 -0
- package/dist/components/pane/PaneHeaderActions.js.map +1 -0
- package/dist/components/pane/index.d.ts +14 -0
- package/dist/components/pane/index.d.ts.map +1 -0
- package/dist/reactRender.css +941 -873
- package/dist/reactRender.css.map +1 -1
- package/dist/reactRenderLegacy.css +941 -873
- package/dist/reactRenderLegacy.css.map +1 -1
- package/dist/unstable.css +68 -0
- package/dist/unstable.css.map +1 -1
- package/dist/unstable.d.ts +1 -0
- package/dist/unstable.d.ts.map +1 -1
- package/dist/unstable.js +6 -0
- package/dist/unstable.js.map +1 -1
- package/dist/utilities/typeUtils.d.ts +1 -0
- package/dist/utilities/typeUtils.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneContext.js","sources":["../../../src/components/pane/PaneContext.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface PaneContextValue {\n /**\n * Called by `PaneHeader` to tell the `Pane` whether a title is rendered, so\n * the root can decide between a labelled `region` landmark and a plain\n * container.\n */\n registerTitle: (hasTitle: boolean) => void\n titleId: string\n}\n\nexport const PaneContext = React.createContext<PaneContextValue | null>(null)\n"],"names":["React"],"mappings":";;AAYO,MAAM,WAAW,GAAGA,cAAK,CAAC,aAAa,CAA0B,IAAI;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
import React, { type HTMLAttributes } from "react";
|
|
3
|
+
export type PaneDividerElementProps = HTMLAttributes<HTMLHRElement>;
|
|
4
|
+
/**
|
|
5
|
+
* A 1px rule between sub-sections inside a `PaneBody`.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
9
|
+
*/
|
|
10
|
+
export declare function PaneDivider({ className, ...restProps }: PaneDividerElementProps): React.JSX.Element;
|
|
11
|
+
export declare namespace PaneDivider {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=PaneDivider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneDivider.d.ts","sourceRoot":"","sources":["../../../src/components/pane/PaneDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAA;AAElD,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;AAEnE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,SAAS,EACb,EAAE,uBAAuB,qBAIzB;yBAPe,WAAW"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A 1px rule between sub-sections inside a `PaneBody`.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
9
|
+
*/
|
|
10
|
+
function PaneDivider({ className, ...restProps }) {
|
|
11
|
+
const combinedClassName = classNames("tds-pane-divider", className);
|
|
12
|
+
return React__default.createElement("hr", { ...restProps, className: combinedClassName });
|
|
13
|
+
}
|
|
14
|
+
PaneDivider.displayName = "PaneDivider";
|
|
15
|
+
|
|
16
|
+
export { PaneDivider };
|
|
17
|
+
//# sourceMappingURL=PaneDivider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneDivider.js","sources":["../../../src/components/pane/PaneDivider.tsx"],"sourcesContent":["import \"./index.css\"\n\nimport classNames from \"classnames\"\nimport React, { type HTMLAttributes } from \"react\"\n\nexport type PaneDividerElementProps = HTMLAttributes<HTMLHRElement>\n\n/**\n * A 1px rule between sub-sections inside a `PaneBody`.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}\n */\nexport function PaneDivider({\n className,\n ...restProps\n}: PaneDividerElementProps) {\n const combinedClassName = classNames(\"tds-pane-divider\", className)\n\n return <hr {...restProps} className={combinedClassName} />\n}\n\nPaneDivider.displayName = \"PaneDivider\"\n"],"names":["React"],"mappings":";;;AAOA;;;;;AAKG;AACG,SAAU,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,SAAS,EACY,EAAA;IACxB,MAAM,iBAAiB,GAAG,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC;AAEnE,IAAA,OAAOA,wCAAQ,SAAS,EAAE,SAAS,EAAE,iBAAiB,GAAI;AAC5D;AAEA,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
import { type FlexProps } from "../flex";
|
|
3
|
+
import type { DistributiveOmit } from "../../utilities/typeUtils";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export interface PaneFooterProps {
|
|
6
|
+
/**
|
|
7
|
+
* Action buttons only — per Figma guidance, a footer should be avoided
|
|
8
|
+
* outside the documented exceptions (top-down flows like forms/wizards, or
|
|
9
|
+
* when a primary action can't live in the header). Laid out in a row; pass
|
|
10
|
+
* any `Flex` prop to adjust the layout.
|
|
11
|
+
*/
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export type PaneFooterElementProps = DistributiveOmit<FlexProps, "as"> & PaneFooterProps;
|
|
15
|
+
/**
|
|
16
|
+
* The footer region of a `Pane`, intended for action buttons. Lays its
|
|
17
|
+
* children out in a `Flex` row and accepts every `Flex` prop, so the caller
|
|
18
|
+
* controls spacing and alignment without reaching for a wrapper element.
|
|
19
|
+
*
|
|
20
|
+
* @component
|
|
21
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
22
|
+
*/
|
|
23
|
+
export declare function PaneFooter({ children, className, ...restProps }: PaneFooterElementProps): React.JSX.Element;
|
|
24
|
+
export declare namespace PaneFooter {
|
|
25
|
+
var displayName: string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=PaneFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneFooter.d.ts","sourceRoot":"","sources":["../../../src/components/pane/PaneFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,GACpE,eAAe,CAAA;AAEjB;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,GAAG,SAAS,EACb,EAAE,sBAAsB,qBAiBxB;yBArBe,UAAU"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Flex } from '../flex/Flex.js';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The footer region of a `Pane`, intended for action buttons. Lays its
|
|
7
|
+
* children out in a `Flex` row and accepts every `Flex` prop, so the caller
|
|
8
|
+
* controls spacing and alignment without reaching for a wrapper element.
|
|
9
|
+
*
|
|
10
|
+
* @component
|
|
11
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
12
|
+
*/
|
|
13
|
+
function PaneFooter({ children, className, ...restProps }) {
|
|
14
|
+
const combinedClassName = classNames("tds-pane-footer", className);
|
|
15
|
+
return (React__default.createElement(Flex, { align: "center", direction: "row", gap: 2, justify: "end", ...restProps, as: "footer", className: combinedClassName, role: "group" }, children));
|
|
16
|
+
}
|
|
17
|
+
PaneFooter.displayName = "PaneFooter";
|
|
18
|
+
|
|
19
|
+
export { PaneFooter };
|
|
20
|
+
//# sourceMappingURL=PaneFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneFooter.js","sources":["../../../src/components/pane/PaneFooter.tsx"],"sourcesContent":["import \"./index.css\"\n\nimport { Flex, type FlexProps } from \"@components/flex\"\nimport type { DistributiveOmit } from \"@utilities/typeUtils\"\nimport classNames from \"classnames\"\nimport React from \"react\"\n\nexport interface PaneFooterProps {\n /**\n * Action buttons only — per Figma guidance, a footer should be avoided\n * outside the documented exceptions (top-down flows like forms/wizards, or\n * when a primary action can't live in the header). Laid out in a row; pass\n * any `Flex` prop to adjust the layout.\n */\n children: React.ReactNode\n}\n\nexport type PaneFooterElementProps = DistributiveOmit<FlexProps, \"as\"> &\n PaneFooterProps\n\n/**\n * The footer region of a `Pane`, intended for action buttons. Lays its\n * children out in a `Flex` row and accepts every `Flex` prop, so the caller\n * controls spacing and alignment without reaching for a wrapper element.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}\n */\nexport function PaneFooter({\n children,\n className,\n ...restProps\n}: PaneFooterElementProps) {\n const combinedClassName = classNames(\"tds-pane-footer\", className)\n\n return (\n <Flex\n align=\"center\"\n direction=\"row\"\n gap={2}\n justify=\"end\"\n {...restProps}\n as=\"footer\"\n className={combinedClassName}\n role=\"group\"\n >\n {children}\n </Flex>\n )\n}\n\nPaneFooter.displayName = \"PaneFooter\"\n"],"names":["React"],"mappings":";;;;AAoBA;;;;;;;AAOG;AACG,SAAU,UAAU,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,GAAG,SAAS,EACW,EAAA;IACvB,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC;AAElE,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EACH,KAAK,EAAC,QAAQ,EACd,SAAS,EAAC,KAAK,EACf,GAAG,EAAE,CAAC,EACN,OAAO,EAAC,KAAK,EAAA,GACT,SAAS,EACb,EAAE,EAAC,QAAQ,EACX,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAC,OAAO,IAEX,QAAQ,CACJ;AAEX;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
import React, { type HTMLAttributes } from "react";
|
|
3
|
+
export type PaneHeaderLevel = 2 | 3;
|
|
4
|
+
export interface PaneHeaderProps {
|
|
5
|
+
/**
|
|
6
|
+
* Trailing header content, rendered after the title — typically a
|
|
7
|
+
* `PaneHeaderActions` wrapping the buttons that affect the whole pane.
|
|
8
|
+
*/
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Controls which heading element renders (`h2` or `h3`) so the title fits
|
|
12
|
+
* the document outline wherever the Pane is nested. Visual style stays
|
|
13
|
+
* constant at every level. Defaults to `2`; override to `3` when nesting a
|
|
14
|
+
* Pane one level deeper in the heading outline.
|
|
15
|
+
*/
|
|
16
|
+
level?: PaneHeaderLevel;
|
|
17
|
+
/**
|
|
18
|
+
* The pane's title. Optional only in the documented exception — e.g. a
|
|
19
|
+
* wizard step whose title already lives in a Stepper component.
|
|
20
|
+
*/
|
|
21
|
+
title?: React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export type PaneHeaderElementProps = Omit<HTMLAttributes<HTMLDivElement>, keyof PaneHeaderProps> & PaneHeaderProps;
|
|
24
|
+
/**
|
|
25
|
+
* The header region of a `Pane` — renders the title followed by any children,
|
|
26
|
+
* which should be a `PaneHeaderActions` when the pane has actions. Must be
|
|
27
|
+
* rendered inside a `Pane`.
|
|
28
|
+
*
|
|
29
|
+
* @component
|
|
30
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
31
|
+
*/
|
|
32
|
+
export declare function PaneHeader({ children, className, level, title, ...restProps }: PaneHeaderElementProps): React.JSX.Element;
|
|
33
|
+
export declare namespace PaneHeader {
|
|
34
|
+
var displayName: string;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=PaneHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneHeader.d.ts","sourceRoot":"","sources":["../../../src/components/pane/PaneHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAIpB,OAAO,KAAK,EAAE,EAAE,KAAK,cAAc,EAAyB,MAAM,OAAO,CAAA;AAIzE,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAA;AAEnC,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACxB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,cAAc,CAAC,cAAc,CAAC,EAC9B,MAAM,eAAe,CACtB,GACC,eAAe,CAAA;AAEjB;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,KAAS,EACT,KAAK,EACL,GAAG,SAAS,EACb,EAAE,sBAAsB,qBAsCxB;yBA5Ce,UAAU"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Flex } from '../flex/Flex.js';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import React__default, { useContext, useEffect } from 'react';
|
|
4
|
+
import { PaneContext } from './PaneContext.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The header region of a `Pane` — renders the title followed by any children,
|
|
8
|
+
* which should be a `PaneHeaderActions` when the pane has actions. Must be
|
|
9
|
+
* rendered inside a `Pane`.
|
|
10
|
+
*
|
|
11
|
+
* @component
|
|
12
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
13
|
+
*/
|
|
14
|
+
function PaneHeader({ children, className, level = 2, title, ...restProps }) {
|
|
15
|
+
const { registerTitle, titleId } = useContext(PaneContext) ?? {};
|
|
16
|
+
const combinedClassName = classNames("tds-pane-header", className);
|
|
17
|
+
const Heading = `h${level}`;
|
|
18
|
+
const hasTitle = title !== undefined &&
|
|
19
|
+
title !== null &&
|
|
20
|
+
title !== "" &&
|
|
21
|
+
typeof title !== "boolean";
|
|
22
|
+
// Let the Pane know whether it has a title to label itself with, rather than
|
|
23
|
+
// having the Pane inspect its own children.
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
registerTitle?.(hasTitle);
|
|
26
|
+
return () => registerTitle?.(false);
|
|
27
|
+
}, [hasTitle, registerTitle]);
|
|
28
|
+
return (React__default.createElement(Flex, { as: "header", align: "center", gap: 2, justify: "space-between", direction: "row", wrap: "wrap", ...restProps, className: combinedClassName, role: "group" },
|
|
29
|
+
hasTitle && (React__default.createElement(Heading, { className: "tds-pane-title", id: titleId }, title)),
|
|
30
|
+
children));
|
|
31
|
+
}
|
|
32
|
+
PaneHeader.displayName = "PaneHeader";
|
|
33
|
+
|
|
34
|
+
export { PaneHeader };
|
|
35
|
+
//# sourceMappingURL=PaneHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneHeader.js","sources":["../../../src/components/pane/PaneHeader.tsx"],"sourcesContent":["import \"./index.css\"\n\nimport { Flex } from \"@components/flex\"\nimport classNames from \"classnames\"\nimport React, { type HTMLAttributes, useContext, useEffect } from \"react\"\n\nimport { PaneContext } from \"./PaneContext\"\n\nexport type PaneHeaderLevel = 2 | 3\n\nexport interface PaneHeaderProps {\n /**\n * Trailing header content, rendered after the title — typically a\n * `PaneHeaderActions` wrapping the buttons that affect the whole pane.\n */\n children?: React.ReactNode\n /**\n * Controls which heading element renders (`h2` or `h3`) so the title fits\n * the document outline wherever the Pane is nested. Visual style stays\n * constant at every level. Defaults to `2`; override to `3` when nesting a\n * Pane one level deeper in the heading outline.\n */\n level?: PaneHeaderLevel\n /**\n * The pane's title. Optional only in the documented exception — e.g. a\n * wizard step whose title already lives in a Stepper component.\n */\n title?: React.ReactNode\n}\n\nexport type PaneHeaderElementProps = Omit<\n HTMLAttributes<HTMLDivElement>,\n keyof PaneHeaderProps\n> &\n PaneHeaderProps\n\n/**\n * The header region of a `Pane` — renders the title followed by any children,\n * which should be a `PaneHeaderActions` when the pane has actions. Must be\n * rendered inside a `Pane`.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}\n */\nexport function PaneHeader({\n children,\n className,\n level = 2,\n title,\n ...restProps\n}: PaneHeaderElementProps) {\n const { registerTitle, titleId } = useContext(PaneContext) ?? {}\n const combinedClassName = classNames(\"tds-pane-header\", className)\n const Heading = `h${level}` as \"h2\" | \"h3\"\n const hasTitle =\n title !== undefined &&\n title !== null &&\n title !== \"\" &&\n typeof title !== \"boolean\"\n\n // Let the Pane know whether it has a title to label itself with, rather than\n // having the Pane inspect its own children.\n useEffect(() => {\n registerTitle?.(hasTitle)\n\n return () => registerTitle?.(false)\n }, [hasTitle, registerTitle])\n\n return (\n <Flex\n as=\"header\"\n align=\"center\"\n gap={2}\n justify=\"space-between\"\n direction=\"row\"\n wrap=\"wrap\"\n {...restProps}\n className={combinedClassName}\n role=\"group\"\n >\n {hasTitle && (\n <Heading className=\"tds-pane-title\" id={titleId}>\n {title}\n </Heading>\n )}\n {children}\n </Flex>\n )\n}\n\nPaneHeader.displayName = \"PaneHeader\"\n"],"names":["React"],"mappings":";;;;;AAoCA;;;;;;;AAOG;SACa,UAAU,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,CAAC,EACT,KAAK,EACL,GAAG,SAAS,EACW,EAAA;AACvB,IAAA,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE;IAChE,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC;AAClE,IAAA,MAAM,OAAO,GAAG,CAAA,CAAA,EAAI,KAAK,EAAiB;AAC1C,IAAA,MAAM,QAAQ,GACZ,KAAK,KAAK,SAAS;AACnB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,KAAK,KAAK,EAAE;QACZ,OAAO,KAAK,KAAK,SAAS;;;IAI5B,SAAS,CAAC,MAAK;AACb,QAAA,aAAa,GAAG,QAAQ,CAAC;QAEzB,OAAO,MAAM,aAAa,GAAG,KAAK,CAAC;AACrC,IAAA,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAE7B,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EACH,EAAE,EAAC,QAAQ,EACX,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE,CAAC,EACN,OAAO,EAAC,eAAe,EACvB,SAAS,EAAC,KAAK,EACf,IAAI,EAAC,MAAM,EAAA,GACP,SAAS,EACb,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAC,OAAO,EAAA;AAEX,QAAA,QAAQ,KACPA,cAAA,CAAA,aAAA,CAAC,OAAO,IAAC,SAAS,EAAC,gBAAgB,EAAC,EAAE,EAAE,OAAO,EAAA,EAC5C,KAAK,CACE,CACX;QACA,QAAQ,CACJ;AAEX;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
import { type FlexProps } from "../flex";
|
|
3
|
+
import React from "react";
|
|
4
|
+
export interface PaneHeaderActionsProps {
|
|
5
|
+
/**
|
|
6
|
+
* The actions themselves — buttons that affect the whole pane (e.g. Save /
|
|
7
|
+
* Cancel). Laid out in a row; pass any `Flex` prop to adjust the layout.
|
|
8
|
+
*/
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export type PaneHeaderActionsElementProps = FlexProps & PaneHeaderActionsProps;
|
|
12
|
+
/**
|
|
13
|
+
* The trailing action cluster of a `PaneHeader`. Wraps its children in a
|
|
14
|
+
* `Flex` row and accepts every `Flex` prop, so the caller controls spacing and
|
|
15
|
+
* alignment without reaching for a wrapper element.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
19
|
+
*/
|
|
20
|
+
export declare function PaneHeaderActions({ children, className, ...restProps }: PaneHeaderActionsElementProps): React.JSX.Element;
|
|
21
|
+
export declare namespace PaneHeaderActions {
|
|
22
|
+
var displayName: string;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=PaneHeaderActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneHeaderActions.d.ts","sourceRoot":"","sources":["../../../src/components/pane/PaneHeaderActions.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,MAAM,MAAM,6BAA6B,GAAG,SAAS,GAAG,sBAAsB,CAAA;AAE9E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,GAAG,SAAS,EACb,EAAE,6BAA6B,qBAc/B;yBAlBe,iBAAiB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Flex } from '../flex/Flex.js';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The trailing action cluster of a `PaneHeader`. Wraps its children in a
|
|
7
|
+
* `Flex` row and accepts every `Flex` prop, so the caller controls spacing and
|
|
8
|
+
* alignment without reaching for a wrapper element.
|
|
9
|
+
*
|
|
10
|
+
* @component
|
|
11
|
+
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}
|
|
12
|
+
*/
|
|
13
|
+
function PaneHeaderActions({ children, className, ...restProps }) {
|
|
14
|
+
const combinedClassName = classNames("tds-pane-header-actions", className);
|
|
15
|
+
return (React__default.createElement(Flex, { align: "center", direction: "row", gap: 1, ...restProps, className: combinedClassName }, children));
|
|
16
|
+
}
|
|
17
|
+
PaneHeaderActions.displayName = "PaneHeaderActions";
|
|
18
|
+
|
|
19
|
+
export { PaneHeaderActions };
|
|
20
|
+
//# sourceMappingURL=PaneHeaderActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneHeaderActions.js","sources":["../../../src/components/pane/PaneHeaderActions.tsx"],"sourcesContent":["import \"./index.css\"\n\nimport { Flex, type FlexProps } from \"@components/flex\"\nimport classNames from \"classnames\"\nimport React from \"react\"\n\nexport interface PaneHeaderActionsProps {\n /**\n * The actions themselves — buttons that affect the whole pane (e.g. Save /\n * Cancel). Laid out in a row; pass any `Flex` prop to adjust the layout.\n */\n children: React.ReactNode\n}\n\nexport type PaneHeaderActionsElementProps = FlexProps & PaneHeaderActionsProps\n\n/**\n * The trailing action cluster of a `PaneHeader`. Wraps its children in a\n * `Flex` row and accepts every `Flex` prop, so the caller controls spacing and\n * alignment without reaching for a wrapper element.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-pane--docs | Storybook Documentation}\n */\nexport function PaneHeaderActions({\n children,\n className,\n ...restProps\n}: PaneHeaderActionsElementProps) {\n const combinedClassName = classNames(\"tds-pane-header-actions\", className)\n\n return (\n <Flex\n align=\"center\"\n direction=\"row\"\n gap={1}\n {...restProps}\n className={combinedClassName}\n >\n {children}\n </Flex>\n )\n}\n\nPaneHeaderActions.displayName = \"PaneHeaderActions\"\n"],"names":["React"],"mappings":";;;;AAgBA;;;;;;;AAOG;AACG,SAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,GAAG,SAAS,EACkB,EAAA;IAC9B,MAAM,iBAAiB,GAAG,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC;IAE1E,QACEA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EACH,KAAK,EAAC,QAAQ,EACd,SAAS,EAAC,KAAK,EACf,GAAG,EAAE,CAAC,EAAA,GACF,SAAS,EACb,SAAS,EAAE,iBAAiB,EAAA,EAE3B,QAAQ,CACJ;AAEX;AAEA,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "./index.css";
|
|
2
|
+
export type { PaneElementProps, PaneProps } from "./Pane";
|
|
3
|
+
export { Pane } from "./Pane";
|
|
4
|
+
export type { PaneBodyElementProps, PaneBodyProps } from "./PaneBody";
|
|
5
|
+
export { PaneBody } from "./PaneBody";
|
|
6
|
+
export type { PaneDividerElementProps } from "./PaneDivider";
|
|
7
|
+
export { PaneDivider } from "./PaneDivider";
|
|
8
|
+
export type { PaneFooterElementProps, PaneFooterProps } from "./PaneFooter";
|
|
9
|
+
export { PaneFooter } from "./PaneFooter";
|
|
10
|
+
export type { PaneHeaderElementProps, PaneHeaderLevel, PaneHeaderProps, } from "./PaneHeader";
|
|
11
|
+
export { PaneHeader } from "./PaneHeader";
|
|
12
|
+
export type { PaneHeaderActionsElementProps, PaneHeaderActionsProps, } from "./PaneHeaderActions";
|
|
13
|
+
export { PaneHeaderActions } from "./PaneHeaderActions";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pane/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EACV,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
|