@karagoz/hayali 0.0.0-stage → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/dist/karagoz-hayali.css +3 -0
  3. package/dist/karagoz-hayali.js +3869 -0
  4. package/dist/karagoz-hayali.umd.cjs +15 -0
  5. package/dist/karagoz-logo.svg +3 -0
  6. package/dist/parse.cjs +3 -0
  7. package/dist/parse.js +521 -0
  8. package/dist/src/App.vue.d.ts +3 -0
  9. package/dist/src/callouts.d.ts +28 -0
  10. package/dist/src/components/KrgzHayali.vue.d.ts +49 -0
  11. package/dist/src/components/LessonToolbar.vue.d.ts +17 -0
  12. package/dist/src/components/StepBody.vue.d.ts +7 -0
  13. package/dist/src/components/StepList.vue.d.ts +15 -0
  14. package/dist/src/components/StepLockAlert.vue.d.ts +8 -0
  15. package/dist/src/components/TocDropdown.vue.d.ts +14 -0
  16. package/dist/src/composables/useCounter.d.ts +4 -0
  17. package/dist/src/composables/useIsolationWarning.d.ts +5 -0
  18. package/dist/src/composables/useLessonPosition.d.ts +30 -0
  19. package/dist/src/composables/useLessonReset.d.ts +34 -0
  20. package/dist/src/composables/useStepEntry.d.ts +59 -0
  21. package/dist/src/composables/useStepLocks.d.ts +24 -0
  22. package/dist/src/examples/DefaultExample.vue.d.ts +3 -0
  23. package/dist/src/examples/ParserExample.vue.d.ts +3 -0
  24. package/dist/src/i18n.d.ts +1739 -0
  25. package/dist/src/index.d.ts +11 -0
  26. package/dist/src/layout/breakpoints.d.ts +16 -0
  27. package/dist/src/layout/layoutCss.d.ts +5 -0
  28. package/dist/src/lesson.d.ts +9 -0
  29. package/dist/src/locales/ar.d.ts +25 -0
  30. package/dist/src/locales/de.d.ts +25 -0
  31. package/dist/src/locales/en.d.ts +25 -0
  32. package/dist/src/locales/index.d.ts +1743 -0
  33. package/dist/src/main.d.ts +3 -0
  34. package/dist/src/parse/blocks.d.ts +31 -0
  35. package/dist/src/parse/body.d.ts +7 -0
  36. package/dist/src/parse/fenceInfo.d.ts +8 -0
  37. package/dist/src/parse/fileSource.d.ts +18 -0
  38. package/dist/src/parse/index.d.ts +2 -0
  39. package/dist/src/parse/parseLesson.d.ts +3 -0
  40. package/dist/src/parse/resolve.d.ts +37 -0
  41. package/dist/src/parse/tree.d.ts +11 -0
  42. package/dist/src/parse/types.d.ts +32 -0
  43. package/dist/src/typedoc-entry.d.ts +7 -0
  44. package/dist/src/types.d.ts +69 -0
  45. package/dist/src/validateLesson.d.ts +22 -0
  46. package/dist/tsconfig.tsbuildinfo +1 -0
  47. package/dist/types.d.ts +1943 -0
  48. package/package.json +87 -3
  49. package/src/layout.css +218 -0
  50. package/src/lib.css +50 -0
  51. package/README.md +0 -3
