import { IEventEmitter } from '@breadstone/mosaik-elements'; import { ISlottable } from '../../../Behaviors/Slottable'; import { IContentChangedEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import { IContentElementProps } from './IContentElementProps'; declare const ContentElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Content - A slot observer that detects and reports content presence changes. * * @description * The Content component is a lightweight wrapper that monitors its slotted content and automatically * updates the hasContent property based on whether content is present. It fires the contentChanged * event whenever content is added or removed, making it ideal for conditional rendering, placeholder * displays, and empty state handling. This element provides a declarative way to handle dynamic * content scenarios without manual JavaScript observers. * * @name Content * @element mosaik-content * @category Primitives * * @slot - The default content slot for any child content * * @cssprop {String} --content-font-family - The font family CSS custom property. * @cssprop {String} --content-font-letter-spacing - The font letter spacing CSS custom property. * @cssprop {String} --content-font-line-height - The font line height CSS custom property. * @cssprop {String} --content-font-size - The font size CSS custom property. * @cssprop {String} --content-font-text-decoration - The font text decoration CSS custom property. * @cssprop {String} --content-font-text-transform - The font text transform CSS custom property. * @cssprop {String} --content-font-weight - The font weight CSS custom property. * @cssprop {String} --content-gap - The gap CSS custom property. * @cssprop {String} --content-padding-bottom - The padding bottom CSS custom property. * @cssprop {String} --content-padding-left - The padding left CSS custom property. * @cssprop {String} --content-padding-right - The padding right CSS custom property. * @cssprop {String} --content-padding-top - The padding top CSS custom property. * @cssprop {String} --content-shadow - The shadow CSS custom property. * @cssprop {String} --content-shadow-blur - The shadow blur CSS custom property. * @cssprop {String} --content-shadow-color - The shadow color CSS custom property. * @cssprop {String} --content-shadow-offset-x - The shadow offset x CSS custom property. * @cssprop {String} --content-shadow-offset-y - The shadow offset y CSS custom property. * @cssprop {String} --content-shadow-spread - The shadow spread CSS custom property. * @cssprop {String} --content-transition-duration - The transition duration CSS custom property. * @cssprop {String} --content-transition-mode - The transition mode CSS custom property. * @cssprop {String} --content-transition-property - The transition property CSS custom property. * @cssprop {String} --content-translate - The translate CSS custom property. * * @fires contentChanged {ContentChangedEvent} - Fired when the content presence changes * * @example * Basic usage with conditional styling: * ```html * *

Some content here

*
* * ``` * * @example * Listening to content changes: * ```html * * * ``` * * @example * Dynamic content with placeholder: * ```html *
* * *
* * ``` * * @public */ export declare class ContentElement extends ContentElement_base implements IContentElementProps, ISlottable { private readonly _contentChanged; private _hasContent; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `hasContent` property. * * @public * @readonly * @attr */ get hasContent(): boolean; private set hasContent(value); /** * Called when the content changes. * Provides reference to `IEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get contentChanged(): IEventEmitter; /** * @public * @override */ onSlotChanges(): void; /** * Emits the `contentChanged` event. * * @protected */ protected onContentChanged(args: IContentChangedEventDetail): void; } /** * @public */ export declare namespace ContentElement { type Props = IContentElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-content': ContentElement; } } export {}; //# sourceMappingURL=ContentElement.d.ts.map