code-playpad 0.1.3

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 (43) hide show
  1. package/LICENSE +27 -0
  2. package/README.md +166 -0
  3. package/dist/THIRD-PARTY-NOTICES.txt +473 -0
  4. package/dist/config-B2qK2rdk.js +6 -0
  5. package/dist/config-DZqcFPEP.js +1 -0
  6. package/dist/dist-B5vq9x6M.js +6 -0
  7. package/dist/dist-BThnYaQ5.js +12 -0
  8. package/dist/dist-CnC1nMtN.js +6 -0
  9. package/dist/dist-CqpVTRAq.js +28 -0
  10. package/dist/dist-D0FPZcUi.js +8 -0
  11. package/dist/dist-DOsLUKSb.js +10 -0
  12. package/dist/dist-D_qJovVA.js +14 -0
  13. package/dist/dist-DlIO0dzi.js +6 -0
  14. package/dist/dist-DmrP6yta.js +6 -0
  15. package/dist/dist-XlpaG2JF.js +6 -0
  16. package/dist/editor.d.ts +33 -0
  17. package/dist/element-CJuhuMOP.js +288 -0
  18. package/dist/element.d.ts +63 -0
  19. package/dist/element.js +1 -0
  20. package/dist/index.d.ts +10 -0
  21. package/dist/index.js +1 -0
  22. package/dist/javascript-CLly2mXM.js +318 -0
  23. package/dist/javascript-DGFKR69i.js +323 -0
  24. package/dist/languages.d.ts +9 -0
  25. package/dist/progress.d.ts +17 -0
  26. package/dist/pyodide-IYKXKyDw.js +13 -0
  27. package/dist/pyodide-yv6x2HCQ.js +18 -0
  28. package/dist/react.d.ts +44 -0
  29. package/dist/react.js +1 -0
  30. package/dist/runtime/config.d.ts +29 -0
  31. package/dist/runtime/javascript.d.ts +3 -0
  32. package/dist/runtime/js-worker.d.ts +9 -0
  33. package/dist/runtime/pyodide.d.ts +3 -0
  34. package/dist/runtime/registry.d.ts +9 -0
  35. package/dist/runtime/worker-runtime.d.ts +71 -0
  36. package/dist/runtime/worker.d.ts +14 -0
  37. package/dist/standalone.d.ts +14 -0
  38. package/dist/standalone.js +293 -0
  39. package/dist/styles.d.ts +3 -0
  40. package/dist/types.d.ts +67 -0
  41. package/dist/worker-runtime-8Mnw4vAD.js +9 -0
  42. package/dist/worker-runtime-BZHszOA3.js +4 -0
  43. package/package.json +110 -0
