@alphacifer/slidev-addon-theme 0.0.7 → 0.0.9

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 (128) hide show
  1. package/README.md +186 -76
  2. package/components/{chevron-card → card/chevron-card}/ChevronCard.vue +2 -2
  3. package/components/{chevron-card → card/chevron-card}/ChevronCardBadge.vue +1 -1
  4. package/components/{chevron-card → card/chevron-card}/ChevronCardContent.vue +1 -1
  5. package/components/{chevron-card → card/chevron-card}/ChevronCardHeading.vue +1 -1
  6. package/components/{horiz-card → card/horiz-card}/HorizCard.vue +2 -2
  7. package/components/{horiz-card → card/horiz-card}/HorizCardBadge.vue +2 -2
  8. package/components/{horiz-card → card/horiz-card}/HorizCardContent.vue +2 -2
  9. package/components/{horiz-card → card/horiz-card}/HorizCardHeading.vue +2 -2
  10. package/components/{horiz-card → card/horiz-card}/HorizCardIcon.vue +2 -2
  11. package/components/{vert-card → card/vert-card}/VertCard.vue +2 -2
  12. package/components/{vert-card → card/vert-card}/VertCardBadge.vue +5 -2
  13. package/components/{vert-card → card/vert-card}/VertCardContent.vue +2 -2
  14. package/components/{vert-card → card/vert-card}/VertCardHeading.vue +2 -2
  15. package/components/{vert-card → card/vert-card}/VertCardIcon.vue +2 -2
  16. package/components/{vert-card → card/vert-card}/VertCardTitle.vue +2 -2
  17. package/components/comparisons/arc-comparison/ArcComparison.vue +654 -0
  18. package/components/comparisons/arc-comparison/ArcComparisonBadge.vue +29 -0
  19. package/components/comparisons/arc-comparison/ArcComparisonContent.vue +29 -0
  20. package/components/comparisons/arc-comparison/ArcComparisonContents.vue +17 -0
  21. package/components/comparisons/arc-comparison/ArcComparisonHeading.vue +29 -0
  22. package/components/comparisons/arc-comparison/ArcComparisonLeft.vue +268 -0
  23. package/components/comparisons/arc-comparison/ArcComparisonOrbit.vue +47 -0
  24. package/components/comparisons/arc-comparison/ArcComparisonRight.vue +271 -0
  25. package/components/comparisons/arc-comparison/ArcComparisonTitle.vue +29 -0
  26. package/components/{comparison-table/ComparisonTable.vue → comparisons/table-comparison/TableComparison.vue} +37 -27
  27. package/components/{comparison-table/ComparisonTableCell.vue → comparisons/table-comparison/TableComparisonCell.vue} +8 -8
  28. package/components/{comparison-table/ComparisonTableCol.vue → comparisons/table-comparison/TableComparisonCol.vue} +10 -10
  29. package/components/{comparison-table/ComparisonTableCols.vue → comparisons/table-comparison/TableComparisonCols.vue} +11 -11
  30. package/components/{comparison-table/ComparisonTableRow.vue → comparisons/table-comparison/TableComparisonRow.vue} +9 -9
  31. package/components/{comparison-table/ComparisonTableRows.vue → comparisons/table-comparison/TableComparisonRows.vue} +3 -3
  32. package/components/core/ReflectedTitle.vue +2 -1
  33. package/components/core/arc-orbit/ArcOrbit.vue +468 -0
  34. package/components/{arc-compare/ArcCompareBadge.vue → core/arc-orbit/ArcOrbitBadge.vue} +11 -8
  35. package/components/core/arc-orbit/ArcOrbitCallout.vue +400 -0
  36. package/components/{arc-compare/ArcCompareContent.vue → core/arc-orbit/ArcOrbitContent.vue} +8 -8
  37. package/components/{arc-compare/ArcCompareContents.vue → core/arc-orbit/ArcOrbitContents.vue} +3 -3
  38. package/components/{arc-compare/ArcCompareHeading.vue → core/arc-orbit/ArcOrbitHeading.vue} +11 -8
  39. package/components/core/arc-orbit/ArcOrbitTitle.vue +50 -0
  40. package/components/{thanks → core/thanks}/ThanksOutlineSquare.vue +1 -1
  41. package/components/{thanks → core/thanks}/ThanksSquare.vue +1 -1
  42. package/components/{quad-hub/QuadHub.vue → facets/tetrad/rect-orbit-tetrad/RectOrbitTetrad.vue} +71 -69
  43. package/components/{quad-hub/QuadHubCallout.vue → facets/tetrad/rect-orbit-tetrad/RectOrbitTetradCallout.vue} +45 -43
  44. package/components/{quad-hub/QuadHubCenter.vue → facets/tetrad/rect-orbit-tetrad/RectOrbitTetradCenter.vue} +4 -4
  45. package/components/{quad-hub/QuadHubContent.vue → facets/tetrad/rect-orbit-tetrad/RectOrbitTetradContent.vue} +6 -6
  46. package/components/{quad-hub/QuadHubHeading.vue → facets/tetrad/rect-orbit-tetrad/RectOrbitTetradHeading.vue} +6 -6
  47. package/components/{quad-hub/QuadHubIcon.vue → facets/tetrad/rect-orbit-tetrad/RectOrbitTetradIcon.vue} +6 -6
  48. package/components/{arrow-triad → facets/triad/arrow-triad}/ArrowTriad.vue +3 -3
  49. package/components/{arrow-triad → facets/triad/arrow-triad}/ArrowTriadCallout.vue +1 -1
  50. package/components/{arrow-triad → facets/triad/arrow-triad}/ArrowTriadContent.vue +1 -1
  51. package/components/{arrow-triad → facets/triad/arrow-triad}/ArrowTriadHeading.vue +1 -1
  52. package/components/facets/triad/gear-triad/GearTriad.vue +591 -0
  53. package/components/facets/triad/gear-triad/GearTriadCallout.vue +285 -0
  54. package/components/facets/triad/gear-triad/GearTriadCenter.vue +41 -0
  55. package/components/facets/triad/gear-triad/GearTriadContent.vue +58 -0
  56. package/components/facets/triad/gear-triad/GearTriadContents.vue +111 -0
  57. package/components/facets/triad/gear-triad/GearTriadDescription.vue +38 -0
  58. package/components/facets/triad/gear-triad/GearTriadHeading.vue +38 -0
  59. package/components/facets/triad/gear-triad/GearTriadIcon.vue +157 -0
  60. package/components/{hex-triad → facets/triad/hex-triad}/HexTriad.vue +2 -2
  61. package/components/{hex-triad → facets/triad/hex-triad}/HexTriadBadge.vue +1 -1
  62. package/components/{hex-triad → facets/triad/hex-triad}/HexTriadCallout.vue +1 -1
  63. package/components/{hex-triad → facets/triad/hex-triad}/HexTriadHeading.vue +1 -1
  64. package/components/{arc-arrow-process → process/arc-arrow-process}/ArcArrowProcess.vue +2 -2
  65. package/components/{arc-arrow-process → process/arc-arrow-process}/ArcArrowProcessArrow.vue +1 -1
  66. package/components/{arc-arrow-process → process/arc-arrow-process}/ArcArrowProcessCallout.vue +1 -1
  67. package/components/{arc-arrow-process → process/arc-arrow-process}/ArcArrowProcessContent.vue +1 -1
  68. package/components/{arc-arrow-process → process/arc-arrow-process}/ArcArrowProcessHeading.vue +1 -1
  69. package/components/pyramid/circular-pyramid/CircularPyramid.vue +871 -0
  70. package/components/pyramid/circular-pyramid/CircularPyramidStack.vue +375 -0
  71. package/components/pyramid/circular-pyramid/CircularPyramidStackContent.vue +208 -0
  72. package/components/pyramid/circular-pyramid/CircularPyramidStackTitle.vue +138 -0
  73. package/components/pyramid/square-pyramid/SquarePyramid.vue +876 -0
  74. package/components/pyramid/square-pyramid/SquarePyramidStack.vue +366 -0
  75. package/components/pyramid/square-pyramid/SquarePyramidStackContent.vue +204 -0
  76. package/components/pyramid/square-pyramid/SquarePyramidStackTitle.vue +134 -0
  77. package/package.json +2 -1
  78. package/utils/arcComparison/context.ts +40 -0
  79. package/utils/arcComparison/createArcComparisonGeometry.ts +175 -0
  80. package/utils/arcComparison/index.ts +3 -0
  81. package/utils/{arcCompare/resolveArcCompareItems.ts → arcComparison/resolveArcComparisonItems.ts} +24 -45
  82. package/utils/arcOrbit/context.ts +38 -0
  83. package/utils/{arcCompare/createArcCompareGeometry.ts → arcOrbit/createArcOrbitGeometry.ts} +77 -108
  84. package/utils/arcOrbit/index.ts +3 -0
  85. package/utils/arcOrbit/resolveArcOrbitItems.ts +92 -0
  86. package/utils/gearTriad/context.ts +51 -0
  87. package/utils/gearTriad/createGearTriadGeometry.ts +210 -0
  88. package/utils/gearTriad/index.ts +3 -0
  89. package/utils/gearTriad/resolveGearTriadItems.ts +159 -0
  90. package/utils/pyramid/circular-pyramid/context.ts +46 -0
  91. package/utils/pyramid/circular-pyramid/createCircularPyramidGeometry.ts +143 -0
  92. package/utils/pyramid/circular-pyramid/index.ts +3 -0
  93. package/utils/pyramid/circular-pyramid/types.ts +34 -0
  94. package/utils/pyramid/index.ts +3 -0
  95. package/utils/pyramid/shared/colors.ts +92 -0
  96. package/utils/pyramid/shared/connector.ts +111 -0
  97. package/utils/pyramid/shared/constants.ts +8 -0
  98. package/utils/pyramid/shared/index.ts +5 -0
  99. package/utils/pyramid/shared/stacking.ts +76 -0
  100. package/utils/pyramid/shared/types.ts +36 -0
  101. package/utils/pyramid/square-pyramid/context.ts +46 -0
  102. package/utils/pyramid/square-pyramid/createSquarePyramidGeometry.ts +265 -0
  103. package/utils/pyramid/square-pyramid/index.ts +3 -0
  104. package/utils/pyramid/square-pyramid/types.ts +39 -0
  105. package/utils/rectOrbitTetrad/context.ts +31 -0
  106. package/utils/{quadHub/createQuadHubGeometry.ts → rectOrbitTetrad/createRectOrbitTetradGeometry.ts} +33 -28
  107. package/utils/rectOrbitTetrad/index.ts +3 -0
  108. package/utils/{quadHub/resolveQuadHubItems.ts → rectOrbitTetrad/resolveRectOrbitTetradItems.ts} +25 -25
  109. package/utils/{comparisonTable → tableComparison}/context.ts +6 -6
  110. package/utils/useDiagramAutoScale.ts +7 -9
  111. package/components/arc-compare/ArcCompare.vue +0 -443
  112. package/components/arc-compare/ArcCompareCallout.vue +0 -386
  113. package/components/arc-compare/ArcCompareLeft.vue +0 -183
  114. package/components/arc-compare/ArcCompareRight.vue +0 -183
  115. package/components/arc-compare/ArcCompareTitle.vue +0 -47
  116. package/utils/arcCompare/context.ts +0 -36
  117. package/utils/arcCompare/index.ts +0 -3
  118. package/utils/quadHub/context.ts +0 -26
  119. package/utils/quadHub/index.ts +0 -3
  120. /package/components/{shifting-heading → core}/TransitionHeading.vue +0 -0
  121. /package/components/{thanks → core/thanks}/ThanksContent.vue +0 -0
  122. /package/components/{arrow-triad → facets/triad/arrow-triad}/ArrowTriadIcon.vue +0 -0
  123. /package/components/{hex-triad → facets/triad/hex-triad}/HexTriadCenterBadge.vue +0 -0
  124. /package/components/{hex-triad → facets/triad/hex-triad}/HexTriadContent.vue +0 -0
  125. /package/components/{hex-triad → facets/triad/hex-triad}/HexTriadLayer.vue +0 -0
  126. /package/components/{arc-arrow-process → process/arc-arrow-process}/ArcArrowProcessIcon.vue +0 -0
  127. /package/utils/{comparisonTable → tableComparison}/constants.ts +0 -0
  128. /package/utils/{comparisonTable → tableComparison}/index.ts +0 -0
