/** * Creates the component's shadow DOM. Geometry and lifecycle stay outside this * factory; it only translates an already resolved presentation state into DOM. * @param {object} options Render options. * @param {boolean} options.isBottom Whether bottom presentation is active. * @param {boolean} options.isOpen Current open state. * @param {'left'|'right'|'bottom'} options.direction Configured direction. * @param {string} options.maxWidth Base panel width. * @param {string} options.maxHeight Panel height limit. * @param {boolean} options.hasOpacity Whether panel opacity is animated. * @param {HTMLElement} options.closeButton Generated close button. * @param {HTMLElement|null} options.sheetHandle Optional resize handle. * @param {boolean} options.showBackdrop Whether the backdrop source is enabled. * @returns {{fragment: DocumentFragment, elements: object}} Rendered structure and references. */ export function createSlidingContainerView({ isBottom, isOpen, direction, maxWidth, maxHeight, hasOpacity, closeButton, sheetHandle, showBackdrop, }: { isBottom: boolean; isOpen: boolean; direction: "left" | "right" | "bottom"; maxWidth: string; maxHeight: string; hasOpacity: boolean; closeButton: HTMLElement; sheetHandle: HTMLElement | null; showBackdrop: boolean; }): { fragment: DocumentFragment; elements: object; };