@alphacifer/slidev-addon-theme 0.0.10 → 0.0.12
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/README.md +134 -76
- package/components/card/chevron-card/ChevronCard.vue +44 -32
- package/components/card/chevron-card/ChevronCardBadge.vue +14 -8
- package/components/card/chevron-card/ChevronCardContent.vue +15 -13
- package/components/card/chevron-card/style.css +12 -0
- package/components/card/{horiz-card/HorizCard.vue → horizontal-card/HorizontalCard.vue} +78 -85
- package/components/card/{horiz-card/HorizCardBadge.vue → horizontal-card/HorizontalCardBadge.vue} +15 -10
- package/components/card/{horiz-card/HorizCardContent.vue → horizontal-card/HorizontalCardContent.vue} +11 -11
- package/components/card/{horiz-card/HorizCardIcon.vue → horizontal-card/HorizontalCardIcon.vue} +24 -38
- package/components/card/horizontal-card/style.css +17 -0
- package/components/card/{vert-card/VertCard.vue → vertical-card/VerticalCard.vue} +80 -103
- package/components/card/{vert-card/VertCardBadge.vue → vertical-card/VerticalCardBadge.vue} +15 -10
- package/components/card/{vert-card/VertCardContent.vue → vertical-card/VerticalCardContent.vue} +13 -12
- package/components/card/{vert-card/VertCardIcon.vue → vertical-card/VerticalCardIcon.vue} +15 -33
- package/components/card/vertical-card/style.css +19 -0
- package/components/comparisons/arc-comparison/ArcComparison.vue +376 -80
- package/components/comparisons/arc-comparison/ArcComparisonBadge.vue +9 -4
- package/components/comparisons/arc-comparison/ArcComparisonContent.vue +9 -4
- package/components/comparisons/arc-comparison/ArcComparisonHeading.vue +9 -4
- package/components/comparisons/arc-comparison/ArcComparisonLeft.vue +39 -63
- package/components/comparisons/arc-comparison/ArcComparisonOrbit.vue +9 -8
- package/components/comparisons/arc-comparison/ArcComparisonRight.vue +39 -63
- package/components/comparisons/arc-comparison/style.css +27 -0
- package/components/comparisons/table-comparison/TableComparison.vue +8 -90
- package/components/comparisons/table-comparison/TableComparisonCell.vue +22 -20
- package/components/comparisons/table-comparison/{TableComparisonCol.vue → TableComparisonColumn.vue} +16 -14
- package/components/comparisons/table-comparison/{TableComparisonCols.vue → TableComparisonColumns.vue} +5 -8
- package/components/comparisons/table-comparison/TableComparisonRow.vue +10 -14
- package/components/comparisons/table-comparison/TableComparisonRows.vue +1 -4
- package/components/comparisons/table-comparison/style.css +15 -0
- package/components/core/Date.vue +2 -5
- package/components/core/MetaList.vue +50 -0
- package/components/core/QnA.vue +1 -1
- package/components/core/Quote.vue +3 -6
- package/components/core/ReflectedTitle.vue +2 -6
- package/components/core/Speaker.vue +6 -11
- package/components/core/TransitionHeading.vue +2 -5
- package/components/core/arc-orbit/ArcOrbit.vue +65 -84
- package/components/core/arc-orbit/ArcOrbitBadge.vue +9 -11
- package/components/core/arc-orbit/ArcOrbitCallout.vue +19 -23
- package/components/core/arc-orbit/ArcOrbitContent.vue +6 -12
- package/components/core/arc-orbit/ArcOrbitHeading.vue +13 -11
- package/components/core/arc-orbit/style.css +20 -0
- package/components/core/style.css +9 -0
- package/components/core/thanks/{ThanksContent.vue → SquareThanks.vue} +36 -31
- package/components/core/thanks/SquareThanksContent.vue +87 -0
- package/components/core/thanks/ThanksOutlineSquare.vue +2 -5
- package/components/core/thanks/ThanksSquare.vue +2 -5
- package/components/core/thanks/style.css +30 -0
- package/components/defense-in-depth/{arc-did/ArcDiD.vue → arc-defense-in-depth/ArcDefenseInDepth.vue} +167 -97
- package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayer.vue +240 -0
- package/components/defense-in-depth/{arc-did/ArcDiDLayerTitle.vue → arc-defense-in-depth/ArcDefenseInDepthLayerHeading.vue} +27 -29
- package/components/defense-in-depth/{arc-did/ArcDiDLayerPart.vue → arc-defense-in-depth/ArcDefenseInDepthLayerPart.vue} +91 -39
- package/components/defense-in-depth/{arc-did/ArcDiDLayerSector.vue → arc-defense-in-depth/ArcDefenseInDepthLayerSector.vue} +37 -23
- package/components/defense-in-depth/arc-defense-in-depth/style.css +38 -0
- package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetrad.vue → rectangle-orbit-tetrad/RectangleOrbitTetrad.vue} +66 -63
- package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetradCallout.vue → rectangle-orbit-tetrad/RectangleOrbitTetradCallout.vue} +58 -46
- package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradCenter.vue +54 -0
- package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradContent.vue +44 -0
- package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradHeading.vue +27 -0
- package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetradIcon.vue → rectangle-orbit-tetrad/RectangleOrbitTetradIcon.vue} +23 -13
- package/components/facets/tetrad/rectangle-orbit-tetrad/style.css +22 -0
- package/components/facets/triad/arrow-triad/ArrowTriad.vue +99 -109
- package/components/facets/triad/arrow-triad/ArrowTriadCallout.vue +31 -59
- package/components/facets/triad/arrow-triad/ArrowTriadContent.vue +18 -13
- package/components/facets/triad/arrow-triad/ArrowTriadHeading.vue +20 -13
- package/components/facets/triad/arrow-triad/ArrowTriadIcon.vue +14 -9
- package/components/facets/triad/arrow-triad/style.css +15 -0
- package/components/facets/triad/gear-triad/GearTriad.vue +73 -64
- package/components/facets/triad/gear-triad/GearTriadCallout.vue +58 -53
- package/components/facets/triad/gear-triad/GearTriadCenter.vue +9 -4
- package/components/facets/triad/gear-triad/GearTriadContent.vue +21 -36
- package/components/facets/triad/gear-triad/GearTriadDetail.vue +92 -0
- package/components/facets/triad/gear-triad/GearTriadDetails.vue +169 -0
- package/components/facets/triad/gear-triad/GearTriadDetailsContent.vue +18 -0
- package/components/facets/triad/gear-triad/GearTriadDetailsHeading.vue +60 -0
- package/components/facets/triad/gear-triad/GearTriadHeading.vue +19 -13
- package/components/facets/triad/gear-triad/GearTriadIcon.vue +22 -9
- package/components/facets/triad/gear-triad/style.css +26 -0
- package/components/facets/triad/{hex-triad/HexTriad.vue → hexagon-triad/HexagonTriad.vue} +81 -63
- package/components/facets/triad/{hex-triad/HexTriadBadge.vue → hexagon-triad/HexagonTriadBadge.vue} +38 -12
- package/components/facets/triad/{hex-triad/HexTriadCallout.vue → hexagon-triad/HexagonTriadCallout.vue} +35 -31
- package/components/facets/triad/hexagon-triad/HexagonTriadCenterBadge.vue +74 -0
- package/components/facets/triad/hexagon-triad/HexagonTriadContent.vue +34 -0
- package/components/facets/triad/hexagon-triad/HexagonTriadHeading.vue +44 -0
- package/components/facets/triad/{hex-triad/HexTriadLayer.vue → hexagon-triad/HexagonTriadLayer.vue} +12 -4
- package/components/facets/triad/hexagon-triad/style.css +22 -0
- package/components/process/arc-arrow-process/ArcArrowProcess.vue +13 -35
- package/components/process/arc-arrow-process/ArcArrowProcessArrow.vue +20 -21
- package/components/process/arc-arrow-process/ArcArrowProcessCallout.vue +30 -71
- package/components/process/arc-arrow-process/ArcArrowProcessContent.vue +18 -13
- package/components/process/arc-arrow-process/ArcArrowProcessHeading.vue +18 -18
- package/components/process/arc-arrow-process/ArcArrowProcessIcon.vue +23 -11
- package/components/process/arc-arrow-process/style.css +20 -0
- package/components/pyramid/circular-pyramid/CircularPyramid.vue +269 -170
- package/components/pyramid/circular-pyramid/CircularPyramidStack.vue +70 -52
- package/components/pyramid/circular-pyramid/CircularPyramidStackContent.vue +47 -37
- package/components/pyramid/circular-pyramid/{CircularPyramidStackTitle.vue → CircularPyramidStackHeading.vue} +49 -45
- package/components/pyramid/circular-pyramid/style.css +26 -0
- package/components/pyramid/square-pyramid/SquarePyramid.vue +191 -62
- package/components/pyramid/square-pyramid/SquarePyramidStack.vue +74 -49
- package/components/pyramid/square-pyramid/SquarePyramidStackContent.vue +47 -33
- package/components/pyramid/square-pyramid/{SquarePyramidStackTitle.vue → SquarePyramidStackHeading.vue} +49 -41
- package/components/pyramid/square-pyramid/style.css +48 -0
- package/components/style.css +35 -0
- package/layouts/core/arc-toc.vue +40 -45
- package/layouts/core/bg-center.vue +7 -6
- package/layouts/core/references.vue +84 -0
- package/layouts/core/style.css +47 -0
- package/layouts/shifting-heading/shifting-intro.vue +4 -13
- package/layouts/thanks/thanks.vue +5 -5
- package/package.json +7 -5
- package/style.css +17 -0
- package/uno.config.ts +1 -0
- package/utils/activateOnKeyboard.ts +14 -0
- package/utils/{chevronCard → card/chevron-card}/context.ts +1 -1
- package/utils/card/chevron-card/index.ts +1 -0
- package/utils/card/horizontal-card/context.ts +12 -0
- package/utils/{horizCard/createHorizCardGeometry.ts → card/horizontal-card/createHorizontalCardGeometry.ts} +10 -45
- package/utils/card/horizontal-card/index.ts +2 -0
- package/utils/card/vertical-card/context.ts +19 -0
- package/utils/{vertCard/createVertCardGeometry.ts → card/vertical-card/createVerticalCardGeometry.ts} +9 -130
- package/utils/card/vertical-card/index.ts +2 -0
- package/utils/colors.ts +93 -0
- package/utils/{arcComparison → comparisons/arc-comparison}/context.ts +0 -11
- package/utils/{arcComparison → comparisons/arc-comparison}/createArcComparisonGeometry.ts +1 -1
- package/utils/comparisons/arc-comparison/resolveArcComparisonItems.ts +33 -0
- package/utils/comparisons/table-comparison/constants.ts +47 -0
- package/utils/{tableComparison → comparisons/table-comparison}/context.ts +2 -2
- package/utils/{arcOrbit → core/arc-orbit}/resolveArcOrbitItems.ts +11 -15
- package/utils/{defenseInDepth/arcDid → defense-in-depth/arc-defense-in-depth}/context.ts +34 -31
- package/utils/{defenseInDepth/arcDid/createArcDiDGeometry.ts → defense-in-depth/arc-defense-in-depth/createArcDefenseInDepthGeometry.ts} +69 -39
- package/utils/{defenseInDepth/arcDid → defense-in-depth/arc-defense-in-depth}/types.ts +39 -35
- package/utils/defense-in-depth/shared/colors.ts +51 -0
- package/utils/defense-in-depth/shared/constants.ts +22 -0
- package/utils/{defenseInDepth → defense-in-depth}/shared/types.ts +0 -5
- package/utils/facets/tetrad/rectangle-orbit-tetrad/context.ts +31 -0
- package/utils/{rectOrbitTetrad/createRectOrbitTetradGeometry.ts → facets/tetrad/rectangle-orbit-tetrad/createRectangleOrbitTetradGeometry.ts} +5 -104
- package/utils/facets/tetrad/rectangle-orbit-tetrad/index.ts +3 -0
- package/utils/{rectOrbitTetrad/resolveRectOrbitTetradItems.ts → facets/tetrad/rectangle-orbit-tetrad/resolveRectangleOrbitTetradItems.ts} +41 -49
- package/utils/{arrowTriad → facets/triad/arrow-triad}/resolveArrowTriadItems.ts +27 -28
- package/utils/{gearTriad → facets/triad/gear-triad}/context.ts +5 -5
- package/utils/{gearTriad → facets/triad/gear-triad}/createGearTriadGeometry.ts +2 -0
- package/utils/{gearTriad → facets/triad/gear-triad}/resolveGearTriadItems.ts +23 -24
- package/utils/facets/triad/hexagon-triad/context.ts +25 -0
- package/utils/{hexTriad/createHexTriadGeometry.ts → facets/triad/hexagon-triad/createHexagonTriadGeometry.ts} +11 -27
- package/utils/facets/triad/hexagon-triad/index.ts +3 -0
- package/utils/facets/triad/hexagon-triad/resolveHexagonTriadItems.ts +60 -0
- package/utils/{shiftingHeading → layouts/shifting-heading}/collectShiftingIntroNodes.ts +1 -0
- package/utils/layouts/table-of-contents/calculateTocCenterAlignmentOffset.ts +17 -0
- package/utils/{tableOfContents → layouts/table-of-contents}/calculateTocMarkerPositions.ts +0 -12
- package/utils/{tableOfContents → layouts/table-of-contents}/createTocConnectorPath.ts +11 -5
- package/utils/{mergeUno → merge-uno}/classifyVisual.ts +1 -1
- package/utils/{mergeUno → merge-uno}/collectClassNames.ts +9 -3
- package/utils/process/arc-arrow-process/resolveArcArrowProcessItems.ts +180 -0
- package/utils/pyramid/circular-pyramid/context.ts +1 -4
- package/utils/pyramid/circular-pyramid/createCircularPyramidGeometry.ts +6 -10
- package/utils/pyramid/shared/colors.ts +33 -83
- package/utils/pyramid/shared/constants.ts +2 -2
- package/utils/pyramid/shared/types.ts +0 -5
- package/utils/pyramid/square-pyramid/context.ts +1 -4
- package/utils/pyramid/square-pyramid/createSquarePyramidGeometry.ts +6 -10
- package/utils/useDiagramAutoScale.ts +8 -6
- package/utils/useMergedUnoAttrs.ts +9 -5
- package/components/card/chevron-card/ChevronCardHeading.vue +0 -39
- package/components/card/horiz-card/HorizCardHeading.vue +0 -47
- package/components/card/vert-card/VertCardHeading.vue +0 -68
- package/components/card/vert-card/VertCardTitle.vue +0 -76
- package/components/comparisons/arc-comparison/ArcComparisonContents.vue +0 -17
- package/components/comparisons/arc-comparison/ArcComparisonTitle.vue +0 -29
- package/components/core/arc-orbit/ArcOrbitContents.vue +0 -18
- package/components/core/arc-orbit/ArcOrbitTitle.vue +0 -50
- package/components/defense-in-depth/arc-did/ArcDiDLayer.vue +0 -321
- package/components/defense-in-depth/arc-did/ArcDiDLayerParts.vue +0 -11
- package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradCenter.vue +0 -53
- package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradContent.vue +0 -39
- package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradHeading.vue +0 -44
- package/components/facets/triad/gear-triad/GearTriadContents.vue +0 -111
- package/components/facets/triad/gear-triad/GearTriadDescription.vue +0 -38
- package/components/facets/triad/hex-triad/HexTriadCenterBadge.vue +0 -51
- package/components/facets/triad/hex-triad/HexTriadContent.vue +0 -20
- package/components/facets/triad/hex-triad/HexTriadHeading.vue +0 -28
- package/layouts/core/table-of-contents.vue +0 -30
- package/utils/arcArrowProcess/resolveArcArrowProcessItems.ts +0 -189
- package/utils/arcComparison/resolveArcComparisonItems.ts +0 -102
- package/utils/chevronCard/createChevronCardGeometry.ts +0 -48
- package/utils/chevronCard/index.ts +0 -2
- package/utils/defenseInDepth/arcDid/index.ts +0 -3
- package/utils/defenseInDepth/index.ts +0 -2
- package/utils/defenseInDepth/shared/colors.ts +0 -121
- package/utils/defenseInDepth/shared/constants.ts +0 -14
- package/utils/defenseInDepth/shared/index.ts +0 -3
- package/utils/hexTriad/context.ts +0 -25
- package/utils/hexTriad/index.ts +0 -3
- package/utils/hexTriad/resolveHexTriadItems.ts +0 -63
- package/utils/horizCard/context.ts +0 -13
- package/utils/horizCard/index.ts +0 -2
- package/utils/pyramid/index.ts +0 -3
- package/utils/rectOrbitTetrad/context.ts +0 -31
- package/utils/rectOrbitTetrad/index.ts +0 -3
- package/utils/tableComparison/constants.ts +0 -72
- package/utils/tableOfContents/calculateTocCenterAlignmentOffset.ts +0 -11
- package/utils/vertCard/context.ts +0 -18
- package/utils/vertCard/index.ts +0 -2
- package/utils/{arcComparison → comparisons/arc-comparison}/index.ts +0 -0
- package/utils/{tableComparison → comparisons/table-comparison}/index.ts +0 -0
- package/utils/{arcOrbit → core/arc-orbit}/context.ts +0 -0
- package/utils/{arcOrbit → core/arc-orbit}/createArcOrbitGeometry.ts +0 -0
- package/utils/{arcOrbit → core/arc-orbit}/index.ts +0 -0
- package/utils/{arrowTriad → facets/triad/arrow-triad}/context.ts +0 -0
- package/utils/{arrowTriad → facets/triad/arrow-triad}/createArrowTriadGeometry.ts +0 -0
- package/utils/{arrowTriad → facets/triad/arrow-triad}/index.ts +0 -0
- package/utils/{gearTriad → facets/triad/gear-triad}/index.ts +0 -0
- package/utils/{tableOfContents → layouts/table-of-contents}/calculateUniformTocArticleWidth.ts +0 -0
- package/utils/{tableOfContents → layouts/table-of-contents}/createTocArcPath.ts +0 -0
- package/utils/{tableOfContents → layouts/table-of-contents}/index.ts +0 -0
- package/utils/{mergeUno → merge-uno}/classifyLayout.ts +0 -0
- package/utils/{mergeUno → merge-uno}/classifySimple.ts +0 -0
- package/utils/{mergeUno → merge-uno}/classifyTypography.ts +0 -0
- package/utils/{mergeUno → merge-uno}/classifyUtility.ts +0 -0
- package/utils/{mergeUno → merge-uno}/index.ts +0 -0
- package/utils/{mergeUno → merge-uno}/mergeClassValues.ts +0 -0
- package/utils/{mergeUno → merge-uno}/splitVariantScope.ts +1 -1
- package/utils/{mergeUno → merge-uno}/types.ts +0 -0
- package/utils/{arcArrowProcess → process/arc-arrow-process}/context.ts +1 -1
- /package/utils/{arcArrowProcess → process/arc-arrow-process}/createArcArrowProcessGeometry.ts +0 -0
- /package/utils/{arcArrowProcess → process/arc-arrow-process}/index.ts +0 -0
|
@@ -16,18 +16,16 @@ import {
|
|
|
16
16
|
DEFAULT_CIRCULAR_PYRAMID_STACK_COLORS,
|
|
17
17
|
} from '../../../utils/pyramid/circular-pyramid';
|
|
18
18
|
import { PYRAMID_DOT_GAP_PX } from '../../../utils/pyramid/shared';
|
|
19
|
-
import
|
|
20
|
-
import CircularPyramidStackTitle from './CircularPyramidStackTitle.vue';
|
|
19
|
+
import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
|
|
21
20
|
|
|
22
21
|
defineOptions({
|
|
23
22
|
name: 'CircularPyramidStack',
|
|
23
|
+
inheritAttrs: false,
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
export interface ICircularPyramidStackProps {
|
|
27
27
|
readonly index?: number;
|
|
28
28
|
readonly step?: string | number;
|
|
29
|
-
readonly title?: string;
|
|
30
|
-
readonly content?: string;
|
|
31
29
|
readonly color?: string;
|
|
32
30
|
readonly active?: boolean;
|
|
33
31
|
readonly connectorWidth?: number;
|
|
@@ -36,8 +34,6 @@ export interface ICircularPyramidStackProps {
|
|
|
36
34
|
const props = withDefaults(defineProps<ICircularPyramidStackProps>(), {
|
|
37
35
|
index: undefined,
|
|
38
36
|
step: undefined,
|
|
39
|
-
title: undefined,
|
|
40
|
-
content: undefined,
|
|
41
37
|
color: undefined,
|
|
42
38
|
active: undefined,
|
|
43
39
|
connectorWidth: undefined,
|
|
@@ -56,13 +52,16 @@ interface INamedComponent {
|
|
|
56
52
|
function hasComponentName(type: unknown, targetName: string): boolean {
|
|
57
53
|
if (typeof type === 'object' && type !== null) {
|
|
58
54
|
const comp = type as INamedComponent['type'];
|
|
55
|
+
|
|
59
56
|
return comp?.name === targetName || comp?.displayName === targetName;
|
|
60
57
|
}
|
|
58
|
+
|
|
61
59
|
return false;
|
|
62
60
|
}
|
|
63
61
|
|
|
64
62
|
function flattenVNodes(nodes: VNode[]): VNode[] {
|
|
65
63
|
const result: VNode[] = [];
|
|
64
|
+
|
|
66
65
|
for (const node of nodes) {
|
|
67
66
|
if (node.type === Fragment && Array.isArray(node.children)) {
|
|
68
67
|
result.push(...flattenVNodes(node.children as VNode[]));
|
|
@@ -70,6 +69,7 @@ function flattenVNodes(nodes: VNode[]): VNode[] {
|
|
|
70
69
|
result.push(node);
|
|
71
70
|
}
|
|
72
71
|
}
|
|
72
|
+
|
|
73
73
|
return result;
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -77,12 +77,13 @@ const defaultNodes = computed(() => {
|
|
|
77
77
|
if (!slots.default) {
|
|
78
78
|
return [];
|
|
79
79
|
}
|
|
80
|
+
|
|
80
81
|
return flattenVNodes(slots.default());
|
|
81
82
|
});
|
|
82
83
|
|
|
83
84
|
const slottedTitle = computed(() => {
|
|
84
85
|
return defaultNodes.value.find((node) =>
|
|
85
|
-
hasComponentName(node.type, '
|
|
86
|
+
hasComponentName(node.type, 'CircularPyramidStackHeading'),
|
|
86
87
|
);
|
|
87
88
|
});
|
|
88
89
|
|
|
@@ -108,6 +109,7 @@ const resolvedIndex = computed<number>(() => {
|
|
|
108
109
|
if (props.index !== undefined) {
|
|
109
110
|
return Number(props.index);
|
|
110
111
|
}
|
|
112
|
+
|
|
111
113
|
return registration?.index.value ?? 0;
|
|
112
114
|
});
|
|
113
115
|
|
|
@@ -115,9 +117,11 @@ const isActive = computed<boolean>(() => {
|
|
|
115
117
|
if (props.active !== undefined) {
|
|
116
118
|
return props.active;
|
|
117
119
|
}
|
|
120
|
+
|
|
118
121
|
if (!rootContext) {
|
|
119
122
|
return false;
|
|
120
123
|
}
|
|
124
|
+
|
|
121
125
|
return rootContext.activeIndex.value === resolvedIndex.value;
|
|
122
126
|
});
|
|
123
127
|
|
|
@@ -125,6 +129,7 @@ const resolvedStep = computed(() => {
|
|
|
125
129
|
if (props.step !== undefined) {
|
|
126
130
|
return props.step;
|
|
127
131
|
}
|
|
132
|
+
|
|
128
133
|
return String(resolvedIndex.value + 1).padStart(2, '0');
|
|
129
134
|
});
|
|
130
135
|
|
|
@@ -132,6 +137,7 @@ const layerGeometry = computed(() => {
|
|
|
132
137
|
if (!rootContext) {
|
|
133
138
|
return undefined;
|
|
134
139
|
}
|
|
140
|
+
|
|
135
141
|
return rootContext.geo.value.layers[resolvedIndex.value];
|
|
136
142
|
});
|
|
137
143
|
|
|
@@ -139,28 +145,25 @@ const posY = computed(() => {
|
|
|
139
145
|
if (!layerGeometry.value) {
|
|
140
146
|
return 0;
|
|
141
147
|
}
|
|
148
|
+
|
|
142
149
|
const geo = layerGeometry.value;
|
|
150
|
+
|
|
143
151
|
return (
|
|
144
152
|
geo.slabCenterY ??
|
|
145
153
|
Number((geo.cy + (geo.cylinderHeight ?? 0) / 2).toFixed(2))
|
|
146
154
|
);
|
|
147
155
|
});
|
|
148
156
|
|
|
149
|
-
const discRadiusX = computed(() => {
|
|
150
|
-
if (!layerGeometry.value) {
|
|
151
|
-
return 140;
|
|
152
|
-
}
|
|
153
|
-
return layerGeometry.value.rx;
|
|
154
|
-
});
|
|
155
|
-
|
|
156
157
|
const DOT_POSITION_X = 210;
|
|
157
158
|
|
|
158
159
|
const leftWidth = computed(() => {
|
|
159
160
|
if (layerGeometry.value) {
|
|
160
161
|
const rx = layerGeometry.value.rx;
|
|
161
162
|
const cx = 465;
|
|
163
|
+
|
|
162
164
|
return Math.max(180, Math.round(cx - rx - PYRAMID_DOT_GAP_PX));
|
|
163
165
|
}
|
|
166
|
+
|
|
164
167
|
return DOT_POSITION_X;
|
|
165
168
|
});
|
|
166
169
|
|
|
@@ -172,26 +175,28 @@ const rightWingWidth = computed(() => {
|
|
|
172
175
|
const cx = 465;
|
|
173
176
|
const dotRightX = cx + rx + PYRAMID_DOT_GAP_PX;
|
|
174
177
|
const containerW = 960;
|
|
178
|
+
|
|
175
179
|
return Math.max(rightWidth.value + 20, Math.round(containerW - dotRightX));
|
|
176
180
|
}
|
|
181
|
+
|
|
177
182
|
return rightWidth.value + PYRAMID_DOT_GAP_PX;
|
|
178
183
|
});
|
|
179
184
|
|
|
180
|
-
const rightOffset = computed(
|
|
181
|
-
() => rootContext?.contentRightOffsetPx.value ?? 0,
|
|
182
|
-
);
|
|
183
|
-
|
|
184
185
|
const resolvedColor = computed<string>(() => {
|
|
185
186
|
if (effectiveColor.value) {
|
|
186
187
|
return effectiveColor.value;
|
|
187
188
|
}
|
|
189
|
+
|
|
190
|
+
const stackIndex =
|
|
191
|
+
Math.abs(resolvedIndex.value) %
|
|
192
|
+
DEFAULT_CIRCULAR_PYRAMID_STACK_COLORS.length;
|
|
193
|
+
const stackColor =
|
|
194
|
+
DEFAULT_CIRCULAR_PYRAMID_STACK_COLORS[stackIndex] ??
|
|
195
|
+
DEFAULT_CIRCULAR_PYRAMID_COLOR;
|
|
196
|
+
|
|
188
197
|
return (
|
|
189
198
|
rootContext?.getLayerColor(resolvedIndex.value) ??
|
|
190
|
-
|
|
191
|
-
Math.abs(resolvedIndex.value) %
|
|
192
|
-
DEFAULT_CIRCULAR_PYRAMID_STACK_COLORS.length
|
|
193
|
-
] ??
|
|
194
|
-
DEFAULT_CIRCULAR_PYRAMID_COLOR
|
|
199
|
+
`var(--alpha-circular-pyramid-stack-${stackIndex + 1}-color, ${stackColor})`
|
|
195
200
|
);
|
|
196
201
|
});
|
|
197
202
|
|
|
@@ -231,17 +236,23 @@ provide(CIRCULAR_PYRAMID_STACK_KEY, {
|
|
|
231
236
|
connectorWidth,
|
|
232
237
|
setActive: handleStackClick,
|
|
233
238
|
});
|
|
239
|
+
|
|
240
|
+
const { className, forwardedAttrs } = useMergedUnoAttrs(
|
|
241
|
+
'alpha-circular-pyramid-stack absolute inset-x-0 pointer-events-none select-none flex items-center justify-between',
|
|
242
|
+
);
|
|
234
243
|
</script>
|
|
235
244
|
|
|
236
245
|
<template>
|
|
237
246
|
<div
|
|
238
|
-
|
|
239
|
-
:class="
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
247
|
+
v-bind="forwardedAttrs()"
|
|
248
|
+
:class="
|
|
249
|
+
className([
|
|
250
|
+
isActive
|
|
251
|
+
? 'alpha-circular-pyramid-stack--active'
|
|
252
|
+
: 'alpha-circular-pyramid-stack--inactive',
|
|
253
|
+
`alpha-circular-pyramid-stack--${resolvedIndex}`,
|
|
254
|
+
])
|
|
255
|
+
"
|
|
245
256
|
:data-index="resolvedIndex"
|
|
246
257
|
:data-active="isActive"
|
|
247
258
|
:style="{
|
|
@@ -250,14 +261,17 @@ provide(CIRCULAR_PYRAMID_STACK_KEY, {
|
|
|
250
261
|
}"
|
|
251
262
|
>
|
|
252
263
|
<!-- Left Wing: Title Pill (150px) -->
|
|
253
|
-
<
|
|
254
|
-
|
|
264
|
+
<button
|
|
265
|
+
type="button"
|
|
266
|
+
class="alpha-circular-pyramid-stack__left shrink-0 flex items-center justify-start pointer-events-auto cursor-pointer bg-transparent border-0 p-0 m-0 appearance-none"
|
|
267
|
+
:disabled="!rootContext?.interactive.value"
|
|
268
|
+
:aria-label="`Select stage ${resolvedStep}`"
|
|
255
269
|
:class="[
|
|
256
270
|
`alpha-circular-pyramid-stack__left--${resolvedIndex}`,
|
|
257
271
|
{ 'alpha-circular-pyramid-stack--animated': rootContext?.animation.value },
|
|
258
272
|
]"
|
|
259
273
|
:style="{
|
|
260
|
-
'--wing-delay': `calc(var(--circular-pyramid-start-delay, 0ms) + ${460 + stepIndex * 320}ms)`,
|
|
274
|
+
'--wing-delay': `calc(var(--alpha-circular-pyramid-start-delay, 0ms) + ${460 + stepIndex * 320}ms)`,
|
|
261
275
|
width: `${leftWidth}px`,
|
|
262
276
|
minWidth: `${leftWidth}px`,
|
|
263
277
|
maxWidth: `${leftWidth}px`,
|
|
@@ -266,36 +280,28 @@ provide(CIRCULAR_PYRAMID_STACK_KEY, {
|
|
|
266
280
|
@click="handleStackClick"
|
|
267
281
|
>
|
|
268
282
|
<component :is="slottedTitle" v-if="slottedTitle" />
|
|
269
|
-
|
|
270
|
-
v-else
|
|
271
|
-
:step="resolvedStep"
|
|
272
|
-
:title="props.title || `Stage ${resolvedStep}`"
|
|
273
|
-
:connector-width="props.connectorWidth"
|
|
274
|
-
/>
|
|
275
|
-
</div>
|
|
283
|
+
</button>
|
|
276
284
|
<!-- Right Wing: Dot + Connector + Content Card (10px from slab) -->
|
|
277
|
-
<
|
|
278
|
-
|
|
285
|
+
<button
|
|
286
|
+
type="button"
|
|
287
|
+
class="alpha-circular-pyramid-stack__right shrink-0 flex items-center justify-end pointer-events-auto cursor-pointer bg-transparent border-0 p-0 m-0 appearance-none"
|
|
288
|
+
:disabled="!rootContext?.interactive.value"
|
|
289
|
+
:aria-label="`Select stage ${resolvedStep}`"
|
|
279
290
|
:class="[
|
|
280
291
|
`alpha-circular-pyramid-stack__right--${resolvedIndex}`,
|
|
281
292
|
{ 'alpha-circular-pyramid-stack--animated': rootContext?.animation.value },
|
|
282
293
|
]"
|
|
283
294
|
:style="{
|
|
284
|
-
'--wing-delay': `calc(var(--circular-pyramid-start-delay, 0ms) + ${470 + stepIndex * 320}ms)`,
|
|
295
|
+
'--wing-delay': `calc(var(--alpha-circular-pyramid-start-delay, 0ms) + ${470 + stepIndex * 320}ms)`,
|
|
285
296
|
width: `${rightWingWidth}px`,
|
|
286
297
|
minWidth: `${rightWidth}px`,
|
|
287
298
|
maxWidth: `${rightWingWidth}px`,
|
|
288
|
-
marginRight: rightOffset ? `${rightOffset}px` : undefined,
|
|
289
299
|
opacity: !hasActiveStack || isActive ? 1 : 0.65,
|
|
290
300
|
}"
|
|
291
301
|
@click="handleStackClick"
|
|
292
302
|
>
|
|
293
303
|
<component :is="slottedContent" v-if="slottedContent" />
|
|
294
|
-
|
|
295
|
-
v-else
|
|
296
|
-
:content="props.content || 'Layer details and operational description.'"
|
|
297
|
-
/>
|
|
298
|
-
</div>
|
|
304
|
+
</button>
|
|
299
305
|
</div>
|
|
300
306
|
</template>
|
|
301
307
|
|
|
@@ -307,11 +313,18 @@ provide(CIRCULAR_PYRAMID_STACK_KEY, {
|
|
|
307
313
|
|
|
308
314
|
.alpha-circular-pyramid-stack__left,
|
|
309
315
|
.alpha-circular-pyramid-stack__right {
|
|
310
|
-
transition:
|
|
316
|
+
transition:
|
|
317
|
+
opacity 0.3s ease,
|
|
318
|
+
transform 0.3s ease;
|
|
311
319
|
}
|
|
312
320
|
|
|
313
321
|
.alpha-circular-pyramid-stack--animated .alpha-circular-pyramid-stack__left {
|
|
314
|
-
animation: alpha-pyramid-left-in 140ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
322
|
+
animation: alpha-pyramid-left-in 140ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
323
|
+
var(
|
|
324
|
+
--wing-delay,
|
|
325
|
+
calc(var(--alpha-circular-pyramid-start-delay, 0ms) + 460ms)
|
|
326
|
+
)
|
|
327
|
+
both;
|
|
315
328
|
}
|
|
316
329
|
|
|
317
330
|
@keyframes alpha-pyramid-left-in {
|
|
@@ -326,7 +339,12 @@ provide(CIRCULAR_PYRAMID_STACK_KEY, {
|
|
|
326
339
|
}
|
|
327
340
|
|
|
328
341
|
.alpha-circular-pyramid-stack--animated .alpha-circular-pyramid-stack__right {
|
|
329
|
-
animation: alpha-pyramid-right-in 140ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
342
|
+
animation: alpha-pyramid-right-in 140ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
343
|
+
var(
|
|
344
|
+
--wing-delay,
|
|
345
|
+
calc(var(--alpha-circular-pyramid-start-delay, 0ms) + 470ms)
|
|
346
|
+
)
|
|
347
|
+
both;
|
|
330
348
|
}
|
|
331
349
|
|
|
332
350
|
@keyframes alpha-pyramid-right-in {
|
|
@@ -6,19 +6,19 @@ import {
|
|
|
6
6
|
CIRCULAR_PYRAMID_STACK_KEY,
|
|
7
7
|
} from '../../../utils/pyramid/circular-pyramid';
|
|
8
8
|
import { createPyramidConnectorPath } from '../../../utils/pyramid/shared';
|
|
9
|
+
import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
|
|
9
10
|
|
|
10
11
|
defineOptions({
|
|
11
12
|
name: 'CircularPyramidStackContent',
|
|
13
|
+
inheritAttrs: false,
|
|
12
14
|
});
|
|
13
15
|
|
|
14
16
|
export interface ICircularPyramidStackContentProps {
|
|
15
|
-
readonly content?: string;
|
|
16
17
|
readonly color?: string;
|
|
17
18
|
readonly connectorWidth?: number;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
const props = withDefaults(defineProps<ICircularPyramidStackContentProps>(), {
|
|
21
|
-
content: undefined,
|
|
22
22
|
color: undefined,
|
|
23
23
|
connectorWidth: undefined,
|
|
24
24
|
});
|
|
@@ -61,17 +61,15 @@ const stepIndex = computed(() => {
|
|
|
61
61
|
return stackContext?.index.value ?? 0;
|
|
62
62
|
});
|
|
63
63
|
|
|
64
|
-
const palette = computed(() => {
|
|
65
|
-
return rootContext?.palette.value;
|
|
66
|
-
});
|
|
67
|
-
|
|
68
64
|
const contentWidth = computed(() => rootContext?.contentWidthPx.value ?? 240);
|
|
69
65
|
|
|
70
66
|
const deltaY = computed(() => {
|
|
71
67
|
if (stackContext?.deltaY?.value !== undefined) {
|
|
72
68
|
return stackContext.deltaY.value;
|
|
73
69
|
}
|
|
70
|
+
|
|
74
71
|
const idx = stackContext?.index.value ?? 0;
|
|
72
|
+
|
|
75
73
|
return rootContext?.getCardDeltaY?.(idx) ?? 0;
|
|
76
74
|
});
|
|
77
75
|
|
|
@@ -81,9 +79,11 @@ const connectorWidth = computed(() => {
|
|
|
81
79
|
if (props.connectorWidth !== undefined) {
|
|
82
80
|
return props.connectorWidth;
|
|
83
81
|
}
|
|
82
|
+
|
|
84
83
|
if (stackContext?.connectorWidth?.value !== undefined) {
|
|
85
84
|
return stackContext.connectorWidth.value;
|
|
86
85
|
}
|
|
86
|
+
|
|
87
87
|
return measuredConnectorWidth.value || 40;
|
|
88
88
|
});
|
|
89
89
|
|
|
@@ -102,9 +102,16 @@ const svgTop = computed(() => {
|
|
|
102
102
|
|
|
103
103
|
const connectorPath = computed(() => {
|
|
104
104
|
const w = connectorWidth.value;
|
|
105
|
+
|
|
105
106
|
return createPyramidConnectorPath(
|
|
106
|
-
{
|
|
107
|
-
|
|
107
|
+
{
|
|
108
|
+
x: 0,
|
|
109
|
+
y: 0,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
x: w,
|
|
113
|
+
y: effectiveDeltaY.value,
|
|
114
|
+
},
|
|
108
115
|
);
|
|
109
116
|
});
|
|
110
117
|
|
|
@@ -113,25 +120,32 @@ const stackColor = computed(() => {
|
|
|
113
120
|
props.color ??
|
|
114
121
|
stackContext?.color?.value ??
|
|
115
122
|
rootContext?.color.value ??
|
|
116
|
-
'
|
|
123
|
+
'var(--alpha-circular-pyramid-stack-content-accent)'
|
|
117
124
|
);
|
|
118
125
|
});
|
|
126
|
+
|
|
127
|
+
const { className, forwardedAttrs } = useMergedUnoAttrs(() => [
|
|
128
|
+
'alpha-circular-pyramid-stack-content rounded-xl p-2 px-2.5 text-[10px] leading-snug transition-all duration-300 border select-none box-border shrink-0',
|
|
129
|
+
isActive.value
|
|
130
|
+
? 'alpha-circular-pyramid-stack-content--active bg-(--alpha-circular-pyramid-stack-content-border-active) text-(--alpha-circular-pyramid-stack-content-active)'
|
|
131
|
+
: 'alpha-circular-pyramid-stack-content--default bg-(--alpha-circular-pyramid-stack-content-border) text-(--alpha-circular-pyramid-stack-content)',
|
|
132
|
+
]);
|
|
119
133
|
</script>
|
|
120
134
|
|
|
121
135
|
<template>
|
|
122
136
|
<div
|
|
123
137
|
class="alpha-circular-pyramid-stack-content-wrapper relative w-full flex items-center select-none overflow-visible"
|
|
124
138
|
:style="{
|
|
125
|
-
'--content-delay': `calc(var(--circular-pyramid-start-delay, 0ms) + ${470 + stepIndex * 320}ms)`,
|
|
139
|
+
'--content-delay': `calc(var(--alpha-circular-pyramid-start-delay, 0ms) + ${470 + stepIndex * 320}ms)`,
|
|
126
140
|
}"
|
|
127
141
|
>
|
|
128
142
|
<!-- Scalable Line between Dot and Content Card (always at least 20px) -->
|
|
129
143
|
<div
|
|
130
144
|
ref="connectorRef"
|
|
131
|
-
class="alpha-circular-pyramid-stack-content__connector flex-1 flex items-center min-w-
|
|
145
|
+
class="alpha-circular-pyramid-stack-content__connector flex-1 flex items-center min-w-5 pointer-events-none relative overflow-visible h-0"
|
|
132
146
|
>
|
|
133
147
|
<div
|
|
134
|
-
class="alpha-circular-pyramid-stack-content__dot absolute left-0 top-0 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full
|
|
148
|
+
class="alpha-circular-pyramid-stack-content__dot absolute left-0 top-0 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full shrink-0 transition-all duration-300 pointer-events-auto"
|
|
135
149
|
:class="{
|
|
136
150
|
'alpha-circular-pyramid-stack-content__dot--animated': isAnimated,
|
|
137
151
|
}"
|
|
@@ -139,13 +153,13 @@ const stackColor = computed(() => {
|
|
|
139
153
|
backgroundColor: stackColor,
|
|
140
154
|
boxShadow: isActive
|
|
141
155
|
? `0 0 6px ${stackColor}`
|
|
142
|
-
: `0 0 2px ${stackColor}
|
|
156
|
+
: `0 0 2px color-mix(in srgb, ${stackColor} 50%, transparent)`,
|
|
143
157
|
}"
|
|
144
158
|
/>
|
|
145
159
|
<!-- Straight horizontal line when deltaY is 0 -->
|
|
146
160
|
<div
|
|
147
161
|
v-if="!effectiveDeltaY"
|
|
148
|
-
class="alpha-circular-pyramid-stack-content__line absolute left-0 top-0 w-full h-
|
|
162
|
+
class="alpha-circular-pyramid-stack-content__line absolute left-0 top-0 w-full h-px -translate-y-1/2 pointer-events-none transition-colors duration-300"
|
|
149
163
|
:class="{
|
|
150
164
|
'alpha-circular-pyramid-stack-content__line--animated': isAnimated,
|
|
151
165
|
}"
|
|
@@ -156,6 +170,7 @@ const stackColor = computed(() => {
|
|
|
156
170
|
/>
|
|
157
171
|
<!-- Zigzag SVG connector when deltaY !== 0 -->
|
|
158
172
|
<svg
|
|
173
|
+
aria-hidden="true"
|
|
159
174
|
v-else
|
|
160
175
|
class="alpha-circular-pyramid-stack-content__line-svg absolute left-0 pointer-events-none overflow-visible"
|
|
161
176
|
:width="connectorWidth"
|
|
@@ -187,39 +202,30 @@ const stackColor = computed(() => {
|
|
|
187
202
|
</div>
|
|
188
203
|
<!-- Content Card -->
|
|
189
204
|
<div
|
|
190
|
-
|
|
191
|
-
:class="
|
|
192
|
-
|
|
193
|
-
? 'alpha-circular-pyramid-stack-content--active'
|
|
194
|
-
: 'alpha-circular-pyramid-stack-content--default',
|
|
195
|
-
{
|
|
205
|
+
v-bind="forwardedAttrs()"
|
|
206
|
+
:class="
|
|
207
|
+
className({
|
|
196
208
|
'alpha-circular-pyramid-stack-content--animated': isAnimated,
|
|
197
|
-
}
|
|
198
|
-
|
|
209
|
+
})
|
|
210
|
+
"
|
|
199
211
|
:style="{
|
|
200
212
|
width: `${contentWidth}px`,
|
|
201
213
|
minWidth: `${contentWidth}px`,
|
|
202
214
|
maxWidth: `${contentWidth}px`,
|
|
203
215
|
boxSizing: 'border-box',
|
|
204
216
|
borderColor: stackColor,
|
|
205
|
-
backgroundColor: isActive
|
|
206
|
-
? 'rgba(255, 255, 255, 0.95)'
|
|
207
|
-
: 'rgba(255, 255, 255, 0.85)',
|
|
208
217
|
boxShadow: isActive
|
|
209
|
-
? `0 4px 14px ${stackColor}
|
|
218
|
+
? `0 4px 14px color-mix(in srgb, ${stackColor} 15%, transparent)`
|
|
210
219
|
: 'none',
|
|
211
220
|
'--card-transform': deltaY ? `translateY(${deltaY}px)` : 'none',
|
|
212
221
|
transform: deltaY ? `translateY(${deltaY}px)` : undefined,
|
|
213
222
|
}"
|
|
214
223
|
>
|
|
215
|
-
<
|
|
216
|
-
class="text-[10px]
|
|
217
|
-
:style="{
|
|
218
|
-
color: isActive ? '#0f172a' : '#475569',
|
|
219
|
-
}"
|
|
224
|
+
<p
|
|
225
|
+
class="text-[10px] transition-colors duration-300 wrap-break-word line-clamp-3"
|
|
220
226
|
>
|
|
221
|
-
<slot
|
|
222
|
-
</
|
|
227
|
+
<slot />
|
|
228
|
+
</p>
|
|
223
229
|
</div>
|
|
224
230
|
</div>
|
|
225
231
|
</template>
|
|
@@ -234,7 +240,8 @@ const stackColor = computed(() => {
|
|
|
234
240
|
}
|
|
235
241
|
|
|
236
242
|
.alpha-circular-pyramid-stack-content__dot--animated {
|
|
237
|
-
animation: alpha-pyramid-dot-pop 120ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
243
|
+
animation: alpha-pyramid-dot-pop 120ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
244
|
+
var(--content-delay) both;
|
|
238
245
|
}
|
|
239
246
|
|
|
240
247
|
@keyframes alpha-pyramid-dot-pop {
|
|
@@ -250,7 +257,8 @@ const stackColor = computed(() => {
|
|
|
250
257
|
|
|
251
258
|
.alpha-circular-pyramid-stack-content__line--animated {
|
|
252
259
|
transform-origin: left center;
|
|
253
|
-
animation: alpha-pyramid-line-draw 500ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
260
|
+
animation: alpha-pyramid-line-draw 500ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
261
|
+
calc(var(--content-delay) + 120ms) both;
|
|
254
262
|
}
|
|
255
263
|
|
|
256
264
|
@keyframes alpha-pyramid-line-draw {
|
|
@@ -270,7 +278,8 @@ const stackColor = computed(() => {
|
|
|
270
278
|
|
|
271
279
|
.alpha-circular-pyramid-stack-content__line--svg-animated {
|
|
272
280
|
stroke-dasharray: 1;
|
|
273
|
-
animation: alpha-pyramid-svg-line-draw 500ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
281
|
+
animation: alpha-pyramid-svg-line-draw 500ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
282
|
+
calc(var(--content-delay) + 120ms) both;
|
|
274
283
|
}
|
|
275
284
|
|
|
276
285
|
@keyframes alpha-pyramid-svg-line-draw {
|
|
@@ -289,7 +298,8 @@ const stackColor = computed(() => {
|
|
|
289
298
|
}
|
|
290
299
|
|
|
291
300
|
.alpha-circular-pyramid-stack-content--animated {
|
|
292
|
-
animation: alpha-pyramid-card-in 240ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
301
|
+
animation: alpha-pyramid-card-in 240ms cubic-bezier(0.16, 1, 0.3, 1)
|
|
302
|
+
calc(var(--content-delay) + 380ms) both;
|
|
293
303
|
}
|
|
294
304
|
|
|
295
305
|
@keyframes alpha-pyramid-card-in {
|