@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.
- package/CLAUDE.md +537 -0
- package/LICENSE +134 -0
- package/README.md +168 -0
- package/SKILL.md +414 -0
- package/components/AnimatedCounter.vue +35 -0
- package/components/Background.vue +204 -0
- package/components/Callout.vue +135 -0
- package/components/Card.vue +75 -0
- package/components/CardGrid.vue +67 -0
- package/components/CaseStudy.vue +66 -0
- package/components/CodeDiff.vue +229 -0
- package/components/CodeHighlight.vue +337 -0
- package/components/ColorSwatch.vue +114 -0
- package/components/Confetti.vue +292 -0
- package/components/Conversation.vue +405 -0
- package/components/Countdown.vue +476 -0
- package/components/Definition.vue +59 -0
- package/components/DeviceMockup.vue +392 -0
- package/components/Funnel.vue +87 -0
- package/components/Icon.vue +73 -0
- package/components/Iframe.vue +38 -0
- package/components/Image.vue +69 -0
- package/components/ImageCompare.vue +436 -0
- package/components/MatrixGrid.vue +85 -0
- package/components/MermaidChart.vue +299 -0
- package/components/Metric.vue +161 -0
- package/components/PersonCard.vue +165 -0
- package/components/PricingTable.vue +144 -0
- package/components/Progress.vue +100 -0
- package/components/Pyramid.vue +81 -0
- package/components/QRCode.vue +137 -0
- package/components/QuoteBlock.vue +101 -0
- package/components/SpeechBubble.vue +169 -0
- package/components/Stepper.vue +542 -0
- package/components/StyledList.vue +156 -0
- package/components/StyledText.vue +275 -0
- package/components/SwotGrid.vue +99 -0
- package/components/Tags.vue +20 -0
- package/components/Testimonial.vue +243 -0
- package/components/Typewriter.vue +181 -0
- package/components_base/AnimatedCounter.vue +208 -0
- package/components_base/CodeHighlight.vue +364 -0
- package/composables/useColors.ts +101 -0
- package/composables/useShiki.ts +81 -0
- package/example_content.md +371 -0
- package/example_dark.md +10 -0
- package/example_slides/001-cover.md +15 -0
- package/example_slides/002-agenda.md +25 -0
- package/example_slides/003-section-layouts.md +14 -0
- package/example_slides/004-fullscreen-centered.md +7 -0
- package/example_slides/005-fullscreen-align-bottom.md +14 -0
- package/example_slides/006-fullscreen-no-padding.md +14 -0
- package/example_slides/007-fullscreen-bg-image-dark.md +13 -0
- package/example_slides/008-fullscreen-bg-image-light.md +13 -0
- package/example_slides/009-fullscreen-bg-gradient.md +15 -0
- package/example_slides/010-fullscreen-bg-color.md +13 -0
- package/example_slides/011-split-basic.md +17 -0
- package/example_slides/012-split-image-text.md +18 -0
- package/example_slides/013-split-contrast.md +22 -0
- package/example_slides/014-columns-basic.md +13 -0
- package/example_slides/015-columns-two.md +26 -0
- package/example_slides/016-columns-ratios.md +22 -0
- package/example_slides/017-columns-three.md +31 -0
- package/example_slides/018-columns-four.md +22 -0
- package/example_slides/019-columns-alignment.md +23 -0
- package/example_slides/020-columns-styled.md +21 -0
- package/example_slides/021-footnote-prop.md +16 -0
- package/example_slides/022-iframe-fullscreen.md +8 -0
- package/example_slides/023-iframe-split.md +18 -0
- package/example_slides/024-section-components.md +14 -0
- package/example_slides/025-styled-text.md +9 -0
- package/example_slides/026-styled-text.md +15 -0
- package/example_slides/027-text-formatting.md +28 -0
- package/example_slides/028-text-spoiler.md +15 -0
- package/example_slides/029-icon-component.md +47 -0
- package/example_slides/030-metric-component.md +29 -0
- package/example_slides/031-person-card.md +33 -0
- package/example_slides/032-styled-list.md +50 -0
- package/example_slides/033-color-swatch.md +35 -0
- package/example_slides/034-code-highlight.md +9 -0
- package/example_slides/035-iframe-component.md +9 -0
- package/example_slides/036-callout.md +15 -0
- package/example_slides/037-card-grid.md +27 -0
- package/example_slides/038-stepper-variants.md +18 -0
- package/example_slides/039-stepper-clicks.md +49 -0
- package/example_slides/040-stepper-interactive.md +28 -0
- package/example_slides/041-tags-progress.md +21 -0
- package/example_slides/042-speech-bubble.md +30 -0
- package/example_slides/043-conversation.md +13 -0
- package/example_slides/044-device-iphone.md +26 -0
- package/example_slides/045-device-browser.md +7 -0
- package/example_slides/046-qrcode.md +26 -0
- package/example_slides/047-countdown.md +14 -0
- package/example_slides/048-typewriter.md +8 -0
- package/example_slides/049-confetti.md +16 -0
- package/example_slides/050-image-compare.md +13 -0
- package/example_slides/051-code-diff.md +24 -0
- package/example_slides/052-quote-block.md +8 -0
- package/example_slides/053-testimonial.md +26 -0
- package/example_slides/054-testimonial-featured.md +16 -0
- package/example_slides/055-funnel.md +12 -0
- package/example_slides/056-pyramid.md +13 -0
- package/example_slides/057-pricing-table.md +9 -0
- package/example_slides/058-swot-grid.md +12 -0
- package/example_slides/059-matrix-grid.md +12 -0
- package/example_slides/060-case-study.md +11 -0
- package/example_slides/061-definition.md +15 -0
- package/example_slides/062-mermaid-intro.md +34 -0
- package/example_slides/063-mermaid-flowchart.md +19 -0
- package/example_slides/064-mermaid-sequence.md +17 -0
- package/example_slides/065-mermaid-xy-chart.md +16 -0
- package/example_slides/066-mermaid-pie.md +17 -0
- package/example_slides/067-mermaid-class.md +19 -0
- package/example_slides/068-mermaid-state.md +19 -0
- package/example_slides/069-mermaid-er.md +22 -0
- package/example_slides/070-mermaid-gantt.md +24 -0
- package/example_slides/071-mermaid-timeline.md +17 -0
- package/example_slides/072-mermaid-mindmap.md +21 -0
- package/example_slides/073-mermaid-gitgraph.md +20 -0
- package/example_slides/074-mermaid-split.md +30 -0
- package/example_slides/075-mermaid-columns.md +32 -0
- package/example_slides/076-section-addons.md +14 -0
- package/example_slides/077-asciinema.md +27 -0
- package/example_slides/078-fancyarrow.md +31 -0
- package/example_slides/079-fancyarrow-demo.md +23 -0
- package/example_slides/080-section-theme.md +14 -0
- package/example_slides/081-color-architecture.md +22 -0
- package/example_slides/082-semantic-text-colors.md +25 -0
- package/example_slides/083-typography.md +16 -0
- package/example_slides/084-typography-rationale.md +22 -0
- package/example_slides/085-icons.md +24 -0
- package/example_slides/086-tables.md +14 -0
- package/example_slides/087-code-blocks.md +18 -0
- package/example_slides/088-motion-modes.md +35 -0
- package/example_slides/089-slide-transitions.md +31 -0
- package/example_slides/090-v-click-reveals.md +40 -0
- package/example_slides/091-accessibility.md +27 -0
- package/example_slides/092-safe-zone.md +17 -0
- package/example_slides/093-questions.md +8 -0
- package/example_white.md +10 -0
- package/fonts/IBMPlexMono-Medium.woff2 +1449 -0
- package/fonts/IBMPlexMono-Regular.woff2 +1449 -0
- package/fonts/IBMPlexSans-Bold.woff2 +1449 -0
- package/fonts/IBMPlexSans-Medium.woff2 +1449 -0
- package/fonts/IBMPlexSans-Regular.woff2 +1449 -0
- package/fonts/IBMPlexSans-SemiBold.woff2 +1449 -0
- package/fonts/LICENSE.txt +93 -0
- package/layouts/slide.vue +251 -0
- package/package.json +62 -0
- package/public/avatars/alice.png +0 -0
- package/public/avatars/bob.png +0 -0
- package/public/avatars/carol.png +0 -0
- package/scripts/chart-audit.mjs +216 -0
- package/scripts/contrast-audit.mjs +299 -0
- package/scripts/generate-palette.mjs +395 -0
- package/scripts/integrity-audit.mjs +357 -0
- package/scripts/shared/css-utils.mjs +216 -0
- package/scripts/shiki-audit.mjs +300 -0
- package/scripts/typography-audit.mjs +300 -0
- package/setup/main.ts +107 -0
- package/setup/mermaid.ts +237 -0
- package/setup/shiki.ts +40 -0
- package/snippets/demo.ts +26 -0
- package/styles/base.css +1053 -0
- package/styles/colors.css +422 -0
- package/styles/index.css +12 -0
- package/styles/motion.css +486 -0
- 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,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,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,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" />
|