@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
@@ -17,33 +17,28 @@ import {
17
17
  type IArcArrowProcessItem,
18
18
  type IResolvedArcArrowProcessItem,
19
19
  resolveSingleArcArrowProcessItem,
20
- } from '../../../utils/arcArrowProcess';
21
- import ArcArrowProcessContent from './ArcArrowProcessContent.vue';
22
- import ArcArrowProcessHeading from './ArcArrowProcessHeading.vue';
23
- import ArcArrowProcessIcon from './ArcArrowProcessIcon.vue';
20
+ } from '../../../utils/process/arc-arrow-process';
21
+ import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
24
22
 
25
23
  defineOptions({
26
24
  name: 'ArcArrowProcessCallout',
25
+ inheritAttrs: false,
27
26
  });
28
27
 
29
28
  export interface IArcArrowProcessCalloutProps {
30
29
  readonly id?: string | number;
31
30
  readonly index?: number;
32
- readonly icon?: string | object | false;
33
31
  readonly color?: string;
34
32
  readonly textColor?: string;
35
- readonly title?: string;
36
- readonly description?: string;
33
+ readonly titleColor?: string;
37
34
  }
38
35
 
39
36
  const props = withDefaults(defineProps<IArcArrowProcessCalloutProps>(), {
40
37
  id: undefined,
41
38
  index: undefined,
42
- icon: undefined,
43
39
  color: undefined,
44
40
  textColor: undefined,
45
- title: undefined,
46
- description: undefined,
41
+ titleColor: undefined,
47
42
  });
48
43
 
49
44
  interface INamedComponent {
@@ -92,11 +87,8 @@ const activeItem = computed<IResolvedArcArrowProcessItem>(() => {
92
87
  const override: IArcArrowProcessItem = {
93
88
  id: props.id,
94
89
  color: props.color,
95
- icon: props.icon,
96
90
  textColor: props.textColor,
97
- titleColor: props.color,
98
- title: props.title,
99
- description: props.description,
91
+ titleColor: props.titleColor,
100
92
  };
101
93
 
102
94
  return resolveSingleArcArrowProcessItem(
@@ -256,59 +248,30 @@ const animation = computed(() => {
256
248
  });
257
249
 
258
250
  const hasIcon = computed(() => {
259
- if (props.icon === false || props.icon === 'false') {
260
- return false;
261
- }
262
-
263
- if (slots.icon || iconNode.value) {
264
- return true;
265
- }
266
-
267
- const iconVal = props.icon !== undefined ? props.icon : activeItem.value.icon;
268
-
269
- if (!iconVal || iconVal === 'false') {
270
- return false;
271
- }
272
-
273
- if (typeof iconVal === 'string' && iconVal.trim() === '') {
274
- return false;
275
- }
276
-
277
- return true;
251
+ return Boolean(iconNode.value);
278
252
  });
253
+
254
+ const { className, forwardedAttrs } = useMergedUnoAttrs(
255
+ 'alpha-arc-arrow-process-callout absolute flex items-start justify-between gap-3 text-left font-sans z-10 transition-all duration-300 pointer-events-auto select-none',
256
+ );
279
257
  </script>
280
258
 
281
259
  <template>
282
260
  <div
283
261
  v-if="resolvedIndex < resolvedCount"
284
- :class="[
285
- 'alpha-arc-arrow-process-callout absolute flex items-start justify-between gap-3 text-left z-10 transition-all duration-300 pointer-events-auto select-none',
286
- `alpha-arc-arrow-process-callout--${resolvedIndex}`,
287
- { 'alpha-arc-arrow-process-callout--animated': animation },
288
- ]"
289
- :style="[
290
- positionStyle,
291
- {
292
- fontFamily:
293
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif',
294
- },
295
- ]"
262
+ v-bind="forwardedAttrs()"
263
+ :class="
264
+ className([
265
+ `alpha-arc-arrow-process-callout--${resolvedIndex}`,
266
+ { 'alpha-arc-arrow-process-callout--animated': animation },
267
+ ])
268
+ "
269
+ :style="positionStyle"
296
270
  >
297
271
  <!-- Text Column (Heading + Description) -->
298
272
  <div class="flex-1 flex flex-col items-start min-w-0">
299
- <!-- Title -->
300
- <slot name="title">
301
- <component :is="headingNode" v-if="headingNode" />
302
- <ArcArrowProcessHeading v-else :color="activeItem.titleColor">
303
- {{ activeItem.title }}
304
- </ArcArrowProcessHeading>
305
- </slot>
306
- <!-- Description -->
307
- <slot name="description">
308
- <component :is="contentNode" v-if="contentNode" />
309
- <ArcArrowProcessContent v-else :color="props.textColor">
310
- </ArcArrowProcessContent>
311
- </slot>
273
+ <component :is="headingNode" v-if="headingNode" />
274
+ <component :is="contentNode" v-if="contentNode" />
312
275
  <!-- Other slotted nodes -->
313
276
  <component
314
277
  :is="node"
@@ -318,34 +281,30 @@ const hasIcon = computed(() => {
318
281
  </div>
319
282
  <!-- Outline Icon beside text block -->
320
283
  <div v-if="hasIcon" class="shrink-0 mt-1">
321
- <slot name="icon">
322
- <component :is="iconNode" v-if="iconNode" />
323
- <ArcArrowProcessIcon
324
- v-else
325
- :icon="activeItem.icon"
326
- :color="activeItem.titleColor"
327
- :size="36"
328
- />
329
- </slot>
284
+ <component :is="iconNode" v-if="iconNode" />
330
285
  </div>
331
286
  </div>
332
287
  </template>
333
288
 
334
289
  <style scoped>
335
290
  .alpha-arc-arrow-process-callout--animated.alpha-arc-arrow-process-callout--0 {
336
- animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) calc(var(--arc-arrow-start-delay, 0ms) + 120ms) both;
291
+ animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)
292
+ calc(var(--arc-arrow-start-delay, 0ms) + 120ms) both;
337
293
  }
338
294
 
339
295
  .alpha-arc-arrow-process-callout--animated.alpha-arc-arrow-process-callout--1 {
340
- animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) calc(var(--arc-arrow-start-delay, 0ms) + 200ms) both;
296
+ animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)
297
+ calc(var(--arc-arrow-start-delay, 0ms) + 200ms) both;
341
298
  }
