supadeck 0.0.5 → 0.0.7

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 (59) hide show
  1. package/dist/cli/index.js +30532 -88
  2. package/dist/content/rehype-shiki-code-blocks.d.ts +9 -0
  3. package/dist/index.js +2808 -11
  4. package/dist/metafile-esm.json +1 -0
  5. package/dist/runtime/main.js +2868 -21
  6. package/dist/runtime/themes/base/theme.css +183 -145
  7. package/dist/runtime/themes/default/index.js +312 -15
  8. package/dist/runtime/themes/default/theme.css +17 -0
  9. package/dist/runtime/themes/sunset/index.js +2737 -10
  10. package/dist/runtime/vite-config.js +30206 -196
  11. package/package.json +16 -10
  12. package/dist/cli/export.js +0 -35
  13. package/dist/cli/serve.js +0 -12
  14. package/dist/cli/templates.js +0 -69
  15. package/dist/cli/workspace.js +0 -26
  16. package/dist/content/parse-deck.js +0 -136
  17. package/dist/content/remark-unwrap-jsx-paragraphs.js +0 -63
  18. package/dist/export/pdf.js +0 -40
  19. package/dist/runtime/App.js +0 -45
  20. package/dist/runtime/components/Callout.js +0 -13
  21. package/dist/runtime/components/Center.js +0 -4
  22. package/dist/runtime/components/Columns.js +0 -4
  23. package/dist/runtime/components/Disclosure.js +0 -5
  24. package/dist/runtime/components/Frame.js +0 -4
  25. package/dist/runtime/components/index.js +0 -4
  26. package/dist/runtime/default-components.js +0 -38
  27. package/dist/runtime/hooks/slides.js +0 -45
  28. package/dist/runtime/layout/DeckSlide.js +0 -6
  29. package/dist/runtime/layout/SlideFrame.js +0 -6
  30. package/dist/runtime/mdx-components.d.ts +0 -2
  31. package/dist/runtime/mdx-components.js +0 -17
  32. package/dist/runtime/primitives/DeckChrome.js +0 -6
  33. package/dist/runtime/primitives/DeckNavigation.js +0 -4
  34. package/dist/runtime/primitives/DeckProgress.js +0 -5
  35. package/dist/runtime/primitives/DeckTitle.js +0 -4
  36. package/dist/runtime/public-components.d.ts +0 -22
  37. package/dist/runtime/public-components.js +0 -24
  38. package/dist/runtime/styles/base.css +0 -201
  39. package/dist/runtime/tailwind-hmr.js +0 -67
  40. package/dist/runtime/tailwind-sources.js +0 -42
  41. package/dist/runtime/theme-components.d.ts +0 -3
  42. package/dist/runtime/theme-components.js +0 -18
  43. package/dist/runtime/theme-resolution.js +0 -62
  44. package/dist/runtime/theme-types.js +0 -1
  45. package/dist/runtime/themes/base/DefaultDeck.js +0 -10
  46. package/dist/runtime/themes/default/DefaultDeck.d.ts +0 -2
  47. package/dist/runtime/themes/default/DefaultDeck.js +0 -11
  48. package/dist/runtime/themes/default/DefaultThemeDeck.js +0 -22
  49. package/dist/runtime/themes/default/components.js +0 -79
  50. package/dist/runtime/themes/default.css +0 -10
  51. package/dist/runtime/themes/sunset.css +0 -10
  52. package/dist/runtime/themes/supabase/SupabaseDeck.d.ts +0 -2
  53. package/dist/runtime/themes/supabase/SupabaseDeck.js +0 -23
  54. package/dist/runtime/themes/supabase/components.d.ts +0 -65
  55. package/dist/runtime/themes/supabase/components.js +0 -80
  56. package/dist/runtime/themes/supabase/index.d.ts +0 -4
  57. package/dist/runtime/themes/supabase/index.js +0 -17
  58. package/dist/runtime/themes/supabase/theme.css +0 -523
  59. package/dist/runtime/utils/use-current-slide.js +0 -19
@@ -1,245 +1,283 @@
1
1
  @import "tailwindcss";
2
2
 
