@fasl-work/caos-app-shell 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/VERSION +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -2
- package/package.json +1 -1
- package/styles.css +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## [0.23.000] - 2026-11-06
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
- Add the `StoryFrame.mobileStageMinHeight` option for products whose mobile scene, controls and three required callouts need a taller stage. The default remains 300 px and the panel stays below the stage. the product template's story showed the need when the 390 × 844 gate could not keep its plot labels, scrub control and callouts visible together.
|
|
5
|
+
|
|
1
6
|
## [0.22.000] - 2026-11-06
|
|
2
7
|
|
|
3
8
|
### Added
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.23.000
|
package/dist/index.d.ts
CHANGED
|
@@ -1417,13 +1417,14 @@ interface StoryFrameProps {
|
|
|
1417
1417
|
exit: BiText;
|
|
1418
1418
|
}>;
|
|
1419
1419
|
autoAdvanceMs?: number;
|
|
1420
|
+
mobileStageMinHeight?: number;
|
|
1420
1421
|
className?: string;
|
|
1421
1422
|
}
|
|
1422
1423
|
/**
|
|
1423
1424
|
* A guided 3 to 6 step story over the same state as a product App. The product owns each step's real view and panel;
|
|
1424
1425
|
* the shell owns the stepper, deep links, keyboard behavior, pause-on-interaction, and semantic structure (ADR-0082).
|
|
1425
1426
|
*/
|
|
1426
|
-
declare function StoryFrame({ steps, activeId, onStepChange, onExit, labels, autoAdvanceMs, className }: StoryFrameProps): react.JSX.Element | null;
|
|
1427
|
+
declare function StoryFrame({ steps, activeId, onStepChange, onExit, labels, autoAdvanceMs, mobileStageMinHeight, className }: StoryFrameProps): react.JSX.Element | null;
|
|
1427
1428
|
|
|
1428
1429
|
type CalloutState = 'alarm' | 'warning' | 'normal' | 'selected' | 'inactive';
|
|
1429
1430
|
interface SceneCalloutDef {
|
package/dist/index.js
CHANGED
|
@@ -4160,7 +4160,10 @@ var DEFAULT_LABELS = {
|
|
|
4160
4160
|
pause: { en: "Pause story", es: "Pausar historia" },
|
|
4161
4161
|
exit: { en: "Return to exploration", es: "Volver a explorar" }
|
|
4162
4162
|
};
|
|
4163
|
-
function StoryFrame({ steps, activeId, onStepChange, onExit, labels = {}, autoAdvanceMs = 5e3, className }) {
|
|
4163
|
+
function StoryFrame({ steps, activeId, onStepChange, onExit, labels = {}, autoAdvanceMs = 5e3, mobileStageMinHeight = 300, className }) {
|
|
4164
|
+
if (!Number.isInteger(mobileStageMinHeight) || mobileStageMinHeight < 300 || mobileStageMinHeight > 900) {
|
|
4165
|
+
throw new RangeError("StoryFrame mobileStageMinHeight must be an integer from 300 through 900 CSS pixels");
|
|
4166
|
+
}
|
|
4164
4167
|
const lang = useShellLang();
|
|
4165
4168
|
const [playing, setPlaying] = useState(false);
|
|
4166
4169
|
const activeIndex = Math.max(0, steps.findIndex((step) => step.id === activeId));
|
|
@@ -4204,7 +4207,7 @@ function StoryFrame({ steps, activeId, onStepChange, onExit, labels = {}, autoAd
|
|
|
4204
4207
|
}
|
|
4205
4208
|
}
|
|
4206
4209
|
if (!active) return null;
|
|
4207
|
-
return /* @__PURE__ */ jsxs("section", { className: ["caos-story", "page-body", "wide", className].filter(Boolean).join(" "), "data-story": "", "data-story-step": active.id, "data-step-accent": active.accent, "aria-label": pick(copy.steps, lang), tabIndex: 0, onKeyDown, children: [
|
|
4210
|
+
return /* @__PURE__ */ jsxs("section", { className: ["caos-story", "page-body", "wide", className].filter(Boolean).join(" "), style: { "--caos-story-stage-minimum": `${mobileStageMinHeight}px` }, "data-story": "", "data-story-step": active.id, "data-step-accent": active.accent, "aria-label": pick(copy.steps, lang), tabIndex: 0, onKeyDown, children: [
|
|
4208
4211
|
/* @__PURE__ */ jsxs("header", { className: "caos-story-header", children: [
|
|
4209
4212
|
/* @__PURE__ */ jsxs("div", { className: "caos-story-heading", children: [
|
|
4210
4213
|
/* @__PURE__ */ jsxs("span", { className: "caos-story-verb", children: [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fasl-work/caos-app-shell",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Shared web-app shell, workbench primitives, content primitives, design system and measured gate for the CAOS / Faena public apps (ADR-0016, ADR-0017, ADR-0071).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Felipe Santibáñez-Leal",
|
package/styles.css
CHANGED
|
@@ -1044,9 +1044,9 @@ svg.lucide { flex: none; }
|
|
|
1044
1044
|
.caos-story button { min-height: 34px; padding: .3rem .5rem; font-size: .78rem; white-space: nowrap; }
|
|
1045
1045
|
.caos-story-stepper { grid-auto-columns: minmax(90px, 1fr); grid-auto-flow: column; grid-template-columns: unset; overflow-x: auto; }
|
|
1046
1046
|
.caos-story-step-headline { display: none; }
|
|
1047
|
-
.caos-story-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(46dvh,
|
|
1047
|
+
.caos-story-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(max(46dvh, var(--caos-story-stage-minimum, 300px)), auto) auto; }
|
|
1048
1048
|
.caos-story-panel { max-height: 30dvh; }
|
|
1049
|
-
.caos-story-stage { min-height: 300px; }
|
|
1049
|
+
.caos-story-stage { min-height: max(300px, var(--caos-story-stage-minimum, 300px)); }
|
|
1050
1050
|
.caos-scene-callout { padding: .25rem .35rem; }
|
|
1051
1051
|
}
|
|
1052
1052
|
@media (prefers-reduced-motion: reduce) {
|