# crystal_toolkit.core.panelcomponent module

class crystal_toolkit.core.panelcomponent.PanelComponent(default_data: MSONable | dict | str | None = None, id: str | None = None, links: dict[str, str] | None = None, storage_type: Literal['memory', 'local', 'session'] = 'memory', disable_callbacks: bool = False)

  Bases: `MPComponent`

  A component intended to do wrap another component or set of components inside a panel. The key benefit is that the inner contents of the panel are not loaded until the panel is opened, so can reduce the number of callbacks run until a user initiates interaction.

  To use, implement the “contents_layout” method, and add any new callbacks necessary to fill it.

  contents_layout() → Div
  property description
  generate_callbacks(app, cache)

    Generate all callbacks associated with the layouts in this app. Assume that “suppress_callback_exceptions” is True, since it is not always guaranteed that all layouts will be displayed to the end user at all times, but it’s important the callbacks are defined on the server.

  panel_layout(open_by_default=False)
  property title