3
3
  :root {
4
- --color-background: #f3f0ea;
5
- --color-foreground: #1f1b16;
6
- --color-muted: #6b6257;
7
- --color-accent: #b85c38;
8
- --color-border: rgba(31, 27, 22, 0.12);
9
- --color-code-bg: rgba(31, 27, 22, 0.06);
10
- --radius-lg: 1.5rem;
11
- --radius-xl: 2.25rem;
12
- --font-sans: "Instrument Sans", "Inter", sans-serif;
13
- --font-display: "Fraunces", "Georgia", serif;
14
- --slide-aspect-ratio: 16 / 9;
4
+ --color-background: #f3f0ea;
5
+ --color-foreground: #1f1b16;
6
+ --color-muted: #6b6257;
7
+ --color-accent: #b85c38;
8
+ --color-border: rgba(31, 27, 22, 0.12);
9
+ --color-code-bg: rgba(31, 27, 22, 0.06);
10
+ --radius-lg: 1.5rem;
11
+ --radius-xl: 2.25rem;
12
+ --font-sans: "Instrument Sans", "Inter", sans-serif;
13
+ --font-display: "Fraunces", "Georgia", serif;
14
+ --slide-aspect-ratio: 16 / 9;
15
15
  }
16
16
 
17
17
  * {
18
- box-sizing: border-box;
18
+ box-sizing: border-box;
19
19
  }
20
20
 
21
21
  html,
22
22
  body,
23
23
  #root {
24
- min-height: 100%;
25
- margin: 0;
24
+ min-height: 100%;
25
+ margin: 0;
26
26
  }
27
27
 
28
28
  body {
29
- min-height: 100vh;
30
- font-family: var(--font-sans);
31
- color: var(--color-foreground);
32
- background:
33
- radial-gradient(circle at top left, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 28%),
34
- linear-gradient(145deg, color-mix(in srgb, var(--color-background) 92%, white), var(--color-background));
29
+ min-height: 100vh;
30
+ font-family: var(--font-sans);
31
+ color: var(--color-foreground);
32
+ background: radial-gradient(
33
+ circle at top left,
34
+ color-mix(in srgb, var(--color-accent) 16%, transparent),
35
+ transparent 28%
36
+ ),
37
+ linear-gradient(
38
+ 145deg,
39
+ color-mix(in srgb, var(--color-background) 92%, white),
40
+ var(--color-background)
41
+ );
35
42
  }
36
43
 
37
44
  button {
38
- font: inherit;
45
+ font: inherit;
46
+ }
47
+
48
+ .deck-code-block {
49
+ overflow-x: auto;
50
+ }
51
+
52
+ .deck-code-block,
53
+ .deck-code-block code {
54
+ background: transparent !important;
55
+ }
56
+
57
+ .deck-code-content {
58
+ display: block;
59
+ min-width: max-content;
60
+ font-family: "SF Mono", "Fira Code", "IBM Plex Mono", monospace;
61
+ font-size: 0.95em;
62
+ line-height: 1;
63
+ }
64
+
65
+ .deck-code-content .line {
66
+ display: block;
39
67
  }
40
68
 
41
69
  .app-shell {
42
- display: grid;
43
- min-height: 100vh;
44
- grid-template-rows: auto 1fr auto;
45
- gap: 1.5rem;
46
- padding: 1.5rem;
70
+ display: grid;
71
+ min-height: 100vh;
72
+ grid-template-rows: auto 1fr auto;
73
+ gap: 1.5rem;
74
+ padding: 1.5rem;
47
75
  }
48
76
 
49
77
  .deck-chrome {
50
- display: grid;
51
- gap: 0.75rem;
78
+ display: grid;
79
+ gap: 0.75rem;
52
80
  }
53
81
 
54
82
  .deck-title {
55
- font-family: var(--font-display);
56
- font-size: 1rem;
57
- font-weight: 700;
58
- letter-spacing: 0.18em;
59
- text-transform: uppercase;
60
- color: var(--color-muted);
83
+ font-family: var(--font-display);
84
+ font-size: 1rem;
85
+ font-weight: 700;
86
+ letter-spacing: 0.18em;
87
+ text-transform: uppercase;
88
+ color: var(--color-muted);
61
89
  }
62
90
 
63
91
  .deck-progress {
64
- overflow: hidden;
65
- height: 0.4rem;
66
- border-radius: 999px;
67
- background: color-mix(in srgb, var(--color-foreground) 10%, transparent);
92
+ overflow: hidden;
93
+ height: 0.4rem;
94
+ border-radius: 999px;
95
+ background: color-mix(in srgb, var(--color-foreground) 10%, transparent);
68
96
  }
69
97
 
70
98
  .deck-progress-bar {
71
- height: 100%;
72
- border-radius: inherit;
73
- background: linear-gradient(90deg, var(--color-accent), color-mix(in srgb, var(--color-accent) 55%, white));
74
- transition: width 240ms ease;
99
+ height: 100%;
100
+ border-radius: inherit;
101
+ background: linear-gradient(
102
+ 90deg,
103
+ var(--color-accent),
104
+ color-mix(in srgb, var(--color-accent) 55%, white)
105
+ );
106
+ transition: width 240ms ease;
75
107
  }
