@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.
Files changed (220) hide show
  1. package/README.md +133 -75
  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 +17 -97
  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/QnA.vue +1 -1
  33. package/components/core/Quote.vue +3 -6
  34. package/components/core/ReflectedTitle.vue +2 -6
  35. package/components/core/Speaker.vue +5 -10
  36. package/components/core/TransitionHeading.vue +2 -5
  37. package/components/core/arc-orbit/ArcOrbit.vue +65 -84
  38. package/components/core/arc-orbit/ArcOrbitBadge.vue +9 -11
  39. package/components/core/arc-orbit/ArcOrbitCallout.vue +30 -32
  40. package/components/core/arc-orbit/ArcOrbitContent.vue +6 -12
  41. package/components/core/arc-orbit/ArcOrbitHeading.vue +13 -11
  42. package/components/core/arc-orbit/style.css +20 -0
  43. package/components/core/style.css +9 -0
  44. package/components/core/thanks/{ThanksContent.vue → SquareThanks.vue} +36 -31
  45. package/components/core/thanks/SquareThanksContent.vue +89 -0
  46. package/components/core/thanks/ThanksOutlineSquare.vue +2 -5
  47. package/components/core/thanks/ThanksSquare.vue +2 -5
  48. package/components/core/thanks/style.css +30 -0
  49. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepth.vue +802 -0
  50. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayer.vue +240 -0
  51. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayerHeading.vue +96 -0
  52. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayerPart.vue +501 -0
  53. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayerSector.vue +162 -0
  54. package/components/defense-in-depth/arc-defense-in-depth/style.css +38 -0
  55. package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetrad.vue → rectangle-orbit-tetrad/RectangleOrbitTetrad.vue} +66 -63
  56. package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetradCallout.vue → rectangle-orbit-tetrad/RectangleOrbitTetradCallout.vue} +62 -48
  57. package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradCenter.vue +54 -0
  58. package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradContent.vue +44 -0
  59. package/components/facets/tetrad/rectangle-orbit-tetrad/RectangleOrbitTetradHeading.vue +27 -0
  60. package/components/facets/tetrad/{rect-orbit-tetrad/RectOrbitTetradIcon.vue → rectangle-orbit-tetrad/RectangleOrbitTetradIcon.vue} +23 -13
  61. package/components/facets/tetrad/rectangle-orbit-tetrad/style.css +22 -0
  62. package/components/facets/triad/arrow-triad/ArrowTriad.vue +99 -109
  63. package/components/facets/triad/arrow-triad/ArrowTriadCallout.vue +31 -59
  64. package/components/facets/triad/arrow-triad/ArrowTriadContent.vue +18 -13
  65. package/components/facets/triad/arrow-triad/ArrowTriadHeading.vue +20 -13
  66. package/components/facets/triad/arrow-triad/ArrowTriadIcon.vue +14 -9
  67. package/components/facets/triad/arrow-triad/style.css +15 -0
  68. package/components/facets/triad/gear-triad/GearTriad.vue +73 -64
  69. package/components/facets/triad/gear-triad/GearTriadCallout.vue +58 -53
  70. package/components/facets/triad/gear-triad/GearTriadCenter.vue +9 -4
  71. package/components/facets/triad/gear-triad/GearTriadContent.vue +21 -36
  72. package/components/facets/triad/gear-triad/GearTriadDetail.vue +92 -0
  73. package/components/facets/triad/gear-triad/GearTriadDetails.vue +169 -0
  74. package/components/facets/triad/gear-triad/GearTriadDetailsContent.vue +18 -0
  75. package/components/facets/triad/gear-triad/GearTriadDetailsHeading.vue +60 -0
  76. package/components/facets/triad/gear-triad/GearTriadHeading.vue +19 -13
  77. package/components/facets/triad/gear-triad/GearTriadIcon.vue +22 -9
  78. package/components/facets/triad/gear-triad/style.css +26 -0
  79. package/components/facets/triad/{hex-triad/HexTriad.vue → hexagon-triad/HexagonTriad.vue} +81 -63
  80. package/components/facets/triad/{hex-triad/HexTriadBadge.vue → hexagon-triad/HexagonTriadBadge.vue} +38 -12
  81. package/components/facets/triad/{hex-triad/HexTriadCallout.vue → hexagon-triad/HexagonTriadCallout.vue} +35 -31
  82. package/components/facets/triad/hexagon-triad/HexagonTriadCenterBadge.vue +74 -0
  83. package/components/facets/triad/hexagon-triad/HexagonTriadContent.vue +34 -0
  84. package/components/facets/triad/hexagon-triad/HexagonTriadHeading.vue +44 -0
  85. package/components/facets/triad/{hex-triad/HexTriadLayer.vue → hexagon-triad/HexagonTriadLayer.vue} +12 -4
  86. package/components/facets/triad/hexagon-triad/style.css +22 -0
  87. package/components/process/arc-arrow-process/ArcArrowProcess.vue +13 -35
  88. package/components/process/arc-arrow-process/ArcArrowProcessArrow.vue +20 -21
  89. package/components/process/arc-arrow-process/ArcArrowProcessCallout.vue +30 -71
  90. package/components/process/arc-arrow-process/ArcArrowProcessContent.vue +18 -13
  91. package/components/process/arc-arrow-process/ArcArrowProcessHeading.vue +18 -18
  92. package/components/process/arc-arrow-process/ArcArrowProcessIcon.vue +23 -11
  93. package/components/process/arc-arrow-process/style.css +20 -0
  94. package/components/pyramid/circular-pyramid/CircularPyramid.vue +276 -190
  95. package/components/pyramid/circular-pyramid/CircularPyramidStack.vue +83 -98
  96. package/components/pyramid/circular-pyramid/CircularPyramidStackContent.vue +136 -29
  97. package/components/pyramid/circular-pyramid/CircularPyramidStackHeading.vue +212 -0
  98. package/components/pyramid/circular-pyramid/style.css +26 -0
  99. package/components/pyramid/square-pyramid/SquarePyramid.vue +199 -83
  100. package/components/pyramid/square-pyramid/SquarePyramidStack.vue +87 -95
  101. package/components/pyramid/square-pyramid/SquarePyramidStackContent.vue +138 -27
  102. package/components/pyramid/square-pyramid/SquarePyramidStackHeading.vue +212 -0
  103. package/components/pyramid/square-pyramid/style.css +48 -0
  104. package/components/style.css +35 -0
  105. package/layouts/core/arc-toc.vue +40 -45
  106. package/layouts/core/bg-center.vue +7 -6
  107. package/layouts/core/style.css +17 -0
  108. package/layouts/shifting-heading/shifting-intro.vue +4 -13
  109. package/layouts/thanks/thanks.vue +5 -5
  110. package/package.json +8 -6
  111. package/style.css +17 -0
  112. package/uno.config.ts +1 -0
  113. package/utils/activateOnKeyboard.ts +14 -0
  114. package/utils/{chevronCard → card/chevron-card}/context.ts +1 -1
  115. package/utils/card/chevron-card/index.ts +1 -0
  116. package/utils/card/horizontal-card/context.ts +12 -0
  117. package/utils/{horizCard/createHorizCardGeometry.ts → card/horizontal-card/createHorizontalCardGeometry.ts} +10 -45
  118. package/utils/card/horizontal-card/index.ts +2 -0
  119. package/utils/card/vertical-card/context.ts +19 -0
  120. package/utils/{vertCard/createVertCardGeometry.ts → card/vertical-card/createVerticalCardGeometry.ts} +9 -130
  121. package/utils/card/vertical-card/index.ts +2 -0
  122. package/utils/colors.ts +93 -0
  123. package/utils/{arcComparison → comparisons/arc-comparison}/context.ts +0 -11
  124. package/utils/{arcComparison → comparisons/arc-comparison}/createArcComparisonGeometry.ts +1 -1
  125. package/utils/comparisons/arc-comparison/resolveArcComparisonItems.ts +33 -0
  126. package/utils/comparisons/table-comparison/constants.ts +47 -0
  127. package/utils/{tableComparison → comparisons/table-comparison}/context.ts +2 -2
  128. package/utils/{arcOrbit → core/arc-orbit}/resolveArcOrbitItems.ts +11 -15
  129. package/utils/defense-in-depth/arc-defense-in-depth/context.ts +113 -0
  130. package/utils/defense-in-depth/arc-defense-in-depth/createArcDefenseInDepthGeometry.ts +600 -0
  131. package/utils/defense-in-depth/arc-defense-in-depth/types.ts +144 -0
  132. package/utils/defense-in-depth/shared/colors.ts +51 -0
  133. package/utils/defense-in-depth/shared/constants.ts +22 -0
  134. package/utils/defense-in-depth/shared/types.ts +7 -0
  135. package/utils/facets/tetrad/rectangle-orbit-tetrad/context.ts +31 -0
  136. package/utils/{rectOrbitTetrad/createRectOrbitTetradGeometry.ts → facets/tetrad/rectangle-orbit-tetrad/createRectangleOrbitTetradGeometry.ts} +5 -104
  137. package/utils/facets/tetrad/rectangle-orbit-tetrad/index.ts +3 -0
  138. package/utils/{rectOrbitTetrad/resolveRectOrbitTetradItems.ts → facets/tetrad/rectangle-orbit-tetrad/resolveRectangleOrbitTetradItems.ts} +41 -49
  139. package/utils/{arrowTriad → facets/triad/arrow-triad}/resolveArrowTriadItems.ts +27 -28
  140. package/utils/{gearTriad → facets/triad/gear-triad}/context.ts +5 -5
  141. package/utils/{gearTriad → facets/triad/gear-triad}/createGearTriadGeometry.ts +2 -0
  142. package/utils/{gearTriad → facets/triad/gear-triad}/resolveGearTriadItems.ts +23 -24
  143. package/utils/facets/triad/hexagon-triad/context.ts +25 -0
  144. package/utils/{hexTriad/createHexTriadGeometry.ts → facets/triad/hexagon-triad/createHexagonTriadGeometry.ts} +11 -27
  145. package/utils/facets/triad/hexagon-triad/index.ts +3 -0
  146. package/utils/facets/triad/hexagon-triad/resolveHexagonTriadItems.ts +60 -0
  147. package/utils/{shiftingHeading → layouts/shifting-heading}/collectShiftingIntroNodes.ts +1 -0
  148. package/utils/layouts/table-of-contents/calculateTocCenterAlignmentOffset.ts +17 -0
  149. package/utils/{tableOfContents → layouts/table-of-contents}/calculateTocMarkerPositions.ts +0 -12
  150. package/utils/{tableOfContents → layouts/table-of-contents}/createTocConnectorPath.ts +11 -5
  151. package/utils/{mergeUno → merge-uno}/classifyVisual.ts +1 -1
  152. package/utils/{mergeUno → merge-uno}/collectClassNames.ts +9 -3
  153. package/utils/process/arc-arrow-process/resolveArcArrowProcessItems.ts +180 -0
  154. package/utils/pyramid/circular-pyramid/context.ts +1 -4
  155. package/utils/pyramid/circular-pyramid/createCircularPyramidGeometry.ts +6 -10
  156. package/utils/pyramid/shared/colors.ts +33 -83
  157. package/utils/pyramid/shared/constants.ts +3 -2
  158. package/utils/pyramid/shared/types.ts +0 -5
  159. package/utils/pyramid/square-pyramid/context.ts +1 -4
  160. package/utils/pyramid/square-pyramid/createSquarePyramidGeometry.ts +6 -10
  161. package/utils/useDiagramAutoScale.ts +64 -16
  162. package/utils/useMergedUnoAttrs.ts +9 -5
  163. package/components/card/chevron-card/ChevronCardHeading.vue +0 -39
  164. package/components/card/horiz-card/HorizCardHeading.vue +0 -47
  165. package/components/card/vert-card/VertCardHeading.vue +0 -68
  166. package/components/card/vert-card/VertCardTitle.vue +0 -76
  167. package/components/comparisons/arc-comparison/ArcComparisonContents.vue +0 -17
  168. package/components/comparisons/arc-comparison/ArcComparisonTitle.vue +0 -29
  169. package/components/core/arc-orbit/ArcOrbitContents.vue +0 -18
  170. package/components/core/arc-orbit/ArcOrbitTitle.vue +0 -50
  171. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradCenter.vue +0 -53
  172. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradContent.vue +0 -39
  173. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradHeading.vue +0 -44
  174. package/components/facets/triad/gear-triad/GearTriadContents.vue +0 -111
  175. package/components/facets/triad/gear-triad/GearTriadDescription.vue +0 -38
  176. package/components/facets/triad/hex-triad/HexTriadCenterBadge.vue +0 -51
  177. package/components/facets/triad/hex-triad/HexTriadContent.vue +0 -20
  178. package/components/facets/triad/hex-triad/HexTriadHeading.vue +0 -28
  179. package/components/pyramid/circular-pyramid/CircularPyramidStackTitle.vue +0 -138
  180. package/components/pyramid/square-pyramid/SquarePyramidStackTitle.vue +0 -134
  181. package/layouts/core/table-of-contents.vue +0 -30
  182. package/utils/arcArrowProcess/resolveArcArrowProcessItems.ts +0 -189
  183. package/utils/arcComparison/resolveArcComparisonItems.ts +0 -102
  184. package/utils/chevronCard/createChevronCardGeometry.ts +0 -48
  185. package/utils/chevronCard/index.ts +0 -2
  186. package/utils/hexTriad/context.ts +0 -25
  187. package/utils/hexTriad/index.ts +0 -3
  188. package/utils/hexTriad/resolveHexTriadItems.ts +0 -63
  189. package/utils/horizCard/context.ts +0 -13
  190. package/utils/horizCard/index.ts +0 -2
  191. package/utils/pyramid/index.ts +0 -3
  192. package/utils/rectOrbitTetrad/context.ts +0 -31
  193. package/utils/rectOrbitTetrad/index.ts +0 -3
  194. package/utils/tableComparison/constants.ts +0 -72
  195. package/utils/tableOfContents/calculateTocCenterAlignmentOffset.ts +0 -11
  196. package/utils/vertCard/context.ts +0 -18
  197. package/utils/vertCard/index.ts +0 -2
  198. package/utils/{arcComparison → comparisons/arc-comparison}/index.ts +0 -0
  199. package/utils/{tableComparison → comparisons/table-comparison}/index.ts +0 -0
  200. package/utils/{arcOrbit → core/arc-orbit}/context.ts +0 -0
  201. package/utils/{arcOrbit → core/arc-orbit}/createArcOrbitGeometry.ts +0 -0
  202. package/utils/{arcOrbit → core/arc-orbit}/index.ts +0 -0
  203. package/utils/{arrowTriad → facets/triad/arrow-triad}/context.ts +0 -0
  204. package/utils/{arrowTriad → facets/triad/arrow-triad}/createArrowTriadGeometry.ts +0 -0
  205. package/utils/{arrowTriad → facets/triad/arrow-triad}/index.ts +0 -0
  206. package/utils/{gearTriad → facets/triad/gear-triad}/index.ts +0 -0
  207. package/utils/{tableOfContents → layouts/table-of-contents}/calculateUniformTocArticleWidth.ts +0 -0
  208. package/utils/{tableOfContents → layouts/table-of-contents}/createTocArcPath.ts +0 -0
  209. package/utils/{tableOfContents → layouts/table-of-contents}/index.ts +0 -0
  210. package/utils/{mergeUno → merge-uno}/classifyLayout.ts +0 -0
  211. package/utils/{mergeUno → merge-uno}/classifySimple.ts +0 -0
  212. package/utils/{mergeUno → merge-uno}/classifyTypography.ts +0 -0
  213. package/utils/{mergeUno → merge-uno}/classifyUtility.ts +0 -0
  214. package/utils/{mergeUno → merge-uno}/index.ts +0 -0
  215. package/utils/{mergeUno → merge-uno}/mergeClassValues.ts +0 -0
  216. package/utils/{mergeUno → merge-uno}/splitVariantScope.ts +1 -1
  217. package/utils/{mergeUno → merge-uno}/types.ts +0 -0
  218. package/utils/{arcArrowProcess → process/arc-arrow-process}/context.ts +1 -1
  219. /package/utils/{arcArrowProcess → process/arc-arrow-process}/createArcArrowProcessGeometry.ts +0 -0
  220. /package/utils/{arcArrowProcess → process/arc-arrow-process}/index.ts +0 -0
