@troshab/slidev-theme-troshab 0.1.0

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 (168) hide show
  1. package/CLAUDE.md +537 -0
  2. package/LICENSE +134 -0
  3. package/README.md +168 -0
  4. package/SKILL.md +414 -0
  5. package/components/AnimatedCounter.vue +35 -0
  6. package/components/Background.vue +204 -0
  7. package/components/Callout.vue +135 -0
  8. package/components/Card.vue +75 -0
  9. package/components/CardGrid.vue +67 -0
  10. package/components/CaseStudy.vue +66 -0
  11. package/components/CodeDiff.vue +229 -0
  12. package/components/CodeHighlight.vue +337 -0
  13. package/components/ColorSwatch.vue +114 -0
  14. package/components/Confetti.vue +292 -0
  15. package/components/Conversation.vue +405 -0
  16. package/components/Countdown.vue +476 -0
  17. package/components/Definition.vue +59 -0
  18. package/components/DeviceMockup.vue +392 -0
  19. package/components/Funnel.vue +87 -0
  20. package/components/Icon.vue +73 -0
  21. package/components/Iframe.vue +38 -0
  22. package/components/Image.vue +69 -0
  23. package/components/ImageCompare.vue +436 -0
  24. package/components/MatrixGrid.vue +85 -0
  25. package/components/MermaidChart.vue +299 -0
  26. package/components/Metric.vue +161 -0
  27. package/components/PersonCard.vue +165 -0
  28. package/components/PricingTable.vue +144 -0
  29. package/components/Progress.vue +100 -0
  30. package/components/Pyramid.vue +81 -0
  31. package/components/QRCode.vue +137 -0
  32. package/components/QuoteBlock.vue +101 -0
  33. package/components/SpeechBubble.vue +169 -0
  34. package/components/Stepper.vue +542 -0
  35. package/components/StyledList.vue +156 -0
  36. package/components/StyledText.vue +275 -0
  37. package/components/SwotGrid.vue +99 -0
  38. package/components/Tags.vue +20 -0
  39. package/components/Testimonial.vue +243 -0
  40. package/components/Typewriter.vue +181 -0
  41. package/components_base/AnimatedCounter.vue +208 -0
  42. package/components_base/CodeHighlight.vue +364 -0
  43. package/composables/useColors.ts +101 -0
  44. package/composables/useShiki.ts +81 -0
  45. package/example_content.md +371 -0
  46. package/example_dark.md +10 -0
  47. package/example_slides/001-cover.md +15 -0
  48. package/example_slides/002-agenda.md +25 -0
  49. package/example_slides/003-section-layouts.md +14 -0
  50. package/example_slides/004-fullscreen-centered.md +7 -0
  51. package/example_slides/005-fullscreen-align-bottom.md +14 -0
  52. package/example_slides/006-fullscreen-no-padding.md +14 -0
  53. package/example_slides/007-fullscreen-bg-image-dark.md +13 -0
  54. package/example_slides/008-fullscreen-bg-image-light.md +13 -0
  55. package/example_slides/009-fullscreen-bg-gradient.md +15 -0
  56. package/example_slides/010-fullscreen-bg-color.md +13 -0
  57. package/example_slides/011-split-basic.md +17 -0
  58. package/example_slides/012-split-image-text.md +18 -0
  59. package/example_slides/013-split-contrast.md +22 -0
  60. package/example_slides/014-columns-basic.md +13 -0
  61. package/example_slides/015-columns-two.md +26 -0
  62. package/example_slides/016-columns-ratios.md +22 -0
  63. package/example_slides/017-columns-three.md +31 -0
  64. package/example_slides/018-columns-four.md +22 -0
  65. package/example_slides/019-columns-alignment.md +23 -0
  66. package/example_slides/020-columns-styled.md +21 -0
  67. package/example_slides/021-footnote-prop.md +16 -0
  68. package/example_slides/022-iframe-fullscreen.md +8 -0
  69. package/example_slides/023-iframe-split.md +18 -0
  70. package/example_slides/024-section-components.md +14 -0
  71. package/example_slides/025-styled-text.md +9 -0
  72. package/example_slides/026-styled-text.md +15 -0
  73. package/example_slides/027-text-formatting.md +28 -0
  74. package/example_slides/028-text-spoiler.md +15 -0
  75. package/example_slides/029-icon-component.md +47 -0
  76. package/example_slides/030-metric-component.md +29 -0
  77. package/example_slides/031-person-card.md +33 -0
  78. package/example_slides/032-styled-list.md +50 -0
  79. package/example_slides/033-color-swatch.md +35 -0
  80. package/example_slides/034-code-highlight.md +9 -0
  81. package/example_slides/035-iframe-component.md +9 -0
  82. package/example_slides/036-callout.md +15 -0
  83. package/example_slides/037-card-grid.md +27 -0
  84. package/example_slides/038-stepper-variants.md +18 -0
  85. package/example_slides/039-stepper-clicks.md +49 -0
  86. package/example_slides/040-stepper-interactive.md +28 -0
  87. package/example_slides/041-tags-progress.md +21 -0
  88. package/example_slides/042-speech-bubble.md +30 -0
  89. package/example_slides/043-conversation.md +13 -0
  90. package/example_slides/044-device-iphone.md +26 -0
  91. package/example_slides/045-device-browser.md +7 -0
  92. package/example_slides/046-qrcode.md +26 -0
  93. package/example_slides/047-countdown.md +14 -0
  94. package/example_slides/048-typewriter.md +8 -0
  95. package/example_slides/049-confetti.md +16 -0
  96. package/example_slides/050-image-compare.md +13 -0
  97. package/example_slides/051-code-diff.md +24 -0
  98. package/example_slides/052-quote-block.md +8 -0
  99. package/example_slides/053-testimonial.md +26 -0
  100. package/example_slides/054-testimonial-featured.md +16 -0
  101. package/example_slides/055-funnel.md +12 -0
  102. package/example_slides/056-pyramid.md +13 -0
  103. package/example_slides/057-pricing-table.md +9 -0
  104. package/example_slides/058-swot-grid.md +12 -0
  105. package/example_slides/059-matrix-grid.md +12 -0
  106. package/example_slides/060-case-study.md +11 -0
  107. package/example_slides/061-definition.md +15 -0
  108. package/example_slides/062-mermaid-intro.md +34 -0
  109. package/example_slides/063-mermaid-flowchart.md +19 -0
  110. package/example_slides/064-mermaid-sequence.md +17 -0
  111. package/example_slides/065-mermaid-xy-chart.md +16 -0
  112. package/example_slides/066-mermaid-pie.md +17 -0
  113. package/example_slides/067-mermaid-class.md +19 -0
  114. package/example_slides/068-mermaid-state.md +19 -0
  115. package/example_slides/069-mermaid-er.md +22 -0
  116. package/example_slides/070-mermaid-gantt.md +24 -0
  117. package/example_slides/071-mermaid-timeline.md +17 -0
  118. package/example_slides/072-mermaid-mindmap.md +21 -0
  119. package/example_slides/073-mermaid-gitgraph.md +20 -0
  120. package/example_slides/074-mermaid-split.md +30 -0
  121. package/example_slides/075-mermaid-columns.md +32 -0
  122. package/example_slides/076-section-addons.md +14 -0
  123. package/example_slides/077-asciinema.md +27 -0
  124. package/example_slides/078-fancyarrow.md +31 -0
  125. package/example_slides/079-fancyarrow-demo.md +23 -0
  126. package/example_slides/080-section-theme.md +14 -0
  127. package/example_slides/081-color-architecture.md +22 -0
  128. package/example_slides/082-semantic-text-colors.md +25 -0
  129. package/example_slides/083-typography.md +16 -0
  130. package/example_slides/084-typography-rationale.md +22 -0
  131. package/example_slides/085-icons.md +24 -0
  132. package/example_slides/086-tables.md +14 -0
  133. package/example_slides/087-code-blocks.md +18 -0
  134. package/example_slides/088-motion-modes.md +35 -0
  135. package/example_slides/089-slide-transitions.md +31 -0
  136. package/example_slides/090-v-click-reveals.md +40 -0
  137. package/example_slides/091-accessibility.md +27 -0
  138. package/example_slides/092-safe-zone.md +17 -0
  139. package/example_slides/093-questions.md +8 -0
  140. package/example_white.md +10 -0
  141. package/fonts/IBMPlexMono-Medium.woff2 +1449 -0
  142. package/fonts/IBMPlexMono-Regular.woff2 +1449 -0
  143. package/fonts/IBMPlexSans-Bold.woff2 +1449 -0
  144. package/fonts/IBMPlexSans-Medium.woff2 +1449 -0
  145. package/fonts/IBMPlexSans-Regular.woff2 +1449 -0
  146. package/fonts/IBMPlexSans-SemiBold.woff2 +1449 -0
  147. package/fonts/LICENSE.txt +93 -0
  148. package/layouts/slide.vue +251 -0
  149. package/package.json +62 -0
  150. package/public/avatars/alice.png +0 -0
  151. package/public/avatars/bob.png +0 -0
  152. package/public/avatars/carol.png +0 -0
  153. package/scripts/chart-audit.mjs +216 -0
  154. package/scripts/contrast-audit.mjs +299 -0
  155. package/scripts/generate-palette.mjs +395 -0
  156. package/scripts/integrity-audit.mjs +357 -0
  157. package/scripts/shared/css-utils.mjs +216 -0
  158. package/scripts/shiki-audit.mjs +300 -0
  159. package/scripts/typography-audit.mjs +300 -0
  160. package/setup/main.ts +107 -0
  161. package/setup/mermaid.ts +237 -0
  162. package/setup/shiki.ts +40 -0
  163. package/snippets/demo.ts +26 -0
  164. package/styles/base.css +1053 -0
  165. package/styles/colors.css +422 -0
  166. package/styles/index.css +12 -0
  167. package/styles/motion.css +486 -0
  168. package/uno.config.ts +67 -0
