@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
25 lines (24 loc) • 887 B
JavaScript
/** A single cascade layer for a demo on/off flag pair (instance or meta). */
/**
* Resolves a cascading boolean demo flag, highest priority first: the given
* `layers` (instance → meta) then the factory `on` default. At each layer an
* explicit `off` forces `false` (it wins over that layer's `on`); otherwise an
* explicit `on` value is used. Falls through to the factory default.
*
* Used for the demo factory's render-time flag pairs:
* - `collapseToEmpty` (on) / `showCollapsedFocus` (off)
* - `initialExpanded` (on) / `initialCollapsed` (off)
*
* Internal helper — not part of the public `abstractCreateDemo` surface.
*/
export function resolveDemoFlag(layers, factoryOn) {
for (const layer of layers) {
if (layer?.off === true) {
return false;
}
if (layer?.on !== undefined) {
return layer.on;
}
}
return factoryOn === true;
}