@open-aippt/core 1.13.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 (142) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -0
  3. package/bin.js +2 -0
  4. package/dist/build-DxTqmvsO.js +17 -0
  5. package/dist/cli/bin.d.ts +1 -0
  6. package/dist/cli/bin.js +86 -0
  7. package/dist/config-CjzqjrEA.js +4280 -0
  8. package/dist/config-DIC-yVPp.d.ts +23 -0
  9. package/dist/design-cpzS8aud.js +35 -0
  10. package/dist/dev-BYuTeJbA.js +20 -0
  11. package/dist/format-BCeKbTOM.js +1605 -0
  12. package/dist/index.d.ts +134 -0
  13. package/dist/index.js +467 -0
  14. package/dist/locale/index.d.ts +24 -0
  15. package/dist/locale/index.js +3 -0
  16. package/dist/preview-DlQvnJPq.js +18 -0
  17. package/dist/sync-BPZ0m27m.js +139 -0
  18. package/dist/sync-EsYusbbL.js +3 -0
  19. package/dist/types-CHmFPIG_.d.ts +430 -0
  20. package/dist/vite/index.d.ts +14 -0
  21. package/dist/vite/index.js +4 -0
  22. package/env.d.ts +59 -0
  23. package/package.json +103 -0
  24. package/skills/apply-comments/SKILL.md +83 -0
  25. package/skills/create-slide/SKILL.md +91 -0
  26. package/skills/create-theme/SKILL.md +250 -0
  27. package/skills/current-slide/SKILL.md +110 -0
  28. package/skills/slide-authoring/SKILL.md +625 -0
  29. package/src/app/app.tsx +47 -0
  30. package/src/app/components/asset-view.tsx +966 -0
  31. package/src/app/components/history-provider.tsx +120 -0
  32. package/src/app/components/image-placeholder.tsx +243 -0
  33. package/src/app/components/inspector/asset-picker-dialog.tsx +196 -0
  34. package/src/app/components/inspector/comment-widget.tsx +93 -0
  35. package/src/app/components/inspector/image-crop-dialog.tsx +212 -0
  36. package/src/app/components/inspector/inspect-overlay.tsx +387 -0
  37. package/src/app/components/inspector/inspector-panel.tsx +1115 -0
  38. package/src/app/components/inspector/inspector-provider.tsx +1218 -0
  39. package/src/app/components/inspector/save-bar.tsx +48 -0
  40. package/src/app/components/language-toggle.tsx +39 -0
  41. package/src/app/components/notes-drawer.tsx +120 -0
  42. package/src/app/components/overview-grid.tsx +363 -0
  43. package/src/app/components/panel/panel-fields.tsx +60 -0
  44. package/src/app/components/panel/panel-shell.tsx +80 -0
  45. package/src/app/components/panel/save-card.tsx +142 -0
  46. package/src/app/components/pdf-progress-toast.tsx +32 -0
  47. package/src/app/components/player.tsx +466 -0
  48. package/src/app/components/pptx-progress-toast.tsx +32 -0
  49. package/src/app/components/present/blackout-overlay.tsx +18 -0
  50. package/src/app/components/present/control-bar.tsx +315 -0
  51. package/src/app/components/present/help-overlay.tsx +57 -0
  52. package/src/app/components/present/jump-input.tsx +74 -0
  53. package/src/app/components/present/laser-pointer.tsx +39 -0
  54. package/src/app/components/present/progress-bar.tsx +26 -0
  55. package/src/app/components/present/use-idle.ts +46 -0
  56. package/src/app/components/present/use-pointer-near-bottom.ts +34 -0
  57. package/src/app/components/present/use-presenter-channel.ts +66 -0
  58. package/src/app/components/present/use-touch-swipe.ts +66 -0
  59. package/src/app/components/shared-element.tsx +48 -0
  60. package/src/app/components/sidebar/folder-item.tsx +258 -0
  61. package/src/app/components/sidebar/icon-picker.tsx +61 -0
  62. package/src/app/components/sidebar/mobile-pill.tsx +34 -0
  63. package/src/app/components/sidebar/sidebar-footer.tsx +105 -0
  64. package/src/app/components/sidebar/sidebar.tsx +284 -0
  65. package/src/app/components/slide-canvas.tsx +102 -0
  66. package/src/app/components/slide-transition-layer.tsx +844 -0
  67. package/src/app/components/style-panel/design-provider.tsx +148 -0
  68. package/src/app/components/style-panel/style-panel.tsx +349 -0
  69. package/src/app/components/style-panel/use-design.ts +112 -0
  70. package/src/app/components/theme-toggle.tsx +59 -0
  71. package/src/app/components/themes/theme-detail.tsx +305 -0
  72. package/src/app/components/themes/themes-gallery.tsx +149 -0
  73. package/src/app/components/thumbnail-rail.tsx +805 -0
  74. package/src/app/components/ui/badge.tsx +45 -0
  75. package/src/app/components/ui/button.tsx +99 -0
  76. package/src/app/components/ui/card.tsx +92 -0
  77. package/src/app/components/ui/context-menu.tsx +237 -0
  78. package/src/app/components/ui/dialog.tsx +157 -0
  79. package/src/app/components/ui/dropdown-menu.tsx +245 -0
  80. package/src/app/components/ui/input.tsx +25 -0
  81. package/src/app/components/ui/label.tsx +24 -0
  82. package/src/app/components/ui/popover.tsx +75 -0
  83. package/src/app/components/ui/progress.tsx +31 -0
  84. package/src/app/components/ui/scroll-area.tsx +53 -0
  85. package/src/app/components/ui/select.tsx +196 -0
  86. package/src/app/components/ui/separator.tsx +28 -0
  87. package/src/app/components/ui/slider.tsx +61 -0
  88. package/src/app/components/ui/sonner.tsx +48 -0
  89. package/src/app/components/ui/tabs.tsx +79 -0
  90. package/src/app/components/ui/textarea.tsx +22 -0
  91. package/src/app/components/ui/toggle-group.tsx +83 -0
  92. package/src/app/components/ui/toggle.tsx +45 -0
  93. package/src/app/components/ui/tooltip.tsx +58 -0
  94. package/src/app/favicon.ico +0 -0
  95. package/src/app/index.html +13 -0
  96. package/src/app/lib/assets.ts +242 -0
  97. package/src/app/lib/design-presets.ts +94 -0
  98. package/src/app/lib/design.ts +58 -0
  99. package/src/app/lib/export-html.ts +326 -0
  100. package/src/app/lib/export-pdf.ts +298 -0
  101. package/src/app/lib/export-pptx.ts +284 -0
  102. package/src/app/lib/folders.ts +239 -0
  103. package/src/app/lib/inspector/fiber.test.ts +154 -0
  104. package/src/app/lib/inspector/fiber.ts +85 -0
  105. package/src/app/lib/inspector/use-comments.ts +74 -0
  106. package/src/app/lib/inspector/use-editor.ts +73 -0
  107. package/src/app/lib/inspector/use-notes.ts +134 -0
  108. package/src/app/lib/locale-store.ts +67 -0
  109. package/src/app/lib/page-context.tsx +38 -0
  110. package/src/app/lib/print-ready.test.ts +32 -0
  111. package/src/app/lib/print-ready.ts +51 -0
  112. package/src/app/lib/sdk.test.ts +13 -0
  113. package/src/app/lib/sdk.ts +37 -0
  114. package/src/app/lib/slides.ts +26 -0
  115. package/src/app/lib/step-context.tsx +261 -0
  116. package/src/app/lib/themes.ts +22 -0
  117. package/src/app/lib/transition.ts +30 -0
  118. package/src/app/lib/use-agent-socket.ts +18 -0
  119. package/src/app/lib/use-click-page-navigation.ts +60 -0
  120. package/src/app/lib/use-is-mobile.ts +21 -0
  121. package/src/app/lib/use-locale.ts +8 -0
  122. package/src/app/lib/use-prefers-reduced-motion.ts +19 -0
  123. package/src/app/lib/use-slide-module.ts +48 -0
  124. package/src/app/lib/use-wheel-page-navigation.ts +99 -0
  125. package/src/app/lib/utils.test.ts +25 -0
  126. package/src/app/lib/utils.ts +6 -0
  127. package/src/app/main.tsx +14 -0
  128. package/src/app/routes/assets.tsx +9 -0
  129. package/src/app/routes/home-shell.tsx +213 -0
  130. package/src/app/routes/home.tsx +807 -0
  131. package/src/app/routes/presenter.tsx +418 -0
  132. package/src/app/routes/slide.tsx +1108 -0
  133. package/src/app/routes/themes.tsx +34 -0
  134. package/src/app/styles.css +429 -0
  135. package/src/app/virtual.d.ts +51 -0
  136. package/src/locale/en.ts +416 -0
  137. package/src/locale/format.ts +12 -0
  138. package/src/locale/index.ts +6 -0
  139. package/src/locale/ja.ts +422 -0
  140. package/src/locale/types.ts +443 -0
  141. package/src/locale/zh-cn.ts +414 -0
  142. package/src/locale/zh-tw.ts +414 -0