76
108
 
77
109
  .deck-stage {
78
- display: grid;
79
- place-items: center;
110
+ display: grid;
111
+ place-items: center;
80
112
  }
81
113
 
82
114
  .slide-frame {
83
- width: min(100%, 1440px);
84
- aspect-ratio: var(--slide-aspect-ratio);
85
- transition: transform 220ms ease, opacity 220ms ease;
115
+ width: min(100%, 1440px);
116
+ aspect-ratio: var(--slide-aspect-ratio);
117
+ transition: transform 220ms ease, opacity 220ms ease;
86
118
  }
87
119
 
88
120
  .slide-surface {
89
- display: grid;
90
- grid-template-rows: 1fr auto;
91
- height: 100%;
92
- overflow: hidden;
93
- border: 1px solid var(--color-border);
94
- border-radius: var(--radius-xl);
95
- background:
96
- linear-gradient(180deg, color-mix(in srgb, var(--color-background) 96%, white), color-mix(in srgb, var(--color-background) 86%, transparent)),
97
- radial-gradient(circle at top right, color-mix(in srgb, var(--color-accent) 10%, transparent), transparent 32%);
98
- box-shadow:
99
- 0 30px 80px rgba(15, 23, 42, 0.16),
100
- inset 0 1px 0 rgba(255, 255, 255, 0.45);
121
+ display: grid;
122
+ grid-template-rows: 1fr auto;
123
+ height: 100%;
124
+ overflow: hidden;
125
+ border: 1px solid var(--color-border);
126
+ border-radius: var(--radius-xl);
127
+ background: linear-gradient(
128
+ 180deg,
129
+ color-mix(in srgb, var(--color-background) 96%, white),
130
+ color-mix(in srgb, var(--color-background) 86%, transparent)
131
+ ),
132
+ radial-gradient(
133
+ circle at top right,
134
+ color-mix(in srgb, var(--color-accent) 10%, transparent),
135
+ transparent 32%
136
+ );
137
+ box-shadow: 0 30px 80px rgba(15, 23, 42, 0.16),
138
+ inset 0 1px 0 rgba(255, 255, 255, 0.45);
101
139
  }
102
140
 
103
141
  .slide-content {
104
- display: flex;
105
- flex-direction: column;
106
- justify-content: center;
107
- gap: 1.5rem;
108
- padding: clamp(1.5rem, 4vw, 4rem);
142
+ display: flex;
143
+ flex-direction: column;
144
+ justify-content: center;
145
+ gap: 1.5rem;
146
+ padding: clamp(1.5rem, 4vw, 4rem);
109
147
  }
110
148
 
111
149
  .slide-content > :first-child {
112
- margin-top: 0;
150
+ margin-top: 0;
113
151
  }
114
152
 
115
153
  .slide-content > :last-child {
116
- margin-bottom: 0;
154
+ margin-bottom: 0;
117
155
  }
118
156
 
119
157
  .deck-table-wrap {
120
- width: 100%;
121
- overflow-x: auto;
122
- border: 1px solid var(--color-border);
123
- border-radius: var(--radius-lg);
124
- background: color-mix(in srgb, var(--color-background) 92%, white);
125
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
158
+ width: 100%;
159
+ overflow-x: auto;
160
+ border: 1px solid var(--color-border);
161
+ border-radius: var(--radius-lg);
162
+ background: color-mix(in srgb, var(--color-background) 92%, white);
163
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
126
164
  }
127
165
 
128
166
  .deck-table {
129
- width: 100%;
130
- min-width: 32rem;
131
- border-collapse: collapse;
132
- font-size: clamp(0.95rem, 1.2vw, 1.35rem);
133
- line-height: 1.45;
167
+ width: 100%;
168
+ min-width: 32rem;
169
+ border-collapse: collapse;
170
+ font-size: clamp(0.95rem, 1.2vw, 1.35rem);
171
+ line-height: 1.45;
134
172
  }
135
173
 
136
174
  .deck-thead {
137
- background: color-mix(in srgb, var(--color-accent) 8%, transparent);
175
+ background: color-mix(in srgb, var(--color-accent) 8%, transparent);
138
176
  }
139
177
 
140
178
  .deck-tr + .deck-tr {
141
- border-top: 1px solid var(--color-border);
179
+ border-top: 1px solid var(--color-border);
142
180
  }
143
181
 
144
182
  .deck-th,
145
183
  .deck-td {
146
- padding: 0.9rem 1rem;
147
- text-align: left;
148
- vertical-align: top;
184
+ padding: 0.9rem 1rem;
185
+ text-align: left;
186
+ vertical-align: top;
149
187
  }
