/** * @module @airtable/blocks/ui: ViewportConstraint * @docsPath UI/components/ViewportConstraint */ /** */ import * as PropTypes from 'prop-types'; import * as React from 'react'; import { ViewportSizeConstraint } from '../types/viewport'; import Sdk from '../sdk'; /** An object specifying a width and/or height for the block's viewport. */ declare type ViewportSizeConstraintProp = Partial; /** * Props for the {@link ViewportConstraint} component. * * @docsPath UI/components/ViewportConstraint */ interface ViewportConstraintProps { /** The minimum viewport size of the app. */ minSize?: ViewportSizeConstraintProp; /** The maximum viewport size of the app when it is in fullscreen mode. */ maxFullscreenSize?: ViewportSizeConstraintProp; /** The contents of the viewport constraint. */ children?: React.ReactNode; /** @internal injected by withHooks */ sdk: Sdk; } /** * When mounted, this wrapper component applies size constraints to the {@link Viewport}. * Like {@link addMinSize}, this will fullscreen the app if necessary and possible when * `minSize` is updated. * * @example * ```js * import {ViewportConstraint} from '@airtable/blocks/ui'; * * ``` * * @example * ```js * import {ViewportConstraint} from '@airtable/blocks/ui'; * *
I need a max fullscreen size!
*
* ``` * @docsPath UI/components/ViewportConstraint * @component */ declare class ViewportConstraint extends React.Component { /** @hidden */ static propTypes: { minSize: PropTypes.Requireable; height: PropTypes.Requireable; }>>; maxFullscreenSize: PropTypes.Requireable; height: PropTypes.Requireable; }>>; children: PropTypes.Requireable; }; /** @internal */ _removeMinSizeConstraintFn: (() => void) | null; /** @internal */ _removeMaxFullscreenSizeConstrainFn: (() => void) | null; /** @hidden */ componentDidMount(): void; /** @hidden */ shouldComponentUpdate(nextProps: ViewportConstraintProps): boolean; /** @hidden */ componentDidUpdate(prevProps: ViewportConstraintProps): void; /** @hidden */ componentWillUnmount(): void; /** @internal */ _removeMinSizeConstraint(): void; /** @internal */ _removeMaxFullscreenSizeConstraint(): void; /** @internal */ _setMinSizeConstraint(): void; /** @internal */ _setMaxFullscreenSizeConstraint(): void; /** @hidden */ render(): JSX.Element; } declare const _default: React.RefForwardingComponent & React.RefAttributes>; export default _default;