goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
76 lines • 3.25 kB
TypeScript
import { default as React } from 'react';
export interface PaperProps extends React.HTMLAttributes<HTMLDivElement> {
children: React.ReactNode;
/** Styling options: theme plus scalar overrides layered over the CSS-module defaults. */
styles?: {
/** Theme variant: only 'sacred' selects the sacred surface (gold glow); any other value (or unset) renders the default surface. */
theme?: string;
/** Surface width. */
width?: string;
/** Surface max-width. */
maxWidth?: string;
/** Surface min-width. */
minWidth?: string;
/** Surface height. */
height?: string;
/** Surface max-height. */
maxHeight?: string;
/** Surface min-height. */
minHeight?: string;
/** Surface padding. */
padding?: string;
/** Surface border radius. */
borderRadius?: string;
/** Surface background color. */
backgroundColor?: string;
/** Surface background-image. */
backgroundImage?: string;
/** Full border shorthand; wins over borderColor/borderWidth. */
border?: string;
/** Border color; composes `<borderWidth> solid <borderColor>` when `border` is not set. */
borderColor?: string;
/** Border width; with neither border nor borderColor it composes a theme-tinted border on its own (default 1px with borderColor). */
borderWidth?: string;
/** Surface box shadow; replaces the elevation-derived shadow. */
boxShadow?: string;
/** Surface backdrop-filter. */
backdropFilter?: string;
/** Surface opacity. */
opacity?: number | string;
/** Margin shorthand; when set, the per-side margins are ignored. */
margin?: string;
/** Bottom margin (ignored when `margin` is set). */
marginBottom?: string;
/** Top margin (ignored when `margin` is set). */
marginTop?: string;
/** Left margin (ignored when `margin` is set). */
marginLeft?: string;
/** Right margin (ignored when `margin` is set). */
marginRight?: string;
};
elevation?: number;
/**
* When this Paper is the surface for an inline form, set
* `dataForm="<verb>-<entity>"` (e.g. `"create-contract"`,
* `"manage-category"`) to mark the form root for tests:
* `await expect(page.locator('[data-form="create-contract"]')).toBeVisible()`
* Generic `data-*` attributes already pass through via
* `...restProps`; this is the named, documented hook.
*/
dataForm?: string;
/**
* Singular entity noun (e.g. `"contract"`, `"category"`). Emitted as
* `data-subject="<value>"` so tests can disambiguate when multiple
* Papers (e.g. nested forms) live on the same page.
*/
dataSubject?: string;
/**
* Generic kind label (e.g. `"card"`, `"panel"`, `"summary"`)
* emitted as `data-paper="<value>"`. Use when the surface needs a
* stable selector but isn't a form.
*/
dataPaper?: string;
}
export declare const Paper: React.ForwardRefExoticComponent<PaperProps & React.RefAttributes<HTMLDivElement>>;
export default Paper;
//# sourceMappingURL=index.d.ts.map