342
299
 
343
300
  .alpha-arc-arrow-process-callout--animated.alpha-arc-arrow-process-callout--2 {
344
- animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) calc(var(--arc-arrow-start-delay, 0ms) + 280ms) both;
301
+ animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)
302
+ calc(var(--arc-arrow-start-delay, 0ms) + 280ms) both;
345
303
  }
346
304
 
347
305
  .alpha-arc-arrow-process-callout--animated.alpha-arc-arrow-process-callout--3 {
348
- animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1) calc(var(--arc-arrow-start-delay, 0ms) + 360ms) both;
306
+ animation: arc-arrow-callout-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)
307
+ calc(var(--arc-arrow-start-delay, 0ms) + 360ms) both;
349
308
  }
350
309
 
351
310
  @keyframes arc-arrow-callout-fade {
@@ -1,10 +1,12 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, inject } from 'vue';
3
3
 
4
- import { ARC_ARROW_PROCESS_CALLOUT_KEY } from '../../../utils/arcArrowProcess';
4
+ import { ARC_ARROW_PROCESS_CALLOUT_KEY } from '../../../utils/process/arc-arrow-process';
5
+ import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
5
6
 
6
7
  defineOptions({
7
8
  name: 'ArcArrowProcessContent',
9
+ inheritAttrs: false,
8
10
  });
9
11
 
