@alphacifer/slidev-addon-theme 0.0.10 → 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 (225) 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-did/ArcDiD.vue → arc-defense-in-depth/ArcDefenseInDepth.vue} +167 -97
  50. package/components/defense-in-depth/arc-defense-in-depth/ArcDefenseInDepthLayer.vue +240 -0
  51. package/components/defense-in-depth/{arc-did/ArcDiDLayerTitle.vue → arc-defense-in-depth/ArcDefenseInDepthLayerHeading.vue} +27 -29
  52. package/components/defense-in-depth/{arc-did/ArcDiDLayerPart.vue → arc-defense-in-depth/ArcDefenseInDepthLayerPart.vue} +91 -39
  53. package/components/defense-in-depth/{arc-did/ArcDiDLayerSector.vue → arc-defense-in-depth/ArcDefenseInDepthLayerSector.vue} +37 -23
  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 +269 -170
  95. package/components/pyramid/circular-pyramid/CircularPyramidStack.vue +70 -52
  96. package/components/pyramid/circular-pyramid/CircularPyramidStackContent.vue +47 -37
  97. package/components/pyramid/circular-pyramid/{CircularPyramidStackTitle.vue → CircularPyramidStackHeading.vue} +49 -45
  98. package/components/pyramid/circular-pyramid/style.css +26 -0
  99. package/components/pyramid/square-pyramid/SquarePyramid.vue +191 -62
  100. package/components/pyramid/square-pyramid/SquarePyramidStack.vue +74 -49
  101. package/components/pyramid/square-pyramid/SquarePyramidStackContent.vue +47 -33
  102. package/components/pyramid/square-pyramid/{SquarePyramidStackTitle.vue → SquarePyramidStackHeading.vue} +49 -41
  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/{defenseInDepth/arcDid → defense-in-depth/arc-defense-in-depth}/context.ts +34 -31
  130. package/utils/{defenseInDepth/arcDid/createArcDiDGeometry.ts → defense-in-depth/arc-defense-in-depth/createArcDefenseInDepthGeometry.ts} +69 -39
  131. package/utils/{defenseInDepth/arcDid → defense-in-depth/arc-defense-in-depth}/types.ts +39 -35
  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/{defenseInDepth → defense-in-depth}/shared/types.ts +0 -5
  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 +2 -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 +8 -6
  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/defense-in-depth/arc-did/ArcDiDLayer.vue +0 -321
  172. package/components/defense-in-depth/arc-did/ArcDiDLayerParts.vue +0 -11
  173. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradCenter.vue +0 -53
  174. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradContent.vue +0 -39
  175. package/components/facets/tetrad/rect-orbit-tetrad/RectOrbitTetradHeading.vue +0 -44
  176. package/components/facets/triad/gear-triad/GearTriadContents.vue +0 -111
  177. package/components/facets/triad/gear-triad/GearTriadDescription.vue +0 -38
  178. package/components/facets/triad/hex-triad/HexTriadCenterBadge.vue +0 -51
  179. package/components/facets/triad/hex-triad/HexTriadContent.vue +0 -20
  180. package/components/facets/triad/hex-triad/HexTriadHeading.vue +0 -28
  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/defenseInDepth/arcDid/index.ts +0 -3
  187. package/utils/defenseInDepth/index.ts +0 -2
  188. package/utils/defenseInDepth/shared/colors.ts +0 -121
  189. package/utils/defenseInDepth/shared/constants.ts +0 -14
  190. package/utils/defenseInDepth/shared/index.ts +0 -3
  191. package/utils/hexTriad/context.ts +0 -25
  192. package/utils/hexTriad/index.ts +0 -3
  193. package/utils/hexTriad/resolveHexTriadItems.ts +0 -63
  194. package/utils/horizCard/context.ts +0 -13
  195. package/utils/horizCard/index.ts +0 -2
  196. package/utils/pyramid/index.ts +0 -3
  197. package/utils/rectOrbitTetrad/context.ts +0 -31
  198. package/utils/rectOrbitTetrad/index.ts +0 -3
  199. package/utils/tableComparison/constants.ts +0 -72
  200. package/utils/tableOfContents/calculateTocCenterAlignmentOffset.ts +0 -11
  201. package/utils/vertCard/context.ts +0 -18
  202. package/utils/vertCard/index.ts +0 -2
  203. package/utils/{arcComparison → comparisons/arc-comparison}/index.ts +0 -0
  204. package/utils/{tableComparison → comparisons/table-comparison}/index.ts +0 -0
  205. package/utils/{arcOrbit → core/arc-orbit}/context.ts +0 -0
  206. package/utils/{arcOrbit → core/arc-orbit}/createArcOrbitGeometry.ts +0 -0
  207. package/utils/{arcOrbit → core/arc-orbit}/index.ts +0 -0
  208. package/utils/{arrowTriad → facets/triad/arrow-triad}/context.ts +0 -0
  209. package/utils/{arrowTriad → facets/triad/arrow-triad}/createArrowTriadGeometry.ts +0 -0
  210. package/utils/{arrowTriad → facets/triad/arrow-triad}/index.ts +0 -0
  211. package/utils/{gearTriad → facets/triad/gear-triad}/index.ts +0 -0
  212. package/utils/{tableOfContents → layouts/table-of-contents}/calculateUniformTocArticleWidth.ts +0 -0
  213. package/utils/{tableOfContents → layouts/table-of-contents}/createTocArcPath.ts +0 -0
  214. package/utils/{tableOfContents → layouts/table-of-contents}/index.ts +0 -0
  215. package/utils/{mergeUno → merge-uno}/classifyLayout.ts +0 -0
  216. package/utils/{mergeUno → merge-uno}/classifySimple.ts +0 -0
  217. package/utils/{mergeUno → merge-uno}/classifyTypography.ts +0 -0
  218. package/utils/{mergeUno → merge-uno}/classifyUtility.ts +0 -0
  219. package/utils/{mergeUno → merge-uno}/index.ts +0 -0
  220. package/utils/{mergeUno → merge-uno}/mergeClassValues.ts +0 -0
  221. package/utils/{mergeUno → merge-uno}/splitVariantScope.ts +1 -1
  222. package/utils/{mergeUno → merge-uno}/types.ts +0 -0
  223. package/utils/{arcArrowProcess → process/arc-arrow-process}/context.ts +1 -1
  224. /package/utils/{arcArrowProcess → process/arc-arrow-process}/createArcArrowProcessGeometry.ts +0 -0
  225. /package/utils/{arcArrowProcess → process/arc-arrow-process}/index.ts +0 -0