@@ -0,0 +1,443 @@
1
+ export type Plural = { one: string; other: string };
2
+
3
+ export type Locale = {
4
+ id: 'en' | 'zh-TW' | 'zh-CN' | 'ja';
5
+
6
+ common: {
7
+ cancel: string;
8
+ save: string;
9
+ saving: string;
10
+ saved: string;
11
+ discard: string;
12
+ delete: string;
13
+ rename: string;
14
+ move: string;
15
+ close: string;
16
+ loading: string;
17
+ loadFailed: string;
18
+ failedToLoadSlide: string;
19
+ home: string;
20
+ backToHome: string;
21
+ preview: string;
22
+ add: string;
23
+ done: string;
24
+ tryAgain: string;
25
+ undo: string;
26
+ redo: string;
27
+ light: string;
28
+ dark: string;
29
+ system: string;
30
+ selected: string;
31
+ };
32
+
33
+ notFound: {
34
+ eyebrow: string;
35
+ title: string;
36
+ };
37
+
38
+ home: {
39
+ appTitle: string;
40
+ draft: string;
41
+ duplicate: string;
42
+ themes: string;
43
+ assets: string;
44
+ folders: string;
45
+ newFolder: string;
46
+ folderName: string;
47
+ updateAvailable: string;
48
+ updatePackage: string;
49
+ updatingPackage: string;
50
+ updatePackageDone: string;
51
+ updatePackageFailed: string;
52
+ changeIcon: string;
53
+ iconEmojiTab: string;
54
+ iconColorTab: string;
55
+ folderActions: string;
56
+ searchPlaceholder: string;
57
+ clearSearch: string;
58
+ sortLabel: string;
59
+ sortByCreatedDesc: string;
60
+ sortByCreatedAsc: string;
61
+ sortByTitleAsc: string;
62
+ sortByTitleDesc: string;
63
+ noMatches: string;
64
+ nothingMatchesPrefix: string;
65
+ nothingMatchesSuffix: string;
66
+ noSlidesYet: string;
67
+ createSlideHintPrefix: string;
68
+ createSlideHintSuffix: string;
69
+ folderEmptyTitle: string;
70
+ folderEmptyHint: string;
71
+ slideActions: string;
72
+ moveToFolder: string;
73
+ renameDialogEyebrow: string;
74
+ renameDialogTitle: string;
75
+ renameDialogDescription: string;
76
+ slideNamePlaceholder: string;
77
+ moveDialogEyebrow: string;
78
+ moveDialogTitle: string;
79
+ moveDialogDescriptionPrefix: string;
80
+ moveDialogDescriptionSuffix: string;
81
+ deleteDialogEyebrow: string;
82
+ deleteDialogTitle: string;
83
+ deleteDialogDescriptionPrefix: string;
84
+ deleteDialogDescriptionMid: string;
85
+ deleteDialogDescriptionSuffix: string;
86
+ /** template: "Created folder “{name}”" */
87
+ toastFolderCreated: string;
88
+ toastFolderCreateFailed: string;
89
+ /** template: "Duplicated “{slide}” as {newSlide}" */
90
+ toastSlideDuplicated: string;
91
+ toastSlideDuplicateFailed: string;
92
+ /** template: "Moved “{slide}” to {folder}" */
93
+ toastSlideMoved: string;
94
+ toastSlideMoveFailed: string;
95
+ /** template: "Deleted folder “{name}”" */
96
+ toastFolderDeleted: string;
97
+ toastFolderDeleteFailed: string;
98
+ toastFolderReorderFailed: string;
99
+ pickIcon: string;
100
+ };
101
+
102
+ slide: {
103
+ home: string;
104
+ backToHome: string;
105
+ agentConnected: string;
106
+ agentConnectedTooltip: string;
107
+ agentDisconnected: string;
108
+ agentDisconnectedTooltip: string;
109
+ download: string;
110
+ copyLink: string;
111
+ moreActions: string;
112
+ toastCopyLinkSuccess: string;
113
+ toastCopyLinkFailed: string;
114
+ exportAsHtml: string;
115
+ exportAsPdf: string;
116
+ exportAsImagePptx: string;
117
+ exportAsPptx: string;
118
+ comingSoon: string;
119
+ pptxComingSoonTooltip: string;
120
+ pdfExportFailed: string;
121
+ imagePptxExportFailed: string;
122
+ pdfExportSafariUnsupported: string;
123
+ present: string;
124
+ presentMenuAria: string;
125
+ presentInWindow: string;
126
+ presentFullscreen: string;
127
+ presentPresenter: string;
128
+ slidesTab: string;
129
+ assetsTab: string;
130
+ renameSlide: string;
131
+ loadingEyebrow: string;
132
+ emptyEyebrow: string;
133
+ nothingToShow: string;
134
+ emptyHintPrefix: string;
135
+ emptyHintMust: string;
136
+ emptyHintSuffix: string;
137
+ };
138
+
139
+ presenter: {
140
+ eyebrow: string;
141
+ notLinked: string;
142
+ nowShowing: string;
143
+ upNext: string;
144
+ lastSlide: string;
145
+ endOfDeck: string;
146
+ speakerNotes: string;
147
+ noNotesPrefix: string;
148
+ noNotesSuffix: string;
149
+ blackScreen: string;
150
+ whiteScreen: string;
151
+ prev: string;
152
+ next: string;
153
+ black: string;
154
+ white: string;
155
+ reset: string;
156
+ resetTimer: string;
157
+ currentTime: string;
158
+ elapsed: string;
159
+ jump: string;
160
+ /** template: "Loading {slideId}…" */
161
+ loadingSlide: string;
162
+ };
163
+
164
+ present: {
165
+ prevSlideAria: string;
166
+ nextSlideAria: string;
167
+ overviewAria: string;
168
+ blackoutAria: string;
169
+ whiteoutAria: string;
170
+ laserAria: string;
171
+ presenterAria: string;
172
+ enterFullscreenAria: string;
173
+ exitFullscreenAria: string;
174
+ helpAria: string;
175
+ exitAria: string;
176
+ elapsedTime: string;
177
+ helpEyebrow: string;
178
+ helpTitle: string;
179
+ shortcutNext: string;
180
+ shortcutPrev: string;
181
+ shortcutFirstLast: string;
182
+ shortcutJump: string;
183
+ shortcutOverview: string;
184
+ shortcutBlack: string;
185
+ shortcutWhite: string;
186
+ shortcutLaser: string;
187
+ shortcutPresenter: string;
188
+ shortcutToggleHelp: string;
189
+ shortcutCloseExit: string;
190
+ overviewDialogAria: string;
191
+ overviewEyebrow: string;
192
+ /** template: "Go to slide {n}" */
193
+ overviewGoToAria: string;
194
+ nowBadge: string;
195
+ };
196
+
197
+ inspector: {
198
+ inspect: string;
199
+ deselect: string;
200
+ agentWatching: string;
201
+ agentWatchingTooltip: string;
202
+ agentNotWatching: string;
203
+ agentNotWatchingTooltip: string;
204
+ contentSection: string;
205
+ typographySection: string;
206
+ colorSection: string;
207
+ textColor: string;
208
+ backgroundColor: string;
209
+ imageSection: string;
210
+ imagePlaceholderSection: string;
211
+ elementTextPlaceholder: string;
212
+ sizeLabel: string;
213
+ weightLabel: string;
214
+ weightLight: string;
215
+ weightRegular: string;
216
+ weightMedium: string;
217
+ weightSemibold: string;
218
+ weightBold: string;
219
+ weightExtrabold: string;
220
+ styleLabel: string;
221
+ boldAria: string;
222
+ italicAria: string;
223
+ lineHeightLabel: string;
224
+ trackingLabel: string;
225
+ alignLabel: string;
226
+ clearAria: string;
227
+ replace: string;
228
+ replaceImageDialogTitle: string;
229
+ /** template: "Pick an asset from {path}." */
230
+ replaceImageDescription: string;
231
+ pickerLoading: string;
232
+ pickerEmpty: string;
233
+ placeholderHintLabel: string;
234
+ crop: string;
235
+ cropDialogTitle: string;
236
+ cropDialogDescription: string;
237
+ cropFitCover: string;
238
+ cropFitContain: string;
239
+ cropApply: string;
240
+ cropResetAria: string;
241
+ leaveComment: string;
242
+ commentPlaceholder: string;
243
+ commentShortcutHint: string;
244
+ addComment: string;
245
+ /** templates: "{count} unsaved change" / "{count} unsaved changes" */
246
+ unsavedChanges: Plural;
247
+ /** templates: "{count} comment" / "{count} comments" */
248
+ commentsCount: Plural;
249
+ /** template: "line {n}" */
250
+ commentLineLabel: string;
251
+ commentsEmpty: string;
252
+ commentsApplyHintPrefix: string;
253
+ commentsApplyHintSuffix: string;
254
+ commentDeleteAria: string;
255
+ /** Prefix for the toast shown when one or more buffered edits fail to write to disk. */
256
+ saveFailed: string;
257
+ };
258
+
259
+ stylePanel: {
260
+ designTokens: string;
261
+ draftBadge: string;
262
+ unsavedTitle: string;
263
+ closePanelAria: string;
264
+ colorsSection: string;
265
+ typographySection: string;
266
+ shapeSection: string;
267
+ backgroundLabel: string;
268
+ textLabel: string;
269
+ accentLabel: string;
270
+ displayFontLabel: string;
271
+ bodyFontLabel: string;
272
+ heroLabel: string;
273
+ bodyLabel: string;
274
+ radiusLabel: string;
275
+ designToggle: string;
276
+ designToggleTitle: string;
277
+ fontPresetCustom: string;
278
+ shuffleAria: string;
279
+ shuffleTitle: string;
280
+ };
281
+
282
+ asset: {
283
+ devOnlyMessage: string;
284
+ sectionAria: string;
285
+ eyebrow: string;
286
+ scopeSlide: string;
287
+ scopeGlobal: string;
288
+ /** templates: "{count} file" / "{count} files" */
289
+ fileCount: Plural;
290
+ usageUnused: string;
291
+ searchLogos: string;
292
+ upload: string;
293
+ dropToUpload: string;
294
+ loading: string;
295
+ noAssetsYet: string;
296
+ noAssetsHintPrefix: string;
297
+ noAssetsHintSuffix: string;
298
+ nameAlreadyExists: string;
299
+ /** template: "Preview {name}" */
300
+ previewAria: string;
301
+ /** template: "Actions for {name}" */
302
+ actionsAria: string;
303
+ previewMenuItem: string;
304
+ renameMenuItem: string;
305
+ deleteMenuItem: string;
306
+ conflictTitle: string;
307
+ /** template: "{name} is already in the assets folder." */
308
+ conflictDescription: string;
309
+ conflictReplace: string;
310
+ conflictRenameCopy: string;
311
+ deleteAssetTitle: string;
312
+ /** template: "Delete {name}? Imports referencing this file in the slide will break." */
313
+ deleteAssetDescription: string;
314
+ /** template: "{name} is used in {count} place across {slides} slide." (singular/plural via {count}/{slides}) */
315
+ deleteAssetInUseDescription: string;
316
+ deleteAssetInUseHint: string;
317
+ deleteAndRevert: string;
318
+ /** template: "Couldn't revert usage in {slideId}." */
319
+ toastRevertFailed: string;
320
+ /** template: "Deleted {name} and reverted {count} usage." */
321
+ toastDeletedWithRevert: string;
322
+ noPreview: string;
323
+ importHintComment: string;
324
+ importHintSemi: string;
325
+ logoSearchTitle: string;
326
+ logoSearchPoweredByPrefix: string;
327
+ logoSearchPlaceholder: string;
328
+ logoSearchErrorTitle: string;
329
+ logoSearchErrorBody: string;
330
+ /** template: 'No logos for "{query}"' */
331
+ logoSearchNoResults: string;
332
+ logoSearchEmpty: string;
333
+ logoSearchEmptyHintPrefix: string;
334
+ logoSearchEmptyHintSuffix: string;
335
+ logoVariantLight: string;
336
+ logoVariantDark: string;
337
+ /** template: "Upload failed ({status})" */
338
+ toastUploadFailed: string;
339
+ /** template: "Replaced {name}" */
340
+ toastReplaced: string;
341
+ /** template: "Uploaded as {name}" */
342
+ toastUploadedAs: string;
343
+ /** template: "Uploaded {name}" */
344
+ toastUploaded: string;
345
+ /** template: "Rename failed ({status})" */
346
+ toastRenameFailed: string;
347
+ /** template: "Renamed to {name}" */
348
+ toastRenamed: string;
349
+ /** template: "Delete failed ({status})" */
350
+ toastDeleteFailed: string;
351
+ /** template: "Deleted {name}" */
352
+ toastDeleted: string;
353
+ toastDownloadFailed: string;
354
+ toastSearchFailed: string;
355
+ };
356
+
357
+ thumbnailRail: {
358
+ pages: string;
359
+ /** template: "Go to page {n}" */
360
+ goToPageAria: string;
361
+ duplicatePage: string;
362
+ deletePage: string;
363
+ /** template: "Page {n} actions" */
364
+ pageActionsAria: string;
365
+ /** template: "Duplicated page {n}" */
366
+ toastDuplicated: string;
367
+ /** template: "Deleted page {n}" */
368
+ toastDeleted: string;
369
+ toastDuplicateFailed: string;
370
+ toastDeleteFailed: string;
371
+ resizeRail: string;
372
+ transitionIndicator: string;
373
+ stepsIndicator: string;
374
+ overviewAria: string;
375
+ };
376
+
377
+ pdfToast: {
378
+ title: string;
379
+ /** template: "Processing page {current} of {total}" */
380
+ processing: string;
381
+ printing: string;
382
+ done: string;
383
+ };
384
+
385
+ pptxToast: {
386
+ title: string;
387
+ /** template: "Rendering page {current} of {total}" */
388
+ processing: string;
389
+ generating: string;
390
+ done: string;
391
+ };
392
+
393
+ themeToggle: {
394
+ toggleAria: string;
395
+ title: string;
396
+ light: string;
397
+ dark: string;
398
+ system: string;
399
+ };
400
+
401
+ languageToggle: {
402
+ toggleAria: string;
403
+ title: string;
404
+ };
405
+
406
+ imagePlaceholder: {
407
+ dropOverlay: string;
408
+ uploading: string;
409
+ uploadFailed: string;
410
+ };
411
+
412
+ notesDrawer: {
413
+ toggle: string;
414
+ /** template: "page {n}/{total}" */
415
+ pageLabel: string;
416
+ placeholder: string;
417
+ statusSaving: string;
418
+ statusSaved: string;
419
+ /** template: "Save failed: {msg}" */
420
+ statusError: string;
421
+ };
422
+
423
+ themes: {
424
+ title: string;
425
+ noThemesTitle: string;
426
+ noThemesHintPrefix: string;
427
+ noThemesHintSuffix: string;
428
+ noDemoYet: string;
429
+ noDemoHintPrefix: string;
430
+ noDemoHintSuffix: string;
431
+ backToGallery: string;
432
+ /** template: "page {n}/{total}" */
433
+ pageOf: string;
434
+ nextPageAria: string;
435
+ prevPageAria: string;
436
+ /** template: "Open theme {name}" */
437
+ openThemeAria: string;
438
+ usedBy: string;
439
+ usedByEmpty: string;
440
+ expandPromptAria: string;
441
+ collapsePromptAria: string;
442
+ };
443
+ };