@alphacifer/slidev-addon-theme 0.0.9 → 0.0.11
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 +133 -75
- 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 +17 -97
- 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/QnA.vue +1 -1
- package/components/core/Quote.vue +3 -6
- package/components/core/ReflectedTitle.vue +2 -6
- package/components/core/Speaker.vue +5 -10
- 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 +30 -32
- 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 +89 -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-defense-in-depth/ArcDefenseInDepth.vue +802 -0
- package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayer.vue +240 -0
- package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayerHeading.vue +96 -0
- package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayerPart.vue +501 -0
- package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayerSector.vue +162 -0
- 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} +62 -48
- 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 +276 -190
- package/components/pyramid/circular-pyramid/CircularPyramidStack.vue +83 -98
- package/components/pyramid/circular-pyramid/CircularPyramidStackContent.vue +136 -29
- package/components/pyramid/circular-pyramid/CircularPyramidStackHeading.vue +212 -0
- package/components/pyramid/circular-pyramid/style.css +26 -0
- package/components/pyramid/square-pyramid/SquarePyramid.vue +199 -83
- package/components/pyramid/square-pyramid/SquarePyramidStack.vue +87 -95
- package/components/pyramid/square-pyramid/SquarePyramidStackContent.vue +138 -27
- package/components/pyramid/square-pyramid/SquarePyramidStackHeading.vue +212 -0
- 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/style.css +17 -0
- package/layouts/shifting-heading/shifting-intro.vue +4 -13
- package/layouts/thanks/thanks.vue +5 -5
- package/package.json +8 -6
- 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/defense-in-depth/arc-defense-in-depth/context.ts +113 -0
- package/utils/defense-in-depth/arc-defense-in-depth/createArcDefenseInDepthGeometry.ts +600 -0
- package/utils/defense-in-depth/arc-defense-in-depth/types.ts +144 -0
- package/utils/defense-in-depth/shared/colors.ts +51 -0
- package/utils/defense-in-depth/shared/constants.ts +22 -0
- package/utils/defense-in-depth/shared/types.ts +7 -0
- 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 +3 -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 +64 -16
- 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/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/components/pyramid/circular-pyramid/CircularPyramidStackTitle.vue +0 -138
- package/components/pyramid/square-pyramid/SquarePyramidStackTitle.vue +0 -134
- 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/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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
export interface IArcArrowProcessItem {
|
|
2
|
+
readonly id?: string | number;
|
|
3
|
+
readonly color?: string;
|
|
4
|
+
readonly gradientEnd?: string;
|
|
5
|
+
readonly title?: string;
|
|
6
|
+
readonly description?: string;
|
|
7
|
+
readonly icon?: string | object | false;
|
|
8
|
+
readonly titleColor?: string;
|
|
9
|
+
readonly textColor?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface IResolvedArcArrowProcessItem {
|
|
13
|
+
readonly id: string | number;
|
|
14
|
+
readonly color: string;
|
|
15
|
+
readonly gradientEnd: string;
|
|
16
|
+
readonly title: string;
|
|
17
|
+
readonly description: string;
|
|
18
|
+
readonly icon?: string | object | false;
|
|
19
|
+
readonly titleColor: string;
|
|
20
|
+
readonly textColor: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const DEFAULT_ARC_ARROW_PROCESS_ITEMS_4: readonly [
|
|
24
|
+
IResolvedArcArrowProcessItem,
|
|
25
|
+
IResolvedArcArrowProcessItem,
|
|
26
|
+
IResolvedArcArrowProcessItem,
|
|
27
|
+
IResolvedArcArrowProcessItem,
|
|
28
|
+
] = [
|
|
29
|
+
{
|
|
30
|
+
id: '01',
|
|
31
|
+
color: 'var(--alpha-arc-arrow-process-item-1-color)',
|
|
32
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-1-gradient-end)',
|
|
33
|
+
title: '',
|
|
34
|
+
description: '',
|
|
35
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
36
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: '02',
|
|
40
|
+
color: 'var(--alpha-arc-arrow-process-item-2-color)',
|
|
41
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-2-gradient-end)',
|
|
42
|
+
title: '',
|
|
43
|
+
description: '',
|
|
44
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
45
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: '03',
|
|
49
|
+
color: 'var(--alpha-arc-arrow-process-item-3-color)',
|
|
50
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-3-gradient-end)',
|
|
51
|
+
title: '',
|
|
52
|
+
description: '',
|
|
53
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
54
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: '04',
|
|
58
|
+
color: 'var(--alpha-arc-arrow-process-item-4-color)',
|
|
59
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-4-gradient-end)',
|
|
60
|
+
title: '',
|
|
61
|
+
description: '',
|
|
62
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
63
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
const DEFAULT_ARC_ARROW_PROCESS_ITEMS_3: readonly [
|
|
68
|
+
IResolvedArcArrowProcessItem,
|
|
69
|
+
IResolvedArcArrowProcessItem,
|
|
70
|
+
IResolvedArcArrowProcessItem,
|
|
71
|
+
] = [
|
|
72
|
+
{
|
|
73
|
+
id: '01',
|
|
74
|
+
color: 'var(--alpha-arc-arrow-process-item-1-color)',
|
|
75
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-1-gradient-end)',
|
|
76
|
+
title: '',
|
|
77
|
+
description: '',
|
|
78
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
79
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: '02',
|
|
83
|
+
color: 'var(--alpha-arc-arrow-process-item-2-color)',
|
|
84
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-2-gradient-end)',
|
|
85
|
+
title: '',
|
|
86
|
+
description: '',
|
|
87
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
88
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: '03',
|
|
92
|
+
color: 'var(--alpha-arc-arrow-process-item-4-color)',
|
|
93
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-4-gradient-end)',
|
|
94
|
+
title: '',
|
|
95
|
+
description: '',
|
|
96
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
97
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
const DEFAULT_ARC_ARROW_PROCESS_ITEMS_2: readonly [
|
|
102
|
+
IResolvedArcArrowProcessItem,
|
|
103
|
+
IResolvedArcArrowProcessItem,
|
|
104
|
+
] = [
|
|
105
|
+
{
|
|
106
|
+
id: '01',
|
|
107
|
+
color: 'var(--alpha-arc-arrow-process-item-2-color)',
|
|
108
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-2-gradient-end)',
|
|
109
|
+
title: '',
|
|
110
|
+
description: '',
|
|
111
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
112
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: '02',
|
|
116
|
+
color: 'var(--alpha-arc-arrow-process-item-3-color)',
|
|
117
|
+
gradientEnd: 'var(--alpha-arc-arrow-process-item-3-gradient-end)',
|
|
118
|
+
title: '',
|
|
119
|
+
description: '',
|
|
120
|
+
titleColor: 'var(--alpha-arc-arrow-process-heading)',
|
|
121
|
+
textColor: 'var(--alpha-arc-arrow-process-content)',
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
|
|
125
|
+
export function getDefaultArcArrowProcessItem(
|
|
126
|
+
index: number,
|
|
127
|
+
count: number = 4,
|
|
128
|
+
): IResolvedArcArrowProcessItem {
|
|
129
|
+
const list =
|
|
130
|
+
count === 2
|
|
131
|
+
? DEFAULT_ARC_ARROW_PROCESS_ITEMS_2
|
|
132
|
+
: count === 3
|
|
133
|
+
? DEFAULT_ARC_ARROW_PROCESS_ITEMS_3
|
|
134
|
+
: DEFAULT_ARC_ARROW_PROCESS_ITEMS_4;
|
|
135
|
+
const safe = Math.abs(index) % list.length;
|
|
136
|
+
const item = list[safe];
|
|
137
|
+
|
|
138
|
+
if (item) {
|
|
139
|
+
return item;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return DEFAULT_ARC_ARROW_PROCESS_ITEMS_4[0];
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export function resolveSingleArcArrowProcessItem(
|
|
146
|
+
item: IArcArrowProcessItem | undefined,
|
|
147
|
+
fallbackIndex = 0,
|
|
148
|
+
count: number = 4,
|
|
149
|
+
): IResolvedArcArrowProcessItem {
|
|
150
|
+
const fallback = getDefaultArcArrowProcessItem(fallbackIndex, count);
|
|
151
|
+
|
|
152
|
+
if (!item) {
|
|
153
|
+
return fallback;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return {
|
|
157
|
+
id: item.id ?? fallback.id,
|
|
158
|
+
color: item.color ?? fallback.color,
|
|
159
|
+
gradientEnd: item.gradientEnd ?? fallback.gradientEnd,
|
|
160
|
+
title: item.title ?? fallback.title,
|
|
161
|
+
description: item.description ?? fallback.description,
|
|
162
|
+
icon: item.icon !== undefined ? item.icon : fallback.icon,
|
|
163
|
+
titleColor: item.titleColor ?? fallback.titleColor,
|
|
164
|
+
textColor: item.textColor ?? fallback.textColor,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export function resolveArcArrowProcessItems(
|
|
169
|
+
items: readonly IArcArrowProcessItem[] | undefined,
|
|
170
|
+
count: number = 4,
|
|
171
|
+
): readonly IResolvedArcArrowProcessItem[] {
|
|
172
|
+
const targetCount = count >= 2 ? count : 4;
|
|
173
|
+
const result: IResolvedArcArrowProcessItem[] = [];
|
|
174
|
+
|
|
175
|
+
for (let i = 0; i < targetCount; i++) {
|
|
176
|
+
result.push(resolveSingleArcArrowProcessItem(items?.[i], i, targetCount));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return result;
|
|
180
|
+
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { ComputedRef, InjectionKey, Ref } from 'vue';
|
|
2
2
|
|
|
3
|
-
import type { IPyramidPalette
|
|
3
|
+
import type { IPyramidPalette } from '../shared';
|
|
4
4
|
import type { ICircularLayerGeometry, ICircularPyramidGeometry } from './types';
|
|
5
5
|
|
|
6
|
-
export interface ICircularPyramidRegistration extends IPyramidRegistration {}
|
|
7
|
-
|
|
8
6
|
export interface ICircularPyramidRootContext {
|
|
9
7
|
readonly count: ComputedRef<number>;
|
|
10
8
|
readonly activeIndex: Ref<number> | ComputedRef<number>;
|
|
@@ -15,7 +13,6 @@ export interface ICircularPyramidRootContext {
|
|
|
15
13
|
readonly interactive: ComputedRef<boolean>;
|
|
16
14
|
readonly titleWidthPx: ComputedRef<number>;
|
|
17
15
|
readonly contentWidthPx: ComputedRef<number>;
|
|
18
|
-
readonly contentRightOffsetPx: ComputedRef<number>;
|
|
19
16
|
readonly registerStack: (
|
|
20
17
|
id?: symbol,
|
|
21
18
|
color?: ComputedRef<string | undefined>,
|
|
@@ -2,8 +2,6 @@ import {
|
|
|
2
2
|
clampPyramidCount,
|
|
3
3
|
computePyramidStacking,
|
|
4
4
|
DEFAULT_PYRAMID_COLOR,
|
|
5
|
-
darkenColor,
|
|
6
|
-
lightenColor,
|
|
7
5
|
MAX_PYRAMID_COUNT,
|
|
8
6
|
MIN_PYRAMID_COUNT,
|
|
9
7
|
resolvePyramidPalette,
|
|
@@ -17,19 +15,17 @@ import type {
|
|
|
17
15
|
|
|
18
16
|
export const DEFAULT_CIRCULAR_PYRAMID_COLOR = DEFAULT_PYRAMID_COLOR;
|
|
19
17
|
export const DEFAULT_CIRCULAR_PYRAMID_STACK_COLORS: readonly string[] = [
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
18
|
+
'var(--alpha-circular-pyramid-stack-1-color)',
|
|
19
|
+
'var(--alpha-circular-pyramid-stack-2-color)',
|
|
20
|
+
'var(--alpha-circular-pyramid-stack-3-color)',
|
|
21
|
+
'var(--alpha-circular-pyramid-stack-4-color)',
|
|
22
|
+
'var(--alpha-circular-pyramid-stack-5-color)',
|
|
23
|
+
'var(--alpha-circular-pyramid-stack-6-color)',
|
|
26
24
|
] as const;
|
|
27
25
|
|
|
28
26
|
export const MIN_CIRCULAR_COUNT = MIN_PYRAMID_COUNT;
|
|
29
27
|
export const MAX_CIRCULAR_COUNT = MAX_PYRAMID_COUNT;
|
|
30
28
|
|
|
31
|
-
export { darkenColor, lightenColor };
|
|
32
|
-
|
|
33
29
|
export function clampCircularCount(count?: number): number {
|
|
34
30
|
return clampPyramidCount(count);
|
|
35
31
|
}
|
|
@@ -1,92 +1,42 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
export function lightenColor({
|
|
5
|
-
hex,
|
|
6
|
-
ratio = 0.5,
|
|
7
|
-
}: IColorModifierParams): string {
|
|
8
|
-
const raw = hex.trim().replace(/^#/, '');
|
|
9
|
-
const sanitized =
|
|
10
|
-
raw.length === 3
|
|
11
|
-
? raw
|
|
12
|
-
.split('')
|
|
13
|
-
.map((char) => char + char)
|
|
14
|
-
.join('')
|
|
15
|
-
: raw;
|
|
16
|
-
|
|
17
|
-
if (sanitized.length !== 6) {
|
|
18
|
-
return hex;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const r = Number.parseInt(sanitized.slice(0, 2), 16);
|
|
22
|
-
const g = Number.parseInt(sanitized.slice(2, 4), 16);
|
|
23
|
-
const b = Number.parseInt(sanitized.slice(4, 6), 16);
|
|
24
|
-
|
|
25
|
-
if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {
|
|
26
|
-
return hex;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const clamp = (val: number): number =>
|
|
30
|
-
Math.min(255, Math.max(0, Math.round(val)));
|
|
31
|
-
const lr = clamp(r + (255 - r) * ratio);
|
|
32
|
-
const lg = clamp(g + (255 - g) * ratio);
|
|
33
|
-
const lb = clamp(b + (255 - b) * ratio);
|
|
34
|
-
|
|
35
|
-
const toHex = (n: number): string => n.toString(16).padStart(2, '0');
|
|
36
|
-
|
|
37
|
-
return `#${toHex(lr)}${toHex(lg)}${toHex(lb)}`;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function darkenColor({
|
|
41
|
-
hex,
|
|
42
|
-
ratio = 0.5,
|
|
43
|
-
}: IColorModifierParams): string {
|
|
44
|
-
const raw = hex.trim().replace(/^#/, '');
|
|
45
|
-
const sanitized =
|
|
46
|
-
raw.length === 3
|
|
47
|
-
? raw
|
|
48
|
-
.split('')
|
|
49
|
-
.map((char) => char + char)
|
|
50
|
-
.join('')
|
|
51
|
-
: raw;
|
|
52
|
-
|
|
53
|
-
if (sanitized.length !== 6) {
|
|
54
|
-
return hex;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const r = Number.parseInt(sanitized.slice(0, 2), 16);
|
|
58
|
-
const g = Number.parseInt(sanitized.slice(2, 4), 16);
|
|
59
|
-
const b = Number.parseInt(sanitized.slice(4, 6), 16);
|
|
60
|
-
|
|
61
|
-
if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {
|
|
62
|
-
return hex;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const clamp = (val: number): number =>
|
|
66
|
-
Math.min(255, Math.max(0, Math.round(val)));
|
|
67
|
-
const dr = clamp(r * (1 - ratio));
|
|
68
|
-
const dg = clamp(g * (1 - ratio));
|
|
69
|
-
const db = clamp(b * (1 - ratio));
|
|
70
|
-
|
|
71
|
-
const toHex = (n: number): string => n.toString(16).padStart(2, '0');
|
|
72
|
-
|
|
73
|
-
return `#${toHex(dr)}${toHex(dg)}${toHex(db)}`;
|
|
74
|
-
}
|
|
1
|
+
import { darkenColor, lightenColor } from '../../colors';
|
|
2
|
+
import { DEFAULT_PYRAMID_COLOR, DEFAULT_PYRAMID_HIGHLIGHT } from './constants';
|
|
3
|
+
import type { IPyramidPalette } from './types';
|
|
75
4
|
|
|
76
5
|
export function resolvePyramidPalette(
|
|
77
6
|
baseColor: string = DEFAULT_PYRAMID_COLOR,
|
|
78
7
|
): IPyramidPalette {
|
|
79
8
|
return {
|
|
80
|
-
activeTopStart: lightenColor({
|
|
9
|
+
activeTopStart: lightenColor({
|
|
10
|
+
hex: baseColor,
|
|
11
|
+
ratio: 0.82,
|
|
12
|
+
}),
|
|
81
13
|
activeTopEnd: baseColor,
|
|
82
|
-
activeSideStart: darkenColor({
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
14
|
+
activeSideStart: darkenColor({
|
|
15
|
+
hex: baseColor,
|
|
16
|
+
ratio: 0.28,
|
|
17
|
+
}),
|
|
18
|
+
activeSideEnd: lightenColor({
|
|
19
|
+
hex: baseColor,
|
|
20
|
+
ratio: 0.35,
|
|
21
|
+
}),
|
|
22
|
+
activeStroke: lightenColor({
|
|
23
|
+
hex: baseColor,
|
|
24
|
+
ratio: 0.7,
|
|
25
|
+
}),
|
|
26
|
+
defaultTopStart: DEFAULT_PYRAMID_HIGHLIGHT,
|
|
27
|
+
defaultTopEnd: lightenColor({
|
|
28
|
+
hex: baseColor,
|
|
29
|
+
ratio: 0.88,
|
|
30
|
+
}),
|
|
31
|
+
defaultSideStart: lightenColor({
|
|
32
|
+
hex: baseColor,
|
|
33
|
+
ratio: 0.72,
|
|
34
|
+
}),
|
|
35
|
+
defaultSideEnd: lightenColor({
|
|
36
|
+
hex: baseColor,
|
|
37
|
+
ratio: 0.88,
|
|
38
|
+
}),
|
|
39
|
+
defaultStroke: DEFAULT_PYRAMID_HIGHLIGHT,
|
|
90
40
|
glow: baseColor,
|
|
91
41
|
};
|
|
92
42
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export const DEFAULT_PYRAMID_COLOR = '
|
|
1
|
+
export const DEFAULT_PYRAMID_COLOR = 'var(--alpha-pyramid-accent)';
|
|
2
|
+
export const DEFAULT_PYRAMID_HIGHLIGHT = 'var(--alpha-pyramid-highlight)';
|
|
2
3
|
export const MIN_PYRAMID_COUNT = 1;
|
|
3
4
|
export const MAX_PYRAMID_COUNT = 6;
|
|
4
5
|
|
|
5
6
|
export const PYRAMID_TITLE_WIDTH_PX = 150;
|
|
6
7
|
export const PYRAMID_CONTENT_WIDTH_PX = 240;
|
|
7
|
-
export const PYRAMID_CONTENT_RIGHT_OFFSET_PX = 0;
|
|
8
8
|
export const PYRAMID_DOT_POSITION_X = 210;
|
|
9
|
+
export const PYRAMID_DOT_GAP_PX = 10;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { ComputedRef, InjectionKey, Ref } from 'vue';
|
|
2
2
|
|
|
3
|
-
import type { IPyramidPalette
|
|
3
|
+
import type { IPyramidPalette } from '../shared';
|
|
4
4
|
import type { ISquareLayerGeometry, ISquarePyramidGeometry } from './types';
|
|
5
5
|
|
|
6
|
-
export interface ISquarePyramidRegistration extends IPyramidRegistration {}
|
|
7
|
-
|
|
8
6
|
export interface ISquarePyramidRootContext {
|
|
9
7
|
readonly count: ComputedRef<number>;
|
|
10
8
|
readonly activeIndex: Ref<number> | ComputedRef<number>;
|
|
@@ -15,7 +13,6 @@ export interface ISquarePyramidRootContext {
|
|
|
15
13
|
readonly interactive: ComputedRef<boolean>;
|
|
16
14
|
readonly titleWidthPx: ComputedRef<number>;
|
|
17
15
|
readonly contentWidthPx: ComputedRef<number>;
|
|
18
|
-
readonly contentRightOffsetPx: ComputedRef<number>;
|
|
19
16
|
readonly registerStack: (
|
|
20
17
|
id?: symbol,
|
|
21
18
|
color?: ComputedRef<string | undefined>,
|
|
@@ -2,8 +2,6 @@ import {
|
|
|
2
2
|
clampPyramidCount,
|
|
3
3
|
computePyramidStacking,
|
|
4
4
|
DEFAULT_PYRAMID_COLOR,
|
|
5
|
-
darkenColor,
|
|
6
|
-
lightenColor,
|
|
7
5
|
MAX_PYRAMID_COUNT,
|
|
8
6
|
MIN_PYRAMID_COUNT,
|
|
9
7
|
resolvePyramidPalette,
|
|
@@ -17,19 +15,17 @@ import type {
|
|
|
17
15
|
|
|
18
16
|
export const DEFAULT_SQUARE_PYRAMID_COLOR = DEFAULT_PYRAMID_COLOR;
|
|
19
17
|
export const DEFAULT_SQUARE_PYRAMID_STACK_COLORS: readonly string[] = [
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
18
|
+
'var(--alpha-square-pyramid-stack-1-color)',
|
|
19
|
+
'var(--alpha-square-pyramid-stack-2-color)',
|
|
20
|
+
'var(--alpha-square-pyramid-stack-3-color)',
|
|
21
|
+
'var(--alpha-square-pyramid-stack-4-color)',
|
|
22
|
+
'var(--alpha-square-pyramid-stack-5-color)',
|
|
23
|
+
'var(--alpha-square-pyramid-stack-6-color)',
|
|
26
24
|
] as const;
|
|
27
25
|
|
|
28
26
|
export const MIN_SQUARE_COUNT = MIN_PYRAMID_COUNT;
|
|
29
27
|
export const MAX_SQUARE_COUNT = MAX_PYRAMID_COUNT;
|
|
30
28
|
|
|
31
|
-
export { darkenColor, lightenColor };
|
|
32
|
-
|
|
33
29
|
export function clampSquareCount(count?: number): number {
|
|
34
30
|
return clampPyramidCount(count);
|
|
35
31
|
}
|
|
@@ -14,6 +14,9 @@ export interface IUseDiagramAutoScaleOptions {
|
|
|
14
14
|
readonly scale?: Ref<number | undefined> | (() => number | undefined);
|
|
15
15
|
readonly autoScale?: Ref<boolean | undefined> | (() => boolean | undefined);
|
|
16
16
|
readonly maxScale?: Ref<number | undefined> | (() => number | undefined);
|
|
17
|
+
readonly width?:
|
|
18
|
+
| Ref<number | string | undefined>
|
|
19
|
+
| (() => number | string | undefined);
|
|
17
20
|
readonly height?:
|
|
18
21
|
| Ref<number | string | undefined>
|
|
19
22
|
| (() => number | string | undefined);
|
|
@@ -43,7 +46,7 @@ function resolveValue<T>(val: Ref<T> | (() => T) | undefined, fallback: T): T {
|
|
|
43
46
|
|
|
44
47
|
/**
|
|
45
48
|
* Automatically computes a scale factor (via CSS transform: scale)
|
|
46
|
-
* so that diagram components (ArrowTriad,
|
|
49
|
+
* so that diagram components (ArrowTriad, RectangleOrbitTetrad, ArcArrowProcess, etc.)
|
|
47
50
|
* fit comfortably inside the available slide canvas without clipping or overlaying pagination.
|
|
48
51
|
*/
|
|
49
52
|
export function useDiagramAutoScale(
|
|
@@ -94,6 +97,19 @@ export function useDiagramAutoScale(
|
|
|
94
97
|
availW = el.clientWidth;
|
|
95
98
|
}
|
|
96
99
|
|
|
100
|
+
const explicitWidth = resolveValue(options.width, undefined);
|
|
101
|
+
if (typeof explicitWidth === 'number' && explicitWidth > 0) {
|
|
102
|
+
availW = availW > 0 ? Math.min(availW, explicitWidth) : explicitWidth;
|
|
103
|
+
} else if (
|
|
104
|
+
typeof explicitWidth === 'string' &&
|
|
105
|
+
explicitWidth.endsWith('px')
|
|
106
|
+
) {
|
|
107
|
+
const parsedW = Number.parseFloat(explicitWidth);
|
|
108
|
+
if (parsedW > 0) {
|
|
109
|
+
availW = availW > 0 ? Math.min(availW, parsedW) : parsedW;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
97
113
|
// Available height inside parent or slide layout
|
|
98
114
|
let availH = 0;
|
|
99
115
|
const explicitHeight = resolveValue(options.height, undefined);
|
|
@@ -140,6 +156,23 @@ export function useDiagramAutoScale(
|
|
|
140
156
|
pagyEl && window.getComputedStyle(pagyEl).display !== 'none';
|
|
141
157
|
const clearance = isPagyVisible ? pagyClearance : 16;
|
|
142
158
|
|
|
159
|
+
// Check for internal component header inside el (e.g. ArcDefenseInDepth, GearTriad, HexagonTriad)
|
|
160
|
+
let internalHeaderH = 0;
|
|
161
|
+
for (let i = 0; i < el.children.length; i++) {
|
|
162
|
+
const child = el.children[i];
|
|
163
|
+
if (
|
|
164
|
+
child instanceof HTMLElement &&
|
|
165
|
+
(child.tagName === 'HEADER' ||
|
|
166
|
+
child.classList.contains('alpha-arc-defense-in-depth__header'))
|
|
167
|
+
) {
|
|
168
|
+
internalHeaderH += child.offsetHeight;
|
|
169
|
+
const cs = window.getComputedStyle(child);
|
|
170
|
+
internalHeaderH +=
|
|
171
|
+
(Number.parseFloat(cs.marginTop) || 0) +
|
|
172
|
+
(Number.parseFloat(cs.marginBottom) || 0);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
143
176
|
if (slideEl && slideEl.clientHeight > 0) {
|
|
144
177
|
const slideStyle = window.getComputedStyle(slideEl);
|
|
145
178
|
const sPadTop = Number.parseFloat(slideStyle.paddingTop) || 0;
|
|
@@ -148,21 +181,30 @@ export function useDiagramAutoScale(
|
|
|
148
181
|
let slideSiblingsH = siblingsH;
|
|
149
182
|
|
|
150
183
|
if (parent !== slideEl) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
child
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
184
|
+
let curr: HTMLElement | null = parent;
|
|
185
|
+
while (curr && curr !== slideEl && curr.parentElement) {
|
|
186
|
+
const p: HTMLElement = curr.parentElement;
|
|
187
|
+
for (let i = 0; i < p.children.length; i++) {
|
|
188
|
+
const child = p.children[i];
|
|
189
|
+
if (
|
|
190
|
+
child &&
|
|
191
|
+
child !== curr &&
|
|
192
|
+
!child.contains(curr) &&
|
|
193
|
+
child instanceof HTMLElement
|
|
194
|
+
) {
|
|
195
|
+
slideSiblingsH += child.offsetHeight;
|
|
196
|
+
const cs = window.getComputedStyle(child);
|
|
197
|
+
slideSiblingsH +=
|
|
198
|
+
(Number.parseFloat(cs.marginTop) || 0) +
|
|
199
|
+
(Number.parseFloat(cs.marginBottom) || 0);
|
|
200
|
+
}
|
|
165
201
|
}
|
|
202
|
+
|
|
203
|
+
if (p === slideEl) {
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
curr = p;
|
|
166
208
|
}
|
|
167
209
|
}
|
|
168
210
|
|
|
@@ -172,12 +214,18 @@ export function useDiagramAutoScale(
|
|
|
172
214
|
sPadTop -
|
|
173
215
|
sPadBottom -
|
|
174
216
|
slideSiblingsH -
|
|
217
|
+
internalHeaderH -
|
|
175
218
|
clearance,
|
|
176
219
|
);
|
|
177
220
|
} else if (parent.clientHeight > 0) {
|
|
178
221
|
availH = Math.max(
|
|
179
222
|
0,
|
|
180
|
-
parent.clientHeight -
|
|
223
|
+
parent.clientHeight -
|
|
224
|
+
padTop -
|
|
225
|
+
padBottom -
|
|
226
|
+
siblingsH -
|
|
227
|
+
internalHeaderH -
|
|
228
|
+
clearance,
|
|
181
229
|
);
|
|
182
230
|
}
|
|
183
231
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useAttrs } from 'vue';
|
|
2
2
|
|
|
3
|
-
import { mergeUno } from './
|
|
4
|
-
import type { TUnoClassValue } from './
|
|
3
|
+
import { mergeUno } from './merge-uno';
|
|
4
|
+
import type { TUnoClassValue } from './merge-uno/types';
|
|
5
5
|
|
|
6
6
|
type TUnoClassSource = TUnoClassValue | (() => TUnoClassValue);
|
|
7
7
|
|
|
8
8
|
interface IUseMergedUnoAttrsResult {
|
|
9
|
-
readonly className: () => string;
|
|
9
|
+
readonly className: (...extraDefaults: TUnoClassValue[]) => string;
|
|
10
10
|
readonly forwardedAttrs: () => Record<string, unknown>;
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -20,11 +20,15 @@ export function useMergedUnoAttrs(
|
|
|
20
20
|
): IUseMergedUnoAttrsResult {
|
|
21
21
|
const attrs = useAttrs();
|
|
22
22
|
|
|
23
|
-
const className = (): string => {
|
|
23
|
+
const className = (...extraDefaults: TUnoClassValue[]): string => {
|
|
24
24
|
const resolvedDefaults =
|
|
25
25
|
typeof defaultClasses === 'function' ? defaultClasses() : defaultClasses;
|
|
26
26
|
|
|
27
|
-
return mergeUno(
|
|
27
|
+
return mergeUno(
|
|
28
|
+
resolvedDefaults,
|
|
29
|
+
...extraDefaults,
|
|
30
|
+
attrs.class as TUnoClassValue,
|
|
31
|
+
);
|
|
28
32
|
};
|
|
29
33
|
|
|
30
34
|
const forwardedAttrs = (): Record<string, unknown> => {
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { computed, inject } from 'vue';
|
|
3
|
-
|
|
4
|
-
import { CHEVRON_CARD_KEY } from '../../../utils/chevronCard';
|
|
5
|
-
|
|
6
|
-
defineOptions({
|
|
7
|
-
name: 'ChevronCardHeading',
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
export interface IChevronCardHeadingProps {
|
|
11
|
-
readonly color?: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const props = withDefaults(defineProps<IChevronCardHeadingProps>(), {
|
|
15
|
-
color: undefined,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
const cardContext = inject(CHEVRON_CARD_KEY, undefined);
|
|
19
|
-
|
|
20
|
-
const headingColor = computed(() => {
|
|
21
|
-
return props.color ?? cardContext?.titleColor.value ?? '#4b5563';
|
|
22
|
-
});
|
|
23
|
-
</script>
|
|
24
|
-
|
|
25
|
-
<template>
|
|
26
|
-
<div
|
|
27
|
-
class="alpha-chevron-card-heading font-bold text-[1.25rem] uppercase tracking-wider leading-tight select-none font-sans"
|
|
28
|
-
:style="{
|
|
29
|
-
color: headingColor,
|
|
30
|
-
padding: 0,
|
|
31
|
-
fontSize: '1.25rem',
|
|
32
|
-
fontFamily:
|
|
33
|
-
'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif',
|
|
34
|
-
marginBottom: '0.25rem',
|
|
35
|
-
}"
|
|
36
|
-
>
|
|
37
|
-
<slot />
|
|
38
|
-
</div>
|
|
39
|
-
</template>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { computed, inject } from 'vue';
|
|
3
|
-
|
|
4
|
-
import { HORIZ_CARD_KEY } from '../../../utils/horizCard';
|
|
5
|
-
import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
|
|
6
|
-
|
|
7
|
-
defineOptions({
|
|
8
|
-
inheritAttrs: false,
|
|
9
|
-
name: 'HorizCardHeading',
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export interface IHorizCardHeadingProps {
|
|
13
|
-
/**
|
|
14
|
-
* Title text color. Overrides context titleColor.
|
|
15
|
-
*/
|
|
16
|
-
readonly color?: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const props = withDefaults(defineProps<IHorizCardHeadingProps>(), {
|
|
20
|
-
color: undefined,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
const context = inject(HORIZ_CARD_KEY, undefined);
|
|
24
|
-
|
|
25
|
-
const headingColor = computed(() => {
|
|
26
|
-
return (
|
|
27
|
-
props.color ??
|
|
28
|
-
context?.titleColor.value ??
|
|
29
|
-
context?.color.value ??
|
|
30
|
-
'#ea583a'
|
|
31
|
-
);
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const { className, forwardedAttrs } = useMergedUnoAttrs(
|
|
35
|
-
'alpha-horiz-card-heading font-sans font-bold text-xl tracking-tight leading-tight',
|
|
36
|
-
);
|
|
37
|
-
</script>
|
|
38
|
-
|
|
39
|
-
<template>
|
|
40
|
-
<h3
|
|
41
|
-
v-bind="forwardedAttrs()"
|
|
42
|
-
:class="className()"
|
|
43
|
-
:style="{ color: headingColor }"
|
|
44
|
-
>
|
|
45
|
-
<slot>Lorem Ipsum</slot>
|
|
46
|
-
</h3>
|
|
47
|
-
</template>
|