@gpichot/spectacle-deck 1.1.0 → 1.1.2

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 (70) hide show
  1. package/{dist/components → components}/Timeline.d.ts +2 -0
  2. package/components/Timeline.styled.d.ts +7 -0
  3. package/components/styled.d.ts +12 -0
  4. package/layouts/SectionLayout.d.ts +2 -0
  5. package/layouts/index.d.ts +25 -0
  6. package/layouts/styled.d.ts +2 -0
  7. package/package.json +19 -23
  8. package/dist/components/Timeline.styled.d.ts +0 -1361
  9. package/dist/components/styled.d.ts +0 -1097
  10. package/dist/layouts/SectionLayout.d.ts +0 -274
  11. package/dist/layouts/index.d.ts +0 -297
  12. package/dist/layouts/styled.d.ts +0 -283
  13. package/dist/package.json +0 -30
  14. package/scripts/bundle.ts +0 -84
  15. package/src/components/CodeStepper/CodeStepper.tsx +0 -223
  16. package/src/components/CodeStepper/code-directives.test.ts +0 -58
  17. package/src/components/CodeStepper/code-directives.ts +0 -129
  18. package/src/components/DocumentationItem.tsx +0 -85
  19. package/src/components/FilePane.tsx +0 -18
  20. package/src/components/HorizontalList.tsx +0 -140
  21. package/src/components/IconBox.tsx +0 -31
  22. package/src/components/Image.tsx +0 -34
  23. package/src/components/ItemsColumn.tsx +0 -56
  24. package/src/components/Timeline.styled.tsx +0 -24
  25. package/src/components/Timeline.tsx +0 -157
  26. package/src/components/map.tsx +0 -115
  27. package/src/components/styled.tsx +0 -73
  28. package/src/front.png +0 -0
  29. package/src/index.tsx +0 -109
  30. package/src/layouts/CenteredLayout.tsx +0 -40
  31. package/src/layouts/Default3Layout.tsx +0 -159
  32. package/src/layouts/MainSectionLayout.tsx +0 -31
  33. package/src/layouts/QuoteLayout.tsx +0 -99
  34. package/src/layouts/SectionLayout.tsx +0 -14
  35. package/src/layouts/SideCodeLayout.tsx +0 -44
  36. package/src/layouts/SideImageLayout.tsx +0 -72
  37. package/src/layouts/SideLayout.tsx +0 -31
  38. package/src/layouts/columns.tsx +0 -56
  39. package/src/layouts/index.tsx +0 -19
  40. package/src/layouts/styled.ts +0 -7
  41. package/src/layouts/utils.ts +0 -65
  42. package/src/node.d.ts +0 -5
  43. package/src/style.d.ts +0 -10
  44. package/src/template.tsx +0 -25
  45. package/src/theme.ts +0 -24
  46. package/test.js +0 -106
  47. package/tsconfig.json +0 -29
  48. /package/{dist/components → components}/CodeStepper/CodeStepper.d.ts +0 -0
  49. /package/{dist/components → components}/CodeStepper/code-directives.d.ts +0 -0
  50. /package/{dist/components → components}/DocumentationItem.d.ts +0 -0
  51. /package/{dist/components → components}/FilePane.d.ts +0 -0
  52. /package/{dist/components → components}/HorizontalList.d.ts +0 -0
  53. /package/{dist/components → components}/IconBox.d.ts +0 -0
  54. /package/{dist/components → components}/Image.d.ts +0 -0
  55. /package/{dist/components → components}/ItemsColumn.d.ts +0 -0
  56. /package/{dist/components → components}/map.d.ts +0 -0
  57. /package/{dist/index.cjs → index.cjs} +0 -0
  58. /package/{dist/index.d.ts → index.d.ts} +0 -0
  59. /package/{dist/index.mjs → index.mjs} +0 -0
  60. /package/{dist/layouts → layouts}/CenteredLayout.d.ts +0 -0
  61. /package/{dist/layouts → layouts}/Default3Layout.d.ts +0 -0
  62. /package/{dist/layouts → layouts}/MainSectionLayout.d.ts +0 -0
  63. /package/{dist/layouts → layouts}/QuoteLayout.d.ts +0 -0
  64. /package/{dist/layouts → layouts}/SideCodeLayout.d.ts +0 -0
  65. /package/{dist/layouts → layouts}/SideImageLayout.d.ts +0 -0
  66. /package/{dist/layouts → layouts}/SideLayout.d.ts +0 -0
  67. /package/{dist/layouts → layouts}/columns.d.ts +0 -0
  68. /package/{dist/layouts → layouts}/utils.d.ts +0 -0
  69. /package/{dist/template.d.ts → template.d.ts} +0 -0
  70. /package/{dist/theme.d.ts → theme.d.ts} +0 -0