@@ -0,0 +1,138 @@
1
+ <script setup lang="ts">
2
+ import { computed, inject } from 'vue';
3
+
4
+ import {
5
+ CIRCULAR_PYRAMID_ROOT_KEY,
6
+ CIRCULAR_PYRAMID_STACK_KEY,
7
+ } from '../../../utils/pyramid/circular-pyramid';
8
+
9
+ defineOptions({
10
+ name: 'CircularPyramidStackTitle',
11
+ });
12
+
13
+ export interface ICircularPyramidStackTitleProps {
14
+ readonly step?: string | number;
15
+ readonly title?: string;
16
+ readonly color?: string;
17
+ readonly minWidth?: number;
18
+ }
19
+
20
+ const props = withDefaults(defineProps<ICircularPyramidStackTitleProps>(), {
21
+ step: undefined,
22
+ title: undefined,
23
+ color: undefined,
24
+ minWidth: 150,
25
+ });
26
+
27
+ const rootContext = inject(CIRCULAR_PYRAMID_ROOT_KEY, undefined);
28
+ const stackContext = inject(CIRCULAR_PYRAMID_STACK_KEY, undefined);
29
+
30
+ const isActive = computed(() => {
31
+ return stackContext?.isActive.value ?? false;
32
+ });
33
+
34
+ const resolvedStep = computed(() => {
35
+ if (props.step !== undefined) {
36
+ return props.step;
37
+ }
38
+ if (stackContext?.step.value !== undefined) {
39
+ return stackContext.step.value;
40
+ }
41
+ return '01';
42
+ });
43
+
44
+ const palette = computed(() => {
45
+ return rootContext?.palette.value;
46
+ });
47
+
48
+ const minPillWidth = computed(() => props.minWidth ?? 150);
49
+
50
+ const stackColor = computed(() => {
51
+ return (
52
+ props.color ??
53
+ stackContext?.color?.value ??
54
+ rootContext?.color.value ??
55
+ '#3b82f6'
56
+ );
57
+ });
58
+ </script>
59
+
60
+ <template>
61
+ <div
62
+ class="alpha-circular-pyramid-stack-title relative w-full flex items-center select-none"
63
+ :class="[
64
+ isActive
65
+ ? 'alpha-circular-pyramid-stack-title--active'
66
+ : 'alpha-circular-pyramid-stack-title--default',
67
+ ]"
68
+ >
69
+ <!-- Pill Badge Container (min-width: 150px, max-width: whole spacing left leaving at least 30px before dot) -->
70
+ <div
71
+ class="alpha-circular-pyramid-stack-title__pill flex items-center gap-2 px-2.5 py-1 rounded-full transition-all duration-300 border flex-shrink-0"
72
+ :style="{
73
+ minWidth: `${minPillWidth}px`,
74
+ maxWidth: 'calc(100% - 30px)',
75
+ width: 'fit-content',
76
+ boxSizing: 'border-box',
77
+ borderColor: stackColor,
78
+ backgroundColor: isActive
79
+ ? 'rgba(255, 255, 255, 0.95)'
80
+ : 'rgba(255, 255, 255, 0.85)',
81
+ boxShadow: isActive
82
+ ? `0 4px 14px ${stackColor}26`
83
+ : 'none',
84
+ }"
85
+ >
86
+ <!-- Circular Step Indicator (Badge using stack color) -->
87
+ <div
88
+ 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"
89
+ :style="{
90
+ backgroundColor: stackColor,
91
+ color: '#ffffff',
92
+ }"
93
+ >
94
+ <slot name="step">{{ resolvedStep }}</slot>
95
+ </div>
96
+ <!-- Title Text -->
97
+ <span
98
+ class="text-xs font-semibold tracking-tight transition-colors duration-300 pr-1 truncate flex-1 leading-tight"
99
+ :style="{
100
+ color: isActive ? '#0f172a' : '#334155',
101
+ }"
102
+ >
103
+ <slot>{{ props.title }}</slot>
104
+ </span>
105
+ </div>
106
+ <!-- Scalable Line between Title and Dot (always at least 30px) -->
107
+ <div
108
+ class="alpha-circular-pyramid-stack-title__connector flex-1 flex items-center min-w-[30px] pointer-events-none"
109
+ >
110
+ <div
111
+ class="alpha-circular-pyramid-stack-title__line flex-1 h-[1px] transition-colors duration-300"
112
+ :style="{
113
+ backgroundColor: stackColor,
114
+ opacity: isActive ? 1 : 0.65,
115
+ }"
116
+ />
117
+ <div
118
+ class="alpha-circular-pyramid-stack-title__dot w-1.5 h-1.5 rounded-full flex-shrink-0 -ml-1 transition-all duration-300"
119
+ :style="{
120
+ backgroundColor: stackColor,
121
+ boxShadow: isActive
122
+ ? `0 0 6px ${stackColor}`
123
+ : `0 0 2px ${stackColor}80`,
124
+ }"
125
+ />
126
+ </div>
127
+ </div>
128
+ </template>
129
+
130
+ <style scoped>
131
+ .alpha-circular-pyramid-stack-title {
132
+ box-sizing: border-box;
133
+ }
134
+
135
+ .alpha-circular-pyramid-stack-title--active .alpha-circular-pyramid-stack-title__pill {
136
+ backdrop-filter: blur(8px);
137
+ }
138
+ </style>