@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
@@ -5,21 +5,21 @@ import {
5
5
  SQUARE_PYRAMID_ROOT_KEY,
6
6
  SQUARE_PYRAMID_STACK_KEY,
7
7
  } from '../../../utils/pyramid/square-pyramid';
8
+ import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
8
9
 
9
10
  defineOptions({
10
- name: 'SquarePyramidStackTitle',
11
+ name: 'SquarePyramidStackHeading',
12
+ inheritAttrs: false,
11
13
  });
12
14
 
13
- export interface ISquarePyramidStackTitleProps {
15
+ export interface ISquarePyramidStackHeadingProps {
14
16
  readonly step?: string | number;
15
- readonly title?: string;
16
17
  readonly color?: string;
17
18
  readonly minWidth?: number;
18
19
  }
19
20
 
20
- const props = withDefaults(defineProps<ISquarePyramidStackTitleProps>(), {
21
+ const props = withDefaults(defineProps<ISquarePyramidStackHeadingProps>(), {
21
22
  step: undefined,
22
- title: undefined,
23
23
  color: undefined,
24
24
  minWidth: 150,
25
25
  });
@@ -43,9 +43,11 @@ const resolvedStep = computed(() => {
43
43
  if (props.step !== undefined) {
44
44
  return props.step;
45
45
  }
46
+
46
47
  if (stackContext?.step.value !== undefined) {
47
48
  return stackContext.step.value;
48
49
  }
50
+
49
51
  return '01';
50
52
  });
51
53
 
@@ -56,71 +58,73 @@ const stackColor = computed(() => {
56
58
  props.color ??
57
59
  stackContext?.color?.value ??
58
60
  rootContext?.color.value ??
59
- '#3b82f6'
61
+ 'var(--alpha-square-pyramid-stack-heading-accent)'
60
62
  );
61
63
  });
64
+
65
+ const { className, forwardedAttrs } = useMergedUnoAttrs(() => [
66
+ 'alpha-square-pyramid-stack-heading__pill flex items-center gap-2 px-2.5 py-1 rounded-full text-xs font-semibold tracking-tight leading-tight transition-all duration-300 border shrink-0',
67
+ isActive.value
68
+ ? 'bg-(--alpha-square-pyramid-stack-heading-border-active) text-(--alpha-square-pyramid-stack-heading-active)'
69
+ : 'bg-(--alpha-square-pyramid-stack-heading-border) text-(--alpha-square-pyramid-stack-heading)',
70
+ ]);
62
71
  </script>
63
72
 
64
73
  <template>
65
74
  <div
66
- class="alpha-square-pyramid-stack-title relative w-full flex items-center select-none"
75
+ class="alpha-square-pyramid-stack-heading relative w-full flex items-center select-none"
67
76
  :class="[
68
77
  isActive
69
- ? 'alpha-square-pyramid-stack-title--active'
70
- : 'alpha-square-pyramid-stack-title--default',
78
+ ? 'alpha-square-pyramid-stack-heading--active'
79
+ : 'alpha-square-pyramid-stack-heading--default',
71
80
  ]"
72
81
  :style="{
73
- '--title-delay': `calc(var(--square-pyramid-start-delay, 0ms) + ${460 + stepIndex * 320}ms)`,
82
+ '--title-delay': `calc(var(--alpha-square-pyramid-start-delay, 0ms) + ${460 + stepIndex * 320}ms)`,
74
83
  }"
75
84
  >
76
85
  <!-- Pill Badge Container -->
77
86
  <div
78
- class="alpha-square-pyramid-stack-title__pill flex items-center gap-2 px-2.5 py-1 rounded-full transition-all duration-300 border flex-shrink-0"
79
- :class="{
80
- 'alpha-square-pyramid-stack-title__pill--animated': isAnimated,
81
- }"
87
+ v-bind="forwardedAttrs()"
88
+ :class="
89
+ className({
90
+ 'alpha-square-pyramid-stack-heading__pill--animated': isAnimated,
91
+ })
92
+ "
82
93
  :style="{
83
94
  minWidth: `${minPillWidth}px`,
84
95
  maxWidth: 'calc(100% - 30px)',
85
96
  width: 'fit-content',
86
97
  boxSizing: 'border-box',
87
98
  borderColor: stackColor,