@@ -1,283 +0,0 @@
1
- /// <reference types="react" />
2
- /// <reference types="react" />
3
- export declare const SVGObject: import("styled-components").IStyledComponent<"web", {
4
- ref?: import("react").LegacyRef<HTMLObjectElement>;
5
- key?: import("react").Key;
6
- classID?: string;
7
- data?: string;
8
- form?: string;
9
- height?: string | number;
10
- name?: string;
11
- type?: string;
12
- useMap?: string;
13
- width?: string | number;
14
- wmode?: string;
15
- defaultChecked?: boolean;
16
- defaultValue?: string | number | readonly string[];
17
- suppressContentEditableWarning?: boolean;
18
- suppressHydrationWarning?: boolean;
19
- accessKey?: string;
20
- autoFocus?: boolean;
21
- className?: string;
22
- contentEditable?: "inherit" | (boolean | "true" | "false");
23
- contextMenu?: string;
24
- dir?: string;
25
- draggable?: boolean | "true" | "false";
26
- hidden?: boolean;
27
- id?: string;
28
- lang?: string;
29
- nonce?: string;
30
- placeholder?: string;
31
- slot?: string;
32
- spellCheck?: boolean | "true" | "false";
33
- style?: import("react").CSSProperties;
34
- tabIndex?: number;
35
- title?: string;
36
- translate?: "yes" | "no";
37
- radioGroup?: string;
38
- role?: import("react").AriaRole;
39
- about?: string;
40
- content?: string;
41
- datatype?: string;
42
- inlist?: any;
43
- prefix?: string;
44
- property?: string;
45
- rel?: string;
46
- resource?: string;
47
- rev?: string;
48
- typeof?: string;
49
- vocab?: string;
50
- autoCapitalize?: string;
51
- autoCorrect?: string;
52
- autoSave?: string;
53
- color?: string;
54
- itemProp?: string;
55
- itemScope?: boolean;
56
- itemType?: string;
57
- itemID?: string;
58
- itemRef?: string;
59
- results?: number;
60
- security?: string;
61
- unselectable?: "on" | "off";
62
- inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal";
63
- is?: string;
64
- "aria-activedescendant"?: string;
65
- "aria-atomic"?: boolean | "true" | "false";
66
- "aria-autocomplete"?: "inline" | "none" | "list" | "both";
67
- "aria-braillelabel"?: string;
68
- "aria-brailleroledescription"?: string;
69
- "aria-busy"?: boolean | "true" | "false";
70
- "aria-checked"?: boolean | "true" | "false" | "mixed";
71
- "aria-colcount"?: number;
72
- "aria-colindex"?: number;
73
- "aria-colindextext"?: string;
74
- "aria-colspan"?: number;
75
- "aria-controls"?: string;
76
- "aria-current"?: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date";
77
- "aria-describedby"?: string;
78
- "aria-description"?: string;
79
- "aria-details"?: string;
80
- "aria-disabled"?: boolean | "true" | "false";
81
- "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup";
82
- "aria-errormessage"?: string;
83
- "aria-expanded"?: boolean | "true" | "false";
84
- "aria-flowto"?: string;
85
- "aria-grabbed"?: boolean | "true" | "false";
86
- "aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "true" | "false" | "listbox" | "tree";
87
- "aria-hidden"?: boolean | "true" | "false";
88
- "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling";
89
- "aria-keyshortcuts"?: string;
90
- "aria-label"?: string;
91
- "aria-labelledby"?: string;
92
- "aria-level"?: number;
93
- "aria-live"?: "off" | "assertive" | "polite";
94
- "aria-modal"?: boolean | "true" | "false";
95
- "aria-multiline"?: boolean | "true" | "false";
96
- "aria-multiselectable"?: boolean | "true" | "false";
97
- "aria-orientation"?: "horizontal" | "vertical";
98
- "aria-owns"?: string;
99
- "aria-placeholder"?: string;
100
- "aria-posinset"?: number;
101
- "aria-pressed"?: boolean | "true" | "false" | "mixed";
102
- "aria-readonly"?: boolean | "true" | "false";
103
- "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals";
104
- "aria-required"?: boolean | "true" | "false";
105
- "aria-roledescription"?: string;
106
- "aria-rowcount"?: number;
107
- "aria-rowindex"?: number;
108
- "aria-rowindextext"?: string;
109
- "aria-rowspan"?: number;
110
- "aria-selected"?: boolean | "true" | "false";
111
- "aria-setsize"?: number;
112
- "aria-sort"?: "none" | "ascending" | "descending" | "other";
113
- "aria-valuemax"?: number;
114
- "aria-valuemin"?: number;
115
- "aria-valuenow"?: number;
116
- "aria-valuetext"?: string;
117
- children?: import("react").ReactNode;
118
- dangerouslySetInnerHTML?: {
119
- __html: string | TrustedHTML;
120
- };
121
- onCopy?: import("react").ClipboardEventHandler<HTMLObjectElement>;
122
- onCopyCapture?: import("react").ClipboardEventHandler<HTMLObjectElement>;
123
- onCut?: import("react").ClipboardEventHandler<HTMLObjectElement>;
124
- onCutCapture?: import("react").ClipboardEventHandler<HTMLObjectElement>;
125
- onPaste?: import("react").ClipboardEventHandler<HTMLObjectElement>;
126
- onPasteCapture?: import("react").ClipboardEventHandler<HTMLObjectElement>;
127
- onCompositionEnd?: import("react").CompositionEventHandler<HTMLObjectElement>;
128
- onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLObjectElement>;
129
- onCompositionStart?: import("react").CompositionEventHandler<HTMLObjectElement>;
130
- onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLObjectElement>;
131
- onCompositionUpdate?: import("react").CompositionEventHandler<HTMLObjectElement>;
132
- onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLObjectElement>;
133
- onFocus?: import("react").FocusEventHandler<HTMLObjectElement>;
134
- onFocusCapture?: import("react").FocusEventHandler<HTMLObjectElement>;
135
- onBlur?: import("react").FocusEventHandler<HTMLObjectElement>;
136
- onBlurCapture?: import("react").FocusEventHandler<HTMLObjectElement>;
137
- onChange?: import("react").FormEventHandler<HTMLObjectElement>;
138
- onChangeCapture?: import("react").FormEventHandler<HTMLObjectElement>;
139
- onBeforeInput?: import("react").FormEventHandler<HTMLObjectElement>;
140
- onBeforeInputCapture?: import("react").FormEventHandler<HTMLObjectElement>;
141
- onInput?: import("react").FormEventHandler<HTMLObjectElement>;
142
- onInputCapture?: import("react").FormEventHandler<HTMLObjectElement>;
143
- onReset?: import("react").FormEventHandler<HTMLObjectElement>;
144
- onResetCapture?: import("react").FormEventHandler<HTMLObjectElement>;
145
- onSubmit?: import("react").FormEventHandler<HTMLObjectElement>;
146
- onSubmitCapture?: import("react").FormEventHandler<HTMLObjectElement>;
147
- onInvalid?: import("react").FormEventHandler<HTMLObjectElement>;
148
- onInvalidCapture?: import("react").FormEventHandler<HTMLObjectElement>;
149
- onLoad?: import("react").ReactEventHandler<HTMLObjectElement>;
150
- onLoadCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
151
- onError?: import("react").ReactEventHandler<HTMLObjectElement>;
152
- onErrorCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
153
- onKeyDown?: import("react").KeyboardEventHandler<HTMLObjectElement>;
154
- onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLObjectElement>;
155
- onKeyPress?: import("react").KeyboardEventHandler<HTMLObjectElement>;
156
- onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLObjectElement>;
157
- onKeyUp?: import("react").KeyboardEventHandler<HTMLObjectElement>;
158
- onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLObjectElement>;
159
- onAbort?: import("react").ReactEventHandler<HTMLObjectElement>;
160
- onAbortCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
161
- onCanPlay?: import("react").ReactEventHandler<HTMLObjectElement>;
162
- onCanPlayCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
163
- onCanPlayThrough?: import("react").ReactEventHandler<HTMLObjectElement>;
164
- onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
165
- onDurationChange?: import("react").ReactEventHandler<HTMLObjectElement>;
166
- onDurationChangeCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
167
- onEmptied?: import("react").ReactEventHandler<HTMLObjectElement>;
168
- onEmptiedCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
169
- onEncrypted?: import("react").ReactEventHandler<HTMLObjectElement>;
170
- onEncryptedCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
171
- onEnded?: import("react").ReactEventHandler<HTMLObjectElement>;
172
- onEndedCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
173
- onLoadedData?: import("react").ReactEventHandler<HTMLObjectElement>;
174
- onLoadedDataCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
175
- onLoadedMetadata?: import("react").ReactEventHandler<HTMLObjectElement>;
176
- onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
177
- onLoadStart?: import("react").ReactEventHandler<HTMLObjectElement>;
178
- onLoadStartCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
179
- onPause?: import("react").ReactEventHandler<HTMLObjectElement>;
180
- onPauseCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
181
- onPlay?: import("react").ReactEventHandler<HTMLObjectElement>;
182
- onPlayCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
183
- onPlaying?: import("react").ReactEventHandler<HTMLObjectElement>;
184
- onPlayingCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
185
- onProgress?: import("react").ReactEventHandler<HTMLObjectElement>;
186
- onProgressCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
187
- onRateChange?: import("react").ReactEventHandler<HTMLObjectElement>;
188
- onRateChangeCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
189
- onResize?: import("react").ReactEventHandler<HTMLObjectElement>;
190
- onResizeCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
191
- onSeeked?: import("react").ReactEventHandler<HTMLObjectElement>;
192
- onSeekedCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
193
- onSeeking?: import("react").ReactEventHandler<HTMLObjectElement>;
194
- onSeekingCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
195
- onStalled?: import("react").ReactEventHandler<HTMLObjectElement>;
196
- onStalledCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
197
- onSuspend?: import("react").ReactEventHandler<HTMLObjectElement>;
198
- onSuspendCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
199
- onTimeUpdate?: import("react").ReactEventHandler<HTMLObjectElement>;
200
- onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
201
- onVolumeChange?: import("react").ReactEventHandler<HTMLObjectElement>;
202
- onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
203
- onWaiting?: import("react").ReactEventHandler<HTMLObjectElement>;
204
- onWaitingCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
205
- onAuxClick?: import("react").MouseEventHandler<HTMLObjectElement>;
206
- onAuxClickCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
207
- onClick?: import("react").MouseEventHandler<HTMLObjectElement>;
208
- onClickCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
209
- onContextMenu?: import("react").MouseEventHandler<HTMLObjectElement>;
210
- onContextMenuCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
211
- onDoubleClick?: import("react").MouseEventHandler<HTMLObjectElement>;
212
- onDoubleClickCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
213
- onDrag?: import("react").DragEventHandler<HTMLObjectElement>;
214
- onDragCapture?: import("react").DragEventHandler<HTMLObjectElement>;
215
- onDragEnd?: import("react").DragEventHandler<HTMLObjectElement>;
216
- onDragEndCapture?: import("react").DragEventHandler<HTMLObjectElement>;
217
- onDragEnter?: import("react").DragEventHandler<HTMLObjectElement>;
218
- onDragEnterCapture?: import("react").DragEventHandler<HTMLObjectElement>;
219
- onDragExit?: import("react").DragEventHandler<HTMLObjectElement>;
220
- onDragExitCapture?: import("react").DragEventHandler<HTMLObjectElement>;
221
- onDragLeave?: import("react").DragEventHandler<HTMLObjectElement>;
222
- onDragLeaveCapture?: import("react").DragEventHandler<HTMLObjectElement>;
223
- onDragOver?: import("react").DragEventHandler<HTMLObjectElement>;
224
- onDragOverCapture?: import("react").DragEventHandler<HTMLObjectElement>;
225
- onDragStart?: import("react").DragEventHandler<HTMLObjectElement>;
226
- onDragStartCapture?: import("react").DragEventHandler<HTMLObjectElement>;
227
- onDrop?: import("react").DragEventHandler<HTMLObjectElement>;
228
- onDropCapture?: import("react").DragEventHandler<HTMLObjectElement>;
229
- onMouseDown?: import("react").MouseEventHandler<HTMLObjectElement>;
230
- onMouseDownCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
231
- onMouseEnter?: import("react").MouseEventHandler<HTMLObjectElement>;
232
- onMouseLeave?: import("react").MouseEventHandler<HTMLObjectElement>;
233
- onMouseMove?: import("react").MouseEventHandler<HTMLObjectElement>;
234
- onMouseMoveCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
235
- onMouseOut?: import("react").MouseEventHandler<HTMLObjectElement>;
236
- onMouseOutCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
237
- onMouseOver?: import("react").MouseEventHandler<HTMLObjectElement>;
238
- onMouseOverCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
239
- onMouseUp?: import("react").MouseEventHandler<HTMLObjectElement>;
240
- onMouseUpCapture?: import("react").MouseEventHandler<HTMLObjectElement>;
241
- onSelect?: import("react").ReactEventHandler<HTMLObjectElement>;
242
- onSelectCapture?: import("react").ReactEventHandler<HTMLObjectElement>;
243
- onTouchCancel?: import("react").TouchEventHandler<HTMLObjectElement>;
244
- onTouchCancelCapture?: import("react").TouchEventHandler<HTMLObjectElement>;
245
- onTouchEnd?: import("react").TouchEventHandler<HTMLObjectElement>;
246
- onTouchEndCapture?: import("react").TouchEventHandler<HTMLObjectElement>;
247
- onTouchMove?: import("react").TouchEventHandler<HTMLObjectElement>;
248
- onTouchMoveCapture?: import("react").TouchEventHandler<HTMLObjectElement>;
249
- onTouchStart?: import("react").TouchEventHandler<HTMLObjectElement>;
250
- onTouchStartCapture?: import("react").TouchEventHandler<HTMLObjectElement>;
251
- onPointerDown?: import("react").PointerEventHandler<HTMLObjectElement>;
252
- onPointerDownCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
253
- onPointerMove?: import("react").PointerEventHandler<HTMLObjectElement>;
254
- onPointerMoveCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
255
- onPointerUp?: import("react").PointerEventHandler<HTMLObjectElement>;
256
- onPointerUpCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
257
- onPointerCancel?: import("react").PointerEventHandler<HTMLObjectElement>;
258
- onPointerCancelCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
259
- onPointerEnter?: import("react").PointerEventHandler<HTMLObjectElement>;
260
- onPointerEnterCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
261
- onPointerLeave?: import("react").PointerEventHandler<HTMLObjectElement>;
262
- onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
263
- onPointerOver?: import("react").PointerEventHandler<HTMLObjectElement>;
264
- onPointerOverCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
265
- onPointerOut?: import("react").PointerEventHandler<HTMLObjectElement>;
266
- onPointerOutCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
267
- onGotPointerCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
268
- onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
269
- onLostPointerCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
270
- onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLObjectElement>;
271
- onScroll?: import("react").UIEventHandler<HTMLObjectElement>;
272
- onScrollCapture?: import("react").UIEventHandler<HTMLObjectElement>;
273
- onWheel?: import("react").WheelEventHandler<HTMLObjectElement>;
274
- onWheelCapture?: import("react").WheelEventHandler<HTMLObjectElement>;
275
- onAnimationStart?: import("react").AnimationEventHandler<HTMLObjectElement>;
276
- onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLObjectElement>;
277
- onAnimationEnd?: import("react").AnimationEventHandler<HTMLObjectElement>;
278
- onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLObjectElement>;
279
- onAnimationIteration?: import("react").AnimationEventHandler<HTMLObjectElement>;
280
- onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLObjectElement>;
281
- onTransitionEnd?: import("react").TransitionEventHandler<HTMLObjectElement>;
282
- onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLObjectElement>;
283
- }>;
package/dist/package.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "name": "@gpichot/spectacle-deck",
3
- "version": "1.1.0",
4
- "license": "MIT",
5
- "type": "module",
6
- "main": "index.cjs",
7
- "types": "index.d.ts",
8
- "module": "index.mjs",
9
- "exports": {
10
- ".": {
11
- "types": "./index.d.ts",
12
- "require": "./index.cjs",
13
- "import": "./index.mjs"
14
- }
15
- },
16
- "keywords": [
17
- "spectacle"
18
- ],
19
- "dependencies": {
20
- "@fontsource/bitter": "^5.0.15",
21
- "@mdx-js/react": "^3.0.0",
22
- "react": "^18.2.0",
23
- "react-dom": "^18.2.0",
24
- "react-is": "^18.2.0",
25
- "react-spring": "^9.7.3",
26
- "react-syntax-highlighter": "^15.5.0",
27
- "spectacle": "^10.1.6",
28
- "styled-components": "^6.1.0"
29
- }
30
- }
package/scripts/bundle.ts DELETED
@@ -1,84 +0,0 @@
1
- import { rmSync, writeFileSync, copyFileSync } from "node:fs";
2
- import { execSync } from "node:child_process";
3
- import { build, BuildOptions, context } from "esbuild";
4
-
5
- import packageJSON from "../package.json";
6
-
7
- const dev = process.argv.includes("--dev");
8
-
9
- rmSync("dist", { force: true, recursive: true });
10
-
11
- const serverOptions: BuildOptions = {
12
- bundle: true,
13
- platform: "node",
14
- target: "node14",
15
- legalComments: "inline",
16
- loader: {
17
- ".png": "dataurl",
18
- },
19
- external: Object.keys(packageJSON.peerDependencies || {}).concat(
20
- Object.keys(packageJSON.dependencies || {})
21
- ),
22
- };
23
-
24
- const buildOrWatch = async (options: BuildOptions) => {
25
- if (!dev) return build(options);
26
- const ctx = await context(options);
27
- await ctx.watch();
28
- await ctx.rebuild();
29
- };
30
-
31
- Promise.all([
32
- buildOrWatch({
33
- ...serverOptions,
34
- stdin: {
35
- contents: `import * as mod from "./src";
36
- module.exports = mod;
37
- `,
38
- resolveDir: ".",
39
- },
40
- outfile: "dist/index.cjs",
41
- logOverride: { "empty-import-meta": "silent" },
42
- }),
43
- buildOrWatch({
44
- ...serverOptions,
45
- entryPoints: ["src/index.tsx"],
46
- format: "esm",
47
- outfile: "dist/index.mjs",
48
- }),
49
- ]).then(() => {
50
- // copyFileSync("LICENSE", "dist/LICENSE");
51
- // copyFileSync("README.md", "dist/README.md");
52
-
53
- execSync(
54
- "tsc src/index.tsx --declaration --jsx react --emitDeclarationOnly --outDir dist --module es2020 --target es2020 --allowSyntheticDefaultImports --skipLibCheck --moduleResolution node --types ./src/node.d.ts,./src/style.d.ts",
55
- { stdio: "inherit" }
56
- );
57
-
58
- writeFileSync(
59
- "dist/package.json",
60
- JSON.stringify(
61
- {
62
- name: "@gpichot/spectacle-deck",
63
- version: packageJSON.version,
64
- license: "MIT",
65
- type: "module",
66
- main: "index.cjs",
67
- types: "index.d.ts",
68
- module: "index.mjs",
69
- exports: {
70
- ".": {
71
- types: "./index.d.ts",
72
- require: "./index.cjs",
73
- import: "./index.mjs",
74
- },
75
- },
76
- keywords: ["spectacle"],
77
- peerDependencies: packageJSON.peerDependencies,
78
- dependencies: packageJSON.dependencies,
79
- },
80
- null,
81
- 2
82
- )
83
- );
84
- });
@@ -1,223 +0,0 @@
1
- import React from "react";
2
- import ReactIs from "react-is";
3
- import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
4
- import { gruvboxDark } from "react-syntax-highlighter/dist/esm/styles/prism";
5
- import { Stepper } from "spectacle";
6
- import styled from "styled-components";
7
-
8
- import { parseStepDirectives, Step } from "./code-directives";
9
-
10
- const Highlighter = SyntaxHighlighter as unknown as React.ElementType;
11
-
12
- const CodeContainer = styled.div`
13
- pre {
14
- padding: 1rem 0rem !important;
15
- background-color: transparent !important;
16
- }
17
- .linenumber {
18
- min-width: 2rem !important;
19
- }
20
- [data-highlight-line="true"] {
21
- &:before {
22
- content: " ";
23
- position: absolute;
24
- background-color: #f4967688;
25
- }
26
-
27
- &[data-step-active="true"]:before {
28
- background-color: #f49676;
29
- }
30
- }
31
- `;
32
-
33
- function useCodeSteps(code: string) {
34
- return React.useMemo(() => {
35
- const prefixes = code.match(/(?:\/\/|<!--) @.*\n/g) || ([] as string[]);
36
- const prefixesLength = prefixes.reduce(
37
- (acc, prefix) => acc + prefix.length,
38
- 0
39
- );
40
-
41
- const codeWithoutPrefixes = code.slice(prefixesLength);
42
-
43
- const hasDirectives = prefixes.length > 0;
44
- const allDirectives = hasDirectives ? [...prefixes] : [];
45
- const steps = parseStepDirectives(allDirectives);
46
-
47
- return {
48
- steps,
49
- code: codeWithoutPrefixes,
50
- prefixes,
51
- hasSteps: Boolean(steps.length),
52
- hasName: steps.some((step) => step.name),
53
- };
54
- }, [code]);
55
- }
56
-
57
- function getCodeDetails(children: React.ReactNode) {
58
- const child = React.Children.toArray(children)[0];
59
-
60
- if (!React.isValidElement(child)) {
61
- return {
62
- language: "",
63
- code: ReactIs.isFragment(child) ? "" : String(child || ""),
64
- };
65
- }
66
-
67
- const result = {
68
- language: (String(child.props.className) || "").replace("language-", ""),
69
- code: (child.props.children as string).trim(),
70
- };
71
-
72
- return result;
73
- }
74
-
75
- function CodeWrapper({
76
- name,
77
- stepName,
78
- hasName,
79
- children,
80
- }: {
81
- name?: string;
82
- stepName?: string;
83
- hasName?: boolean;
84
- children: React.ReactNode;
85
- }) {
86
- return (
87
- <div
88
- style={{
89
- boxSizing: "border-box",
90
- margin: "0.5rem 1rem",
91
- backgroundColor: "rgb(38,39,40)",
92
- borderRadius: "4px",
93
- }}
94
- >
95
- {name && (
96
- <span
97
- style={{
98
- fontFamily: 'Consolas, Monaco, "Andale Mono", monospace',
99
- fontSize: "1rem",
100
- color: "#ffffffbb",
101
- backgroundColor: "#33333388",
102
- display: "inline-block",
103
- padding: "8px 8px",
104
- width: "100%",
105
- boxSizing: "border-box",
106
- }}
107
- >
108
- {name}
109
- </span>
110
- )}
111
- {children}
112
- {hasName && (
113
- <span
114
- style={{
115
- fontFamily: 'Consolas, Monaco, "Andale Mono", monospace',
116
- fontSize: "0.8rem",
117
- color: "#ffffffaa",
118
- backgroundColor: "#33333388",
119
- display: "inline-block",
120
- padding: "4px 8px",
121
- width: "100%",
122
- boxSizing: "border-box",
123
- fontStyle: "italic",
124
- }}
125
- >
126
- {stepName || <span style={{ visibility: "hidden" }}>Step</span>}
127
- </span>
128
- )}
129
- </div>
130
- );
131
- }
132
-
133
- export default function CodeStepper({
134
- priority,
135
- name,
136
- ...props
137
- }: React.ComponentProps<"pre"> & {
138
- priority?: number;
139
- name?: string;
140
- }) {
141
- const { language, code } = React.useMemo(() => {
142
- return getCodeDetails(props.children);
143
- }, [props.children]);
144
-
145
- const {
146
- steps,
147
- code: codeNormalized,
148
- prefixes,
149
- hasSteps,
150
- hasName,
151
- } = useCodeSteps(code);
152
- return (
153
- <CodeContainer>
154
- {import.meta.env.DEV && Boolean(prefixes?.length) && (
155
- <div style={{ position: "absolute", top: 0, opacity: 0.5, left: 0 }}>
156
- <Highlighter language={language} style={gruvboxDark}>
157
- {prefixes.join("")}
158
- </Highlighter>
159
- </div>
160
- )}
161
- <Stepper
162
- values={steps}
163
- alwaysVisible={!hasSteps}
164
- priority={priority ? priority + 1 : undefined}
165
- >
166
- {(step, _, isActive) => (
167
- <CodeWrapper
168
- name={name}
169
- stepName={(step as Step | null)?.name}
170
- hasName={hasName}
171
- >
172
- <Highlighter
173
- language={language}
174
- wrapLines
175
- showLineNumbers
176
- style={gruvboxDark}
177
- lineNumberStyle={(lineNumber: number) => {
178
- const { highlight = [] } = (step as Step) || {};
179
- const isHighlighted = highlight.includes(lineNumber);
180
-
181
- return {
182
- fontWeight: isHighlighted ? "bold" : "normal",
183
- };
184
- }}
185
- lineProps={(lineNumber: number) => {
186
- const { hiddenLines = [], highlight = [] } =
187
- (step as Step) || {};
188
- const isVisible =
189
- hasSteps && isActive
190
- ? !hiddenLines.includes(lineNumber)
191
- : isActive || !hasSteps;
192
- const isHighlighted = highlight.includes(lineNumber);
193
- const getOpacity = () => {
194
- if (!isVisible) return 0;
195
- if (isHighlighted || !highlight.length) return 1;
196
- return 0.8;
197
- };
198
-
199
- return {
200
- ...(isHighlighted && {
201
- "data-highlight-line": isHighlighted,
202
- "data-step-active": isActive,
203
- }),
204
- style: {
205
- opacity: getOpacity(),
206
- transition: "all 0.3s ease",
207
- display: "block",
208
- width: "100%",
209
- backgroundColor: isHighlighted ? "#f4967622" : "",
210
- },
211
- };
212
- }}
213
- >
214
- {codeNormalized}
215
- </Highlighter>
216
- </CodeWrapper>
217
- )}
218
- </Stepper>
219
- </CodeContainer>
220
- );
221
- }
222
-
223
- CodeStepper.mdxType = "CodeStepper";
@@ -1,58 +0,0 @@
1
- import { parseStepDirectives } from './code-directives';
2
-
3
- function splitDirectives(str: string): string[] {
4
- return str.trim().split('\n');
5
- }
6
-
7
- describe('parseStepDirectives', () => {
8
- it('should reduce properly with showLines', () => {
9
- const directives = splitDirectives(`
10
- // @step showLines(1-3) highlight(1-3)
11
- // @step showLines(4-6) highlight(4-6)
12
- `);
13
-
14
- const result = parseStepDirectives(directives);
15
- expect(result[0]).toEqual({ hiddenLines: [4, 5, 6], highlight: [1, 2, 3] });
16
- expect(result[1]).toEqual({ hiddenLines: [], highlight: [4, 5, 6] });
17
- });
18
-
19
- it('should reduce properly with highlight', () => {
20
- const directives = splitDirectives(`
21
- // @step highlight(3)
22
- // @step showLines(4) highlight(4)
23
- `);
24
-
25
- const result = parseStepDirectives(directives);
26
- expect(result).toHaveLength(2);
27
- expect(result[0]).toEqual({ hiddenLines: [4], highlight: [3] });
28
- expect(result[1]).toEqual({ hiddenLines: [], highlight: [4] });
29
- });
30
-
31
- it('parse only highlights', () => {
32
- const directives = splitDirectives(`
33
- // @step highlight(6)
34
- // @step highlight(7-9)
35
- // @step highlight(10)
36
- `);
37
-
38
- const result = parseStepDirectives(directives);
39
- expect(result).toHaveLength(3);
40
- expect(result[0]).toEqual({ hiddenLines: [], highlight: [6] });
41
- expect(result[1]).toEqual({ hiddenLines: [], highlight: [7, 8, 9] });
42
- expect(result[2]).toEqual({ hiddenLines: [], highlight: [10] });
43
- });
44
-
45
- it('parses typescript lines', () => {
46
- const directives = splitDirectives(`
47
- // @step highlight(3) name("(string|number)[]")
48
- `);
49
-
50
- const result = parseStepDirectives(directives);
51
- expect(result).toHaveLength(1);
52
- expect(result[0]).toEqual({
53
- hiddenLines: [],
54
- highlight: [3],
55
- name: '(string|number)[]',
56
- });
57
- });
58
- });