lumina-slides 9.0.5 → 9.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +63 -0
  2. package/dist/lumina-slides.js +21750 -19334
  3. package/dist/lumina-slides.umd.cjs +223 -223
  4. package/dist/style.css +1 -1
  5. package/package.json +1 -1
  6. package/src/components/LandingPage.vue +1 -1
  7. package/src/components/LuminaDeck.vue +237 -232
  8. package/src/components/base/LuminaElement.vue +2 -0
  9. package/src/components/layouts/LayoutFeatures.vue +125 -123
  10. package/src/components/layouts/LayoutFlex.vue +212 -212
  11. package/src/components/layouts/LayoutStatement.vue +5 -2
  12. package/src/components/layouts/LayoutSteps.vue +110 -108
  13. package/src/components/parts/FlexHtml.vue +65 -65
  14. package/src/components/parts/FlexImage.vue +81 -81
  15. package/src/components/site/SiteDocs.vue +3313 -3314
  16. package/src/components/site/SiteExamples.vue +66 -66
  17. package/src/components/studio/EditorLayoutChart.vue +18 -0
  18. package/src/components/studio/EditorLayoutCustom.vue +18 -0
  19. package/src/components/studio/EditorLayoutVideo.vue +18 -0
  20. package/src/components/studio/LuminaStudioEmbed.vue +68 -0
  21. package/src/components/studio/StudioEmbedRoot.vue +19 -0
  22. package/src/components/studio/StudioInspector.vue +1113 -7
  23. package/src/components/studio/StudioJsonEditor.vue +10 -3
  24. package/src/components/studio/StudioSettings.vue +658 -7
  25. package/src/components/studio/StudioToolbar.vue +26 -7
  26. package/src/composables/useElementState.ts +12 -1
  27. package/src/composables/useFlexLayout.ts +128 -128
  28. package/src/core/Lumina.ts +174 -113
  29. package/src/core/animationConfig.ts +10 -0
  30. package/src/core/elementController.ts +18 -0
  31. package/src/core/elementResolver.ts +4 -2
  32. package/src/core/schema.ts +503 -503
  33. package/src/core/store.ts +465 -465
  34. package/src/core/types.ts +26 -11
  35. package/src/index.ts +2 -2
  36. package/src/utils/prepareDeckForExport.ts +47 -0
  37. package/src/utils/templateInterpolation.ts +52 -52
  38. package/src/views/DeckView.vue +313 -313
@@ -83,6 +83,7 @@
83
83
  <script setup lang="ts">
84
84
  import { ref, watch, computed } from 'vue';
85
85
  import { useEditor } from '../../composables/useEditor';
86
+ import { prepareDeckForExport } from '../../utils/prepareDeckForExport';
86
87
 
87
88
  const props = defineProps<{
88
89
  isOpen: boolean;
@@ -97,15 +98,21 @@ const error = ref<string | null>(null);
97
98
  const isDirty = ref(false);
98
99
  const textareaRef = ref<HTMLTextAreaElement | null>(null);
99
100
 
100
- // Get initial content
101
+ // Get initial content (same format as export: ids added, dragKey removed)
101
102
  const refreshContent = () => {
102
103
  try {
104
+ const deck = editor.store.state.deck;
105
+ if (!deck) {
106
+ jsonContent.value = mode.value === 'deck' ? '{}' : '';
107
+ return;
108
+ }
109
+ const prepared = prepareDeckForExport(deck);
103
110
  if (mode.value === 'slide') {
104
111
  const index = editor.store.state.currentIndex;
105
- const slide = editor.store.state.deck?.slides[index];
112
+ const slide = prepared.slides?.[index];
106
113
  jsonContent.value = slide ? JSON.stringify(slide, null, 4) : '';
107
114
  } else {
108
- jsonContent.value = JSON.stringify(editor.store.state.deck, null, 4);
115
+ jsonContent.value = JSON.stringify(prepared, null, 4);
109
116
  }
110
117
  error.value = null;
111
118
  isDirty.value = false;