150
188
 
151
189
  .deck-th {
152
- font-size: 0.8em;
153
- font-weight: 700;
154
- letter-spacing: 0.08em;
155
- text-transform: uppercase;
156
- color: var(--color-muted);
190
+ font-size: 0.8em;
191
+ font-weight: 700;
192
+ letter-spacing: 0.08em;
193
+ text-transform: uppercase;
194
+ color: var(--color-muted);
157
195
  }
158
196
 
159
197
  .slide-footer {
160
- display: flex;
161
- justify-content: flex-end;
162
- padding: 1.25rem 1.5rem;
163
- color: var(--color-muted);
164
- font-size: 0.95rem;
165
- letter-spacing: 0.12em;
166
- text-transform: uppercase;
198
+ display: flex;
199
+ justify-content: flex-end;
200
+ padding: 1.25rem 1.5rem;
201
+ color: var(--color-muted);
202
+ font-size: 0.95rem;
203
+ letter-spacing: 0.12em;
204
+ text-transform: uppercase;
167
205
  }
168
206
 
169
207
  .deck-nav {
170
- display: flex;
171
- justify-content: flex-end;
172
- gap: 0.75rem;
208
+ display: flex;
209
+ justify-content: flex-end;
210
+ gap: 0.75rem;
173
211
  }
174
212
 
175
213
  .deck-button {
176
- border: 1px solid var(--color-border);
177
- border-radius: 999px;
178
- background: color-mix(in srgb, var(--color-background) 88%, white);
179
- padding: 0.8rem 1.1rem;
180
- color: var(--color-foreground);
181
- transition: transform 160ms ease, background 160ms ease;
214
+ border: 1px solid var(--color-border);
215
+ border-radius: 999px;
216
+ background: color-mix(in srgb, var(--color-background) 88%, white);
217
+ padding: 0.8rem 1.1rem;
218
+ color: var(--color-foreground);
219
+ transition: transform 160ms ease, background 160ms ease;
182
220
  }
183
221
 
184
222
  .deck-button:hover {
185
- transform: translateY(-1px);
186
- background: color-mix(in srgb, var(--color-background) 80%, white);
223
+ transform: translateY(-1px);
224
+ background: color-mix(in srgb, var(--color-background) 80%, white);
187
225
  }
188
226
 
189
227
  .print-deck {
190
- display: grid;
191
- gap: 0;
228
+ display: grid;
229
+ gap: 0;
192
230
  }
193
231
 
194
232
  .slide-frame-print {
195
- width: 100vw;
196
- min-height: 100vh;
197
- page-break-after: always;
198
- break-after: page;
199
- padding: 0;
233
+ width: 100vw;
234
+ min-height: 100vh;
235
+ page-break-after: always;
236
+ break-after: page;
237
+ padding: 0;
200
238
  }
201
239
 
202
240
  .slide-frame-print .slide-surface {
203
- border-radius: 0;
204
- box-shadow: none;
205
- min-height: 100vh;
241
+ border-radius: 0;
242
+ box-shadow: none;
243
+ min-height: 100vh;
206
244
  }
207
245
 
208
246
  @media (max-width: 900px) {
209
- .app-shell {
210
- padding: 1rem;
211
- }
247
+ .app-shell {
248
+ padding: 1rem;
249
+ }
212
250
 
213
- .slide-frame {
214
- width: 100%;
215
- }
251
+ .slide-frame {
252
+ width: 100%;
253
+ }
216
254
 
217
- .slide-content {
218
- padding: 1.25rem;
219
- }
255
+ .slide-content {
256
+ padding: 1.25rem;
257
+ }
220
258
 
221
- .deck-table {
222
- min-width: 26rem;
223
- }
259
+ .deck-table {
260
+ min-width: 26rem;
261
+ }
224
262
  }
225
263
 
226
264
  @media print {
227
- @page {
228
- size: landscape;
229
- margin: 0;
230
- }
231
-
232
- body {
233
- background: white;
234
- }
235
-
236
- .slide-frame-print {
237
- width: 100%;
238
- height: 100vh;
239
- min-height: 100vh;
240
- }
241
-
242
- .slide-frame-print .slide-surface {
243
- border: none;
244
- }
265
+ @page {
266
+ size: landscape;
267
+ margin: 0;
268
+ }
269
+
270
+ body {
271
+ background: white;
272
+ }
273
+
274
+ .slide-frame-print {
275
+ width: 100%;
276
+ height: 100vh;
277
+ min-height: 100vh;
278
+ }
279
+
280
+ .slide-frame-print .slide-surface {
281
+ border: none;
282
+ }
245
283
  }