@@ -0,0 +1,22 @@
1
+ ---
2
+ layout: slide
3
+ cols: 4
4
+ ---
5
+
6
+ # Four Columns
7
+
8
+ ::col1::
9
+
10
+ <Metric value="99.9%" label="Uptime" color="primary" variant="bare" size="sm" />
11
+
12
+ ::col2::
13
+
14
+ <Metric value="< 50ms" label="Latency" color="success" variant="bare" size="sm" />
15
+
16
+ ::col3::
17
+
18
+ <Metric value="1M+" label="Users" color="info" variant="bare" size="sm" />
19
+
20
+ ::col4::
21
+
22
+ <Metric value="4.9/5" label="Rating" color="warning" variant="bare" size="sm" />
@@ -0,0 +1,23 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ items: bottom
5
+ ---
6
+
7
+ # Vertical Alignment
8
+
9
+ ::col1::
10
+
11
+ ### Short Content
12
+
13
+ This column has less text.
14
+
15
+ ::col2::
16
+
17
+ ### Tall Content
18
+
19
+ This column has more text to demonstrate bottom alignment.
20
+
21
+ The `items: bottom` prop aligns both columns to the bottom edge.
22
+
23
+ Other values: `top` (default), `center`, `bottom`
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ gap: '4'
5
+ colBg: ['primary', 'soft']
6
+ colBorder: [true, true]
7
+ ---
8
+
9
+ # Styled Columns
10
+
11
+ ::col1::
12
+
13
+ ### Highlighted
14
+
15
+ `colBg` accepts semantic color names per column.
16
+
17
+ ::col2::
18
+
19
+ ### Standard
20
+
21
+ `colBorder` adds a subtle border around each column.
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: slide
3
+ footnote: true
4
+ ---
5
+
6
+ # Research Findings
7
+
8
+ Key findings from our Q4 analysis:
9
+
10
+ - User retention increased 23% after onboarding redesign
11
+ - Mobile sessions grew 45% quarter-over-quarter
12
+ - Average session duration: 12 minutes (up from 8)
13
+
14
+ ::footer::
15
+
16
+ Source: Internal Analytics Dashboard, Q4 2024. Sample size: 50,000 users.
@@ -0,0 +1,8 @@
1
+ ---
2
+ layout: slide
3
+ mode: fullscreen
4
+ padding: false
5
+ ---
6
+
7
+ ::bg::
8
+ <Iframe src="https://sli.dev/" />
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: slide
3
+ mode: split
4
+ split: [7, 5]
5
+ ---
6
+
7
+ ::left-bg::
8
+ <Iframe src="https://sli.dev/" />
9
+
10
+ ::right::
11
+
12
+ ## Live Embed
13
+
14
+ Iframes in background slots auto-fill the panel.
15
+
16
+ In content slots, use the `height` prop:
17
+
18
+ `<Iframe src="..." height="400px" />`
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: slide
3
+ mode: fullscreen
4
+ transition: fade
5
+ ---
6
+
7
+ ::bg::
8
+ <Background :gradient="'subtle'" />
9
+
10
+ ::default::
11
+
12
+ # Components
13
+
14
+ 13 primitives + 27 widgets for every presentation need
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: slide
3
+ mode: fullscreen
4
+ ---
5
+
6
+ <StyledText tag="h1" align="center" color="primary">Header Level 1</StyledText>
7
+ <StyledText tag="h2" align="center">Header Level 2</StyledText>
8
+ <StyledText align="center" color="secondary">Subheader for secondary context</StyledText>
9
+ <StyledText align="center" color="tertiary">Subheader with tertiary color</StyledText>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # StyledText Component
6
+
7
+ <StyledText size="large" color="primary">Large primary text for emphasis</StyledText>
8
+
9
+ <StyledText color="secondary">Secondary text for supporting details</StyledText>
10
+
11
+ <StyledText size="small" color="tertiary">Small tertiary text for captions and labels</StyledText>
12
+
13
+ <StyledText align="center" color="success">Centered success message</StyledText>
14
+
15
+ **Props:** `color`, `size` (small / base / large), `align` (left / center / right)
@@ -0,0 +1,28 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ ---
5
+
6
+ # Text Formatting
7
+
8
+ ::col1::
9
+
10
+ ### Inline Styles
11
+
12
+ <div><StyledText inline bold>Bold text</StyledText> - emphasis</div>
13
+ <div><StyledText inline italic>Italic text</StyledText> - terms</div>
14
+ <div><StyledText inline underline>Underlined</StyledText> - links</div>
15
+ <div><StyledText inline strike>Strikethrough</StyledText> - removed</div>
16
+ <div><StyledText inline mono>monospace</StyledText> - code</div>
17
+ <div><StyledText inline kbd>Ctrl+S</StyledText> - shortcut</div>
18
+
19
+ ::col2::
20
+
21
+ ### Colors + Effects
22
+
23
+ <div><StyledText inline bold color="primary">Primary bold</StyledText></div>
24
+ <div><StyledText inline bold color="danger">Danger bold</StyledText></div>
25
+ <div><StyledText inline highlight="warning">Warning highlight</StyledText></div>
26
+ <div><StyledText inline highlight="success">Success highlight</StyledText></div>
27
+ <div><StyledText inline gradient>Gradient text</StyledText></div>
28
+ <div><StyledText inline uppercase bold size="small">Label text</StyledText></div>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Text: Spoiler + Color Combos
6
+
7
+ ### Interactive Spoiler
8
+
9
+ Click to reveal: <StyledText inline spoiler>Hidden answer that appears on click</StyledText>
10
+
11
+ ### Color Combinations
12
+
13
+ <div><StyledText inline bold color="primary" highlight="info">Primary on info highlight</StyledText></div>
14
+ <div><StyledText inline bold color="danger" underline>Danger underlined</StyledText> <StyledText inline italic color="success">Success italic</StyledText></div>
15
+ <div><StyledText inline mono color="warning">warning_code</StyledText> <StyledText inline kbd>Esc</StyledText> + <StyledText inline kbd>Shift</StyledText> + <StyledText inline kbd>P</StyledText></div>
@@ -0,0 +1,47 @@
1
+ ---
2
+ layout: slide
3
+ cols: 3
4
+ gap: '2'
5
+ ---
6
+
7
+ # Icon Component
8
+
9
+ ::col1::
10
+
11
+ #### Sizes
12
+
13
+ <StyledList marker="none">
14
+
15
+ - <Icon name="ph-star" size="sm" /> sm
16
+ - <Icon name="ph-star" size="md" /> md
17
+ - <Icon name="ph-star" size="lg" /> lg
18
+ - <Icon name="ph-star" size="xl" /> xl
19
+
20
+ </StyledList>
21
+
22
+ ::col2::
23
+
24
+ #### Weights
25
+
26
+ <StyledList marker="none">
27
+
28
+ - <Icon name="ph-heart" size="lg" /> regular
29
+ - <Icon name="ph-heart-bold" size="lg" /> bold
30
+ - <Icon name="ph-heart-fill" size="lg" /> fill
31
+ - <Icon name="ph-heart-duotone" size="lg" /> duotone
32
+
33
+ </StyledList>
34
+
35
+ ::col3::
36
+
37
+ #### Semantic Colors
38
+
39
+ <StyledList marker="none">
40
+
41
+ - <Icon name="ph-check-circle-fill" size="lg" color="success" /> success
42
+ - <Icon name="ph-warning-fill" size="lg" color="warning" /> warning
43
+ - <Icon name="ph-x-circle-fill" size="lg" color="danger" /> danger
44
+ - <Icon name="ph-info-fill" size="lg" color="info" /> info
45
+ - <Icon name="ph-star-fill" size="lg" color="primary" /> primary
46
+
47
+ </StyledList>
@@ -0,0 +1,29 @@
1
+ ---
2
+ layout: slide
3
+ cols: 3
4
+ gap: '4'
5
+ ---
6
+
7
+ # Metric Component
8
+
9
+ ::col1::
10
+
11
+ <Metric :value="10000" label="Users" color="primary" animated separator="," size="md" variant="bare" />
12
+
13
+ Animated count-up from 0
14
+
15
+ ::col2::
16
+
17
+ <Metric value="$2.5M" label="Revenue" color="success" gradient size="md" variant="bare" />
18
+
19
+ Gradient text (static)
20
+
21
+ ::col3::
22
+
23
+ <Metric :value="99.99" label="Uptime %" color="info" animated suffix="%" :decimals="2" :from="95" size="md" variant="bare">
24
+ <template #icon>
25
+ <Icon name="ph-chart-line-up-bold" size="lg" color="info" />
26
+ </template>
27
+ </Metric>
28
+
29
+ Count-up from 95 with icon
@@ -0,0 +1,33 @@
1
+ ---
2
+ layout: slide
3
+ cols: 3
4
+ gap: '4'
5
+ ---
6
+
7
+ # PersonCard Component
8
+
9
+ ::col1::
10
+
11
+ <PersonCard name="Sarah Chen" role="CTO" color="primary" />
12
+
13
+ ### Default (vertical)
14
+
15
+ Auto-generates initials from name
16
+
17
+ ::col2::
18
+
19
+ <PersonCard name="Alex Kim" role="Lead Engineer" avatar="https://picsum.photos/seed/alex/200/200" color="info" horizontal />
20
+
21
+ ### Horizontal
22
+
23
+ With avatar image
24
+
25
+ ::col3::
26
+
27
+ <PersonCard name="Maria Lopez" role="Designer" color="accent">
28
+
29
+ Vue, Figma, Design Systems
30
+
31
+ </PersonCard>
32
+
33
+ ### With slot content
@@ -0,0 +1,50 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ ---
5
+
6
+ # StyledList Component
7
+
8
+ ::col1::
9
+
10
+ ### Markers
11
+
12
+ <StyledList marker="check" color="success">
13
+
14
+ - Completed task one
15
+ - Completed task two
16
+
17
+ </StyledList>
18
+
19
+ <StyledList marker="arrow" color="primary">
20
+
21
+ - Next step one
22
+ - Next step two
23
+
24
+ </StyledList>
25
+
26
+ <StyledList marker="star" color="warning">
27
+
28
+ - Highlight one
29
+ - Highlight two
30
+
31
+ </StyledList>
32
+
33
+ ::col2::
34
+
35
+ ### Options
36
+
37
+ <StyledList marker="number" color="info">
38
+
39
+ - First item
40
+ - Second item
41
+ - Third item
42
+
43
+ </StyledList>
44
+
45
+ <StyledList marker="disc" columns="2">
46
+
47
+ - Alpha
48
+ - Beta
49
+
50
+ </StyledList>
@@ -0,0 +1,35 @@
1
+ ---
2
+ layout: slide
3
+ cols: 4
4
+ gap: '2'
5
+ ---
6
+
7
+ # Color Palette
8
+
9
+ ::col1::
10
+
11
+ <ColorSwatch name="primary" />
12
+ <ColorSwatch name="success" />
13
+ <ColorSwatch name="bg" />
14
+
15
+ ::col2::
16
+
17
+ <ColorSwatch name="warning" />
18
+ <ColorSwatch name="danger" />
19
+ <ColorSwatch name="bg-soft" />
20
+
21
+ ::col3::
22
+
23
+ <ColorSwatch name="info" />
24
+ <ColorSwatch name="accent" />
25
+ <ColorSwatch name="bg-muted" />
26
+
27
+ ::col4::
28
+
29
+ <ColorSwatch name="text" />
30
+ <ColorSwatch name="text-secondary" />
31
+ <ColorSwatch name="border" />
32
+
33
+ ::footer::
34
+
35
+ Runtime-resolved CSS variables. Auto-updates on theme toggle.
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # CodeHighlight Component
6
+
7
+ <CodeHighlight :code="'interface User {\n id: string;\n name: string;\n role: string;\n}\n\nfunction getUser(id: string): User {\n return db.findById(id);\n}'" filename="types.ts" lang="TypeScript" :highlights="[1, 5]" highlightColor="primary" />
8
+
9
+ **Props:** `code`, `filename`, `lang`, `showLineNumbers`, `highlights`, `highlightColor`
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Iframe in Content
6
+
7
+ Use `height` prop for inline iframes (bg slot iframes auto-fill):
8
+
9
+ <Iframe src="https://sli.dev/" height="315px" />
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Callout Component
6
+
7
+ <Callout type="info" title="Information">
8
+ Use callouts to highlight important details in your presentation.
9
+ </Callout>
10
+
11
+ <Callout type="tip" title="Pro Tip">
12
+ Tips help users with best practices and shortcuts.
13
+ </Callout>
14
+
15
+ **Types:** `info`, `tip`, `warning`, `danger`, `note`
@@ -0,0 +1,27 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ ---
5
+
6
+ ## Card + CardGrid
7
+
8
+ ::col1::
9
+
10
+ <CardGrid cols="2" gap="sm">
11
+ <Card title="Fast" icon="ph-lightning-fill">
12
+ Vite-powered builds
13
+ </Card>
14
+ <Card title="Secure" icon="ph-shield-check-fill">
15
+ Built-in security
16
+ </Card>
17
+ </CardGrid>
18
+
19
+ ::col2::
20
+
21
+ ### Features
22
+
23
+ - 2, 3, or 4 column grids
24
+ - Gap sizes: sm, md, lg
25
+ - Icon prop (Phosphor names)
26
+ - Hover effects
27
+ - Dark mode support
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: slide
3
+ cols: '3-9'
4
+ items: top
5
+ ---
6
+
7
+ # Stepper Variants
8
+
9
+ ::col1::
10
+ ### Dots
11
+ <Stepper :items="['Research', 'Design', 'Build']" variant="dots" direction="vertical" :current="2" color="info" />
12
+
13
+ ::col2::
14
+ ### Numbers
15
+ <Stepper :items="['Plan', 'Code', 'Test', 'Ship']" variant="numbers" :current="3" color="primary" />
16
+
17
+ ### Arrows
18
+ <Stepper :items="['Start', 'Process', 'End']" variant="arrows" :current="2" color="success" />
@@ -0,0 +1,49 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Stepper: Clicks Mode
6
+
7
+ <Stepper
8
+ :items="[
9
+ { label: 'Founded', date: '2020' },
10
+ { label: 'Series A', date: '2021' },
11
+ { label: 'Scale', date: '2022' },
12
+ { label: 'IPO', date: '2023' },
13
+ ]"
14
+ variant="numbers"
15
+ direction="vertical"
16
+ mode="clicks"
17
+ color="primary"
18
+ trackValign="top"
19
+ contentValign="top"
20
+ >
21
+ <template #step1>
22
+
23
+ ### The Beginning
24
+
25
+ Started in a garage with just an idea and a bold vision for the future of developer tools
26
+
27
+ </template>
28
+ <template #step2>
29
+
30
+ ### Growth Phase
31
+
32
+ Raised $5M in Series A funding to accelerate product development and expand the team
33
+
34
+ </template>
35
+ <template #step3>
36
+
37
+ ### Going Global
38
+
39
+ Grew to 100+ employees across three continents with offices in SF, London, and Tokyo
40
+
41
+ </template>
42
+ <template #step4>
43
+
44
+ ### Public Company
45
+
46
+ Went public on NASDAQ with $2B valuation, serving 50K+ enterprise customers worldwide
47
+
48
+ </template>
49
+ </Stepper>
@@ -0,0 +1,28 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Stepper: Interactive Panels
6
+
7
+ <Stepper :items="['Research', 'Design', 'Develop', 'Launch']" variant="arrows" mode="clicks" color="primary">
8
+ <template #step1>
9
+
10
+ Gather requirements and analyze user needs
11
+
12
+ </template>
13
+ <template #step2>
14
+
15
+ Create wireframes and visual prototypes
16
+
17
+ </template>
18
+ <template #step3>
19
+
20
+ Build features and write tests
21
+
22
+ </template>
23
+ <template #step4>
24
+
25
+ Deploy to production and monitor
26
+
27
+ </template>
28
+ </Stepper>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ ---
5
+
6
+ # Tags + Progress
7
+
8
+ ::col1::
9
+ ### Tags
10
+ <Tags :items="['Vue 3', 'TypeScript', 'Slidev', 'UnoCSS']" />
11
+
12
+ <Tags :items="['Frontend', 'Backend']" color="success" />
13
+
14
+ <Tags :items="['v2.0', 'stable']" color="info" />
15
+
16
+ ::col2::
17
+ ### Progress Bar
18
+
19
+ <Progress value="90" showPercentage />
20
+
21
+ Tracks your position in the deck automatically.
@@ -0,0 +1,30 @@
1
+ ---
2
+ layout: slide
3
+ cols: 2
4
+ ---
5
+
6
+ # SpeechBubble Component
7
+
8
+ ::col1::
9
+
10
+ ### Speech Bubbles
11
+
12
+ <SpeechBubble position="bottom">
13
+ Hello! I'm a speech bubble.
14
+ </SpeechBubble>
15
+
16
+ <SpeechBubble position="right" color="info">
17
+ I point to the right
18
+ </SpeechBubble>
19
+
20
+ ::col2::
21
+
22
+ ### Thought Bubbles
23
+
24
+ <SpeechBubble shape="thought" position="bottom">
25
+ Hmm, interesting idea...
26
+ </SpeechBubble>
27
+
28
+ <SpeechBubble shape="thought" color="success">
29
+ Great success!
30
+ </SpeechBubble>
@@ -0,0 +1,13 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Conversation Component
6
+
7
+ <Conversation :messages="[
8
+ { from: 'Alice', text: 'Have you tried the new theme?' },
9
+ { from: 'Alice', text: 'Should we use it for the keynote?' },
10
+ { from: 'Bob', text: 'Yes! The dark mode looks great.' },
11
+ { from: 'Bob', text: 'Yes! The dark mode looks great.' },
12
+ { from: 'Alice', text: 'Should we use it for the keynote?' },
13
+ ]" mode="clicks" />
@@ -0,0 +1,26 @@
1
+ ---
2
+ layout: slide
3
+ mode: split
4
+ split: [5, 7]
5
+ ---
6
+
7
+ ::left::
8
+
9
+ ## DeviceMockup
10
+
11
+ <StyledText color="secondary">
12
+
13
+ CSS-only device frame with image or placeholder
14
+
15
+ </StyledText>
16
+
17
+ <StyledList marker="check" color="success">
18
+
19
+ - Realistic bezels and notch
20
+ - Auto-scales via `scale` prop
21
+ - `image` prop or slot content
22
+
23
+ </StyledList>
24
+
25
+ ::right::
26
+ <DeviceMockup device="iphone" image="https://www.letemsvetemapplem.eu/wp-content/uploads/2025/03/iOS-19-1.png" :scale="0.7" />
@@ -0,0 +1,7 @@
1
+ ---
2
+ layout: slide
3
+ ---
4
+
5
+ # Device Mockup: Browser
6
+
7
+ <DeviceMockup device="browser" url="https://sli.dev" title="Slidev" :scale="0.85" placeholder="Presentation slides for developers. Write in Markdown, style with CSS, present with confidence." />