@@ -1,21 +1,11 @@
1
1
  <script setup lang="ts">
2
- import {
3
- type ComputedRef,
4
- computed,
5
- Fragment,
6
- inject,
7
- provide,
8
- useSlots,
9
- type VNode,
10
- } from 'vue';
2
+ import { type ComputedRef, computed, inject, provide } from 'vue';
11
3
 
12
4
  import {
13
5
  DEFAULT_BORDER_RADIUS,
14
6
  DEFAULT_CELL_BG,
15
7
  DEFAULT_CELL_COLOR,
16
8
  DEFAULT_COL_HEADER_TEXT_COLOR,
17
- DEFAULT_MOCKUP_COLS,
18
- DEFAULT_MOCKUP_ROWS,
19
9
  DEFAULT_ROW_HEADER_COLOR,
20
10
  DEFAULT_ROW_HEADER_TEXT_COLOR,
21
11
  DEFAULT_ROW_HEADER_WIDTH,
@@ -23,13 +13,8 @@ import {
23
13
  type ITableComparisonContext,
24
14
  resolveDimension,
25
15
  TABLE_COMPARISON_KEY,
26
- } from '../../../utils/tableComparison';
16
+ } from '../../../utils/comparisons/table-comparison';
27
17
  import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
28
- import TableComparisonCell from './TableComparisonCell.vue';
29
- import TableComparisonCol from './TableComparisonCol.vue';
30
- import TableComparisonCols from './TableComparisonCols.vue';
31
- import TableComparisonRow from './TableComparisonRow.vue';
32
- import TableComparisonRows from './TableComparisonRows.vue';
33
18
 
