@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.
Files changed (227) hide show
  1. package/README.md +134 -76
  2. package/components/card/chevron-card/ChevronCard.vue +44 -32
  3. package/components/card/chevron-card/ChevronCardBadge.vue +14 -8
  4. package/components/card/chevron-card/ChevronCardContent.vue +15 -13
  5. package/components/card/chevron-card/style.css +12 -0
  6. package/components/card/{horiz-card/HorizCard.vue → horizontal-card/HorizontalCard.vue} +78 -85
  7. package/components/card/{horiz-card/HorizCardBadge.vue → horizontal-card/HorizontalCardBadge.vue} +15 -10
  8. package/components/card/{horiz-card/HorizCardContent.vue → horizontal-card/HorizontalCardContent.vue} +11 -11
  9. package/components/card/{horiz-card/HorizCardIcon.vue → horizontal-card/HorizontalCardIcon.vue} +24 -38
  10. package/components/card/horizontal-card/style.css +17 -0
  11. package/components/card/{vert-card/VertCard.vue → vertical-card/VerticalCard.vue} +80 -103
  12. package/components/card/{vert-card/VertCardBadge.vue → vertical-card/VerticalCardBadge.vue} +15 -10
  13. package/components/card/{vert-card/VertCardContent.vue → vertical-card/VerticalCardContent.vue} +13 -12
  14. package/components/card/{vert-card/VertCardIcon.vue → vertical-card/VerticalCardIcon.vue} +15 -33
  15. package/components/card/vertical-card/style.css +19 -0
  16. package/components/comparisons/arc-comparison/ArcComparison.vue +376 -80
  17. package/components/comparisons/arc-comparison/ArcComparisonBadge.vue +9 -4
  18. package/components/comparisons/arc-comparison/ArcComparisonContent.vue +9 -4
  19. package/components/comparisons/arc-comparison/ArcComparisonHeading.vue +9 -4
  20. package/components/comparisons/arc-comparison/ArcComparisonLeft.vue +39 -63
  21. package/components/comparisons/arc-comparison/ArcComparisonOrbit.vue +9 -8
  22. package/components/comparisons/arc-comparison/ArcComparisonRight.vue +39 -63
  23. package/components/comparisons/arc-comparison/style.css +27 -0
  24. package/components/comparisons/table-comparison/TableComparison.vue +8 -90
  25. package/components/comparisons/table-comparison/TableComparisonCell.vue +22 -20
  26. package/components/comparisons/table-comparison/{TableComparisonCol.vue → TableComparisonColumn.vue} +16 -14
  27. package/components/comparisons/table-comparison/{TableComparisonCols.vue → TableComparisonColumns.vue} +5 -8
  28. package/components/comparisons/table-comparison/TableComparisonRow.vue +10 -14
  29. package/components/comparisons/table-comparison/TableComparisonRows.vue +1 -4
  30. package/components/comparisons/table-comparison/style.css +15 -0
  31. package/components/core/Date.vue +2 -5
  32. package/components/core/MetaList.vue +50 -0
  33. package/components/core/QnA.vue +1 -1
  34. package/components/core/Quote.vue +3 -6
  35. package/components/core/ReflectedTitle.vue +2 -6
  36. package/components/core/Speaker.vue +6 -11
  37. package/components/core/TransitionHeading.vue +2 -5
  38. package/components/core/arc-orbit/ArcOrbit.vue +65 -84
  39. package/components/core/arc-orbit/ArcOrbitBadge.vue +9 -11
  40. package/components/core/arc-orbit/ArcOrbitCallout.vue +19 -23
  41. package/components/core/arc-orbit/ArcOrbitContent.vue +6 -12
  42. package/components/core/arc-orbit/ArcOrbitHeading.vue +13 -11
  43. package/components/core/arc-orbit/style.css +20 -0
  44. package/components/core/style.css +9 -0
  45. package/components/core/thanks/{ThanksContent.vue → SquareThanks.vue} +36 -31
  46. package/components/core/thanks/SquareThanksContent.vue +87 -0
  47. package/components/core/thanks/ThanksOutlineSquare.vue +2 -5
  48. package/components/core/thanks/ThanksSquare.vue +2 -5
  49. package/components/core/thanks/style.css +30 -0
  50. package/components/defense-in-depth/{arc-did/ArcDiD.vue → arc-defense-in-depth/ArcDefenseInDepth.vue} +167 -97
  51. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayer.vue +240 -0
  52. package/components/defense-in-depth/{arc-did/ArcDiDLayerTitle.vue → arc-defense-in-depth/ArcDefenseInDepthLayerHeading.vue} +27 -29
  53. package/components/defense-in-depth/{arc-did/ArcDiDLayerPart.vue → arc-defense-in-depth/ArcDefenseInDepthLayerPart.vue} +91 -39
  54. package/components/defense-in-depth/{arc-did/ArcDiDLayerSector.vue → arc-defense-in-depth/ArcDefenseInDepthLayerSector.vue} +37 -23
  55. package/components/defense-in-depth/arc-defense-in-depth/style.css +38 -0
  56. package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetrad.vue → rectangle-orbit-tetrad/RectangleOrbitTetrad.vue} +66 -63
  57. package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetradCallout.vue → rectangle-orbit-tetrad/RectangleOrbitTetradCallout.vue} +58 -46
  58. package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradCenter.vue +54 -0
  59. package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradContent.vue +44 -0
  60. package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradHeading.vue +27 -0
  61. package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetradIcon.vue → rectangle-orbit-tetrad/RectangleOrbitTetradIcon.vue} +23 -13
  62. package/components/facets/tetrad/rectangle-orbit-tetrad/style.css +22 -0
  63. package/components/facets/triad/arrow-triad/ArrowTriad.vue +99 -109
  64. package/components/facets/triad/arrow-triad/ArrowTriadCallout.vue +31 -59
  65. package/components/facets/triad/arrow-triad/ArrowTriadContent.vue +18 -13
  66. package/components/facets/triad/arrow-triad/ArrowTriadHeading.vue +20 -13
  67. package/components/facets/triad/arrow-triad/ArrowTriadIcon.vue +14 -9
  68. package/components/facets/triad/arrow-triad/style.css +15 -0
  69. package/components/facets/triad/gear-triad/GearTriad.vue +73 -64
  70. package/components/facets/triad/gear-triad/GearTriadCallout.vue +58 -53
  71. package/components/facets/triad/gear-triad/GearTriadCenter.vue +9 -4
  72. package/components/facets/triad/gear-triad/GearTriadContent.vue +21 -36
  73. package/components/facets/triad/gear-triad/GearTriadDetail.vue +92 -0
  74. package/components/facets/triad/gear-triad/GearTriadDetails.vue +169 -0
  75. package/components/facets/triad/gear-triad/GearTriadDetailsContent.vue +18 -0
  76. package/components/facets/triad/gear-triad/GearTriadDetailsHeading.vue +60 -0
  77. package/components/facets/triad/gear-triad/GearTriadHeading.vue +19 -13
  78. package/components/facets/triad/gear-triad/GearTriadIcon.vue +22 -9
  79. package/components/facets/triad/gear-triad/style.css +26 -0
  80. package/components/facets/triad/{hex-triad/HexTriad.vue → hexagon-triad/HexagonTriad.vue} +81 -63
  81. package/components/facets/triad/{hex-triad/HexTriadBadge.vue → hexagon-triad/HexagonTriadBadge.vue} +38 -12
  82. package/components/facets/triad/{hex-triad/HexTriadCallout.vue → hexagon-triad/HexagonTriadCallout.vue} +35 -31
  83. package/components/facets/triad/hexagon-triad/HexagonTriadCenterBadge.vue +74 -0
  84. package/components/facets/triad/hexagon-triad/HexagonTriadContent.vue +34 -0
  85. package/components/facets/triad/hexagon-triad/HexagonTriadHeading.vue +44 -0
  86. package/components/facets/triad/{hex-triad/HexTriadLayer.vue → hexagon-triad/HexagonTriadLayer.vue} +12 -4
  87. package/components/facets/triad/hexagon-triad/style.css +22 -0
  88. package/components/process/arc-arrow-process/ArcArrowProcess.vue +13 -35
  89. package/components/process/arc-arrow-process/ArcArrowProcessArrow.vue +20 -21
  90. package/components/process/arc-arrow-process/ArcArrowProcessCallout.vue +30 -71
  91. package/components/process/arc-arrow-process/ArcArrowProcessContent.vue +18 -13
  92. package/components/process/arc-arrow-process/ArcArrowProcessHeading.vue +18 -18
  93. package/components/process/arc-arrow-process/ArcArrowProcessIcon.vue +23 -11
  94. package/components/process/arc-arrow-process/style.css +20 -0
  95. package/components/pyramid/circular-pyramid/CircularPyramid.vue +269 -170
  96. package/components/pyramid/circular-pyramid/CircularPyramidStack.vue +70 -52
  97. package/components/pyramid/circular-pyramid/CircularPyramidStackContent.vue +47 -37
  98. package/components/pyramid/circular-pyramid/{CircularPyramidStackTitle.vue → CircularPyramidStackHeading.vue} +49 -45
  99. package/components/pyramid/circular-pyramid/style.css +26 -0
  100. package/components/pyramid/square-pyramid/SquarePyramid.vue +191 -62
  101. package/components/pyramid/square-pyramid/SquarePyramidStack.vue +74 -49
  102. package/components/pyramid/square-pyramid/SquarePyramidStackContent.vue +47 -33
  103. package/components/pyramid/square-pyramid/{SquarePyramidStackTitle.vue → SquarePyramidStackHeading.vue} +49 -41
  104. package/components/pyramid/square-pyramid/style.css +48 -0
  105. package/components/style.css +35 -0
  106. package/layouts/core/arc-toc.vue +40 -45
  107. package/layouts/core/bg-center.vue +7 -6
  108. package/layouts/core/references.vue +84 -0
  109. package/layouts/core/style.css +47 -0
  110. package/layouts/shifting-heading/shifting-intro.vue +4 -13
  111. package/layouts/thanks/thanks.vue +5 -5
  112. package/package.json +7 -5
  113. package/style.css +17 -0
  114. package/uno.config.ts +1 -0
  115. package/utils/activateOnKeyboard.ts +14 -0
  116. package/utils/{chevronCard → card/chevron-card}/context.ts +1 -1
  117. package/utils/card/chevron-card/index.ts +1 -0
  118. package/utils/card/horizontal-card/context.ts +12 -0
  119. package/utils/{horizCard/createHorizCardGeometry.ts → card/horizontal-card/createHorizontalCardGeometry.ts} +10 -45
  120. package/utils/card/horizontal-card/index.ts +2 -0
  121. package/utils/card/vertical-card/context.ts +19 -0
  122. package/utils/{vertCard/createVertCardGeometry.ts → card/vertical-card/createVerticalCardGeometry.ts} +9 -130
  123. package/utils/card/vertical-card/index.ts +2 -0
  124. package/utils/colors.ts +93 -0
  125. package/utils/{arcComparison → comparisons/arc-comparison}/context.ts +0 -11
  126. package/utils/{arcComparison → comparisons/arc-comparison}/createArcComparisonGeometry.ts +1 -1
  127. package/utils/comparisons/arc-comparison/resolveArcComparisonItems.ts +33 -0
  128. package/utils/comparisons/table-comparison/constants.ts +47 -0
  129. package/utils/{tableComparison → comparisons/table-comparison}/context.ts +2 -2
  130. package/utils/{arcOrbit → core/arc-orbit}/resolveArcOrbitItems.ts +11 -15
  131. package/utils/{defenseInDepth/arcDid → defense-in-depth/arc-defense-in-depth}/context.ts +34 -31
  132. package/utils/{defenseInDepth/arcDid/createArcDiDGeometry.ts → defense-in-depth/arc-defense-in-depth/createArcDefenseInDepthGeometry.ts} +69 -39
  133. package/utils/{defenseInDepth/arcDid → defense-in-depth/arc-defense-in-depth}/types.ts +39 -35
  134. package/utils/defense-in-depth/shared/colors.ts +51 -0
  135. package/utils/defense-in-depth/shared/constants.ts +22 -0
  136. package/utils/{defenseInDepth → defense-in-depth}/shared/types.ts +0 -5
  137. package/utils/facets/tetrad/rectangle-orbit-tetrad/context.ts +31 -0
  138. package/utils/{rectOrbitTetrad/createRectOrbitTetradGeometry.ts → facets/tetrad/rectangle-orbit-tetrad/createRectangleOrbitTetradGeometry.ts} +5 -104
  139. package/utils/facets/tetrad/rectangle-orbit-tetrad/index.ts +3 -0
  140. package/utils/{rectOrbitTetrad/resolveRectOrbitTetradItems.ts → facets/tetrad/rectangle-orbit-tetrad/resolveRectangleOrbitTetradItems.ts} +41 -49
  141. package/utils/{arrowTriad → facets/triad/arrow-triad}/resolveArrowTriadItems.ts +27 -28
  142. package/utils/{gearTriad → facets/triad/gear-triad}/context.ts +5 -5
  143. package/utils/{gearTriad → facets/triad/gear-triad}/createGearTriadGeometry.ts +2 -0
  144. package/utils/{gearTriad → facets/triad/gear-triad}/resolveGearTriadItems.ts +23 -24
  145. package/utils/facets/triad/hexagon-triad/context.ts +25 -0
  146. package/utils/{hexTriad/createHexTriadGeometry.ts → facets/triad/hexagon-triad/createHexagonTriadGeometry.ts} +11 -27
  147. package/utils/facets/triad/hexagon-triad/index.ts +3 -0
  148. package/utils/facets/triad/hexagon-triad/resolveHexagonTriadItems.ts +60 -0
  149. package/utils/{shiftingHeading → layouts/shifting-heading}/collectShiftingIntroNodes.ts +1 -0
  150. package/utils/layouts/table-of-contents/calculateTocCenterAlignmentOffset.ts +17 -0
  151. package/utils/{tableOfContents → layouts/table-of-contents}/calculateTocMarkerPositions.ts +0 -12
  152. package/utils/{tableOfContents → layouts/table-of-contents}/createTocConnectorPath.ts +11 -5
  153. package/utils/{mergeUno → merge-uno}/classifyVisual.ts +1 -1
  154. package/utils/{mergeUno → merge-uno}/collectClassNames.ts +9 -3
  155. package/utils/process/arc-arrow-process/resolveArcArrowProcessItems.ts +180 -0
  156. package/utils/pyramid/circular-pyramid/context.ts +1 -4
  157. package/utils/pyramid/circular-pyramid/createCircularPyramidGeometry.ts +6 -10
  158. package/utils/pyramid/shared/colors.ts +33 -83
  159. package/utils/pyramid/shared/constants.ts +2 -2
  160. package/utils/pyramid/shared/types.ts +0 -5
  161. package/utils/pyramid/square-pyramid/context.ts +1 -4
  162. package/utils/pyramid/square-pyramid/createSquarePyramidGeometry.ts +6 -10
  163. package/utils/useDiagramAutoScale.ts +8 -6
  164. package/utils/useMergedUnoAttrs.ts +9 -5
  165. package/components/card/chevron-card/ChevronCardHeading.vue +0 -39
  166. package/components/card/horiz-card/HorizCardHeading.vue +0 -47
  167. package/components/card/vert-card/VertCardHeading.vue +0 -68
  168. package/components/card/vert-card/VertCardTitle.vue +0 -76
  169. package/components/comparisons/arc-comparison/ArcComparisonContents.vue +0 -17
  170. package/components/comparisons/arc-comparison/ArcComparisonTitle.vue +0 -29
  171. package/components/core/arc-orbit/ArcOrbitContents.vue +0 -18
  172. package/components/core/arc-orbit/ArcOrbitTitle.vue +0 -50
  173. package/components/defense-in-depth/arc-did/ArcDiDLayer.vue +0 -321
  174. package/components/defense-in-depth/arc-did/ArcDiDLayerParts.vue +0 -11
  175. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradCenter.vue +0 -53
  176. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradContent.vue +0 -39
  177. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradHeading.vue +0 -44
  178. package/components/facets/triad/gear-triad/GearTriadContents.vue +0 -111
  179. package/components/facets/triad/gear-triad/GearTriadDescription.vue +0 -38
  180. package/components/facets/triad/hex-triad/HexTriadCenterBadge.vue +0 -51
  181. package/components/facets/triad/hex-triad/HexTriadContent.vue +0 -20
  182. package/components/facets/triad/hex-triad/HexTriadHeading.vue +0 -28
  183. package/layouts/core/table-of-contents.vue +0 -30
  184. package/utils/arcArrowProcess/resolveArcArrowProcessItems.ts +0 -189
  185. package/utils/arcComparison/resolveArcComparisonItems.ts +0 -102
  186. package/utils/chevronCard/createChevronCardGeometry.ts +0 -48
  187. package/utils/chevronCard/index.ts +0 -2
  188. package/utils/defenseInDepth/arcDid/index.ts +0 -3
  189. package/utils/defenseInDepth/index.ts +0 -2
  190. package/utils/defenseInDepth/shared/colors.ts +0 -121
  191. package/utils/defenseInDepth/shared/constants.ts +0 -14
  192. package/utils/defenseInDepth/shared/index.ts +0 -3
  193. package/utils/hexTriad/context.ts +0 -25
  194. package/utils/hexTriad/index.ts +0 -3
  195. package/utils/hexTriad/resolveHexTriadItems.ts +0 -63
  196. package/utils/horizCard/context.ts +0 -13
  197. package/utils/horizCard/index.ts +0 -2
  198. package/utils/pyramid/index.ts +0 -3
  199. package/utils/rectOrbitTetrad/context.ts +0 -31
  200. package/utils/rectOrbitTetrad/index.ts +0 -3
  201. package/utils/tableComparison/constants.ts +0 -72
  202. package/utils/tableOfContents/calculateTocCenterAlignmentOffset.ts +0 -11
  203. package/utils/vertCard/context.ts +0 -18
  204. package/utils/vertCard/index.ts +0 -2
  205. package/utils/{arcComparison → comparisons/arc-comparison}/index.ts +0 -0
  206. package/utils/{tableComparison → comparisons/table-comparison}/index.ts +0 -0
  207. package/utils/{arcOrbit → core/arc-orbit}/context.ts +0 -0
  208. package/utils/{arcOrbit → core/arc-orbit}/createArcOrbitGeometry.ts +0 -0
  209. package/utils/{arcOrbit → core/arc-orbit}/index.ts +0 -0
  210. package/utils/{arrowTriad → facets/triad/arrow-triad}/context.ts +0 -0
  211. package/utils/{arrowTriad → facets/triad/arrow-triad}/createArrowTriadGeometry.ts +0 -0
  212. package/utils/{arrowTriad → facets/triad/arrow-triad}/index.ts +0 -0
  213. package/utils/{gearTriad → facets/triad/gear-triad}/index.ts +0 -0
  214. package/utils/{tableOfContents → layouts/table-of-contents}/calculateUniformTocArticleWidth.ts +0 -0
  215. package/utils/{tableOfContents → layouts/table-of-contents}/createTocArcPath.ts +0 -0
  216. package/utils/{tableOfContents → layouts/table-of-contents}/index.ts +0 -0
  217. package/utils/{mergeUno → merge-uno}/classifyLayout.ts +0 -0
  218. package/utils/{mergeUno → merge-uno}/classifySimple.ts +0 -0
  219. package/utils/{mergeUno → merge-uno}/classifyTypography.ts +0 -0
  220. package/utils/{mergeUno → merge-uno}/classifyUtility.ts +0 -0
  221. package/utils/{mergeUno → merge-uno}/index.ts +0 -0
  222. package/utils/{mergeUno → merge-uno}/mergeClassValues.ts +0 -0
  223. package/utils/{mergeUno → merge-uno}/splitVariantScope.ts +1 -1
  224. package/utils/{mergeUno → merge-uno}/types.ts +0 -0
  225. package/utils/{arcArrowProcess → process/arc-arrow-process}/context.ts +1 -1
  226. /package/utils/{arcArrowProcess → process/arc-arrow-process}/createArcArrowProcessGeometry.ts +0 -0
  227. /package/utils/{arcArrowProcess → process/arc-arrow-process}/index.ts +0 -0
