brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
dash-components-buildUse and maintain Vizro Dash Components, including Cascader/Markdown props, TypeScript source, generated Python wrappers, npm build, and browser-test constraints.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a task involves vizro-dash-components, vizro_dash_components, Cascader, Markdown, TypeScript/React component source, generated Python wrappers, webpack, or Dash component browser tests.
Route elsewhere when the task is mainly about using these components inside a broader Vizro dashboard: also load ../core-components-data-actions/SKILL.md.
from vizro_dash_components import Cascader, Markdown
cascader = Cascader(
id="region-picker",
options=[{"label": "Europe", "value": "europe", "children": [{"label": "France", "value": "fr"}]}],
value=["europe", "fr"],
)
markdown = Markdown(
id="notes",
children="## Notes\n\nUse **Markdown** and optional MathJax.",
mathjax=True,
)
In this snapshot, Markdown accepts children; markdown_text is not a valid keyword.
vizro-dash-components/src/ts/.vizro-dash-components/vizro_dash_components/.From vizro-dash-components/:
npm install --legacy-peer-deps
npm run build
If dash-generate-components is not found during the backend generation step, run the two phases explicitly with a Python environment where dash[dev] is installed:
npm run build:js
dash-generate-components ./src/ts/components vizro_dash_components -p package-info.json --ignore \.test\.
Why --legacy-peer-deps: npm 11 strict peer resolution can reject the package's current React 18 / react-markdown@4.3.1 combination; legacy peer resolution completed the verified build.
Browser-backed package tests:
cd vizro-dash-components
hatch run test
These require Chrome/Chromium plus Dash/Selenium fixtures. If no browser is installed, run build/import/static checks and mark browser tests blocked rather than changing code blindly.
Quick import smoke after install/build:
python - <<'PY'
from vizro_dash_components import Cascader, Markdown
print(Cascader(id='c', options=[{'label': 'A', 'value': 'a'}], value=['a']))
print(Markdown(id='m', children='**ok**'))
PY
.tsx file under src/ts/components/ becomes a Python Dash component.setProps({...}) for Dash callback-updated properties.src/ts/fragments or src/ts/utils, not exported Dash components.package-info.json, metadata.json, _imports_.py) in sync through generation.ModuleNotFoundError for _imports_ or missing component classes: generated wrappers were not produced or the local wheel was built before generation.dash-generate-components: not found: install dash[dev] in the environment or run through Hatch's generation command.children, not markdown_text.vizro-dash-components/README.mdvizro-dash-components/AGENTS.md / CLAUDE.mdvizro-dash-components/package.jsonvizro-dash-components/src/ts/components/*vizro-dash-components/examples/app.py and examples/pages/*vizro-dash-components/tests/test_cascader.py