create-component-with-popup

Creates Shadow DOM popup components that load data on demand via WfetchData.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/wembrndvx/WEB_BUILDER_TOOLKIT --skill create-component-with-popup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: create-component-with-popup
Source: https://github.com/wembrndvx/WEB_BUILDER_TOOLKIT/tree/main/.claude/skills/2-component/create-component-with-popup
Command: npx skills add https://github.com/wembrndvx/WEB_BUILDER_TOOLKIT --skill create-component-with-popup

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It solves the problem of creating complex UI components that need to open contextual detail popups and load their own data only when the popup is shown, instead of forcing the page to preload everything.

Core Features & Use Cases

  • Shadow DOM Popup Components: Generates a component wired with Shadow DOM popup behavior for isolated rendering.
  • On-demand Data Fetching: Ensures the component fetches data via Wkit.fetchData only when the popup is triggered, using datasetInfo as the fetch definition.
  • Pluggable Visualization Support: Optionally integrates applyEChartsMixin (charts) and applyTabulatorMixin (tables) for rich popup content, including cleanup through destroyPopup().

Quick Start

Use the create-component-with-popup Skill to generate a popup-capable component that includes applyShadowPopupMixin, uses datasetInfo for on-demand fetching, and calls destroyPopup() in the before-destroy lifecycle hook.

Frequently Asked Questions about create-component-with-popup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a web component popup that fetches data only when opened?

To create a web component popup that fetches data on demand, you apply a Shadow DOM popup mixin and trigger data fetching only when the popup opens. This prevents the page from preloading detail data, loading contextual information exclusively when the popup is triggered.

What is the best way to isolate popup rendering in a web runtime component?

The best way to isolate popup rendering is using Shadow DOM, which keeps the popup component's styles and DOM separate from the main page. This ensures the popup content renders independently without CSS or DOM conflicts.

How do I integrate ECharts or Tabulator into an on-demand popup component?

You integrate ECharts or Tabulator into an on-demand popup by applying their respective mixins to the Shadow DOM component. These pluggable visualization mixins enable rich popup content like charts and tables, provided you call destroyPopup() for cleanup.

Do I need to manually clean up Shadow DOM popup components on page destroy?

Yes, you need to manually clean up Shadow DOM popup components by calling destroyPopup() in the before-destroy lifecycle hook. This mandatory cleanup prevents memory leaks when removing interactive popup components from the web runtime.

Can I use datasetInfo to define data fetching for RENOBIT runtime UI widgets?

Yes, you can use datasetInfo to define data fetching for RENOBIT runtime UI widgets like 3D scene widgets. The component uses datasetInfo as the fetch definition for Wkit.fetchData, retrieving contextual popup data only when the widget triggers the popup.

Why does my on-demand popup component preload data instead of fetching on trigger?

If your on-demand popup component preloads data, it likely lacks proper event-triggered fetching logic. You must wire the component to execute Wkit.fetchData using datasetInfo exclusively when the popup is shown, rather than loading data during initial component initialization.