88
- backgroundColor: isActive
89
- ? 'rgba(255, 255, 255, 0.95)'
90
- : 'rgba(255, 255, 255, 0.85)',
91
99
  boxShadow: isActive
92
- ? `0 4px 14px ${stackColor}26`
100
+ ? `0 4px 14px color-mix(in srgb, ${stackColor} 15%, transparent)`
93
101
  : 'none',
94
102
  }"
95
103
  >
96
104
  <!-- Circular Step Indicator -->
97
105
  <div
98
- class="w-5.5 h-5.5 rounded-full flex items-center justify-center text-[10px] font-bold tracking-tight transition-all duration-300 flex-shrink-0"
106
+ class="w-5.5 h-5.5 rounded-full flex items-center justify-center text-[10px] font-bold tracking-tight text-(--alpha-square-pyramid-stack-heading-number) transition-all duration-300 shrink-0"
99
107
  :style="{
100
108
  backgroundColor: stackColor,
101
- color: '#ffffff',
102
109
  }"
103
110
  >
104
111
  <slot name="step">{{ resolvedStep }}</slot>
105
112
  </div>
106
113
  <!-- Title Text -->
107
- <span
108
- class="text-xs font-semibold tracking-tight transition-colors duration-300 pr-1 truncate flex-1 leading-tight"
109
- :style="{
110
- color: isActive ? '#0f172a' : '#334155',
111
- }"
114
+ <h4
115
+ class="text-xs font-semibold tracking-tight leading-tight transition-colors duration-300 pr-1 truncate flex-1"
112
116
  >
113
- <slot>{{ props.title }}</slot>
114
- </span>
117
+ <slot>{{ '' }}</slot>
118
+ </h4>
115
119
  </div>
116
120
  <!-- Scalable Line between Title and Dot -->
117
121
  <div
118
- class="alpha-square-pyramid-stack-title__connector flex-1 flex items-center min-w-[30px] pointer-events-none"
122
+ class="alpha-square-pyramid-stack-heading__connector flex-1 flex items-center min-w-7.5 pointer-events-none"
119
123
  >
120
124
  <div
121
- class="alpha-square-pyramid-stack-title__line flex-1 h-[1px] transition-colors duration-300"
125
+ class="alpha-square-pyramid-stack-heading__line flex-1 h-px transition-colors duration-300"
122
126
  :class="{
123
- 'alpha-square-pyramid-stack-title__line--animated': isAnimated,
127
+ 'alpha-square-pyramid-stack-heading__line--animated': isAnimated,
124
128
  }"
125
129
  :style="{
126
130
  backgroundColor: stackColor,
@@ -128,15 +132,15 @@ const stackColor = computed(() => {
128
132
  }"
129
133
  />
130
134
  <div
131
- class="alpha-square-pyramid-stack-title__dot w-1.5 h-1.5 rounded-full flex-shrink-0 -ml-1 transition-all duration-300"
135
+ class="alpha-square-pyramid-stack-heading__dot w-1.5 h-1.5 rounded-full shrink-0 -ml-1 transition-all duration-300"
132
136
  :class="{
133
- 'alpha-square-pyramid-stack-title__dot--animated': isAnimated,
137
+ 'alpha-square-pyramid-stack-heading__dot--animated': isAnimated,
134
138
  }"
135
139
  :style="{
136
140
  backgroundColor: stackColor,
137
141
  boxShadow: isActive
138
142
  ? `0 0 6px ${stackColor}`
139
- : `0 0 2px ${stackColor}80`,
143
+ : `0 0 2px color-mix(in srgb, ${stackColor} 50%, transparent)`,
140
144
  }"
141
145
  />
142
146
  </div>
