Files
AFFiNE-Mirror/blocksuite/affine/components/src/toast/create.ts
T
Saul-Mirone 388641bc89 refactor(editor): rename doc to store on block components (#12173)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Refactor**
  - Unified internal data access by replacing all references from `doc` to `store` across all components, blocks, widgets, and utilities. This affects how readonly state, block operations, and service retrieval are handled throughout the application.
- **Tests**
  - Updated all test utilities and test cases to use `store` instead of `doc` for document-related operations.
- **Chores**
  - Updated context providers and property names to reflect the change from `doc` to `store` for improved consistency and maintainability.

No user-facing features or behaviors have changed.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-08 01:01:05 +00:00

40 lines
1.1 KiB
TypeScript

import type { BlockComponent, EditorHost } from '@blocksuite/std';
import { html } from 'lit';
import { htmlToElement } from './html-to-element.js';
export const createToastContainer = (editorHost: EditorHost) => {
const styles = `
position: fixed;
z-index: 9999;
top: 16px;
left: 16px;
right: 16px;
bottom: 78px;
pointer-events: none;
display: flex;
flex-direction: column-reverse;
align-items: center;
`;
const template = html`<div class="toast-container" style="${styles}"></div>`;
const element = htmlToElement<HTMLDivElement>(template);
const { std, store } = editorHost;
let container = document.body;
if (store.root) {
const rootComponent = std.view.getBlock(store.root.id) as BlockComponent & {
viewportElement: HTMLElement;
};
if (rootComponent) {
const viewportElement = rootComponent.viewportElement;
const editorContainer = viewportElement.parentElement;
if (editorContainer) {
container = editorContainer;
}
}
}
container.append(element);
return element;
};