package/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Seung Hun Lee
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ This package bundles third-party components that remain under their own
26
+ licences, reproduced in full in dist/THIRD-PARTY-NOTICES.txt. Pyodide (MPL-2.0)
27
+ is fetched from a CDN at runtime and is not redistributed here.
package/README.md ADDED
@@ -0,0 +1,166 @@
1
+ # code-playpad
2
+
3
+ [![npm](https://img.shields.io/npm/v/code-playpad)](https://www.npmjs.com/package/code-playpad) [![license](https://img.shields.io/npm/l/code-playpad)](./LICENSE)
4
+
5
+ Runnable code in any web page. A CodeMirror editor that **executes what it
6
+ shows** — Python, JavaScript and TypeScript — entirely in the reader's browser.
7
+ No backend, no iframe, no sign-up.
8
+
9
+ **[Live demo →](https://code-playpad.swengr.com)**
10
+
11
+ ```html
12
+ <script type="module" src="https://cdn.jsdelivr.net/npm/code-playpad@0.1.3"></script>
13
+
14
+ <code-playpad height="180">
15
+ print("hello from a static page")
16
+ </code-playpad>
17
+ ```
18
+
19
+ ## Languages
20
+
21
+ | `language` | Runtime | Downloaded at runtime |
22
+ | --- | --- | --- |
23
+ | `python` (default) | Python 3.14 via Pyodide — full standard library, `input()`, real tracebacks, `numpy` on demand | ~11 MB, once, cached |
24
+ | `javascript` | The browser's own engine, in a Worker | nothing |
25
+ | `typescript` | Same engine, types stripped before running | ~50 KB, once, cached |
26
+
27
+ Each language loads **only on pages that use it**. A Python-only page never
28
+ downloads a byte of the JavaScript runtime; a JavaScript-only page never touches
29
+ Pyodide's 11 MB.
30
+
31
+ TypeScript here erases types, it does not check them — a type error will not
32
+ stop your code running. This is a playground, not `tsc`.
33
+
34
+ ## Install
35
+
36
+ The CDN snippet above needs nothing installed. For a bundler:
37
+
38
+ ```bash
39
+ npm install code-playpad @codemirror/state @codemirror/view @codemirror/commands \
40
+ @codemirror/language @codemirror/autocomplete @codemirror/theme-one-dark
41
+ ```
42
+
43
+ CodeMirror is a peer dependency so you never end up with two copies of
44
+ `@codemirror/state`. Language grammars (`@codemirror/lang-python`,
45
+ `lang-javascript`, `lang-json`) are **optional** — install only the ones you
46
+ use; a missing one degrades to plain text.
47
+
48
+ ```html
49
+ <script type="module" src="/node_modules/code-playpad/dist/element.js"></script>
50
+
51
+ <code-playpad language="javascript" height="180">
52
+ console.log("hi");
53
+ </code-playpad>
54
+ ```
55
+
56
+ From React:
57
+
58
+ ```jsx
59
+ import { CodePlayPad } from 'code-playpad/react';
60
+
61
+ <CodePlayPad
62
+ language="python"
63
+ code={'print("hi")'}
64
+ height={180}
65
+ onOutput={(r) => setPassed(r.stdout.includes('hi'))}
66
+ />
67
+ ```
68
+
69
+ Importing on a server is safe — the element degrades to a no-op without a DOM,
70
+ so Next.js, Astro and SvelteKit need no dynamic import.
71
+
72
+ ## API
73
+
74
+ | | |
75
+ | --- | --- |
76
+ | **attributes** | `language`, `height`, `theme` (`light` \| `dark` \| `auto`), `readonly`, `autorun`, `stdin`, `persist`, `entry` |
77
+ | **properties** | `code`, `files`, `entry`, `stdin`, `language` |
78
+ | **methods** | `run()`, `stop()`, `reset()`, `getCode()`, `getFiles()`, `openFile(name)`, `prewarm()` |
79
+ | **events** | `py-ready`, `py-run`, `py-output`, `py-error` |
80
+
81
+ Events bubble and cross the shadow boundary, so answer-checking lives outside
82
+ the widget:
83
+
84
+ ```js
85
+ document.addEventListener('py-output', (e) => {
86
+ // e.detail: { stdout, stderr?, value?, table?, durationMs, language }
87
+ grade(e.target.id, e.detail.stdout);
88
+ });
89
+ ```
90
+
91
+ Note `language`, not `lang` — `lang` is a standard HTML attribute for the
92
+ *human* language of an element's text.
93
+
94
+ ## Several files
95
+
96
+ A widget can hold a small project. Relative imports, packages, and data files
97
+ all work, and tracebacks name the real file and line.
98
+
99
+ ```html
100
+ <code-playpad entry="main.py" height="260">
101
+ <playpad-file name="main.py">
102
+ from geometry import Circle
103
+ print(Circle(1).area())
104
+ </playpad-file>
105
+
106
+ <playpad-file name="geometry/__init__.py">
107
+ from .shapes import Circle
108
+ </playpad-file>
109
+
110
+ <playpad-file name="geometry/shapes.py">
111
+ from math import pi
112
+
113
+ class Circle:
114
+ def __init__(self, radius): self.radius = radius
115
+ def area(self): return pi * self.radius ** 2
116
+ </playpad-file>
117
+ </code-playpad>
118
+ ```
119
+
120
+ Highlighting follows the **file**, not the runtime: a `.json` beside your
121
+ JavaScript is highlighted as JSON, a `.csv` beside your Python is plain text.
122
+ `.json` files are importable as data, the same as in Node.
123
+
124
+ ## Input
125
+
126
+ `input()` blocks for real. The prompt appears, a caret waits at the end of the
127
+ output, and the program continues when a line is sent — echoed the way a
128
+ terminal echoes typing:
129
+
130
+ ```
131
+ name? Ada
132
+ age? 36
133
+ hello Ada, next year you turn 37
134
+ ```
135
+
136
+ `Enter` sends a line; **EOF** (or `Ctrl-D`) ends input. In JavaScript and
137
+ TypeScript, `input()` is a global returning a promise, so `await` works at the
138
+ top level. Echoed input is display-only — `Result.stdout` stays exactly what the
139
+ program printed, so graders are unaffected.
140
+
141
+ ## Worth knowing
142
+
143
+ - **One runtime per page.** Every widget shares a single Worker per language, so
144
+ ten editors cost one download, not ten. Runs are queued: Python is
145
+ single-threaded, so a second widget waits for the first.
146
+ - **Runaway code cannot freeze the page.** Code runs in a Worker; **Stop**
147
+ terminates and reboots it. Runs queued behind the stopped one survive.
148
+ - **A program waiting on `input()` holds the shared runtime.** Other widgets
149
+ show `Queued…` until it finishes or is stopped.
150
+ - **Nothing boots on page load.** An IntersectionObserver starts a runtime as a
151
+ widget nears the viewport; touching the editor also wakes it.
152
+ - **Python in the browser has limits**: no threads, no `multiprocessing`, no
153
+ sockets, no `subprocess`. `requests` works but goes through browser `fetch`,
154
+ so CORS applies.
155
+ - **Serve Pyodide from your own origin in production** so you control its cache
156
+ headers: `configurePython({ indexURL: '/pyodide/' })` before the first run.
157
+
158
+ ## Licence
159
+
160
+ MIT © 2026 Seung Hun Lee — see `LICENSE`.
161
+
162
+ The source is not published, but the package you install is MIT: use it, ship
163
+ it, modify it. Bundled third-party components (CodeMirror 6, Lezer) remain under
164
+ their own MIT licences, reproduced in full in `dist/THIRD-PARTY-NOTICES.txt`.
165
+ Pyodide (MPL-2.0) is fetched from a CDN at runtime and is not redistributed by
166
+ this package.
@@ -0,0 +1,473 @@
1
+ code-playpad bundles the following third-party packages.
2
+ Their licenses and copyright notices are reproduced in full below.
3
+
4
+ Pyodide (MPL-2.0) is NOT bundled — it is fetched from a CDN at runtime.
5
+
6
+ ==============================================================================
7
+ @codemirror/autocomplete 6.20.3 — MIT
8
+
9
+ MIT License
10
+
11
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ of this software and associated documentation files (the "Software"), to deal
15
+ in the Software without restriction, including without limitation the rights
16
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
+ copies of the Software, and to permit persons to whom the Software is
18
+ furnished to do so, subject to the following conditions:
19
+
20
+ The above copyright notice and this permission notice shall be included in
21
+ all copies or substantial portions of the Software.
22
+
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29
+ THE SOFTWARE.
30
+
31
+ ==============================================================================
32
+ @codemirror/commands 6.11.0 — MIT
33
+
34
+ MIT License
35
+
36
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
37
+
38
+ Permission is hereby granted, free of charge, to any person obtaining a copy
39
+ of this software and associated documentation files (the "Software"), to deal
40
+ in the Software without restriction, including without limitation the rights
41
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
42
+ copies of the Software, and to permit persons to whom the Software is
43
+ furnished to do so, subject to the following conditions:
44
+
45
+ The above copyright notice and this permission notice shall be included in
46
+ all copies or substantial portions of the Software.
47
+
48
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
49
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
51
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
52
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
53
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
54
+ THE SOFTWARE.
55
+
56
+ ==============================================================================
57
+ @codemirror/lang-javascript 6.2.5 — MIT
58
+
59
+ MIT License
60
+
61
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
62
+
63
+ Permission is hereby granted, free of charge, to any person obtaining a copy
64
+ of this software and associated documentation files (the "Software"), to deal
65
+ in the Software without restriction, including without limitation the rights
66
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
67
+ copies of the Software, and to permit persons to whom the Software is
68
+ furnished to do so, subject to the following conditions:
69
+
70
+ The above copyright notice and this permission notice shall be included in
71
+ all copies or substantial portions of the Software.
72
+
73
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
74
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
75
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
76
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
77
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
78
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
79
+ THE SOFTWARE.
80
+
81
+ ==============================================================================
82
+ @codemirror/lang-json 6.0.2 — MIT
83
+
84
+ MIT License
85
+
86
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
87
+
88
+ Permission is hereby granted, free of charge, to any person obtaining a copy
89
+ of this software and associated documentation files (the "Software"), to deal
90
+ in the Software without restriction, including without limitation the rights
91
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
92
+ copies of the Software, and to permit persons to whom the Software is
93
+ furnished to do so, subject to the following conditions:
94
+
95
+ The above copyright notice and this permission notice shall be included in
96
+ all copies or substantial portions of the Software.
97
+
98
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
99
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
100
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
101
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
102
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
103
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
104
+ THE SOFTWARE.
105
+
106
+ ==============================================================================
107
+ @codemirror/lang-python 6.2.1 — MIT
108
+
109
+ MIT License
110
+
111
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
112
+
113
+ Permission is hereby granted, free of charge, to any person obtaining a copy
114
+ of this software and associated documentation files (the "Software"), to deal
115
+ in the Software without restriction, including without limitation the rights
116
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
117
+ copies of the Software, and to permit persons to whom the Software is
118
+ furnished to do so, subject to the following conditions:
119
+
120
+ The above copyright notice and this permission notice shall be included in
121
+ all copies or substantial portions of the Software.
122
+
123
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
124
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
125
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
126
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
127
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
128
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
129
+ THE SOFTWARE.
130
+
131
+ ==============================================================================
132
+ @codemirror/language 6.12.4 — MIT
133
+
134
+ MIT License
135
+
136
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
137
+
138
+ Permission is hereby granted, free of charge, to any person obtaining a copy
139
+ of this software and associated documentation files (the "Software"), to deal
140
+ in the Software without restriction, including without limitation the rights
141
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
142
+ copies of the Software, and to permit persons to whom the Software is
143
+ furnished to do so, subject to the following conditions:
144
+
145
+ The above copyright notice and this permission notice shall be included in
146
+ all copies or substantial portions of the Software.
147
+
148
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
149
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
150
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
151
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
152
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
153
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
154
+ THE SOFTWARE.
155
+
156
+ ==============================================================================
157
+ @codemirror/state 6.7.1 — MIT
158
+
159
+ MIT License
160
+
161
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
162
+
163
+ Permission is hereby granted, free of charge, to any person obtaining a copy
164
+ of this software and associated documentation files (the "Software"), to deal
165
+ in the Software without restriction, including without limitation the rights
166
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
167
+ copies of the Software, and to permit persons to whom the Software is
168
+ furnished to do so, subject to the following conditions:
169
+
170
+ The above copyright notice and this permission notice shall be included in
171
+ all copies or substantial portions of the Software.
172
+
173
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
174
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
175
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
176
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
177
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
178
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
179
+ THE SOFTWARE.
180
+
181
+ ==============================================================================
182
+ @codemirror/theme-one-dark 6.1.3 — MIT
183
+
184
+ MIT License
185
+
186
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
187
+
188
+ Permission is hereby granted, free of charge, to any person obtaining a copy
189
+ of this software and associated documentation files (the "Software"), to deal
190
+ in the Software without restriction, including without limitation the rights
191
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
192
+ copies of the Software, and to permit persons to whom the Software is
193
+ furnished to do so, subject to the following conditions:
194
+
195
+ The above copyright notice and this permission notice shall be included in
196
+ all copies or substantial portions of the Software.
197
+
198
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
199
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
200
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
201
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
202
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
203
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
204
+ THE SOFTWARE.
205
+
206
+ ==============================================================================
207
+ @codemirror/view 6.43.9 — MIT
208
+
209
+ MIT License
210
+
211
+ Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
212
+
213
+ Permission is hereby granted, free of charge, to any person obtaining a copy
214
+ of this software and associated documentation files (the "Software"), to deal
215
+ in the Software without restriction, including without limitation the rights
216
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
217
+ copies of the Software, and to permit persons to whom the Software is
218
+ furnished to do so, subject to the following conditions:
219
+
220
+ The above copyright notice and this permission notice shall be included in
221
+ all copies or substantial portions of the Software.
222
+
223
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
224
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
225
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
226
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
227
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
228
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
229
+ THE SOFTWARE.
230
+
231
+ ==============================================================================
232
+ @lezer/common 1.5.2 — MIT
233
+
234
+ MIT License
235
+
236
+ Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
237
+
238
+ Permission is hereby granted, free of charge, to any person obtaining a copy
239
+ of this software and associated documentation files (the "Software"), to deal
240
+ in the Software without restriction, including without limitation the rights
241
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
242
+ copies of the Software, and to permit persons to whom the Software is
243
+ furnished to do so, subject to the following conditions:
244
+
245
+ The above copyright notice and this permission notice shall be included in
246
+ all copies or substantial portions of the Software.
247
+
248
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
249
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
250
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
251
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
252
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
253
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
254
+ THE SOFTWARE.
255
+
256
+ ==============================================================================
257
+ @lezer/highlight 1.2.3 — MIT
258
+
259
+ MIT License
260
+
261
+ Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
262
+
263
+ Permission is hereby granted, free of charge, to any person obtaining a copy
264
+ of this software and associated documentation files (the "Software"), to deal
265
+ in the Software without restriction, including without limitation the rights
266
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
267
+ copies of the Software, and to permit persons to whom the Software is
268
+ furnished to do so, subject to the following conditions:
269
+
270
+ The above copyright notice and this permission notice shall be included in
271
+ all copies or substantial portions of the Software.
272
+
273
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
274
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
275
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
276
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
277
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
278
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
279
+ THE SOFTWARE.
280
+
281
+ ==============================================================================
282
+ @lezer/javascript 1.5.4 — MIT
283
+
284
+ MIT License
285
+
286
+ Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
287
+
288
+ Permission is hereby granted, free of charge, to any person obtaining a copy
289
+ of this software and associated documentation files (the "Software"), to deal
290
+ in the Software without restriction, including without limitation the rights
291
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
292
+ copies of the Software, and to permit persons to whom the Software is
293
+ furnished to do so, subject to the following conditions:
294
+
295
+ The above copyright notice and this permission notice shall be included in
296
+ all copies or substantial portions of the Software.
297
+
298
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
299
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
300
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
301
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
302
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
303
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
304
+ THE SOFTWARE.
305
+
306
+ ==============================================================================
307
+ @lezer/json 1.0.3 — MIT
308
+
309
+ MIT License
310
+
311
+ Copyright (C) 2020 by Marijn Haverbeke <marijn@haverbeke.berlin>, Arun Srinivasan <rulfzid@gmail.com>, and others
312
+
313
+ Permission is hereby granted, free of charge, to any person obtaining a copy
314
+ of this software and associated documentation files (the "Software"), to deal
315
+ in the Software without restriction, including without limitation the rights
316
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
317
+ copies of the Software, and to permit persons to whom the Software is
318
+ furnished to do so, subject to the following conditions:
319
+
320
+ The above copyright notice and this permission notice shall be included in
321
+ all copies or substantial portions of the Software.
322
+
323
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
324
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
325
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
326
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
327
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
328
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
329
+ THE SOFTWARE.
330
+
331
+ ==============================================================================
332
+ @lezer/lr 1.4.10 — MIT
333
+
334
+ MIT License
335
+
336
+ Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
337
+
338
+ Permission is hereby granted, free of charge, to any person obtaining a copy
339
+ of this software and associated documentation files (the "Software"), to deal
340
+ in the Software without restriction, including without limitation the rights
341
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
342
+ copies of the Software, and to permit persons to whom the Software is
343
+ furnished to do so, subject to the following conditions:
344
+
345
+ The above copyright notice and this permission notice shall be included in
346
+ all copies or substantial portions of the Software.
347
+
348
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
349
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
350
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
351
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
352
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
353
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
354
+ THE SOFTWARE.
355
+
356
+ ==============================================================================
357
+ @lezer/python 1.1.19 — MIT
358
+
359
+ MIT License
360
+
361
+ Copyright (C) 2020 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
362
+
363
+ Permission is hereby granted, free of charge, to any person obtaining a copy
364
+ of this software and associated documentation files (the "Software"), to deal
365
+ in the Software without restriction, including without limitation the rights
366
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
367
+ copies of the Software, and to permit persons to whom the Software is
368
+ furnished to do so, subject to the following conditions:
369
+
370
+ The above copyright notice and this permission notice shall be included in
371
+ all copies or substantial portions of the Software.
372
+
373
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
374
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
375
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
376
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
377
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
378
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
379
+ THE SOFTWARE.
380
+
381
+ ==============================================================================
382
+ @marijn/find-cluster-break 1.0.4 — MIT
383
+
384
+ MIT License
385
+
386
+ Copyright (C) 2024 by Marijn Haverbeke <marijn@haverbeke.berlin>
387
+
388
+ Permission is hereby granted, free of charge, to any person obtaining a copy
389
+ of this software and associated documentation files (the "Software"), to deal
390
+ in the Software without restriction, including without limitation the rights
391
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
392
+ copies of the Software, and to permit persons to whom the Software is
393
+ furnished to do so, subject to the following conditions:
394
+
395
+ The above copyright notice and this permission notice shall be included in
396
+ all copies or substantial portions of the Software.
397
+
398
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
399
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
400
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
401
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
402
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
403
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
404
+ THE SOFTWARE.
405
+
406
+ ==============================================================================
407
+ crelt 1.0.7 — MIT
408
+
409
+ Copyright (C) 2020 by Marijn Haverbeke <marijn@haverbeke.berlin>
410
+
411
+ Permission is hereby granted, free of charge, to any person obtaining a copy
412
+ of this software and associated documentation files (the "Software"), to deal
413
+ in the Software without restriction, including without limitation the rights
414
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
415
+ copies of the Software, and to permit persons to whom the Software is
416
+ furnished to do so, subject to the following conditions:
417
+
418
+ The above copyright notice and this permission notice shall be included in
419
+ all copies or substantial portions of the Software.
420
+
421
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
422
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
423
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
424
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
425
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
426
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
427
+ THE SOFTWARE.
428
+
429
+ ==============================================================================
430
+ style-mod 4.1.3 — MIT
431
+
432
+ Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
433
+
434
+ Permission is hereby granted, free of charge, to any person obtaining a copy
435
+ of this software and associated documentation files (the "Software"), to deal
436
+ in the Software without restriction, including without limitation the rights
437
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
438
+ copies of the Software, and to permit persons to whom the Software is
439
+ furnished to do so, subject to the following conditions:
440
+
441
+ The above copyright notice and this permission notice shall be included in
442
+ all copies or substantial portions of the Software.
443
+
444
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
445
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
446
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
447
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
448
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
449
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
450
+ THE SOFTWARE.
451
+
452
+ ==============================================================================
453
+ w3c-keyname 2.2.8 — MIT
454
+
455
+ Copyright (C) 2016 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
456
+
457
+ Permission is hereby granted, free of charge, to any person obtaining a copy
458
+ of this software and associated documentation files (the "Software"), to deal
459
+ in the Software without restriction, including without limitation the rights
460
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
461
+ copies of the Software, and to permit persons to whom the Software is
462
+ furnished to do so, subject to the following conditions:
463
+
464
+ The above copyright notice and this permission notice shall be included in
465
+ all copies or substantial portions of the Software.
466
+
467
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
468
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
469
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
470
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
471
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
472
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
473
+ THE SOFTWARE.
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * code-playpad — MIT © 2026 Seung Hun Lee
3
+ * Bundles CodeMirror 6 and Lezer (MIT) © Marijn Haverbeke and others.
4
+ * Full third-party licences: THIRD-PARTY-NOTICES.txt in this package.
5
+ */
6
+ var e=class extends Error{constructor(e=`Execution stopped`){super(e),this.name=`RunStopped`}},t=class extends Error{constructor(e=`Web Workers are unavailable in this page`){super(e),this.name=`WorkerUnavailable`}},n=`314.0.5`,r=`https://cdn.jsdelivr.net/pyodide/v${n}/full/`,i=`https://esm.sh/sucrase@3.35.1?bundle`;function a(e){r=e.indexURL.endsWith(`/`)?e.indexURL:e.indexURL+`/`}function o(e){i=e.sucraseURL}function s(){return r}function c(){return i}function l(){return[{url:r+`pyodide.js`,as:`script`},{url:r+`pyodide.asm.wasm`,as:`fetch`},{url:r+`python_stdlib.zip`,as:`fetch`}]}export{c as a,t as c,s as i,a as n,l as o,o as r,e as s,n as t};
@@ -0,0 +1 @@
1
+ var e=`314.0.5`,t=`https://cdn.jsdelivr.net/pyodide/v${e}/full/`,n=`https://esm.sh/sucrase@3.35.1?bundle`;function r(e){t=e.indexURL.endsWith(`/`)?e.indexURL:e.indexURL+`/`}function i(e){n=e.sucraseURL}function a(){return t}function o(){return n}function s(){return[{url:t+`pyodide.js`,as:`script`},{url:t+`pyodide.asm.wasm`,as:`fetch`},{url:t+`python_stdlib.zip`,as:`fetch`}]}export{o as a,a as i,r as n,s as o,i as r,e as t};