@@ -1,111 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject, onBeforeUpdate, provide, useSlots } from 'vue';
3
-
4
- import {
5
- GEAR_TRIAD_CONTENTS_KEY,
6
- GEAR_TRIAD_ROOT_KEY,
7
- getDefaultGearTriadItem,
8
- type IResolvedGearTriadItem,
9
- } from '../../../../utils/gearTriad';
10
-
11
- defineOptions({
12
- name: 'GearTriadContents',
13
- });
14
-
15
- export interface IGearTriadContentsProps {
16
- readonly title?: string;
17
- readonly description?: string;
18
- readonly option?: number;
19
- }
20
-
21
- const props = withDefaults(defineProps<IGearTriadContentsProps>(), {
22
- title: undefined,
23
- description: undefined,
24
- option: undefined,
25
- });
26
-
27
- const slots = useSlots();
28
- const rootContext = inject(GEAR_TRIAD_ROOT_KEY, undefined);
29
- rootContext?.registerContents();
30
-
31
- let contentCounter = 0;
32
- const optionCounters: Record<number, number> = {};
33
- onBeforeUpdate(() => {
34
- contentCounter = 0;
35
- for (const k in optionCounters) {
36
- optionCounters[k] = 0;
37
- }
38
- });
39
-
40
- const registerContent = (option?: number) => {
41
- if (option !== undefined) {
42
- optionCounters[option] = (optionCounters[option] ?? 0) + 1;
43
- return { index: optionCounters[option] - 1 };
44
- }
45
- const idx = contentCounter++;
46
- return { index: idx };
47
- };
48
-
49
- const resolvedOptionIndex = computed(() => {
50
- if (props.option !== undefined) {
51
- return Math.max(0, props.option - 1);
52
- }
53
- return rootContext?.activeOptionIndex.value ?? 0;
54
- });
55
-
56
- const activeItem = computed<IResolvedGearTriadItem>(() => {
57
- if (rootContext?.items.value) {
58
- const item = rootContext.items.value[resolvedOptionIndex.value];
59
- if (item) {
60
- return item;
61
- }
62
- }
63
- return getDefaultGearTriadItem(resolvedOptionIndex.value);
64
- });
65
-
66
- provide(GEAR_TRIAD_CONTENTS_KEY, {
67
- activeItem,
68
- activeOptionIndex: resolvedOptionIndex,
69
- registerContent,
70
- });
71
-
72
- const isVisible = computed(() => {
73
- if (!rootContext?.isShifted.value) {
74
- return false;
75
- }
76
- if (props.option !== undefined) {
77
- return props.option - 1 === rootContext.activeOptionIndex.value;
78
- }
79
- return true;
80
- });
81
- </script>
82
-
83
- <template>
84
- <div
85
- class="alpha-gear-triad-contents absolute right-2.5 top-1/2 -translate-y-1/2 w-[490px] flex flex-col select-none box-border pointer-events-auto transition-all duration-500 ease-out"
86
- :class="[
87
- isVisible
88
- ? 'opacity-100 translate-x-0 delay-200'
89
- : 'opacity-0 pointer-events-none translate-x-8',
90
- ]"
91
- >
92
- <!-- Header: Option Title -->
93
- <slot name="title">
94
- <h3 class="alpha-gear-triad-contents__title text-2xl font-bold font-sans tracking-tight text-slate-900 mb-2">
95
- {{ props.title ?? activeItem.title }}
96
- </h3>
97
- </slot>
98
- <!-- Header: Option Description -->
99
- <slot name="description">
100
- <p class="alpha-gear-triad-contents__desc text-sm font-sans text-slate-500 leading-relaxed mb-6">
101
- {{ props.description ?? activeItem.description }}
102
- </p>
103
- </slot>
104
- <!-- Body: List of GearTriadContent items -->
105
- <div class="alpha-gear-triad-contents__items flex flex-col gap-3.5">
106
- <slot v-if="$slots[String(resolvedOptionIndex + 1)]" :name="String(resolvedOptionIndex + 1)" />
107
- <slot v-else-if="$slots[`option-${resolvedOptionIndex + 1}`]" :name="`option-${resolvedOptionIndex + 1}`" />
108
- <slot v-else />
109
- </div>
110
- </div>
111
- </template>
@@ -1,38 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import { GEAR_TRIAD_CALLOUT_KEY } from '../../../../utils/gearTriad';
5
-
6
- defineOptions({
7
- name: 'GearTriadDescription',
8
- });
9
-
10
- export interface IGearTriadDescriptionProps {
11
- readonly color?: string;
12
- }
13
-
14
- const props = withDefaults(defineProps<IGearTriadDescriptionProps>(), {
15
- color: undefined,
16
- });
17
-
18
- const calloutContext = inject(GEAR_TRIAD_CALLOUT_KEY, undefined);
19
-
20
- const descriptionColor = computed(() => {
21
- return props.color ?? calloutContext?.item.value.textColor ?? '#64748b';
22
- });
23
- </script>
24
-
25
- <template>
26
- <div
27
- class="alpha-gear-triad-description text-[0.92rem] leading-[1.45] font-normal select-none"
28
- :style="{
29
- color: descriptionColor,
30
- fontFamily:
31
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif',
32
- }"
33
- >
34
- <slot>
35
- {{ calloutContext?.item.value.description }}
36
- </slot>
37
- </div>
38
- </template>
@@ -1,51 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue';
3
-
4
- defineOptions({
5
- name: 'HexTriadCenterBadge',
6
- });
7
-
8
- export interface IHexTriadCenterBadgeProps {
9
- readonly x: number;
10
- readonly y: number;
11
- readonly text: string | number;
12
- readonly color: string;
13
- readonly filter?: string;
14
- readonly radius: number;
15
- }
16
-
17
- const props = withDefaults(defineProps<IHexTriadCenterBadgeProps>(), {
18
- filter: 'url(#hex-badge-shadow)',
19
- });
20
-
21
- const transform = computed(() => {
22
- return `translate(${props.x}, ${props.y})`;
23
- });
24
- </script>
25
-
26
- <template>
27
- <g class="alpha-hex-triad-center-badge" :transform="transform" :filter="filter">
28
- <circle class="alpha-hex-triad-center-badge__outer" cx="0" cy="0" :r="radius + 4" fill="#ffffff" />
29
- <circle class="alpha-hex-triad-center-badge__circle" cx="0" cy="0" :r="radius" :fill="color" />
30
- <circle
31
- class="alpha-hex-triad-center-badge__ring"
32
- cx="0"
33
- cy="0"
34
- :r="radius - 4"
35
- fill="none"
36
- stroke="#ffffff"
37
- stroke-width="1.2"
38
- :style="{ opacity: 0.65 }"
39
- />
40
- <text
41
- class="alpha-hex-triad-center-badge__text font-black text-lg select-none"
42
- x="0"
43
- y="6.5"
44
- text-anchor="middle"
45
- fill="#ffffff"
46
- font-family="system-ui, -apple-system, sans-serif"
47
- >
48
- {{ text }}
49
- </text>
50
- </g>
51
- </template>
@@ -1,20 +0,0 @@
1
- <script setup lang="ts">
2
- defineOptions({
3
- name: 'HexTriadContent',
4
- });
5
- </script>
6
-
7
- <template>
8
- <p
9
- class="alpha-hex-triad-content mt-0 mb-0 text-[1rem] leading-relaxed max-w-[240px]"
10
- :style="{
11
- margin: 0,
12
- fontSize: '1rem',
13
- fontFamily: 'system-ui, -apple-system, BlinkMacSystemFont, sans-serif',
14
- }"
15
- >
16
- <slot>
17
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod sed diam nonummy nibh
18
- </slot>
19
- </p>
20
- </template>
@@ -1,28 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import { HEX_TRIAD_CALLOUT_KEY } from '../../../../utils/hexTriad';
5
-
6
- defineOptions({
7
- name: 'HexTriadHeading',
8
- });
9
-
10
- const calloutContext = inject(HEX_TRIAD_CALLOUT_KEY, undefined);
11
- const headingColor = computed(() => {
12
- return calloutContext?.item.value.color ?? '#e11d48';
13
- });
14
- </script>
15
-
16
- <template>
17
- <h3
18
- class="alpha-hex-triad-heading font-bold text-[1.25rem] tracking-tight mb-[0.5rem]"
19
- :style="{
20
- color: headingColor,
21
- fontSize: '1.25rem',
22
- fontFamily:
23
- 'system-ui, -apple-system, BlinkMacSystemFont, sans-serif',
24
- }"
25
- >
26
- <slot>Text Here</slot>
27
- </h3>
28
- </template>
@@ -1,30 +0,0 @@
1
- <script setup lang="ts">
2
- import { useMergedUnoAttrs } from '../../utils/useMergedUnoAttrs';
3
-
4
- defineOptions({
5
- inheritAttrs: false,
6
- });
7
-
8
- defineProps({
9
- maxDepth: {
10
- type: [Number, String],
11
- default: 1,
12
- },
13
- });
14
-
15
- const { className, forwardedAttrs } = useMergedUnoAttrs(
16
- 'alpha-table-of-contents slidev-layout default toc-layout',
17
- );
18
- </script>
19
-
20
- <template>
21
- <div
22
- v-bind="forwardedAttrs()"
23
- :class="className()"
24
- >
25
- <slot>
26
- <h1>Table of Contents</h1>
27
- </slot>
28
- <Toc :maxDepth="maxDepth" />
29
- </div>
30
- </template>
@@ -1,189 +0,0 @@
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
- export const DEFAULT_ARC_ARROW_PROCESS_ITEMS_4: readonly [
24
- IResolvedArcArrowProcessItem,
25
- IResolvedArcArrowProcessItem,
26
- IResolvedArcArrowProcessItem,
27
- IResolvedArcArrowProcessItem,
28
- ] = [
29
- {
30
- id: '01',
31
- color: '#a0a5aa',
32
- gradientEnd: '#8e959f',
33
- title: 'Heading Here',
34
- description:
35
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut.',
36
- titleColor: '#888d94',
37
- textColor: '#8e959f',
38
- },
39
- {
40
- id: '02',
41
- color: '#2c485d',
42
- gradientEnd: '#334e68',
43
- title: 'Heading Here',
44
- description:
45
- 'Sed do eiusmod tempor incididunt ut labore et lorem ipsum dolor sit amet, consectetur adipiscing elit.',
46
- titleColor: '#2c485d',
47
- textColor: '#8e959f',
48
- },
49
- {
50
- id: '03',
51
- color: '#6fa3b5',
52
- gradientEnd: '#7fb0c0',
53
- title: 'Heading Here',
54
- description:
55
- 'Tempor incididunt ut laborelorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod et.',
56
- titleColor: '#6fa3b5',
57
- textColor: '#8e959f',
58
- },
59
- {
60
- id: '04',
61
- color: '#d6284d',
62
- gradientEnd: '#e63964',
63
- title: 'Heading Here',
64
- description:
65
- 'Eiusmod tempor incididunt ut labore lorem ipsum dolor sit amet, consectetur adipiscing elit, sed.',
66
- titleColor: '#d6284d',
67
- textColor: '#8e959f',
68
- },
69
- ];
70
-
71
- export const DEFAULT_ARC_ARROW_PROCESS_ITEMS_3: readonly [
72
- IResolvedArcArrowProcessItem,
73
- IResolvedArcArrowProcessItem,
74
- IResolvedArcArrowProcessItem,
75
- ] = [
76
- {
77
- id: '01',
78
- color: '#a0a5aa',
79
- gradientEnd: '#8e959f',
80
- title: 'Heading Here',
81
- description:
82
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.',
83
- titleColor: '#888d94',
84
- textColor: '#8e959f',
85
- },
86
- {
87
- id: '02',
88
- color: '#2c485d',
89
- gradientEnd: '#334e68',
90
- title: 'Heading Here',
91
- description:
92
- 'Sed do eiusmod tempor incididunt ut labore et lorem ipsum dolor sit amet, consectetur adipiscing elit.',
93
- titleColor: '#2c485d',
94
- textColor: '#8e959f',
95
- },
96
- {
97
- id: '03',
98
- color: '#d6284d',
99
- gradientEnd: '#e63964',
100
- title: 'Heading Here',
101
- description:
102
- 'Eiusmod tempor incididunt ut labore lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.',
103
- titleColor: '#d6284d',
104
- textColor: '#8e959f',
105
- },
106
- ];
107
-
108
- export const DEFAULT_ARC_ARROW_PROCESS_ITEMS_2: readonly [
109
- IResolvedArcArrowProcessItem,
110
- IResolvedArcArrowProcessItem,
111
- ] = [
112
- {
113
- id: '01',
114
- color: '#2c485d',
115
- gradientEnd: '#334e68',
116
- title: 'Heading Here',
117
- description:
118
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.',
119
- titleColor: '#2c485d',
120
- textColor: '#8e959f',
121
- },
122
- {
123
- id: '02',
124
- color: '#6fa3b5',
125
- gradientEnd: '#7fb0c0',
126
- title: 'Heading Here',
127
- description:
128
- 'Sed do eiusmod tempor incididunt ut labore et lorem ipsum dolor sit amet, consectetur adipiscing elit.',
129
- titleColor: '#6fa3b5',
130
- textColor: '#8e959f',
131
- },
132
- ];
133
-
134
- export function getDefaultArcArrowProcessItem(
135
- index: number,
136
- count: number = 4,
137
- ): IResolvedArcArrowProcessItem {
138
- const list =
139
- count === 2
140
- ? DEFAULT_ARC_ARROW_PROCESS_ITEMS_2
141
- : count === 3
142
- ? DEFAULT_ARC_ARROW_PROCESS_ITEMS_3
143
- : DEFAULT_ARC_ARROW_PROCESS_ITEMS_4;
144
- const safe = Math.abs(index) % list.length;
145
- const item = list[safe];
146
-
147
- if (item) {
148
- return item;
149
- }
150
-
151
- return DEFAULT_ARC_ARROW_PROCESS_ITEMS_4[0];
152
- }
153
-
154
- export function resolveSingleArcArrowProcessItem(
155
- item: IArcArrowProcessItem | undefined,
156
- fallbackIndex = 0,
157
- count: number = 4,
158
- ): IResolvedArcArrowProcessItem {
159
- const fallback = getDefaultArcArrowProcessItem(fallbackIndex, count);
160
-
161
- if (!item) {
162
- return fallback;
163
- }
164
-
165
- return {
166
- id: item.id ?? fallback.id,
167
- color: item.color ?? fallback.color,
168
- gradientEnd: item.gradientEnd ?? fallback.gradientEnd,
169
- title: item.title ?? fallback.title,
170
- description: item.description ?? fallback.description,
171
- icon: item.icon !== undefined ? item.icon : fallback.icon,
172
- titleColor: item.titleColor ?? item.color ?? fallback.titleColor,
173
- textColor: item.textColor ?? fallback.textColor,
174
- };
175
- }
176
-
177
- export function resolveArcArrowProcessItems(
178
- items: readonly IArcArrowProcessItem[] | undefined,
179
- count: number = 4,
180
- ): readonly IResolvedArcArrowProcessItem[] {
181
- const targetCount = count >= 2 ? count : 4;
182
- const result: IResolvedArcArrowProcessItem[] = [];
183
-
184
- for (let i = 0; i < targetCount; i++) {
185
- result.push(resolveSingleArcArrowProcessItem(items?.[i], i, targetCount));
186
- }
187
-
188
- return result;
189
- }
@@ -1,102 +0,0 @@
1
- import {
2
- resolveArcOrbitItems,
3
- DEFAULT_LOREM_TEXT as SHARED_LOREM_TEXT,
4
- } from '../arcOrbit';
5
-
6
- export interface IArcComparisonItem {
7
- readonly id?: string | number;
8
- readonly title?: string;
9
- readonly description?: string;
10
- readonly color?: string;
11
- readonly textColor?: string;
12
- }
13
-
14
- export interface IResolvedArcComparisonItem {
15
- readonly id: string | number;
16
- readonly title: string;
17
- readonly description: string;
18
- readonly color: string;
19
- readonly textColor?: string;
20
- }
21
-
22
- export const DEFAULT_LEFT_COLOR = '#e87a36';
23
-
24
- export const DEFAULT_RIGHT_COLOR = '#208b9e';
25
-
26
- export const DEFAULT_LOREM_TEXT = SHARED_LOREM_TEXT;
27
-
28
- export const DEFAULT_LEFT_ITEMS: readonly [
29
- IResolvedArcComparisonItem,
30
- IResolvedArcComparisonItem,
31
- IResolvedArcComparisonItem,
32
- IResolvedArcComparisonItem,
33
- ] = [
34
- {
35
- id: '01',
36
- title: 'Add Text Here',
37
- description: DEFAULT_LOREM_TEXT,
38
- color: DEFAULT_LEFT_COLOR,
39
- },
40
- {
41
- id: '02',
42
- title: 'Add Text Here',
43
- description: DEFAULT_LOREM_TEXT,
44
- color: DEFAULT_LEFT_COLOR,
45
- },
46
- {
47
- id: '03',
48
- title: 'Add Text Here',
49
- description: DEFAULT_LOREM_TEXT,
50
- color: DEFAULT_LEFT_COLOR,
51
- },
52
- {
53
- id: '04',
54
- title: 'Add Text Here',
55
- description: DEFAULT_LOREM_TEXT,
56
- color: DEFAULT_LEFT_COLOR,
57
- },
58
- ];
59
-
60
- export const DEFAULT_RIGHT_ITEMS: readonly [
61
- IResolvedArcComparisonItem,
62
- IResolvedArcComparisonItem,
63
- IResolvedArcComparisonItem,
64
- IResolvedArcComparisonItem,
65
- ] = [
66
- {
67
- id: '01',
68
- title: 'Add Text Here',
69
- description: DEFAULT_LOREM_TEXT,
70
- color: DEFAULT_RIGHT_COLOR,
71
- },
72
- {
73
- id: '02',
74
- title: 'Add Text Here',
75
- description: DEFAULT_LOREM_TEXT,
76
- color: DEFAULT_RIGHT_COLOR,
77
- },
78
- {
79
- id: '03',
80
- title: 'Add Text Here',
81
- description: DEFAULT_LOREM_TEXT,
82
- color: DEFAULT_RIGHT_COLOR,
83
- },
84
- {
85
- id: '04',
86
- title: 'Add Text Here',
87
- description: DEFAULT_LOREM_TEXT,
88
- color: DEFAULT_RIGHT_COLOR,
89
- },
90
- ];
91
-
92
- export function resolveArcComparisonSideItems(
93
- items?: readonly IArcComparisonItem[],
94
- defaultColor = DEFAULT_LEFT_COLOR,
95
- count = 3,
96
- ): readonly IResolvedArcComparisonItem[] {
97
- return resolveArcOrbitItems({
98
- items,
99
- defaultColor,
100
- count,
101
- });
102
- }
@@ -1,48 +0,0 @@
1
- export interface ICreateChevronPathParams {
2
- readonly width: number;
3
- readonly height: number;
4
- readonly notchDepth?: number;
5
- }
6
-
7
- /**
8
- * Generates an SVG path for the chevron badge.
9
- * Features an indented notched tail on the left and a protruding arrow tip on the right.
10
- */
11
- export function createChevronPath({
12
- width,
13
- height,
14
- notchDepth = 26,
15
- }: ICreateChevronPathParams): string {
16
- const safeNotch = Math.max(0, Math.min(notchDepth, width / 2));
17
- const halfH = height / 2;
18
-
19
- return `M 0 0 L ${width - safeNotch} 0 L ${width} ${halfH} L ${width - safeNotch} ${height} L 0 ${height} L ${safeNotch} ${halfH} Z`;
20
- }
21
-
22
- export interface ICreateChevronCardBodyPathParams {
23
- readonly width: number;
24
- readonly height: number;
25
- readonly notchDepth?: number;
26
- readonly borderRadius?: number;
27
- }
28
-
29
- /**
30
- * Generates an SVG path for the card body container.
31
- * Left edge matches the chevron notch so slide background shows through;
32
- * right edge features smooth rounded corners.
33
- */
34
- export function createChevronCardBodyPath({
35
- width,
36
- height,
37
- notchDepth = 26,
38
- borderRadius = 18,
39
- }: ICreateChevronCardBodyPathParams): string {
40
- const safeNotch = Math.max(0, Math.min(notchDepth, width / 2));
41
- const safeR = Math.max(
42
- 0,
43
- Math.min(borderRadius, (width - safeNotch) / 2, height / 2),
44
- );
45
- const halfH = height / 2;
46
-
47
- return `M 0 0 L ${width - safeR} 0 A ${safeR} ${safeR} 0 0 1 ${width} ${safeR} L ${width} ${height - safeR} A ${safeR} ${safeR} 0 0 1 ${width - safeR} ${height} L 0 ${height} L ${safeNotch} ${halfH} Z`;
48
- }
@@ -1,2 +0,0 @@
1
- export * from './context';
2
- export * from './createChevronCardGeometry';
@@ -1,3 +0,0 @@
1
- export * from './context';
2
- export * from './createArcDiDGeometry';
3
- export * from './types';
@@ -1,2 +0,0 @@
1
- export * from './arcDid';
2
- export * from './shared';