@@ -1,68 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
5
- import { VERT_CARD_KEY } from '../../../utils/vertCard';
6
-
7
- defineOptions({
8
- inheritAttrs: false,
9
- name: 'VertCardHeading',
10
- });
11
-
12
- export interface IVertCardHeadingProps {
13
- /**
14
- * Title text color. Overrides context titleColor.
15
- */
16
- readonly color?: string;
17
- /**
18
- * Whether to render the decorative horizontal line with center dot below the title.
19
- * @default true
20
- */
21
- readonly hasDivider?: boolean;
22
- }
23
-
24
- const props = withDefaults(defineProps<IVertCardHeadingProps>(), {
25
- color: undefined,
26
- hasDivider: true,
27
- });
28
-
29
- const context = inject(VERT_CARD_KEY, undefined);
30
-
31
- const headingColor = computed(() => {
32
- return (
33
- props.color ??
34
- context?.titleColor.value ??
35
- context?.color.value ??
36
- '#ea583a'
37
- );
38
- });
39
-
40
- const { className, forwardedAttrs } = useMergedUnoAttrs(
41
- 'alpha-vert-card-heading font-sans font-bold text-xl tracking-tight leading-tight text-center',
42
- );
43
- </script>
44
-
45
- <template>
46
- <div class="flex flex-col items-center w-full">
47
- <h3
48
- v-bind="forwardedAttrs()"
49
- :class="className()"
50
- :style="{ color: headingColor }"
51
- >
52
- <slot>Lorem Ipsum</slot>
53
- </h3>
54
- <div
55
- v-if="props.hasDivider"
56
- class="mt-2.5 flex items-center justify-center w-32 relative"
57
- >
58
- <div
59
- class="w-full h-[1.5px]"
60
- :style="{ backgroundColor: headingColor }"
61
- />
62
- <span
63
- class="absolute w-2 h-2 rounded-full"
64
- :style="{ backgroundColor: headingColor }"
65
- />
66
- </div>
67
- </div>
68
- </template>
@@ -1,76 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
5
- import { VERT_CARD_KEY } from '../../../utils/vertCard';
6
-
7
- defineOptions({
8
- inheritAttrs: false,
9
- name: 'VertCardTitle',
10
- });
11
-
12
- export interface IVertCardTitleProps {
13
- /**
14
- * Title text color. Overrides context titleColor.
15
- */
16
- readonly color?: string;
17
- /**
18
- * Whether to render the decorative horizontal line with center dot below the title.
19
- * Defaults to context hasDivider, or true.
20
- */
21
- readonly hasDivider?: boolean;
22
- }
23
-
24
- const props = withDefaults(defineProps<IVertCardTitleProps>(), {
25
- color: undefined,
26
- hasDivider: undefined,
27
- });
28
-
29
- const context = inject(VERT_CARD_KEY, undefined);
30
-
31
- const headingColor = computed(() => {
32
- return (
33
- props.color ??
34
- context?.titleColor.value ??
35
- context?.color.value ??
36
- '#ea583a'
37
- );
38
- });
39
-
40
- const isDividerVisible = computed(() => {
41
- if (props.hasDivider !== undefined) {
42
- return props.hasDivider;
43
- }
44
-
45
- return context?.hasDivider?.value ?? true;
46
- });
47
-
48
- const { className, forwardedAttrs } = useMergedUnoAttrs(
49
- 'alpha-vert-card-title font-sans font-bold text-xl tracking-tight leading-tight text-center',
50
- );
51
- </script>
52
-
53
- <template>
54
- <div class="flex flex-col items-center w-full">
55
- <h3
56
- v-bind="forwardedAttrs()"
57
- :class="className()"
58
- :style="{ color: headingColor }"
59
- >
60
- <slot>Lorem Ipsum</slot>
61
- </h3>
62
- <div
63
- v-if="isDividerVisible"
64
- class="mt-2.5 flex items-center justify-center w-32 relative"
65
- >
66
- <div
67
- class="w-full h-[1.5px]"
68
- :style="{ backgroundColor: headingColor }"
69
- />
70
- <span
71
- class="absolute w-2 h-2 rounded-full"
72
- :style="{ backgroundColor: headingColor }"
73
- />
74
- </div>
75
- </div>
76
- </template>
@@ -1,17 +0,0 @@
1
- <script setup lang="ts">
2
- import ArcOrbitContents from '../../core/arc-orbit/ArcOrbitContents.vue';
3
-
4
- defineOptions({
5
- inheritAttrs: false,
6
- name: 'ArcComparisonContents',
7
- });
8
- </script>
9
-
10
- <template>
11
- <ArcOrbitContents
12
- v-bind="$attrs"
13
- class="alpha-arc-comparison-contents"
14
- >
15
- <slot />
16
- </ArcOrbitContents>
17
- </template>
@@ -1,29 +0,0 @@
1
- <script setup lang="ts">
2
- import ArcOrbitTitle, {
3
- type IArcOrbitTitleProps,
4
- } from '../../core/arc-orbit/ArcOrbitTitle.vue';
5
-
6
- defineOptions({
7
- inheritAttrs: false,
8
- name: 'ArcComparisonTitle',
9
- });
10
-
11
- export interface IArcComparisonTitleProps extends IArcOrbitTitleProps {}
12
-
13
- const props = defineProps<IArcComparisonTitleProps>();
14
- </script>
15
-
16
- <template>
17
- <ArcOrbitTitle
18
- v-if="$slots.default"
19
- v-bind="{ ...props, ...$attrs }"
20
- class="alpha-arc-comparison-title"
21
- >
22
- <slot />
23
- </ArcOrbitTitle>
24
- <ArcOrbitTitle
25
- v-else
26
- v-bind="{ ...props, ...$attrs }"
27
- class="alpha-arc-comparison-title"
28
- />
29
- </template>
@@ -1,18 +0,0 @@
1
- <script setup lang="ts">
2
- import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
3
-
4
- defineOptions({
5
- inheritAttrs: false,
6
- name: 'ArcOrbitContents',
7
- });
8
-
9
- const { className, forwardedAttrs } = useMergedUnoAttrs(
10
- 'alpha-arc-orbit-contents absolute inset-0 w-full h-full pointer-events-none',
11
- );
12
- </script>
13
-
14
- <template>
15
- <div v-bind="forwardedAttrs()" :class="className()">
16
- <slot />
17
- </div>
18
- </template>
@@ -1,50 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import {
5
- ARC_ORBIT_ROOT_KEY,
6
- DEFAULT_ARC_ORBIT_COLOR,
7
- } from '../../../utils/arcOrbit';
8
- import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
9
-
10
- defineOptions({
11
- inheritAttrs: false,
12
- name: 'ArcOrbitTitle',
13
- });
14
-
15
- export interface IArcOrbitTitleProps {
16
- readonly color?: string;
17
- }
18
-
19
- const props = withDefaults(defineProps<IArcOrbitTitleProps>(), {
20
- color: undefined,
21
- });
22
-
23
- const rootContext = inject(ARC_ORBIT_ROOT_KEY, undefined);
24
-
25
- const titleColor = computed(() => {
26
- return props.color ?? rootContext?.color.value ?? DEFAULT_ARC_ORBIT_COLOR;
27
- });
28
-
29
- const titleStyle = computed(() => {
30
- return {
31
- color: titleColor.value,
32
- fontFamily:
33
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
34
- };
35
- });
36
-
37
- const { className, forwardedAttrs } = useMergedUnoAttrs(
38
- 'alpha-arc-orbit-title font-bold text-center px-2 leading-tight flex items-center justify-center select-none text-[1.125rem] tracking-tight whitespace-pre-line',
39
- );
40
- </script>
41
-
42
- <template>
43
- <div
44
- v-bind="forwardedAttrs()"
45
- :class="className()"
46
- :style="titleStyle"
47
- >
48
- <slot>{{ rootContext?.title.value ?? 'Add Topic\nTitle' }}</slot>
49
- </div>
50
- </template>
@@ -1,53 +0,0 @@
1
- <script setup lang="ts">
2
- defineOptions({
3
- name: 'RectOrbitTetradCenter',
4
- });
5
-
6
- export interface IRectOrbitTetradCenterProps {
7
- readonly title?: string;
8
- readonly radius?: number;
9
- readonly subtitle?: string;
10
- }
11
-
12
- const props = withDefaults(defineProps<IRectOrbitTetradCenterProps>(), {
13
- title: undefined,
14
- subtitle: undefined,
15
- radius: 58,
16
- });
17
- </script>
18
-
19
- <template>
20
- <div
21
- class="alpha-rect-orbit-tetrad-center absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-20 rounded-full bg-white flex flex-col items-center justify-center text-center shadow-lg pointer-events-auto select-none"
22
- :style="{
23
- width: `${props.radius * 2}px`,
24
- height: `${props.radius * 2}px`,
25
- boxShadow: '0 4px 18px rgba(0, 0, 0, 0.12)',
26
- fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif',
27
- }"
28
- >
29
- <slot>
30
- <slot name="title">
31
- <span
32
- v-if="props.title"
33
- :class="[
34
- 'text-[23px] font-extrabold text-slate-800 tracking-tight leading-none',
35
- { 'mb-2': props.subtitle },
36
- ]"
37
- style="font-family: inherit;"
38
- >
39
- {{ props.title }}
40
- </span>
41
- </slot>
42
- <slot name="subtitle">
43
- <span
44
- v-if="props.subtitle"
45
- class="text-[13px] font-medium text-slate-400 tracking-normal leading-none"
46
- style="font-family: inherit;"
47
- >
48
- {{ props.subtitle }}
49
- </span>
50
- </slot>
51
- </slot>
52
- </div>
53
- </template>
@@ -1,39 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import { RECT_ORBIT_TETRAD_CALLOUT_KEY } from '../../../../utils/rectOrbitTetrad';
5
-
6
- defineOptions({
7
- name: 'RectOrbitTetradContent',
8
- });
9
-
10
- export interface IRectOrbitTetradContentProps {
11
- readonly color?: string;
12
- }
13
-
14
- const props = withDefaults(defineProps<IRectOrbitTetradContentProps>(), {
15
- color: undefined,
16
- });
17
-
18
- const calloutContext = inject(RECT_ORBIT_TETRAD_CALLOUT_KEY, undefined);
19
-
20
- const contentColor = computed(() => {
21
- return props.color ?? calloutContext?.item.value.textColor ?? '#555555';
22
- });
23
- </script>
24
-
25
- <template>
26
- <div
27
- class="alpha-rect-orbit-tetrad-content text-[1rem] leading-[1.38] font-normal tracking-tight m-0 p-0 select-none"
28
- :style="{
29
- color: contentColor,
30
- margin: 0,
31
- padding: 0,
32
- fontSize: '1rem',
33
- fontFamily:
34
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica, Arial, sans-serif',
35
- }"
36
- >
37
- <slot />
38
- </div>
39
- </template>
@@ -1,44 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed, inject } from 'vue';
3
-
4
- import { RECT_ORBIT_TETRAD_CALLOUT_KEY } from '../../../../utils/rectOrbitTetrad';
5
-
6
- defineOptions({
7
- name: 'RectOrbitTetradHeading',
8
- });
9
-
10
- export interface IRectOrbitTetradHeadingProps {
11
- readonly color?: string;
12
- }
13
-
14
- const props = withDefaults(defineProps<IRectOrbitTetradHeadingProps>(), {
15
- color: undefined,
16
- });
17
-
18
- const calloutContext = inject(RECT_ORBIT_TETRAD_CALLOUT_KEY, undefined);
19
-
20
- const headingColor = computed(() => {
21
- return (
22
- props.color ??
23
- calloutContext?.item.value.titleColor ??
24
- calloutContext?.item.value.color ??
25
- '#f29e4b'
26
- );
27
- });
28
- </script>
29
-
30
- <template>
31
- <div
32
- class="alpha-rect-orbit-tetrad-heading font-bold text-[1.25rem] leading-tight tracking-tight m-0 p-0 select-none"
33
- :style="{
34
- color: headingColor,
35
- margin: 0,
36
- padding: 0,
37
- fontSize: '1.25rem',
38
- fontFamily:
39
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, Helvetica, Arial, sans-serif',
40
- }"
41
- >
42
- <slot />
43
- </div>
44
- </template>
@@ -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>