@@ -144,16 +148,18 @@ const stackColor = computed(() => {
144
148
  </template>
145
149
 
146
150
  <style scoped>
147
- .alpha-square-pyramid-stack-title {
151
+ .alpha-square-pyramid-stack-heading {
148
152
  box-sizing: border-box;
149
153
  }
150
154
 
151
- .alpha-square-pyramid-stack-title--active .alpha-square-pyramid-stack-title__pill {
155
+ .alpha-square-pyramid-stack-heading--active
156
+ .alpha-square-pyramid-stack-heading__pill {
152
157
  backdrop-filter: blur(8px);
153
158
  }
154
159
 
155
- .alpha-square-pyramid-stack-title__dot--animated {
156
- animation: alpha-pyramid-title-dot-pop 120ms cubic-bezier(0.16, 1, 0.3, 1) var(--title-delay) both;
160
+ .alpha-square-pyramid-stack-heading__dot--animated {
161
+ animation: alpha-pyramid-title-dot-pop 120ms cubic-bezier(0.16, 1, 0.3, 1)
162
+ var(--title-delay) both;
157
163
  }
158
164
 
159
165
  @keyframes alpha-pyramid-title-dot-pop {
@@ -167,9 +173,10 @@ const stackColor = computed(() => {
167
173
  }
168
174
  }
169
175
 
170
- .alpha-square-pyramid-stack-title__line--animated {
176
+ .alpha-square-pyramid-stack-heading__line--animated {
171
177
  transform-origin: right center;
172
- animation: alpha-pyramid-title-line-draw 500ms cubic-bezier(0.4, 0, 0.2, 1) calc(var(--title-delay) + 120ms) both;
178
+ animation: alpha-pyramid-title-line-draw 500ms cubic-bezier(0.4, 0, 0.2, 1)
179
+ calc(var(--title-delay) + 120ms) both;
173
180
  }
174
181
 
175
182
  @keyframes alpha-pyramid-title-line-draw {
@@ -187,8 +194,9 @@ const stackColor = computed(() => {
187
194
  }
188
195
  }
189
196
 
190
- .alpha-square-pyramid-stack-title__pill--animated {
191
- animation: alpha-pyramid-title-pill-in 240ms cubic-bezier(0.16, 1, 0.3, 1) calc(var(--title-delay) + 380ms) both;
197
+ .alpha-square-pyramid-stack-heading__pill--animated {
198
+ animation: alpha-pyramid-title-pill-in 240ms cubic-bezier(0.16, 1, 0.3, 1)
199
+ calc(var(--title-delay) + 380ms) both;
192
200
  }
193
201
 
194
202
  @keyframes alpha-pyramid-title-pill-in {
@@ -0,0 +1,48 @@
1
+ /* Color defaults shared by this component family. */
2
+ @layer alpha-theme-tokens {
3
+ :root {
4
+ --alpha-square-pyramid-accent: #3b82f6;
5
+ --alpha-square-pyramid-center: #0f172a;
6
+
7
+ --alpha-square-pyramid-connector-fill: #ffffff;
8
+ --alpha-square-pyramid-connector-highlight: rgba(255, 255, 255, 0.5);
9
+
10
+ --alpha-square-pyramid-stack-1-color: #ec4899;
11
+ --alpha-square-pyramid-stack-2-color: #8b5cf6;
12
+ --alpha-square-pyramid-stack-3-color: #3b82f6;
13
+ --alpha-square-pyramid-stack-4-color: #06b6d4;
14
+ --alpha-square-pyramid-stack-5-color: #14b8a6;
15
+ --alpha-square-pyramid-stack-6-color: #f59e0b;
16
+
17
+ --alpha-square-pyramid-stack-content: var(
18
+ --alpha-foreground-primary,
19
+ #475569
20
+ );
21
+ --alpha-square-pyramid-stack-content-accent: #3b82f6;
22
+ --alpha-square-pyramid-stack-content-active: #0f172a;
23
+ --alpha-square-pyramid-stack-content-border: rgba(255, 255, 255, 0.85);
24
+ --alpha-square-pyramid-stack-content-border-active: rgba(
25
+ 255,
26
+ 255,
27
+ 255,
28
+ 0.95
29
+ );
30
+
31
+ --alpha-square-pyramid-highlight: #ffffff;
32
+
33
+ --alpha-square-pyramid-stack-heading: var(
34
+ --alpha-foreground-primary,
35
+ #334155
36
+ );
37
+ --alpha-square-pyramid-stack-heading-accent: #3b82f6;
38
+ --alpha-square-pyramid-stack-heading-active: #0f172a;
39
+ --alpha-square-pyramid-stack-heading-border: rgba(255, 255, 255, 0.85);
40
+ --alpha-square-pyramid-stack-heading-border-active: rgba(
41
+ 255,
42
+ 255,
43
+ 255,
44
+ 0.95
45
+ );
46
+ --alpha-square-pyramid-stack-heading-number: #ffffff;
47
+ }
48
+ }
@@ -0,0 +1,35 @@
1
+ @layer alpha-theme-tokens {
2
+ :root {
3
+ --alpha-pyramid-accent: #3b82f6;
4
+ --alpha-pyramid-highlight: #ffffff;
5
+ }
6
+ }
7
+
8
+ .alpha-interaction-control {
9
+ position: absolute;
10
+ inset: 0;
11
+ z-index: 20;
12
+ width: 100%;
13
+ height: 100%;
14
+ padding: 0;
15
+ margin: 0;
16
+ color: transparent;
17
+ appearance: none;
18
+ cursor: pointer;
19
+ background: transparent;
20
+ border: 0;
21
+ }
22
+
23
+ .alpha-interaction-control:disabled {
24
+ cursor: default;
25
+ }
26
+
27
+ .alpha-interaction-control:focus-visible {
28
+ outline: 0.2rem solid var(--alpha-foreground-accent, #0284c7);
29
+ outline-offset: -0.3rem;
30
+ background: color-mix(
31
+ in srgb,
32
+ var(--alpha-foreground-accent, #0284c7) 20%,
33
+ transparent
34
+ );
35
+ }
@@ -22,7 +22,7 @@ import {
22
22
  calculateUniformTocArticleWidthPx,
23
23
  createTocArcPath,
24
24
  createTocConnectorPath,
25
- } from '../../utils/tableOfContents';
25
+ } from '../../utils/layouts/table-of-contents';
26
26
  import { useMergedUnoAttrs } from '../../utils/useMergedUnoAttrs';
27
27
 
28
28
  defineOptions({
@@ -49,13 +49,13 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
49
49
  );
50
50
 
51
51
  const markerColors = [
52
- '#ffad21',
53
- '#24b9aa',
54
- '#3188e4',
55
- '#59d875',
56
- '#f53270',
57
- '#8b5cf6',
58
- '#ef4444',
52
+ 'var(--alpha-arc-toc-marker-orange)',
53
+ 'var(--alpha-arc-toc-marker-teal)',
54
+ 'var(--alpha-arc-toc-marker-blue)',
55
+ 'var(--alpha-arc-toc-marker-green)',
56
+ 'var(--alpha-arc-toc-marker-pink)',
57
+ 'var(--alpha-arc-toc-marker-purple)',
58
+ 'var(--alpha-arc-toc-marker-red)',
59
59
  ] as const;
60
60
 
61
61
  interface ITocConnector {
@@ -87,7 +87,7 @@ const markerPositions = computed(() => {
87
87
  });
88
88
  const tocContentStyle = computed(() => {
89
89
  return {
90
- '--toc-list-gap': `${calculateTocListGapRem(tocItemCount.value)}rem`,
90
+ '--alpha-arc-toc-list-gap': `${calculateTocListGapRem(tocItemCount.value)}rem`,
91
91
  left: `calc(40.4% + ${calculateTocMiddleMarkerOffsetPx(tocItemCount.value)}px)`,
92
92
  } satisfies CSSProperties;
93
93
  });
@@ -95,7 +95,7 @@ const markerStyles = computed(() => {
95
95
  return markerPositions.value.map(
96
96
  ({ offsetFromMiddlePx, rightShiftPx, topPercent }, index) => {
97
97
  return {
98
- '--marker-color': markerColors[index],
98
+ '--alpha-arc-toc-marker-color': markerColors[index],
99
99
  left: `calc(40.4% - ${offsetFromMiddlePx}px + ${rightShiftPx}px)`,
100
100
  top: `${topPercent}%`,
101
101
  } satisfies CSSProperties;
@@ -109,6 +109,7 @@ let connectorResizeObserver: ResizeObserver | undefined;
109
109
 
110
110
  function isMiddleItem(index: number, count: number): boolean {
111
111
  const middleIndex = (count - 1) / 2;
112
+
112
113
  return Math.abs(index - middleIndex) < 1;
113
114
  }
114
115
 
@@ -118,6 +119,7 @@ function updateConnectors(): void {
118
119
  if (!root || root.clientWidth === 0 || root.clientHeight === 0) {
119
120
  arcPath.value = '';
120
121
  connectors.value = [];
122
+
121
123
  return;
122
124
  }
123
125
 
@@ -173,18 +175,20 @@ function updateConnectors(): void {
173
175
  const markerCenterY =
174
176
  middleIndices.reduce((sum, index) => {
175
177
  const rect = markers[index]?.getBoundingClientRect();
178
+
176
179
  return sum + (rect ? rect.top + rect.height / 2 : 0);
177
180
  }, 0) / middleIndices.length;
178
181
  const articleCenterY =
179
182
  middleIndices.reduce((sum, index) => {
180
183
  const rect = articles[index]?.getBoundingClientRect();
184
+
181
185
  return sum + (rect ? rect.top + rect.height / 2 : 0);
182
186
  }, 0) / middleIndices.length;
183
- const offsetPx = calculateTocCenterAlignmentOffsetPx(
187
+ const offsetPx = calculateTocCenterAlignmentOffsetPx({
184
188
  markerCenterY,
185
189
  articleCenterY,
186
190
  scaleY,
187
- );
191
+ });
188
192
 
189
193
  tocContent.style.transform = `translateY(${offsetPx}px)`;
190
194
  }
@@ -212,7 +216,11 @@ function updateConnectors(): void {
212
216
 
213
217
  nextConnectors.push({
214
218
  color: markerColors[index % markerColors.length] ?? markerColors[0],
215
- path: createTocConnectorPath(start, end, isMiddleItem(index, count)),
219
+ path: createTocConnectorPath({
220
+ start,
221
+ end,
222
+ isMiddle: isMiddleItem(index, count),
223
+ }),
216
224
  });
217
225
  }
218
226
 
@@ -249,11 +257,13 @@ onMounted(async () => {
249
257
  subtree: true,
250
258
  });
251
259
  }
260
+
252
261
  window.addEventListener('resize', scheduleConnectorUpdate);
253
262
  });
254
263
 
255
264
  watch(tocItemCount, async () => {
256
265
  await nextTick();
266
+
257
267
  scheduleConnectorUpdate();
258
268
  });
259
269
 
@@ -269,11 +279,7 @@ onBeforeUnmount(() => {
269
279
  </script>
270
280
 
271
281
  <template>
272
- <div
273
- ref="rootElement"
274
- v-bind="forwardedAttrs()"
275
- :class="className()"
276
- >
282
+ <div ref="rootElement" v-bind="forwardedAttrs()" :class="className()">
277
283
  <header class="alpha-arc-toc__heading">
278
284
  <slot>
279
285
  <h1>Table of Contents</h1>
@@ -308,26 +314,25 @@ onBeforeUnmount(() => {
308
314
  :stroke="connector.color"
309
315
  />
310
316
  </svg>
311
- <nav
312
- class="alpha-arc-toc__content"
313
- :style="tocContentStyle"
314
- >
317
+ <nav class="alpha-arc-toc__content" :style="tocContentStyle">
315
318
  <ol class="alpha-arc-toc__list">
316
319
  <li
317
320
  v-for="(item, index) in visibleTocItems"
318
321
  :key="item.path"
319
322
  class="alpha-arc-toc__item"
320
323
  :class="{ 'alpha-arc-toc__item--active': item.active }"
321
- :style="{ '--toc-color': markerColors[index % markerColors.length] }"
324
+ :style="{
325
+ '--alpha-arc-toc-marker-color':
326
+ markerColors[index % markerColors.length],
327
+ }"
322
328
  >
323
329
  <RouterLink
324
330
  :to="isPresenter ? `/presenter${item.path}` : item.path"
325
331
  @click="($event.target as HTMLElement)?.blur()"
326
332
  >
327
- <span
328
- v-if="props.indexed"
329
- class="alpha-arc-toc__item-index"
330
- >{{ index + 1 }}. </span>
333
+ <span v-if="props.indexed" class="alpha-arc-toc__item-index"
334
+ >{{ index + 1 }}.
335
+ </span>
331
336
  <span class="alpha-arc-toc__item-text">{{ item.title }}</span>
332
337
  </RouterLink>
333
338
  </li>
@@ -337,16 +342,6 @@ onBeforeUnmount(() => {
337
342
  </template>
338
343
 
339
344
  <style scoped>
340
- .alpha-arc-toc {
341
- --toc-orange: #ffad21;
342
- --toc-teal: #24b9aa;
343
- --toc-blue: #3188e4;
344
- --toc-green: #59d875;
345
- --toc-pink: #f53270;
346
- --toc-purple: #8b5cf6;
347
- --toc-red: #ef4444;
348
- }
349
-
350
345
  .alpha-arc-toc.slidev-layout {
351
346
  position: relative;
352
347
  overflow: hidden;
@@ -392,7 +387,7 @@ onBeforeUnmount(() => {
392
387
 
393
388
  .alpha-arc-toc__curve path {
394
389
  fill: none;
395
- stroke: #d7d7d5;
390
+ stroke: var(--alpha-arc-toc-curve-stroke);
396
391
  stroke-width: 2;
397
392
  vector-effect: non-scaling-stroke;
398
393
  }
@@ -402,10 +397,10 @@ onBeforeUnmount(() => {
402
397
  z-index: 2;
403
398
  width: 1rem;
404
399
  height: 1rem;
405
- border: 0.23rem solid #f8f8f7;
400
+ border: 0.23rem solid var(--alpha-arc-toc-marker-border);
406
401
  border-radius: 50%;
407
- background: var(--marker-color);
408
- box-shadow: 0 0 0 2px var(--marker-color);
402
+ background: var(--alpha-arc-toc-marker-color);
403
+ box-shadow: 0 0 0 2px var(--alpha-arc-toc-marker-color);
409
404
  transform: translate(-50%, -50%);
410
405
  }
411
406
 
@@ -438,7 +433,7 @@ onBeforeUnmount(() => {
438
433
  .alpha-arc-toc__list {
439
434
  display: flex;
440
435
  flex-direction: column;
441
- gap: var(--toc-list-gap);
436
+ gap: var(--alpha-arc-toc-list-gap);
442
437
  margin: 0;
443
438
  padding: 0;
444
439
  list-style: none;
@@ -461,9 +456,9 @@ onBeforeUnmount(() => {
461
456
  padding: 0.5rem 1.25rem;
462
457
  border: 0;
463
458
  border-radius: 999px;
464
- background: var(--toc-color);
465
- box-shadow: 0.45rem 0.65rem 0.85rem rgb(15 23 42 / 18%);
466
- color: white;
459
+ background: var(--alpha-arc-toc-marker-color);
460
+ box-shadow: var(--alpha-arc-toc-item-shadow);
461
+ color: var(--alpha-arc-toc-item);
467
462
  font-family: inherit;
468
463
  font-size: 0.9rem;
469
464
  font-weight: 700;
@@ -45,16 +45,17 @@ const tocIndex = computed(() => {
45
45
  </script>
46
46
 
47
47
  <template>
48
- <div
49
- v-bind="forwardedAttrs()"
50
- :class="className()"
51
- :style="style"
52
- >
48
+ <div v-bind="forwardedAttrs()" :class="className()" :style="style">
53
49
  <div
54
50
  v-if="indexed && tocIndex !== null"
55
51
  class="alpha-bg-center__indexed-content flex flex-col items-center gap-2"
56
52
  >
57
- <span class="alpha-bg-center__index text-5xl font-extrabold leading-none text-white opacity-50 tracking-tighter">{{ tocIndex }}</span>
53
+ <span
54
+ class="alpha-bg-center__index text-5xl font-extrabold leading-none text-(--alpha-bg-center-text) opacity-50 tracking-tighter"
55
+ >{{
56
+ tocIndex
57
+ }}</span
58
+ >
58
59
  <slot />
59
60
  </div>
60
61
  <slot v-else />
@@ -0,0 +1,84 @@
1
+ <script setup lang="ts">
2
+ import { handleBackground } from '@slidev/client';
3
+ import { computed, type PropType } from 'vue';
4
+
5
+ import { useMergedUnoAttrs } from '../../utils/useMergedUnoAttrs';
6
+
7
+ defineOptions({
8
+ inheritAttrs: false,
9
+ });
10
+
11
+ export interface IReferenceItem {
12
+ authors: string;
13
+ year: number | string;
14
+ title: string;
15
+ url?: string;
16
+ }
17
+
18
+ const props = defineProps({
19
+ references: {
20
+ type: Array as PropType<IReferenceItem[]>,
21
+ default: () => [],
22
+ },
23
+ columns: {
24
+ type: [Number, String],
25
+ default: 2,
26
+ },
27
+ background: {
28
+ type: String,
29
+ default: '',
30
+ },
31
+ });
32
+
33
+ const style = computed(() =>
34
+ props.background ? handleBackground(props.background) : undefined,
35
+ );
36
+
37
+ const columnClass = computed(() => {
38
+ const cols = Number(props.columns) || 2;
39
+ if (cols === 1) return 'columns-1';
40
+ if (cols === 3) return 'columns-3';
41
+ return 'columns-2';
42
+ });
43
+
44
+ const { className, forwardedAttrs } = useMergedUnoAttrs(
45
+ 'alpha-references slidev-layout h-full',
46
+ );
47
+ </script>
48
+
49
+ <template>
50
+ <div v-bind="forwardedAttrs()" :class="className()" :style="style">
51
+ <slot />
52
+ <ul
53
+ v-if="props.references.length"
54
+ class="alpha-references__list list-none p-0 m-0 mt-3"
55
+ :class="[columnClass, 'gap-x-8']"
56
+ >
57
+ <li
58
+ v-for="(ref, index) in props.references"
59
+ :key="`${ref.authors}-${ref.year}-${index}`"
60
+ class="alpha-references__item break-inside-avoid mb-4 text-lg leading-snug"
61
+ >
62
+ <strong class="alpha-references__authors text-foreground-primary block">
63
+ {{ ref.authors }}
64
+ ({{ ref.year }})
65
+ </strong>
66
+ <a
67
+ v-if="ref.url"
68
+ :href="ref.url"
69
+ target="_blank"
70
+ rel="noopener noreferrer"
71
+ class="alpha-references__title text-foreground-accent hover:underline block"
72
+ >
73
+ {{ ref.title }}
74
+ </a>
75
+ <span
76
+ v-else
77
+ class="alpha-references__title text-foreground-secondary block"
78
+ >
79
+ {{ ref.title }}
80
+ </span>
81
+ </li>
82
+ </ul>
83
+ </div>
84
+ </template>
@@ -0,0 +1,47 @@
1
+ @layer alpha-theme-tokens {
2
+ :root {
3
+ --alpha-arc-toc-curve-stroke: #d7d7d5;
4
+ --alpha-arc-toc-item: #ffffff;
5
+ --alpha-arc-toc-item-shadow: 0.45rem 0.65rem 0.85rem rgb(15 23 42 / 18%);
6
+ --alpha-arc-toc-marker-border: #f8f8f7;
7
+ --alpha-arc-toc-marker-orange: #ffad21;
8
+ --alpha-arc-toc-marker-teal: #24b9aa;
9
+ --alpha-arc-toc-marker-blue: #3188e4;
10
+ --alpha-arc-toc-marker-green: #59d875;
11
+ --alpha-arc-toc-marker-pink: #f53270;
12
+ --alpha-arc-toc-marker-purple: #8b5cf6;
13
+ --alpha-arc-toc-marker-red: #ef4444;
14
+
15
+ --alpha-bg-center-text: var(--alpha-foreground-accent, #fff);
16
+ }
17
+ }
18
+
19
+ .slidev-page .slidev-layout.alpha-references ul:not([class*='alpha-references__list']) {
20
+ columns: 2;
21
+ column-gap: 2rem;
22
+ list-style: none;
23
+ padding: 0;
24
+ margin-top: 0.75rem;
25
+ }
26
+
27
+ .slidev-page .slidev-layout.alpha-references ul:not([class*='alpha-references__list']) > li {
28
+ margin-bottom: 1rem;
29
+ font-size: 1.125rem;
30
+ line-height: 1.375;
31
+ break-inside: avoid;
32
+ }
33
+
34
+ .slidev-page .slidev-layout.alpha-references ul:not([class*='alpha-references__list']) {
35
+ columns: 2;
36
+ column-gap: 2rem;
37
+ list-style: none;
38
+ padding: 0;
39
+ margin-top: 0.75rem;
40
+ }
41
+
42
+ .slidev-page .slidev-layout.alpha-references ul:not([class*='alpha-references__list']) > li {
43
+ margin-bottom: 1rem;
44
+ font-size: 1.125rem;
45
+ line-height: 1.375;
46
+ break-inside: avoid;
47
+ }