@@ -0,0 +1,1943 @@
1
+ import { AlertVariants } from '@karagoz/shared';
2
+ import { ComponentOptionsMixin } from 'vue';
3
+ import { ComponentProvideOptions } from 'vue';
4
+ import { DefineComponent } from 'vue';
5
+ import { PluginSimple } from 'markdown-it';
6
+ import { PublicProps } from 'vue';
7
+
8
+ declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
9
+ "update:position": (value: Position | undefined) => any;
10
+ }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
11
+ "onUpdate:position"?: ((value: Position | undefined) => any) | undefined;
12
+ }>, {
13
+ fullLayoutFrom: FullLayoutFrom;
14
+ multiPanelFrom: FullLayoutFrom;
15
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
16
+
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+
19
+ declare const __VLS_export_2: DefineComponent<__VLS_Props_2, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_2> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
20
+
21
+ declare type __VLS_ModelProps = {
22
+ /**
23
+ * Current step. Optional so a server render needs nothing from the consumer: it falls back to the first step of the
24
+ * first chapter (never restored from `localStorage`).
25
+ */
26
+ 'position'?: Position;
27
+ };
28
+
29
+ declare type __VLS_Props = {
30
+ lesson: Lesson;
31
+ /**
32
+ * Minimum container width for the side-by-side lesson/sandbox split; below it a single panel is shown
33
+ * with a Lesson/Sandbox toggle. Uses the component's own width (container query), not the viewport's.
34
+ * `none` always uses the single-panel layout.
35
+ * **Available values:** none, xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, 7xl
36
+ */
37
+ fullLayoutFrom?: FullLayoutFrom;
38
+ /**
39
+ * Forwarded to the default `KrgzSandbox` (and exposed on the `sandbox` slot) as its `multi-panel-from`,
40
+ * so the sandbox drops to a single panel when its pane is narrow.
41
+ * **Available values:** none, xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, 7xl
42
+ */
43
+ multiPanelFrom?: FullLayoutFrom;
44
+ };
45
+
46
+ declare type __VLS_Props_2 = {
47
+ /** Step markdown body. */
48
+ body: string;
49
+ };
50
+
51
+ declare type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
52
+
53
+ declare type __VLS_Slots = {} & {
54
+ sandbox?: (props: typeof __VLS_55) => any;
55
+ };
56
+
57
+ declare type __VLS_WithSlots<T, S> = T & {
58
+ new (): {
59
+ $slots: S;
60
+ };
61
+ };
62
+
63
+ /** Adjustments tree: nested directories to file contents, as accepted by WebContainer `mount()`. */
64
+ export declare interface AdjustmentsTree {
65
+ [name: string]: {
66
+ file: {
67
+ contents: string;
68
+ };
69
+ } | {
70
+ directory: AdjustmentsTree;
71
+ };
72
+ }
73
+
74
+ export declare interface CalloutDefinition {
75
+ variant: NonNullable<AlertVariants['variant']>;
76
+ }
77
+
78
+ /**
79
+ * markdown-it plugin recognising `:::kind [title]` ... `:::` blocks for every
80
+ * kind in the registry. Unregistered kinds are left as plain markdown.
81
+ */
82
+ export declare function calloutPlugin(registry: CalloutRegistry): PluginSimple;
83
+
84
+ export declare interface CalloutRegistry {
85
+ /** Registers (or replaces) a callout kind, e.g. `:::tip`. */
86
+ register: (kind: string, definition: CalloutDefinition) => void;
87
+ get: (kind: string) => CalloutDefinition | undefined;
88
+ }
89
+
90
+ export declare interface Chapter {
91
+ /** Author-supplied, unique within the lesson. Never derived from title text. */
92
+ id: string;
93
+ title: string;
94
+ steps: Step[];
95
+ }
96
+
97
+ export declare function createCalloutRegistry(initial?: Record<string, CalloutDefinition>): CalloutRegistry;
98
+
99
+ /** Per-step editor instructions, applied on every entry to the step. */
100
+ export declare interface EditorDirective {
101
+ /** Files to open; the last one is focused. Optionally with a line to go to. */
102
+ open?: (string | {
103
+ path: string;
104
+ line?: number;
105
+ })[];
106
+ /** Files to close, or `'all'`. */
107
+ close?: string[] | 'all';
108
+ /** Lines to highlight. */
109
+ highlight?: {
110
+ path: string;
111
+ lines: LineSpec;
112
+ }[];
113
+ }
114
+
115
+ /** Minimum container width, in rem, per `fullLayoutFrom` value (Tailwind's container breakpoints). */
116
+ declare const FULL_LAYOUT_BREAKPOINTS: {
117
+ readonly xs: 20;
118
+ readonly sm: 24;
119
+ readonly md: 28;
120
+ readonly lg: 32;
121
+ readonly xl: 36;
122
+ readonly '2xl': 42;
123
+ readonly '3xl': 48;
124
+ readonly '4xl': 56;
125
+ readonly '5xl': 64;
126
+ readonly '6xl': 72;
127
+ readonly '7xl': 80;
128
+ };
129
+
130
+ /** Minimum container width for the side-by-side layout; `none` always uses the single-panel layout. */
131
+ export declare type FullLayoutFrom = 'none' | keyof typeof FULL_LAYOUT_BREAKPOINTS;
132
+
133
+ /**
134
+ * Complete lang pack under one `krgz` root (`krgz.dir`, `krgz.sandbox.*`, `krgz.hayali.*`) for `en`, `de` and `ar`.
135
+ * Includes the sandbox messages, so consumers merge only this object.
136
+ */
137
+ export declare const i18nMessages: {
138
+ ar: {
139
+ krgz: {
140
+ hayali: {
141
+ prev: string;
142
+ next: string;
143
+ steps: string;
144
+ done: string;
145
+ current: string;
146
+ upcoming: string;
147
+ toc: string;
148
+ lesson: string;
149
+ sandbox: string;
150
+ locks: {
151
+ title: string;
152
+ description: string;
153
+ };
154
+ confirm: {
155
+ title: string;
156
+ description: string;
157
+ cancel: string;
158
+ continue: string;
159
+ };
160
+ };
161
+ dir: string;
162
+ sandbox: {
163
+ general: {
164
+ close: string;
165
+ open: string;
166
+ restart: string;
167
+ stop: string;
168
+ };
169
+ loading: {
170
+ booting: string;
171
+ editor: string;
172
+ files: string;
173
+ preview: string;
174
+ processes: string;
175
+ terminals: string;
176
+ };
177
+ panel: {
178
+ editor: {
179
+ readonly: string;
180
+ };
181
+ preview: {
182
+ clearConsole: string;
183
+ console: string;
184
+ reload: string;
185
+ };
186
+ terminals: {
187
+ new: string;
188
+ open: string;
189
+ };
190
+ };
191
+ toggle: {
192
+ code: string;
193
+ explorer: string;
194
+ fullscreen: string;
195
+ more: string;
196
+ processes: string;
197
+ result: string;
198
+ solve: string;
199
+ theme: string;
200
+ terminal: string;
201
+ };
202
+ };
203
+ } | {
204
+ hayali: {
205
+ prev: string;
206
+ next: string;
207
+ steps: string;
208
+ done: string;
209
+ current: string;
210
+ upcoming: string;
211
+ toc: string;
212
+ lesson: string;
213
+ sandbox: string;
214
+ locks: {
215
+ title: string;
216
+ description: string;
217
+ };
218
+ confirm: {
219
+ title: string;
220
+ description: string;
221
+ cancel: string;
222
+ continue: string;
223
+ };
224
+ };
225
+ dir: string;
226
+ sandbox: {
227
+ general: {
228
+ close: string;
229
+ open: string;
230
+ restart: string;
231
+ stop: string;
232
+ };
233
+ loading: {
234
+ booting: string;
235
+ editor: string;
236
+ files: string;
237
+ preview: string;
238
+ processes: string;
239
+ terminals: string;
240
+ };
241
+ panel: {
242
+ editor: {
243
+ readonly: string;
244
+ };
245
+ preview: {
246
+ clearConsole: string;
247
+ console: string;
248
+ reload: string;
249
+ };
250
+ terminals: {
251
+ new: string;
252
+ open: string;
253
+ };
254
+ };
255
+ toggle: {
256
+ code: string;
257
+ explorer: string;
258
+ fullscreen: string;
259
+ more: string;
260
+ processes: string;
261
+ result: string;
262
+ solve: string;
263
+ theme: string;
264
+ terminal: string;
265
+ };
266
+ };
267
+ } | {
268
+ hayali: {
269
+ prev: string;
270
+ next: string;
271
+ steps: string;
272
+ done: string;
273
+ current: string;
274
+ upcoming: string;
275
+ toc: string;
276
+ lesson: string;
277
+ sandbox: string;
278
+ locks: {
279
+ title: string;
280
+ description: string;
281
+ };
282
+ confirm: {
283
+ title: string;
284
+ description: string;
285
+ cancel: string;
286
+ continue: string;
287
+ };
288
+ };
289
+ dir: string;
290
+ sandbox: {
291
+ general: {
292
+ close: string;
293
+ open: string;
294
+ restart: string;
295
+ stop: string;
296
+ };
297
+ loading: {
298
+ booting: string;
299
+ editor: string;
300
+ files: string;
301
+ preview: string;
302
+ processes: string;
303
+ terminals: string;
304
+ };
305
+ panel: {
306
+ editor: {
307
+ readonly: string;
308
+ };
309
+ preview: {
310
+ clearConsole: string;
311
+ console: string;
312
+ reload: string;
313
+ };
314
+ terminals: {
315
+ new: string;
316
+ open: string;
317
+ };
318
+ };
319
+ toggle: {
320
+ code: string;
321
+ explorer: string;
322
+ fullscreen: string;
323
+ more: string;
324
+ processes: string;
325
+ result: string;
326
+ solve: string;
327
+ theme: string;
328
+ terminal: string;
329
+ };
330
+ };
331
+ } | {
332
+ hayali: {
333
+ prev: string;
334
+ next: string;
335
+ steps: string;
336
+ done: string;
337
+ current: string;
338
+ upcoming: string;
339
+ toc: string;
340
+ lesson: string;
341
+ sandbox: string;
342
+ locks: {
343
+ title: string;
344
+ description: string;
345
+ };
346
+ confirm: {
347
+ title: string;
348
+ description: string;
349
+ cancel: string;
350
+ continue: string;
351
+ };
352
+ };
353
+ dir: string;
354
+ sandbox: {
355
+ general: {
356
+ close: string;
357
+ open: string;
358
+ restart: string;
359
+ stop: string;
360
+ };
361
+ loading: {
362
+ booting: string;
363
+ editor: string;
364
+ files: string;
365
+ preview: string;
366
+ processes: string;
367
+ terminals: string;
368
+ };
369
+ panel: {
370
+ editor: {
371
+ readonly: string;
372
+ };
373
+ preview: {
374
+ clearConsole: string;
375
+ console: string;
376
+ reload: string;
377
+ };
378
+ terminals: {
379
+ new: string;
380
+ open: string;
381
+ };
382
+ };
383
+ toggle: {
384
+ code: string;
385
+ explorer: string;
386
+ fullscreen: string;
387
+ more: string;
388
+ processes: string;
389
+ result: string;
390
+ solve: string;
391
+ theme: string;
392
+ terminal: string;
393
+ };
394
+ };
395
+ } | {
396
+ hayali: {
397
+ prev: string;
398
+ next: string;
399
+ steps: string;
400
+ done: string;
401
+ current: string;
402
+ upcoming: string;
403
+ toc: string;
404
+ lesson: string;
405
+ sandbox: string;
406
+ locks: {
407
+ title: string;
408
+ description: string;
409
+ };
410
+ confirm: {
411
+ title: string;
412
+ description: string;
413
+ cancel: string;
414
+ continue: string;
415
+ };
416
+ };
417
+ dir: string;
418
+ sandbox: {
419
+ general: {
420
+ close: string;
421
+ open: string;
422
+ restart: string;
423
+ stop: string;
424
+ };
425
+ loading: {
426
+ booting: string;
427
+ editor: string;
428
+ files: string;
429
+ preview: string;
430
+ processes: string;
431
+ terminals: string;
432
+ };
433
+ panel: {
434
+ editor: {
435
+ readonly: string;
436
+ };
437
+ preview: {
438
+ clearConsole: string;
439
+ console: string;
440
+ reload: string;
441
+ };
442
+ terminals: {
443
+ new: string;
444
+ open: string;
445
+ };
446
+ };
447
+ toggle: {
448
+ code: string;
449
+ explorer: string;
450
+ fullscreen: string;
451
+ more: string;
452
+ processes: string;
453
+ result: string;
454
+ solve: string;
455
+ theme: string;
456
+ terminal: string;
457
+ };
458
+ };
459
+ } | {
460
+ hayali: {
461
+ prev: string;
462
+ next: string;
463
+ steps: string;
464
+ done: string;
465
+ current: string;
466
+ upcoming: string;
467
+ toc: string;
468
+ lesson: string;
469
+ sandbox: string;
470
+ locks: {
471
+ title: string;
472
+ description: string;
473
+ };
474
+ confirm: {
475
+ title: string;
476
+ description: string;
477
+ cancel: string;
478
+ continue: string;
479
+ };
480
+ };
481
+ dir: string;
482
+ sandbox: {
483
+ general: {
484
+ close: string;
485
+ open: string;
486
+ restart: string;
487
+ stop: string;
488
+ };
489
+ loading: {
490
+ booting: string;
491
+ editor: string;
492
+ files: string;
493
+ preview: string;
494
+ processes: string;
495
+ terminals: string;
496
+ };
497
+ panel: {
498
+ editor: {
499
+ readonly: string;
500
+ };
501
+ preview: {
502
+ clearConsole: string;
503
+ console: string;
504
+ reload: string;
505
+ };
506
+ terminals: {
507
+ new: string;
508
+ open: string;
509
+ };
510
+ };
511
+ toggle: {
512
+ code: string;
513
+ explorer: string;
514
+ fullscreen: string;
515
+ more: string;
516
+ processes: string;
517
+ result: string;
518
+ solve: string;
519
+ theme: string;
520
+ terminal: string;
521
+ };
522
+ };
523
+ } | {
524
+ hayali: {
525
+ prev: string;
526
+ next: string;
527
+ steps: string;
528
+ done: string;
529
+ current: string;
530
+ upcoming: string;
531
+ toc: string;
532
+ lesson: string;
533
+ sandbox: string;
534
+ locks: {
535
+ title: string;
536
+ description: string;
537
+ };
538
+ confirm: {
539
+ title: string;
540
+ description: string;
541
+ cancel: string;
542
+ continue: string;
543
+ };
544
+ };
545
+ dir: string;
546
+ sandbox: {
547
+ general: {
548
+ close: string;
549
+ open: string;
550
+ restart: string;
551
+ stop: string;
552
+ };
553
+ loading: {
554
+ booting: string;
555
+ editor: string;
556
+ files: string;
557
+ preview: string;
558
+ processes: string;
559
+ terminals: string;
560
+ };
561
+ panel: {
562
+ editor: {
563
+ readonly: string;
564
+ };
565
+ preview: {
566
+ clearConsole: string;
567
+ console: string;
568
+ reload: string;
569
+ };
570
+ terminals: {
571
+ new: string;
572
+ open: string;
573
+ };
574
+ };
575
+ toggle: {
576
+ code: string;
577
+ explorer: string;
578
+ fullscreen: string;
579
+ more: string;
580
+ processes: string;
581
+ result: string;
582
+ solve: string;
583
+ theme: string;
584
+ terminal: string;
585
+ };
586
+ };
587
+ } | {
588
+ hayali: {
589
+ prev: string;
590
+ next: string;
591
+ steps: string;
592
+ done: string;
593
+ current: string;
594
+ upcoming: string;
595
+ toc: string;
596
+ lesson: string;
597
+ sandbox: string;
598
+ locks: {
599
+ title: string;
600
+ description: string;
601
+ };
602
+ confirm: {
603
+ title: string;
604
+ description: string;
605
+ cancel: string;
606
+ continue: string;
607
+ };
608
+ };
609
+ dir: string;
610
+ sandbox: {
611
+ general: {
612
+ close: string;
613
+ open: string;
614
+ restart: string;
615
+ stop: string;
616
+ };
617
+ loading: {
618
+ booting: string;
619
+ editor: string;
620
+ files: string;
621
+ preview: string;
622
+ processes: string;
623
+ terminals: string;
624
+ };
625
+ panel: {
626
+ editor: {
627
+ readonly: string;
628
+ };
629
+ preview: {
630
+ clearConsole: string;
631
+ console: string;
632
+ reload: string;
633
+ };
634
+ terminals: {
635
+ new: string;
636
+ open: string;
637
+ };
638
+ };
639
+ toggle: {
640
+ code: string;
641
+ explorer: string;
642
+ fullscreen: string;
643
+ more: string;
644
+ processes: string;
645
+ result: string;
646
+ solve: string;
647
+ theme: string;
648
+ terminal: string;
649
+ };
650
+ };
651
+ } | {
652
+ hayali: {
653
+ prev: string;
654
+ next: string;
655
+ steps: string;
656
+ done: string;
657
+ current: string;
658
+ upcoming: string;
659
+ toc: string;
660
+ lesson: string;
661
+ sandbox: string;
662
+ locks: {
663
+ title: string;
664
+ description: string;
665
+ };
666
+ confirm: {
667
+ title: string;
668
+ description: string;
669
+ cancel: string;
670
+ continue: string;
671
+ };
672
+ };
673
+ dir: string;
674
+ sandbox: {
675
+ general: {
676
+ close: string;
677
+ open: string;
678
+ restart: string;
679
+ stop: string;
680
+ };
681
+ loading: {
682
+ booting: string;
683
+ editor: string;
684
+ files: string;
685
+ preview: string;
686
+ processes: string;
687
+ terminals: string;
688
+ };
689
+ panel: {
690
+ editor: {
691
+ readonly: string;
692
+ };
693
+ preview: {
694
+ clearConsole: string;
695
+ console: string;
696
+ reload: string;
697
+ };
698
+ terminals: {
699
+ new: string;
700
+ open: string;
701
+ };
702
+ };
703
+ toggle: {
704
+ code: string;
705
+ explorer: string;
706
+ fullscreen: string;
707
+ more: string;
708
+ processes: string;
709
+ result: string;
710
+ solve: string;
711
+ theme: string;
712
+ terminal: string;
713
+ };
714
+ };
715
+ };
716
+ };
717
+ de: {
718
+ krgz: {
719
+ hayali: {
720
+ prev: string;
721
+ next: string;
722
+ steps: string;
723
+ done: string;
724
+ current: string;
725
+ upcoming: string;
726
+ toc: string;
727
+ lesson: string;
728
+ sandbox: string;
729
+ locks: {
730
+ title: string;
731
+ description: string;
732
+ };
733
+ confirm: {
734
+ title: string;
735
+ description: string;
736
+ cancel: string;
737
+ continue: string;
738
+ };
739
+ };
740
+ dir: string;
741
+ sandbox: {
742
+ general: {
743
+ close: string;
744
+ open: string;
745
+ restart: string;
746
+ stop: string;
747
+ };
748
+ loading: {
749
+ booting: string;
750
+ editor: string;
751
+ files: string;
752
+ preview: string;
753
+ processes: string;
754
+ terminals: string;
755
+ };
756
+ panel: {
757
+ editor: {
758
+ readonly: string;
759
+ };
760
+ preview: {
761
+ clearConsole: string;
762
+ console: string;
763
+ reload: string;
764
+ };
765
+ terminals: {
766
+ new: string;
767
+ open: string;
768
+ };
769
+ };
770
+ toggle: {
771
+ code: string;
772
+ explorer: string;
773
+ fullscreen: string;
774
+ more: string;
775
+ processes: string;
776
+ result: string;
777
+ solve: string;
778
+ theme: string;
779
+ terminal: string;
780
+ };
781
+ };
782
+ } | {
783
+ hayali: {
784
+ prev: string;
785
+ next: string;
786
+ steps: string;
787
+ done: string;
788
+ current: string;
789
+ upcoming: string;
790
+ toc: string;
791
+ lesson: string;
792
+ sandbox: string;
793
+ locks: {
794
+ title: string;
795
+ description: string;
796
+ };
797
+ confirm: {
798
+ title: string;
799
+ description: string;
800
+ cancel: string;
801
+ continue: string;
802
+ };
803
+ };
804
+ dir: string;
805
+ sandbox: {
806
+ general: {
807
+ close: string;
808
+ open: string;
809
+ restart: string;
810
+ stop: string;
811
+ };
812
+ loading: {
813
+ booting: string;
814
+ editor: string;
815
+ files: string;
816
+ preview: string;
817
+ processes: string;
818
+ terminals: string;
819
+ };
820
+ panel: {
821
+ editor: {
822
+ readonly: string;
823
+ };
824
+ preview: {
825
+ clearConsole: string;
826
+ console: string;
827
+ reload: string;
828
+ };
829
+ terminals: {
830
+ new: string;
831
+ open: string;
832
+ };
833
+ };
834
+ toggle: {
835
+ code: string;
836
+ explorer: string;
837
+ fullscreen: string;
838
+ more: string;
839
+ processes: string;
840
+ result: string;
841
+ solve: string;
842
+ theme: string;
843
+ terminal: string;
844
+ };
845
+ };
846
+ } | {
847
+ hayali: {
848
+ prev: string;
849
+ next: string;
850
+ steps: string;
851
+ done: string;
852
+ current: string;
853
+ upcoming: string;
854
+ toc: string;
855
+ lesson: string;
856
+ sandbox: string;
857
+ locks: {
858
+ title: string;
859
+ description: string;
860
+ };
861
+ confirm: {
862
+ title: string;
863
+ description: string;
864
+ cancel: string;
865
+ continue: string;
866
+ };
867
+ };
868
+ dir: string;
869
+ sandbox: {
870
+ general: {
871
+ close: string;
872
+ open: string;
873
+ restart: string;
874
+ stop: string;
875
+ };
876
+ loading: {
877
+ booting: string;
878
+ editor: string;
879
+ files: string;
880
+ preview: string;
881
+ processes: string;
882
+ terminals: string;
883
+ };
884
+ panel: {
885
+ editor: {
886
+ readonly: string;
887
+ };
888
+ preview: {
889
+ clearConsole: string;
890
+ console: string;
891
+ reload: string;
892
+ };
893
+ terminals: {
894
+ new: string;
895
+ open: string;
896
+ };
897
+ };
898
+ toggle: {
899
+ code: string;
900
+ explorer: string;
901
+ fullscreen: string;
902
+ more: string;
903
+ processes: string;
904
+ result: string;
905
+ solve: string;
906
+ theme: string;
907
+ terminal: string;
908
+ };
909
+ };
910
+ } | {
911
+ hayali: {
912
+ prev: string;
913
+ next: string;
914
+ steps: string;
915
+ done: string;
916
+ current: string;
917
+ upcoming: string;
918
+ toc: string;
919
+ lesson: string;
920
+ sandbox: string;
921
+ locks: {
922
+ title: string;
923
+ description: string;
924
+ };
925
+ confirm: {
926
+ title: string;
927
+ description: string;
928
+ cancel: string;
929
+ continue: string;
930
+ };
931
+ };
932
+ dir: string;
933
+ sandbox: {
934
+ general: {
935
+ close: string;
936
+ open: string;
937
+ restart: string;
938
+ stop: string;
939
+ };
940
+ loading: {
941
+ booting: string;
942
+ editor: string;
943
+ files: string;
944
+ preview: string;
945
+ processes: string;
946
+ terminals: string;
947
+ };
948
+ panel: {
949
+ editor: {
950
+ readonly: string;
951
+ };
952
+ preview: {
953
+ clearConsole: string;
954
+ console: string;
955
+ reload: string;
956
+ };
957
+ terminals: {
958
+ new: string;
959
+ open: string;
960
+ };
961
+ };
962
+ toggle: {
963
+ code: string;
964
+ explorer: string;
965
+ fullscreen: string;
966
+ more: string;
967
+ processes: string;
968
+ result: string;
969
+ solve: string;
970
+ theme: string;
971
+ terminal: string;
972
+ };
973
+ };
974
+ } | {
975
+ hayali: {
976
+ prev: string;
977
+ next: string;
978
+ steps: string;
979
+ done: string;
980
+ current: string;
981
+ upcoming: string;
982
+ toc: string;
983
+ lesson: string;
984
+ sandbox: string;
985
+ locks: {
986
+ title: string;
987
+ description: string;
988
+ };
989
+ confirm: {
990
+ title: string;
991
+ description: string;
992
+ cancel: string;
993
+ continue: string;
994
+ };
995
+ };
996
+ dir: string;
997
+ sandbox: {
998
+ general: {
999
+ close: string;
1000
+ open: string;
1001
+ restart: string;
1002
+ stop: string;
1003
+ };
1004
+ loading: {
1005
+ booting: string;
1006
+ editor: string;
1007
+ files: string;
1008
+ preview: string;
1009
+ processes: string;
1010
+ terminals: string;
1011
+ };
1012
+ panel: {
1013
+ editor: {
1014
+ readonly: string;
1015
+ };
1016
+ preview: {
1017
+ clearConsole: string;
1018
+ console: string;
1019
+ reload: string;
1020
+ };
1021
+ terminals: {
1022
+ new: string;
1023
+ open: string;
1024
+ };
1025
+ };
1026
+ toggle: {
1027
+ code: string;
1028
+ explorer: string;
1029
+ fullscreen: string;
1030
+ more: string;
1031
+ processes: string;
1032
+ result: string;
1033
+ solve: string;
1034
+ theme: string;
1035
+ terminal: string;
1036
+ };
1037
+ };
1038
+ } | {
1039
+ hayali: {
1040
+ prev: string;
1041
+ next: string;
1042
+ steps: string;
1043
+ done: string;
1044
+ current: string;
1045
+ upcoming: string;
1046
+ toc: string;
1047
+ lesson: string;
1048
+ sandbox: string;
1049
+ locks: {
1050
+ title: string;
1051
+ description: string;
1052
+ };
1053
+ confirm: {
1054
+ title: string;
1055
+ description: string;
1056
+ cancel: string;
1057
+ continue: string;
1058
+ };
1059
+ };
1060
+ dir: string;
1061
+ sandbox: {
1062
+ general: {
1063
+ close: string;
1064
+ open: string;
1065
+ restart: string;
1066
+ stop: string;
1067
+ };
1068
+ loading: {
1069
+ booting: string;
1070
+ editor: string;
1071
+ files: string;
1072
+ preview: string;
1073
+ processes: string;
1074
+ terminals: string;
1075
+ };
1076
+ panel: {
1077
+ editor: {
1078
+ readonly: string;
1079
+ };
1080
+ preview: {
1081
+ clearConsole: string;
1082
+ console: string;
1083
+ reload: string;
1084
+ };
1085
+ terminals: {
1086
+ new: string;
1087
+ open: string;
1088
+ };
1089
+ };
1090
+ toggle: {
1091
+ code: string;
1092
+ explorer: string;
1093
+ fullscreen: string;
1094
+ more: string;
1095
+ processes: string;
1096
+ result: string;
1097
+ solve: string;
1098
+ theme: string;
1099
+ terminal: string;
1100
+ };
1101
+ };
1102
+ } | {
1103
+ hayali: {
1104
+ prev: string;
1105
+ next: string;
1106
+ steps: string;
1107
+ done: string;
1108
+ current: string;
1109
+ upcoming: string;
1110
+ toc: string;
1111
+ lesson: string;
1112
+ sandbox: string;
1113
+ locks: {
1114
+ title: string;
1115
+ description: string;
1116
+ };
1117
+ confirm: {
1118
+ title: string;
1119
+ description: string;
1120
+ cancel: string;
1121
+ continue: string;
1122
+ };
1123
+ };
1124
+ dir: string;
1125
+ sandbox: {
1126
+ general: {
1127
+ close: string;
1128
+ open: string;
1129
+ restart: string;
1130
+ stop: string;
1131
+ };
1132
+ loading: {
1133
+ booting: string;
1134
+ editor: string;
1135
+ files: string;
1136
+ preview: string;
1137
+ processes: string;
1138
+ terminals: string;
1139
+ };
1140
+ panel: {
1141
+ editor: {
1142
+ readonly: string;
1143
+ };
1144
+ preview: {
1145
+ clearConsole: string;
1146
+ console: string;
1147
+ reload: string;
1148
+ };
1149
+ terminals: {
1150
+ new: string;
1151
+ open: string;
1152
+ };
1153
+ };
1154
+ toggle: {
1155
+ code: string;
1156
+ explorer: string;
1157
+ fullscreen: string;
1158
+ more: string;
1159
+ processes: string;
1160
+ result: string;
1161
+ solve: string;
1162
+ theme: string;
1163
+ terminal: string;
1164
+ };
1165
+ };
1166
+ } | {
1167
+ hayali: {
1168
+ prev: string;
1169
+ next: string;
1170
+ steps: string;
1171
+ done: string;
1172
+ current: string;
1173
+ upcoming: string;
1174
+ toc: string;
1175
+ lesson: string;
1176
+ sandbox: string;
1177
+ locks: {
1178
+ title: string;
1179
+ description: string;
1180
+ };
1181
+ confirm: {
1182
+ title: string;
1183
+ description: string;
1184
+ cancel: string;
1185
+ continue: string;
1186
+ };
1187
+ };
1188
+ dir: string;
1189
+ sandbox: {
1190
+ general: {
1191
+ close: string;
1192
+ open: string;
1193
+ restart: string;
1194
+ stop: string;
1195
+ };
1196
+ loading: {
1197
+ booting: string;
1198
+ editor: string;
1199
+ files: string;
1200
+ preview: string;
1201
+ processes: string;
1202
+ terminals: string;
1203
+ };
1204
+ panel: {
1205
+ editor: {
1206
+ readonly: string;
1207
+ };
1208
+ preview: {
1209
+ clearConsole: string;
1210
+ console: string;
1211
+ reload: string;
1212
+ };
1213
+ terminals: {
1214
+ new: string;
1215
+ open: string;
1216
+ };
1217
+ };
1218
+ toggle: {
1219
+ code: string;
1220
+ explorer: string;
1221
+ fullscreen: string;
1222
+ more: string;
1223
+ processes: string;
1224
+ result: string;
1225
+ solve: string;
1226
+ theme: string;
1227
+ terminal: string;
1228
+ };
1229
+ };
1230
+ } | {
1231
+ hayali: {
1232
+ prev: string;
1233
+ next: string;
1234
+ steps: string;
1235
+ done: string;
1236
+ current: string;
1237
+ upcoming: string;
1238
+ toc: string;
1239
+ lesson: string;
1240
+ sandbox: string;
1241
+ locks: {
1242
+ title: string;
1243
+ description: string;
1244
+ };
1245
+ confirm: {
1246
+ title: string;
1247
+ description: string;
1248
+ cancel: string;
1249
+ continue: string;
1250
+ };
1251
+ };
1252
+ dir: string;
1253
+ sandbox: {
1254
+ general: {
1255
+ close: string;
1256
+ open: string;
1257
+ restart: string;
1258
+ stop: string;
1259
+ };
1260
+ loading: {
1261
+ booting: string;
1262
+ editor: string;
1263
+ files: string;
1264
+ preview: string;
1265
+ processes: string;
1266
+ terminals: string;
1267
+ };
1268
+ panel: {
1269
+ editor: {
1270
+ readonly: string;
1271
+ };
1272
+ preview: {
1273
+ clearConsole: string;
1274
+ console: string;
1275
+ reload: string;
1276
+ };
1277
+ terminals: {
1278
+ new: string;
1279
+ open: string;
1280
+ };
1281
+ };
1282
+ toggle: {
1283
+ code: string;
1284
+ explorer: string;
1285
+ fullscreen: string;
1286
+ more: string;
1287
+ processes: string;
1288
+ result: string;
1289
+ solve: string;
1290
+ theme: string;
1291
+ terminal: string;
1292
+ };
1293
+ };
1294
+ };
1295
+ };
1296
+ en: {
1297
+ krgz: {
1298
+ hayali: {
1299
+ prev: string;
1300
+ next: string;
1301
+ steps: string;
1302
+ done: string;
1303
+ current: string;
1304
+ upcoming: string;
1305
+ toc: string;
1306
+ lesson: string;
1307
+ sandbox: string;
1308
+ locks: {
1309
+ title: string;
1310
+ description: string;
1311
+ };
1312
+ confirm: {
1313
+ title: string;
1314
+ description: string;
1315
+ cancel: string;
1316
+ continue: string;
1317
+ };
1318
+ };
1319
+ dir: string;
1320
+ sandbox: {
1321
+ general: {
1322
+ close: string;
1323
+ open: string;
1324
+ restart: string;
1325
+ stop: string;
1326
+ };
1327
+ loading: {
1328
+ booting: string;
1329
+ editor: string;
1330
+ files: string;
1331
+ preview: string;
1332
+ processes: string;
1333
+ terminals: string;
1334
+ };
1335
+ panel: {
1336
+ editor: {
1337
+ readonly: string;
1338
+ };
1339
+ preview: {
1340
+ clearConsole: string;
1341
+ console: string;
1342
+ reload: string;
1343
+ };
1344
+ terminals: {
1345
+ new: string;
1346
+ open: string;
1347
+ };
1348
+ };
1349
+ toggle: {
1350
+ code: string;
1351
+ explorer: string;
1352
+ fullscreen: string;
1353
+ more: string;
1354
+ processes: string;
1355
+ result: string;
1356
+ solve: string;
1357
+ theme: string;
1358
+ terminal: string;
1359
+ };
1360
+ };
1361
+ } | {
1362
+ hayali: {
1363
+ prev: string;
1364
+ next: string;
1365
+ steps: string;
1366
+ done: string;
1367
+ current: string;
1368
+ upcoming: string;
1369
+ toc: string;
1370
+ lesson: string;
1371
+ sandbox: string;
1372
+ locks: {
1373
+ title: string;
1374
+ description: string;
1375
+ };
1376
+ confirm: {
1377
+ title: string;
1378
+ description: string;
1379
+ cancel: string;
1380
+ continue: string;
1381
+ };
1382
+ };
1383
+ dir: string;
1384
+ sandbox: {
1385
+ general: {
1386
+ close: string;
1387
+ open: string;
1388
+ restart: string;
1389
+ stop: string;
1390
+ };
1391
+ loading: {
1392
+ booting: string;
1393
+ editor: string;
1394
+ files: string;
1395
+ preview: string;
1396
+ processes: string;
1397
+ terminals: string;
1398
+ };
1399
+ panel: {
1400
+ editor: {
1401
+ readonly: string;
1402
+ };
1403
+ preview: {
1404
+ clearConsole: string;
1405
+ console: string;
1406
+ reload: string;
1407
+ };
1408
+ terminals: {
1409
+ new: string;
1410
+ open: string;
1411
+ };
1412
+ };
1413
+ toggle: {
1414
+ code: string;
1415
+ explorer: string;
1416
+ fullscreen: string;
1417
+ more: string;
1418
+ processes: string;
1419
+ result: string;
1420
+ solve: string;
1421
+ theme: string;
1422
+ terminal: string;
1423
+ };
1424
+ };
1425
+ } | {
1426
+ hayali: {
1427
+ prev: string;
1428
+ next: string;
1429
+ steps: string;
1430
+ done: string;
1431
+ current: string;
1432
+ upcoming: string;
1433
+ toc: string;
1434
+ lesson: string;
1435
+ sandbox: string;
1436
+ locks: {
1437
+ title: string;
1438
+ description: string;
1439
+ };
1440
+ confirm: {
1441
+ title: string;
1442
+ description: string;
1443
+ cancel: string;
1444
+ continue: string;
1445
+ };
1446
+ };
1447
+ dir: string;
1448
+ sandbox: {
1449
+ general: {
1450
+ close: string;
1451
+ open: string;
1452
+ restart: string;
1453
+ stop: string;
1454
+ };
1455
+ loading: {
1456
+ booting: string;
1457
+ editor: string;
1458
+ files: string;
1459
+ preview: string;
1460
+ processes: string;
1461
+ terminals: string;
1462
+ };
1463
+ panel: {
1464
+ editor: {
1465
+ readonly: string;
1466
+ };
1467
+ preview: {
1468
+ clearConsole: string;
1469
+ console: string;
1470
+ reload: string;
1471
+ };
1472
+ terminals: {
1473
+ new: string;
1474
+ open: string;
1475
+ };
1476
+ };
1477
+ toggle: {
1478
+ code: string;
1479
+ explorer: string;
1480
+ fullscreen: string;
1481
+ more: string;
1482
+ processes: string;
1483
+ result: string;
1484
+ solve: string;
1485
+ theme: string;
1486
+ terminal: string;
1487
+ };
1488
+ };
1489
+ } | {
1490
+ hayali: {
1491
+ prev: string;
1492
+ next: string;
1493
+ steps: string;
1494
+ done: string;
1495
+ current: string;
1496
+ upcoming: string;
1497
+ toc: string;
1498
+ lesson: string;
1499
+ sandbox: string;
1500
+ locks: {
1501
+ title: string;
1502
+ description: string;
1503
+ };
1504
+ confirm: {
1505
+ title: string;
1506
+ description: string;
1507
+ cancel: string;
1508
+ continue: string;
1509
+ };
1510
+ };
1511
+ dir: string;
1512
+ sandbox: {
1513
+ general: {
1514
+ close: string;
1515
+ open: string;
1516
+ restart: string;
1517
+ stop: string;
1518
+ };
1519
+ loading: {
1520
+ booting: string;
1521
+ editor: string;
1522
+ files: string;
1523
+ preview: string;
1524
+ processes: string;
1525
+ terminals: string;
1526
+ };
1527
+ panel: {
1528
+ editor: {
1529
+ readonly: string;
1530
+ };
1531
+ preview: {
1532
+ clearConsole: string;
1533
+ console: string;
1534
+ reload: string;
1535
+ };
1536
+ terminals: {
1537
+ new: string;
1538
+ open: string;
1539
+ };
1540
+ };
1541
+ toggle: {
1542
+ code: string;
1543
+ explorer: string;
1544
+ fullscreen: string;
1545
+ more: string;
1546
+ processes: string;
1547
+ result: string;
1548
+ solve: string;
1549
+ theme: string;
1550
+ terminal: string;
1551
+ };
1552
+ };
1553
+ } | {
1554
+ hayali: {
1555
+ prev: string;
1556
+ next: string;
1557
+ steps: string;
1558
+ done: string;
1559
+ current: string;
1560
+ upcoming: string;
1561
+ toc: string;
1562
+ lesson: string;
1563
+ sandbox: string;
1564
+ locks: {
1565
+ title: string;
1566
+ description: string;
1567
+ };
1568
+ confirm: {
1569
+ title: string;
1570
+ description: string;
1571
+ cancel: string;
1572
+ continue: string;
1573
+ };
1574
+ };
1575
+ dir: string;
1576
+ sandbox: {
1577
+ general: {
1578
+ close: string;
1579
+ open: string;
1580
+ restart: string;
1581
+ stop: string;
1582
+ };
1583
+ loading: {
1584
+ booting: string;
1585
+ editor: string;
1586
+ files: string;
1587
+ preview: string;
1588
+ processes: string;
1589
+ terminals: string;
1590
+ };
1591
+ panel: {
1592
+ editor: {
1593
+ readonly: string;
1594
+ };
1595
+ preview: {
1596
+ clearConsole: string;
1597
+ console: string;
1598
+ reload: string;
1599
+ };
1600
+ terminals: {
1601
+ new: string;
1602
+ open: string;
1603
+ };
1604
+ };
1605
+ toggle: {
1606
+ code: string;
1607
+ explorer: string;
1608
+ fullscreen: string;
1609
+ more: string;
1610
+ processes: string;
1611
+ result: string;
1612
+ solve: string;
1613
+ theme: string;
1614
+ terminal: string;
1615
+ };
1616
+ };
1617
+ } | {
1618
+ hayali: {
1619
+ prev: string;
1620
+ next: string;
1621
+ steps: string;
1622
+ done: string;
1623
+ current: string;
1624
+ upcoming: string;
1625
+ toc: string;
1626
+ lesson: string;
1627
+ sandbox: string;
1628
+ locks: {
1629
+ title: string;
1630
+ description: string;
1631
+ };
1632
+ confirm: {
1633
+ title: string;
1634
+ description: string;
1635
+ cancel: string;
1636
+ continue: string;
1637
+ };
1638
+ };
1639
+ dir: string;
1640
+ sandbox: {
1641
+ general: {
1642
+ close: string;
1643
+ open: string;
1644
+ restart: string;
1645
+ stop: string;
1646
+ };
1647
+ loading: {
1648
+ booting: string;
1649
+ editor: string;
1650
+ files: string;
1651
+ preview: string;
1652
+ processes: string;
1653
+ terminals: string;
1654
+ };
1655
+ panel: {
1656
+ editor: {
1657
+ readonly: string;
1658
+ };
1659
+ preview: {
1660
+ clearConsole: string;
1661
+ console: string;
1662
+ reload: string;
1663
+ };
1664
+ terminals: {
1665
+ new: string;
1666
+ open: string;
1667
+ };
1668
+ };
1669
+ toggle: {
1670
+ code: string;
1671
+ explorer: string;
1672
+ fullscreen: string;
1673
+ more: string;
1674
+ processes: string;
1675
+ result: string;
1676
+ solve: string;
1677
+ theme: string;
1678
+ terminal: string;
1679
+ };
1680
+ };
1681
+ } | {
1682
+ hayali: {
1683
+ prev: string;
1684
+ next: string;
1685
+ steps: string;
1686
+ done: string;
1687
+ current: string;
1688
+ upcoming: string;
1689
+ toc: string;
1690
+ lesson: string;
1691
+ sandbox: string;
1692
+ locks: {
1693
+ title: string;
1694
+ description: string;
1695
+ };
1696
+ confirm: {
1697
+ title: string;
1698
+ description: string;
1699
+ cancel: string;
1700
+ continue: string;
1701
+ };
1702
+ };
1703
+ dir: string;
1704
+ sandbox: {
1705
+ general: {
1706
+ close: string;
1707
+ open: string;
1708
+ restart: string;
1709
+ stop: string;
1710
+ };
1711
+ loading: {
1712
+ booting: string;
1713
+ editor: string;
1714
+ files: string;
1715
+ preview: string;
1716
+ processes: string;
1717
+ terminals: string;
1718
+ };
1719
+ panel: {
1720
+ editor: {
1721
+ readonly: string;
1722
+ };
1723
+ preview: {
1724
+ clearConsole: string;
1725
+ console: string;
1726
+ reload: string;
1727
+ };
1728
+ terminals: {
1729
+ new: string;
1730
+ open: string;
1731
+ };
1732
+ };
1733
+ toggle: {
1734
+ code: string;
1735
+ explorer: string;
1736
+ fullscreen: string;
1737
+ more: string;
1738
+ processes: string;
1739
+ result: string;
1740
+ solve: string;
1741
+ theme: string;
1742
+ terminal: string;
1743
+ };
1744
+ };
1745
+ } | {
1746
+ hayali: {
1747
+ prev: string;
1748
+ next: string;
1749
+ steps: string;
1750
+ done: string;
1751
+ current: string;
1752
+ upcoming: string;
1753
+ toc: string;
1754
+ lesson: string;
1755
+ sandbox: string;
1756
+ locks: {
1757
+ title: string;
1758
+ description: string;
1759
+ };
1760
+ confirm: {
1761
+ title: string;
1762
+ description: string;
1763
+ cancel: string;
1764
+ continue: string;
1765
+ };
1766
+ };
1767
+ dir: string;
1768
+ sandbox: {
1769
+ general: {
1770
+ close: string;
1771
+ open: string;
1772
+ restart: string;
1773
+ stop: string;
1774
+ };
1775
+ loading: {
1776
+ booting: string;
1777
+ editor: string;
1778
+ files: string;
1779
+ preview: string;
1780
+ processes: string;
1781
+ terminals: string;
1782
+ };
1783
+ panel: {
1784
+ editor: {
1785
+ readonly: string;
1786
+ };
1787
+ preview: {
1788
+ clearConsole: string;
1789
+ console: string;
1790
+ reload: string;
1791
+ };
1792
+ terminals: {
1793
+ new: string;
1794
+ open: string;
1795
+ };
1796
+ };
1797
+ toggle: {
1798
+ code: string;
1799
+ explorer: string;
1800
+ fullscreen: string;
1801
+ more: string;
1802
+ processes: string;
1803
+ result: string;
1804
+ solve: string;
1805
+ theme: string;
1806
+ terminal: string;
1807
+ };
1808
+ };
1809
+ } | {
1810
+ hayali: {
1811
+ prev: string;
1812
+ next: string;
1813
+ steps: string;
1814
+ done: string;
1815
+ current: string;
1816
+ upcoming: string;
1817
+ toc: string;
1818
+ lesson: string;
1819
+ sandbox: string;
1820
+ locks: {
1821
+ title: string;
1822
+ description: string;
1823
+ };
1824
+ confirm: {
1825
+ title: string;
1826
+ description: string;
1827
+ cancel: string;
1828
+ continue: string;
1829
+ };
1830
+ };
1831
+ dir: string;
1832
+ sandbox: {
1833
+ general: {
1834
+ close: string;
1835
+ open: string;
1836
+ restart: string;
1837
+ stop: string;
1838
+ };
1839
+ loading: {
1840
+ booting: string;
1841
+ editor: string;
1842
+ files: string;
1843
+ preview: string;
1844
+ processes: string;
1845
+ terminals: string;
1846
+ };
1847
+ panel: {
1848
+ editor: {
1849
+ readonly: string;
1850
+ };
1851
+ preview: {
1852
+ clearConsole: string;
1853
+ console: string;
1854
+ reload: string;
1855
+ };
1856
+ terminals: {
1857
+ new: string;
1858
+ open: string;
1859
+ };
1860
+ };
1861
+ toggle: {
1862
+ code: string;
1863
+ explorer: string;
1864
+ fullscreen: string;
1865
+ more: string;
1866
+ processes: string;
1867
+ result: string;
1868
+ solve: string;
1869
+ theme: string;
1870
+ terminal: string;
1871
+ };
1872
+ };
1873
+ };
1874
+ };
1875
+ };
1876
+
1877
+ export declare const KrgzHayali: typeof __VLS_export;
1878
+
1879
+ export declare interface Lesson {
1880
+ chapters: Chapter[];
1881
+ /** Base tree mounted at boot, split into immutable and resettable tiers by `immutable`. */
1882
+ files?: AdjustmentsTree;
1883
+ /** Paths mounted once and never reset. */
1884
+ immutable?: PathPattern[];
1885
+ }
1886
+
1887
+ export declare interface LessonIssue {
1888
+ rule: LessonIssueRule;
1889
+ chapterId: string;
1890
+ stepId: string;
1891
+ /** Normalized offending path, when the issue is about one. */
1892
+ path?: string;
1893
+ message: string;
1894
+ }
1895
+
1896
+ export declare type LessonIssueRule = 'invalid-path' | 'invalid-preview-url' | 'line-out-of-range' | 'malformed-lines' | 'missing-file' | 'removed-path';
1897
+
1898
+ /** 1-based, inclusive: a line, a `[from, to]` range, or a list of either. */
1899
+ export declare type LineSpec = number | [from: number, to: number] | (number | [number, number])[];
1900
+
1901
+ /** Glob-style path pattern, e.g. `package.json` or `src/**`. */
1902
+ export declare type PathPattern = string;
1903
+
1904
+ /**
1905
+ * A step within a lesson. Step IDs are unique only within their chapter, so both IDs are needed. A position that
1906
+ * names no existing step falls back to the first step of the lesson.
1907
+ */
1908
+ export declare interface Position {
1909
+ chapterId: string;
1910
+ stepId: string;
1911
+ }
1912
+
1913
+ export declare interface Step {
1914
+ /** Author-supplied, unique within its chapter. Never derived from title text. */
1915
+ id: string;
1916
+ title: string;
1917
+ /** Markdown body. */
1918
+ body: string;
1919
+ /** Files added/changed by this step, overlaid on the lesson base tree. */
1920
+ adjustments?: AdjustmentsTree;
1921
+ /** Paths deleted when entering this step. */
1922
+ removals?: string[];
1923
+ /** Paths locked (UI-only) for this step. */
1924
+ locks?: PathPattern[];
1925
+ /** Editor directives applied on entry to this step. */
1926
+ editor?: EditorDirective;
1927
+ /** Preview to show on entry to this step. `url` is root-relative and may carry a query/hash. */
1928
+ preview?: {
1929
+ url: string;
1930
+ };
1931
+ }
1932
+
1933
+ export declare const StepBody: typeof __VLS_export_2;
1934
+
1935
+ /**
1936
+ * Checks a lesson for authoring mistakes without a browser. Resolves each step's tree (base files plus the step's own
1937
+ * adjustments, minus its removals; steps are not cumulative) and validates the step's editor directives and preview.
1938
+ *
1939
+ * @returns the issues found; an empty array means the lesson is valid.
1940
+ */
1941
+ export declare const validateLesson: (lesson: Lesson) => LessonIssue[];
1942
+
1943
+ export { }