34
19
  defineOptions({
35
20
  inheritAttrs: false,
@@ -54,9 +39,9 @@ export interface ITableComparisonProps {
54
39
  }
55
40
 
56
41
  const props = withDefaults(defineProps<ITableComparisonProps>(), {
57
- cellBg: DEFAULT_CELL_BG,
42
+ cellBg: `var(--alpha-table-comparison-cell-bg, ${DEFAULT_CELL_BG})`,
58
43
  cellColor: DEFAULT_CELL_COLOR,
59
- rowHeaderColor: DEFAULT_ROW_HEADER_COLOR,
44
+ rowHeaderColor: `var(--alpha-table-comparison-row-bg, ${DEFAULT_ROW_HEADER_COLOR})`,
60
45
  rowHeaderTextColor: DEFAULT_ROW_HEADER_TEXT_COLOR,
61
46
  colHeaderTextColor: DEFAULT_COL_HEADER_TEXT_COLOR,
62
47
  borderRadius: DEFAULT_BORDER_RADIUS,
@@ -70,8 +55,6 @@ const props = withDefaults(defineProps<ITableComparisonProps>(), {
70
55
  height: undefined,
71
56
  });
72
57
 
73
- const slots = useSlots();
74
-
75
58
  const shiftingIntro = inject<
76
59
  | {
77
60
  active: ComputedRef<boolean>;
@@ -129,46 +112,6 @@ provide<ITableComparisonContext>(TABLE_COMPARISON_KEY, {
129
112
  animation: isAnimated,
130
113
  });
131
114
 
132
- function isSignificantNode(node: VNode): boolean {
133
- if (typeof node.type === 'symbol') {
134
- if (typeof node.children === 'string' && !node.children.trim()) {
135
- return false;
136
- }
137
- }
138
-
139
- if (typeof node.children === 'string' && !node.children.trim()) {
140
- return false;
141
- }
142
-
143
- return true;
144
- }
145
-
146
- function flattenVNodes(nodes: VNode[]): VNode[] {
147
- const result: VNode[] = [];
148
-
149
- for (const node of nodes) {
150
- if (node.type === Fragment && Array.isArray(node.children)) {
151
- result.push(...flattenVNodes(node.children as VNode[]));
152
- } else if (isSignificantNode(node)) {
153
- result.push(node);
154
- }
155
- }
156
-
157
- return result;
158
- }
159
-
160
- const defaultNodes = computed(() => {
161
- if (!slots.default) {
162
- return [];
163
- }
164
-
165
- return flattenVNodes(slots.default());
166
- });
167
-
168
- const hasCustomContent = computed(() => {
169
- return defaultNodes.value.length > 0;
170
- });
171
-
172
115
  const tableStyle = computed(() => {
173
116
  return {
174
117
  width: resolvedWidth.value,
@@ -185,7 +128,9 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
185
128
  </script>
186
129
 
187
130
  <template>
188
- <div class="alpha-table-comparison-wrapper w-full flex items-center justify-center overflow-x-auto">
131
+ <div
132
+ class="alpha-table-comparison-wrapper w-full flex items-center justify-center overflow-x-auto"
133
+ >
189
134
  <table
190
135
  v-bind="forwardedAttrs()"
191
136
  :class="[
@@ -194,34 +139,7 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
194
139
  ]"
195
140
  :style="tableStyle"
196
141
  >
197
- <template v-if="hasCustomContent">
198
- <slot />
199
- </template>
200
- <template v-else>
201
- <TableComparisonCols>
202
- <TableComparisonCol
203
- v-for="col in DEFAULT_MOCKUP_COLS"
204
- :key="col.title"
205
- :color="col.color"
206
- >
207
- {{ col.title }}
208
- </TableComparisonCol>
209
- </TableComparisonCols>
210
- <TableComparisonRows>
211
- <TableComparisonRow
212
- v-for="row in DEFAULT_MOCKUP_ROWS"
213
- :key="row.title"
214
- :title="row.title"
215
- >
216
- <TableComparisonCell
217
- v-for="(cellText, idx) in row.cells"
218
- :key="idx"
219
- >
220
- {{ cellText }}
221
- </TableComparisonCell>
222
- </TableComparisonRow>
223
- </TableComparisonRows>
224
- </template>
142
+ <slot />
225
143
  </table>
226
144
  </div>
227
145
  </template>
@@ -242,13 +160,15 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
242
160
  }
243
161
  }
244
162
 
245
- .alpha-table-comparison :deep(tr) {
246
- background-color: transparent;
247
- border: none;
248
- }
163
+ @layer alpha-theme-tokens {
164
+ .alpha-table-comparison :deep(tr) {
165
+ background-color: transparent;
166
+ border: none;
167
+ }
249
168
 
250
- .alpha-table-comparison :deep(th),
251
- .alpha-table-comparison :deep(td) {
252
- border: none;
169
+ .alpha-table-comparison :deep(th),
170
+ .alpha-table-comparison :deep(td) {
171
+ border: none;
172
+ }
253
173
  }
254
174
  </style>
@@ -6,7 +6,7 @@ import {
6
6
  DEFAULT_CELL_COLOR,
7
7
  resolveDimension,
8
8
  TABLE_COMPARISON_KEY,
9
- } from '../../../utils/tableComparison';
9
+ } from '../../../utils/comparisons/table-comparison';
10
10
  import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
11
11
 
12
12
  defineOptions({
@@ -15,7 +15,6 @@ defineOptions({
15
15
  });
16
16
 
17
17
  export interface ITableComparisonCellProps {
18
- readonly text?: string | number;
19
18
  readonly color?: string;
20
19
  readonly bg?: string;
21
20
  readonly textColor?: string;
@@ -24,7 +23,6 @@ export interface ITableComparisonCellProps {
24
23
  }
25
24
 
26
25
  const props = withDefaults(defineProps<ITableComparisonCellProps>(), {
27
- text: undefined,
28
26
  color: undefined,
29
27
  bg: undefined,
30
28
  textColor: undefined,
@@ -56,33 +54,37 @@ const resolvedPadding = computed(() => {
56
54
  return tableContext?.dense.value ? 'py-2 px-3' : 'py-3 px-4';
57
55
  });
58
56
 
57
+ const resolvedAlignClasses = computed(() => {
58
+ if (props.align === 'left') {
59
+ return 'text-left [&_p]:text-left';
60
+ }
61
+
62
+ if (props.align === 'right') {
63
+ return 'text-right [&_p]:text-right';
64
+ }
65
+
66
+ return 'text-center [&_p]:text-center';
67
+ });
68
+
59
69
  const cellStyle = computed(() => {
60
70
  return {
61
- backgroundColor: resolvedBg.value,
62
- color: resolvedTextColor.value,
71
+ ...(!resolvedBg.value.includes('--alpha-table-comparison-cell-bg')
72
+ ? { '--alpha-table-comparison-cell-bg': resolvedBg.value }
73
+ : {}),
74
+ ...(!resolvedTextColor.value.includes('--alpha-table-comparison-cell')
75
+ ? { '--alpha-table-comparison-cell': resolvedTextColor.value }
76
+ : {}),
63
77
  borderRadius: resolvedBorderRadius.value,
64
- fontSize: '1rem',
65
- textAlign: props.align,
66
- verticalAlign: 'middle' as const,
67
78
  };
68
79
  });
69
80
 
70
81
  const { className, forwardedAttrs } = useMergedUnoAttrs(() => {
71
- return `alpha-table-comparison-cell font-medium text-[1rem] leading-relaxed align-middle transition-all duration-200 select-text [&_p]:text-[1rem] [&_p]:m-0 ${resolvedPadding.value}`;
82
+ return `alpha-table-comparison-cell bg-(--alpha-table-comparison-cell-bg) text-(--alpha-table-comparison-cell) font-medium text-[1rem] leading-relaxed align-middle transition-all duration-200 select-text [&_p]:text-[1rem] [&_p]:m-0 ${resolvedPadding.value} ${resolvedAlignClasses.value}`;
72
83
  });
73
84
  </script>
74
85
 
75
86
  <template>
76
- <td
77
- v-bind="forwardedAttrs()"
78
- :class="[
79
- className(),
80
- align === 'center' ? 'text-center [&_p]:text-center' : '',
81
- align === 'left' ? 'text-left [&_p]:text-left' : '',
82
- align === 'right' ? 'text-right [&_p]:text-right' : '',
83
- ]"
84
- :style="cellStyle"
85
- >
86
- <slot>{{ text }}</slot>
87
+ <td v-bind="forwardedAttrs()" :class="className()" :style="cellStyle">
88
+ <slot />
87
89
  </td>
88
90
  </template>
@@ -7,24 +7,22 @@ import {
7
7
  resolveDimension,
8
8
  TABLE_COMPARISON_COLS_KEY,
9
9
  TABLE_COMPARISON_KEY,
10
- } from '../../../utils/tableComparison';
10
+ } from '../../../utils/comparisons/table-comparison';
11
11
  import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
12
12
 
13
13
  defineOptions({
14
14
  inheritAttrs: false,
15
- name: 'TableComparisonCol',
15
+ name: 'TableComparisonColumn',
16
16
  });
17
17
 
18
- export interface ITableComparisonColProps {
19
- readonly title?: string;
18
+ export interface ITableComparisonColumnProps {
20
19
  readonly color?: string;
21
20
  readonly textColor?: string;
22
21
  readonly width?: number | string;
23
22
  readonly borderRadius?: number | string;
24
23
  }
25
24
 
26
- const props = withDefaults(defineProps<ITableComparisonColProps>(), {
27
- title: undefined,
25
+ const props = withDefaults(defineProps<ITableComparisonColumnProps>(), {
28
26
  color: undefined,
29
27
  textColor: undefined,
30
28
  width: undefined,
@@ -41,7 +39,8 @@ const resolvedColor = computed(() => {
41
39
  return props.color;
42
40
  }
43
41
 
44
- return DEFAULT_COL_COLORS[autoIndex % DEFAULT_COL_COLORS.length];
42
+ const index = autoIndex % DEFAULT_COL_COLORS.length;
43
+ return `var(--alpha-table-comparison-col-${index + 1}-background, ${DEFAULT_COL_COLORS[index]})`;
45
44
  });
46
45
 
47
46
  const resolvedTextColor = computed(() => {
@@ -70,18 +69,21 @@ const resolvedPadding = computed(() => {
70
69
 
71
70
  const colStyle = computed(() => {
72
71
  return {
73
- backgroundColor: resolvedColor.value,
74
- color: resolvedTextColor.value,
72
+ ...(!resolvedColor.value.includes(
73
+ '--alpha-table-comparison-col-1-background',
74
+ )
75
+ ? { '--alpha-table-comparison-col-1-background': resolvedColor.value }
76
+ : {}),
77
+ ...(!resolvedTextColor.value.includes('--alpha-table-comparison-col')
78
+ ? { '--alpha-table-comparison-col': resolvedTextColor.value }
79
+ : {}),
75
80
  borderRadius: resolvedBorderRadius.value,
76
81
  width: resolvedWidth.value,
77
- fontSize: '1rem',
78
- textAlign: 'center' as const,
79
- verticalAlign: 'middle' as const,
80
82
  };
81
83
  });
82
84
 
83
85
  const { className, forwardedAttrs } = useMergedUnoAttrs(() => {
84
- return `alpha-table-comparison-col font-bold uppercase tracking-wider text-[1rem] leading-snug text-center align-middle select-text transition-all duration-200 [&_p]:text-[1rem] [&_p]:text-center [&_p]:m-0 ${resolvedPadding.value}`;
86
+ return `alpha-table-comparison-col bg-(--alpha-table-comparison-col-1-background) text-(--alpha-table-comparison-col) font-bold uppercase tracking-wider text-[1rem] leading-snug text-center align-middle select-text transition-all duration-200 [&_p]:text-[1rem] [&_p]:text-center [&_p]:m-0 ${resolvedPadding.value}`;
85
87
  });
86
88
  </script>
87
89
 
@@ -92,6 +94,6 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(() => {
92
94
  :class="className()"
93
95
  :style="colStyle"
94
96
  >
95
- <slot>{{ title }}</slot>
97
+ <slot />
96
98
  </th>
97
99
  </template>
@@ -6,19 +6,19 @@ import {
6
6
  resolveDimension,
7
7
  TABLE_COMPARISON_COLS_KEY,
8
8
  TABLE_COMPARISON_KEY,
9
- } from '../../../utils/tableComparison';
9
+ } from '../../../utils/comparisons/table-comparison';
10
10
  import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
11
11
 
12
12
  defineOptions({
13
13
  inheritAttrs: false,
14
- name: 'TableComparisonCols',
14
+ name: 'TableComparisonColumns',
15
15
  });
16
16
 
17
- export interface ITableComparisonColsProps {
17
+ export interface ITableComparisonColumnsProps {
18
18
  readonly cornerWidth?: number | string;
19
19
  }
20
20
 
21
- const props = withDefaults(defineProps<ITableComparisonColsProps>(), {
21
+ const props = withDefaults(defineProps<ITableComparisonColumnsProps>(), {
22
22
  cornerWidth: undefined,
23
23
  });
24
24
 
@@ -57,10 +57,7 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
57
57
  </script>
58
58
 
59
59
  <template>
60
- <thead
61
- v-bind="forwardedAttrs()"
62
- :class="className()"
63
- >
60
+ <thead v-bind="forwardedAttrs()" :class="className()">
64
61
  <tr>
65
62
  <th
66
63
  scope="col"
@@ -6,7 +6,7 @@ import {
6
6
  DEFAULT_ROW_HEADER_TEXT_COLOR,
7
7
  resolveDimension,
8
8
  TABLE_COMPARISON_KEY,
9
- } from '../../../utils/tableComparison';
9
+ } from '../../../utils/comparisons/table-comparison';
10
10
  import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
11
11
 
12
12
  defineOptions({
@@ -15,14 +15,12 @@ defineOptions({
15
15
  });
16
16
 
17
17
  export interface ITableComparisonRowProps {
18
- readonly title?: string;
19
18
  readonly color?: string;
20
19
  readonly textColor?: string;
21
20
  readonly borderRadius?: number | string;
22
21
  }
23
22
 
24
23
  const props = withDefaults(defineProps<ITableComparisonRowProps>(), {
25
- title: undefined,
26
24
  color: undefined,
27
25
  textColor: undefined,
28
26
  borderRadius: undefined,
@@ -60,12 +58,13 @@ const resolvedPadding = computed(() => {
60
58
 
61
59
  const headerStyle = computed(() => {
62
60
  return {
63
- backgroundColor: resolvedBg.value,
64
- color: resolvedTextColor.value,
61
+ ...(!resolvedBg.value.includes('--alpha-table-comparison-row-bg')
62
+ ? { '--alpha-table-comparison-row-bg': resolvedBg.value }
63
+ : {}),
64
+ ...(!resolvedTextColor.value.includes('--alpha-table-comparison-row')
65
+ ? { '--alpha-table-comparison-row': resolvedTextColor.value }
66
+ : {}),
65
67
  borderRadius: resolvedBorderRadius.value,
66
- fontSize: '1rem',
67
- textAlign: 'center' as const,
68
- verticalAlign: 'middle' as const,
69
68
  };
70
69
  });
71
70
 
@@ -75,17 +74,14 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
75
74
  </script>
76
75
 
77
76
  <template>
78
- <tr
79
- v-bind="forwardedAttrs()"
80
- :class="className()"
81
- >
77
+ <tr v-bind="forwardedAttrs()" :class="className()">
82
78
  <th
83
79
  scope="row"
84
- class="alpha-table-comparison-row-title font-bold uppercase tracking-wider text-[1rem] leading-snug text-center align-middle select-text transition-all duration-200 [&_p]:text-[1rem] [&_p]:text-center [&_p]:m-0"
80
+ class="alpha-table-comparison-row-title bg-(--alpha-table-comparison-row-bg) text-(--alpha-table-comparison-row) font-bold uppercase tracking-wider text-[1rem] leading-snug text-center align-middle select-text transition-all duration-200 [&_p]:text-[1rem] [&_p]:text-center [&_p]:m-0"
85
81
  :class="resolvedPadding"
86
82
  :style="headerStyle"
87
83
  >
88
- <slot name="title">{{ title }}</slot>
84
+ <slot name="heading" />
89
85
  </th>
90
86
  <slot />
91
87
  </tr>
@@ -12,10 +12,7 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(
12
12
  </script>
13
13
 
14
14
  <template>
15
- <tbody
16
- v-bind="forwardedAttrs()"
17
- :class="className()"
18
- >
15
+ <tbody v-bind="forwardedAttrs()" :class="className()">
19
16
  <slot />
20
17
  </tbody>
21
18
  </template>
@@ -0,0 +1,15 @@
1
+ /* Color defaults shared by this component family. */
2
+ @layer alpha-theme-tokens {
3
+ :root {
4
+ --alpha-table-comparison-cell: var(--alpha-foreground-primary, #475569);
5
+ --alpha-table-comparison-cell-bg: #d6e5ef;
6
+ --alpha-table-comparison-col: #ffffff;
7
+ --alpha-table-comparison-col-1-background: #354f82;
8
+ --alpha-table-comparison-col-2-background: #5b8bb3;
9
+ --alpha-table-comparison-col-3-background: #00a8a8;
10
+ --alpha-table-comparison-col-4-background: #00b884;
11
+ --alpha-table-comparison-col-5-background: #00875a;
12
+ --alpha-table-comparison-row: #ffffff;
13
+ --alpha-table-comparison-row-bg: #2e8b9a;
14
+ }
15
+ }
@@ -25,10 +25,7 @@ const { className, forwardedAttrs } = useMergedUnoAttrs('alpha-date');
25
25
  </script>
26
26
 
27
27
  <template>
28
- <div
29
- v-bind="forwardedAttrs()"
30
- :class="className()"
31
- >
28
+ <p v-bind="forwardedAttrs()" :class="className()">
32
29
  Date: {{ formattedDate }}
33
- </div>
30
+ </p>
34
31
  </template>
@@ -14,7 +14,7 @@ withDefaults(defineProps<IQnAProps>(), {
14
14
  });
15
15
 
16
16
  const { className, forwardedAttrs } = useMergedUnoAttrs(
17
- 'alpha-qna flex items-center gap-8 text-8xl font-bold color-[#2b90b6]',
17
+ 'alpha-qna flex items-center gap-8 text-8xl font-bold color-[var(--alpha-qna-color)]',
18
18
  );
19
19
  </script>
20
20
 
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import { computed } from 'vue';
3
3
 
4
- import { mergeUno } from '../../utils/mergeUno';
4
+ import { mergeUno } from '../../utils/merge-uno';
5
5
  import { useMergedUnoAttrs } from '../../utils/useMergedUnoAttrs';
6
6
 
7
7
  defineOptions({
@@ -30,11 +30,8 @@ const titleClasses = computed(() => mergeUno('text-center', props.titleClass));
30
30
  </script>
31
31
 
32
32
  <template>
33
- <div
34
- v-bind="forwardedAttrs()"
35
- :class="className()"
36
- >
37
- <h1 :class="titleClasses">"{{ text }}"</h1>
33
+ <div v-bind="forwardedAttrs()" :class="className()">
34
+ <h3 :class="titleClasses">"{{ text }}"</h3>
38
35
  <p v-if="author" class="self-end">— {{ author }}</p>
39
36
  </div>
40
37
  </template>
@@ -18,7 +18,7 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(`
18
18
  text-center
19
19
  font-bold
20
20
  tracking-tight
21
- text-[#a5f3fc]
21
+ text-(--alpha-reflected-title-color)
22
22
  after:content-[attr(data-title)]
23
23
  after:block
24
24
  after:mt-2
@@ -38,11 +38,7 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(`
38
38
  </script>
39
39
 
40
40
  <template>
41
- <h1
42
- v-bind="forwardedAttrs()"
43
- :class="className()"
44
- :data-title="title"
45
- >
41
+ <h1 v-bind="forwardedAttrs()" :class="className()" :data-title="title">
46
42
  {{ title }}
47
43
  </h1>
48
44
  </template>
@@ -25,24 +25,19 @@ const props = defineProps({
25
25
  });
26
26
 
27
27
  const { className, forwardedAttrs } = useMergedUnoAttrs(() => [
28
- 'alpha-speaker flex absolute bottom-[15px] right-[30px] flex-col',
28
+ 'alpha-speaker flex absolute bottom-3.75 right-7.5 flex-col',
29
29
  props.team.length ? 'text-left gap-2' : undefined,
30
30
  ]);
31
31
  </script>
32
32
 
33
33
  <template>
34
- <div
35
- v-bind="forwardedAttrs()"
36
- :class="className()"
37
- >
34
+ <div v-bind="forwardedAttrs()" :class="className()">
38
35
  <div v-if="team.length">
39
- <div v-for="member in team" :key="member as string">
36
+ <p v-for="member in team" :key="member as string">
40
37
  {{ member }}
41
- </div>
42
- </div>
43
- <div v-else>
44
- Author: {{ author }}
38
+ </p>
45
39
  </div>
40
+ <p v-else>Author: {{ author }}</p>
46
41
  <Date :date="date" />
47
42
  </div>
48
43
  </template>
@@ -19,16 +19,13 @@ const { className, forwardedAttrs } = useMergedUnoAttrs(() => [
19
19
  'alpha-transition-heading transition-all duration-700 ease-in-out absolute w-fit whitespace-nowrap',
20
20
  {
21
21
  'top-[50%] left-[50%] translate-[-50%,-50%]': props.center,
22
- 'top-[2.5rem] left-[3rem] translate-[0,0]': props.idle || !props.center,
22
+ 'top-10 left-12 translate-[0,0]': props.idle || !props.center,
23
23
  },
24
24
  ]);
25
25
  </script>
26
26
 
27
27
  <template>
28
- <div
29
- v-bind="forwardedAttrs()"
30
- :class="className()"
31
- >
28
+ <div v-bind="forwardedAttrs()" :class="className()">
32
29
  <slot />
33
30
  </div>
34
31
  </template>