10
12
  export interface IArcArrowProcessContentProps {
@@ -18,21 +20,24 @@ const props = withDefaults(defineProps<IArcArrowProcessContentProps>(), {
18
20
  const calloutContext = inject(ARC_ARROW_PROCESS_CALLOUT_KEY, undefined);
19
21
 
20
22
  const contentColor = computed(() => {
21
- return props.color;
23
+ return props.color ?? calloutContext?.item.value.textColor;
22
24
  });
25
+
26
+ const { className, forwardedAttrs } = useMergedUnoAttrs(
27
+ 'alpha-arc-arrow-process-content font-sans leading-[1.45] font-normal text-(--alpha-arc-arrow-process-content) select-none',
28
+ );
23
29
  </script>
24
30
 
25
31
  <template>
26
- <div
27
- class="alpha-arc-arrow-process-content text-[1rem] leading-[1.45] font-normal select-none"
28
- :style="{
29
- color: contentColor,
30
- fontFamily:
31
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif',
32
- }"
32
+ <p
33
+ v-bind="forwardedAttrs()"
34
+ :class="className()"
35
+ :style="
36
+ contentColor && !contentColor.includes('--alpha-arc-arrow-process-content')
37
+ ? { '--alpha-arc-arrow-process-content': contentColor }
38
+ : undefined
39
+ "
33
40
  >
34
- <slot>
35
- {{ calloutContext?.item.value.description }}
36
- </slot>
37
- </div>
41
+ <slot />
42
+ </p>
38
43
  </template>
@@ -1,10 +1,12 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, inject } from 'vue';
3
3
 
4
- import { ARC_ARROW_PROCESS_CALLOUT_KEY } from '../../../utils/arcArrowProcess';
4
+ import { ARC_ARROW_PROCESS_CALLOUT_KEY } from '../../../utils/process/arc-arrow-process';
5
+ import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
5
6
 
6
7
  defineOptions({
7
8
  name: 'ArcArrowProcessHeading',
9
+ inheritAttrs: false,
8
10
  });
9
11
 
10
12
  export interface IArcArrowProcessHeadingProps {
@@ -18,26 +20,24 @@ const props = withDefaults(defineProps<IArcArrowProcessHeadingProps>(), {
18
20
  const calloutContext = inject(ARC_ARROW_PROCESS_CALLOUT_KEY, undefined);
19
21
 
20
22
  const headingColor = computed(() => {
21
- return (
22
- props.color ??
23
- calloutContext?.item.value.color ??
24
- calloutContext?.item.value.titleColor ??
25
- '#1e293b'
26
- );
23
+ return props.color ?? calloutContext?.item.value.titleColor;
27
24
  });
25
+
26
+ const { className, forwardedAttrs } = useMergedUnoAttrs(
27
+ 'alpha-arc-arrow-process-heading mb-1.5 font-sans font-bold leading-tight text-(--alpha-arc-arrow-process-heading) select-none',
28
+ );
28
29
  </script>
29
30
 
30
31
  <template>
31
- <div
32
- class="alpha-arc-arrow-process-heading font-bold text-[1.25rem] leading-tight mb-1.5 select-none"
33
- :style="{
34
- color: headingColor,
35
- fontFamily:
36
- 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif',
37
- }"
32
+ <h4
33
+ v-bind="forwardedAttrs()"
34
+ :class="className()"
35
+ :style="
36
+ headingColor && !headingColor.includes('--alpha-arc-arrow-process-heading')
37
+ ? { '--alpha-arc-arrow-process-heading': headingColor }
38
+ : undefined
39
+ "
38
40
  >
39
- <slot>
40
- {{ calloutContext?.item.value.title }}
41
- </slot>
42
- </div>
41
+ <slot>{{ '' }}</slot>
42
+ </h4>
43
43
  </template>
@@ -1,8 +1,11 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, useSlots } from 'vue';
3
3
 
4
+ import { useMergedUnoAttrs } from '../../../utils/useMergedUnoAttrs';
5
+
4
6
  defineOptions({
5
7
  name: 'ArcArrowProcessIcon',
8
+ inheritAttrs: false,
6
9
  });
7
10
 
8
11
  export interface IArcArrowProcessIconProps {
@@ -14,7 +17,7 @@ export interface IArcArrowProcessIconProps {
14
17
  const props = withDefaults(defineProps<IArcArrowProcessIconProps>(), {
15
18
  size: 36,
16
19
  icon: undefined,
17
- color: '#888d94',
20
+ color: undefined,
18
21
  });
19
22
 
20
23
  const slots = useSlots();
@@ -64,14 +67,19 @@ const isInbox = computed((): boolean => {
64
67
  const isBriefcase = computed((): boolean => {
65
68
  return props.icon === 'briefcase';
66
69
  });
70
+
71
+ const { className, forwardedAttrs } = useMergedUnoAttrs(
72
+ 'alpha-arc-arrow-process-icon flex items-center justify-center shrink-0 text-(--alpha-arc-arrow-process-icon) pointer-events-none select-none opacity-85',
73
+ );
67
74
  </script>
68
75
 
69
76
  <template>
70
77
  <div
71
78
  v-if="hasIcon"
72
- class="alpha-arc-arrow-process-icon flex items-center justify-center shrink-0 pointer-events-none select-none opacity-85"
79
+ v-bind="forwardedAttrs()"
80
+ :class="className()"
73
81
  :style="{
74
- color: props.color,
82
+ ...(props.color ? { '--alpha-arc-arrow-process-icon': props.color } : {}),
75
83
  width: `${props.size}px`,
76
84
  height: `${props.size}px`,
77
85
  }"
@@ -80,11 +88,11 @@ const isBriefcase = computed((): boolean => {
80
88
  <component
81
89
  :is="props.icon"
82
90
  v-if="isComponentIcon"
83
- class="w-full h-full"
84
- :style="{ color: props.color }"
91
+ class="w-full h-full text-current"
85
92
  />
86
93
  <!-- Built-in Folder Outline Icon matching design reference -->
87
94
  <svg
95
+ aria-hidden="true"
88
96
  v-else-if="isFolder"
89
97
  class="w-full h-full"
90
98
  viewBox="0 0 24 24"
@@ -94,10 +102,13 @@ const isBriefcase = computed((): boolean => {
94
102
  stroke-linecap="round"
95
103
  stroke-linejoin="round"
96
104
  >
97
- <path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z" />
105
+ <path
106
+ d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"
107
+ />
98
108
  </svg>
99
109
  <!-- Built-in Inbox/Tray Outline Icon matching design reference -->
100
110
  <svg
111
+ aria-hidden="true"
101
112
  v-else-if="isInbox"
102
113
  class="w-full h-full"
103
114
  viewBox="0 0 24 24"
@@ -109,10 +120,13 @@ const isBriefcase = computed((): boolean => {
109
120
  >
110
121
  <path d="M12 3v10" />
111
122
  <path d="m8 9 4 4 4-4" />
112
- <path d="M3 14h5.2a2 2 0 0 1 1.6.8l1.2 1.6c.4.6 1 .9 1.8.9h0c.8 0 1.4-.3 1.8-.9l1.2-1.6a2 2 0 0 1 1.6-.8H21v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Z" />
123
+ <path
124
+ d="M3 14h5.2a2 2 0 0 1 1.6.8l1.2 1.6c.4.6 1 .9 1.8.9h0c.8 0 1.4-.3 1.8-.9l1.2-1.6a2 2 0 0 1 1.6-.8H21v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Z"
125
+ />
113
126
  </svg>
114
127
  <!-- Built-in Briefcase Outline Icon matching design reference -->
115
128
  <svg
129
+ aria-hidden="true"
116
130
  v-else-if="isBriefcase"
117
131
  class="w-full h-full"
118
132
  viewBox="0 0 24 24"
@@ -130,9 +144,8 @@ const isBriefcase = computed((): boolean => {
130
144
  <span
131
145
  v-else-if="isStringIcon && resolvedIconClass"
132
146
  :class="resolvedIconClass"
133
- class="inline-block"
147
+ class="inline-block text-current"
134
148
  :style="{
135
- color: props.color,
136
149
  width: `${props.size}px`,
137
150
  height: `${props.size}px`,
138
151
  fontSize: `${props.size}px`,
@@ -141,9 +154,8 @@ const isBriefcase = computed((): boolean => {
141
154
  <!-- Text fallback -->
142
155
  <span
143
156
  v-else-if="isStringIcon"
144
- class="inline-block font-semibold"
157
+ class="inline-block font-semibold text-current"
145
158
  :style="{
146
- color: props.color,
147
159
  fontSize: `${props.size * 0.75}px`,
148
160
  }"
149
161
  >
@@ -0,0 +1,20 @@
1
+ /* Color defaults shared by this component family. */
2
+ @layer alpha-theme-tokens {
3
+ :root {
4
+ --alpha-arc-arrow-process-content: var(--alpha-foreground-primary, #475569);
5
+ --alpha-arc-arrow-process-arrow: #6fa3b5;
6
+ --alpha-arc-arrow-process-arrow-gradient-end: #8cb8c8;
7
+ --alpha-arc-arrow-process-arrow-shadow: #000000;
8
+ --alpha-arc-arrow-process-arrow-stroke: #ffffff;
9
+ --alpha-arc-arrow-process-heading: var(--alpha-foreground-primary, #1e293b);
10
+ --alpha-arc-arrow-process-icon: #888d94;
11
+ --alpha-arc-arrow-process-item-1-color: #a0a5aa;
12
+ --alpha-arc-arrow-process-item-1-gradient-end: #8e959f;
13
+ --alpha-arc-arrow-process-item-2-color: #2c485d;
14
+ --alpha-arc-arrow-process-item-2-gradient-end: #334e68;
15
+ --alpha-arc-arrow-process-item-3-color: #6fa3b5;
16
+ --alpha-arc-arrow-process-item-3-gradient-end: #7fb0c0;
17
+ --alpha-arc-arrow-process-item-4-color: #d6284d;
18
+ --alpha-arc-arrow-process-item-4-gradient-end: #e63964;
19
+ }
20
+ }