@peteai/presentation-editor 0.0.6 → 0.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 (310) hide show
  1. package/README.md +38 -38
  2. package/dist/components/editor/active-layers-buttons.svelte +56 -0
  3. package/dist/components/{presentation-editor → editor}/active-layers.svelte +89 -48
  4. package/dist/components/{presentation-editor/cognition-slides.d.ts → editor/cognition-pages.d.ts} +1 -1
  5. package/dist/components/{presentation-editor/cognition-slides.js → editor/cognition-pages.js} +1 -1
  6. package/dist/components/{presentation-editor → editor}/cursor-tooltip.svelte +6 -2
  7. package/dist/components/editor/cursor-tooltip.svelte.d.ts +7 -0
  8. package/dist/components/{presentation-editor → editor}/dragged.svelte +7 -3
  9. package/dist/components/editor/dragged.svelte.d.ts +7 -0
  10. package/dist/components/{presentation-editor/presentation-editor.svelte → editor/editor.svelte} +53 -48
  11. package/dist/components/editor/editor.svelte.d.ts +4 -0
  12. package/dist/components/editor/editor.svelte.js +1167 -0
  13. package/dist/components/{presentation-editor → editor}/header.svelte +11 -7
  14. package/dist/components/editor/header.svelte.d.ts +7 -0
  15. package/dist/components/{presentation-editor → editor}/hotkeys.svelte +41 -16
  16. package/dist/components/editor/index.d.ts +3 -0
  17. package/dist/components/editor/index.js +3 -0
  18. package/dist/components/{presentation-editor → editor}/layers/active-background-border.svelte +2 -2
  19. package/dist/components/{presentation-editor → editor}/layers/active-layer-border.svelte +5 -8
  20. package/dist/components/editor/layers/buttons/border-button/border-button-colors.svelte +59 -0
  21. package/dist/components/editor/layers/buttons/border-button/border-button-colors.svelte.d.ts +9 -0
  22. package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/border-button.svelte +47 -65
  23. package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/corner-radius-button.svelte +24 -28
  24. package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/flip-button.svelte +11 -12
  25. package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/opacity-button.svelte +32 -38
  26. package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/corner-scale-control.svelte +27 -32
  27. package/dist/components/editor/layers/controls/group-resize-control/group-resize-control.svelte +418 -0
  28. package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/rotate-control.svelte +27 -34
  29. package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/side-resize-control.svelte +9 -13
  30. package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/side-scale-control.svelte +13 -15
  31. package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/side-scale-control.svelte.d.ts +2 -2
  32. package/dist/components/{presentation-editor → editor}/layers/index.d.ts +3 -2
  33. package/dist/components/{presentation-editor → editor}/layers/index.js +6 -3
  34. package/dist/components/{presentation-editor → editor}/layers/layer-button.svelte +14 -8
  35. package/dist/components/{presentation-editor → editor}/layers/layer-thumb-wrapper.svelte +5 -6
  36. package/dist/components/{presentation-editor → editor}/layers/layer-wrapper.svelte +46 -57
  37. package/dist/components/{presentation-editor → editor}/layers/types/background/background-content-image.svelte +2 -2
  38. package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer-buttons.svelte +6 -6
  39. package/dist/components/editor/layers/types/background/background-layer-content.svelte +21 -0
  40. package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer-content.svelte.d.ts +2 -2
  41. package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer.svelte +5 -7
  42. package/dist/components/editor/layers/types/group/group-child-wrapper.svelte +44 -0
  43. package/dist/components/editor/layers/types/group/group-child-wrapper.svelte.d.ts +9 -0
  44. package/dist/components/editor/layers/types/group/group-layer-content.svelte +45 -0
  45. package/dist/components/editor/layers/types/group/group-layer-content.svelte.d.ts +9 -0
  46. package/dist/components/editor/layers/types/group/group-layer.svelte +33 -0
  47. package/dist/components/editor/layers/types/group/group-layer.svelte.d.ts +8 -0
  48. package/dist/components/editor/layers/types/group/index.d.ts +3 -0
  49. package/dist/components/editor/layers/types/group/index.js +3 -0
  50. package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-active.svelte +10 -13
  51. package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-content.svelte +14 -11
  52. package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer.svelte +8 -14
  53. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/alignment-button.svelte +13 -14
  54. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/alignment-button.svelte.d.ts +2 -2
  55. package/dist/components/editor/layers/types/text/buttons/bold-button/bold-button.svelte +65 -0
  56. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/bold-button/bold-button.svelte.d.ts +2 -2
  57. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/case-button.svelte +24 -30
  58. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/case-button.svelte.d.ts +2 -2
  59. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/color-button.svelte +4 -4
  60. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/color-button.svelte.d.ts +2 -2
  61. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/font-family-button.svelte +4 -4
  62. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/font-family-button.svelte.d.ts +2 -2
  63. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/font-size-button.svelte +33 -40
  64. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/font-size-button.svelte.d.ts +2 -2
  65. package/dist/components/editor/layers/types/text/buttons/italic-button/italic-button.svelte +65 -0
  66. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/italic-button/italic-button.svelte.d.ts +2 -2
  67. package/dist/components/editor/layers/types/text/buttons/list-button/list-button.svelte +113 -0
  68. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/list-button/list-button.svelte.d.ts +2 -2
  69. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/strikethrough-button.svelte +10 -11
  70. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/strikethrough-button.svelte.d.ts +2 -2
  71. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/underline-button.svelte +10 -11
  72. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/underline-button.svelte.d.ts +2 -2
  73. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/utils.d.ts +2 -0
  74. package/dist/components/editor/layers/types/text/editor/utils.js +166 -0
  75. package/dist/components/editor/layers/types/text/extensions/list/index.d.ts +3 -0
  76. package/dist/components/editor/layers/types/text/extensions/list/index.js +3 -0
  77. package/dist/components/editor/layers/types/text/extensions/list/list.d.ts +67 -0
  78. package/dist/components/editor/layers/types/text/extensions/list/list.js +237 -0
  79. package/dist/components/editor/layers/types/text/extensions/list-item/index.d.ts +3 -0
  80. package/dist/components/editor/layers/types/text/extensions/list-item/index.js +3 -0
  81. package/dist/components/editor/layers/types/text/extensions/list-item/list-item.d.ts +13 -0
  82. package/dist/components/editor/layers/types/text/extensions/list-item/list-item.js +264 -0
  83. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/index.d.ts +3 -0
  84. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/index.js +3 -0
  85. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/list-item-paragraph.d.ts +14 -0
  86. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/list-item-paragraph.js +27 -0
  87. package/dist/components/editor/layers/types/text/extensions/paragraph/index.d.ts +3 -0
  88. package/dist/components/editor/layers/types/text/extensions/paragraph/index.js +3 -0
  89. package/dist/components/editor/layers/types/text/extensions/paragraph/paragraph.d.ts +6 -0
  90. package/dist/components/editor/layers/types/text/extensions/paragraph/paragraph.js +28 -0
  91. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/index.d.ts +3 -0
  92. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/index.js +3 -0
  93. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/preserve-formatting-on-clear.d.ts +2 -0
  94. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/preserve-formatting-on-clear.js +74 -0
  95. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/text-transform.js +1 -4
  96. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions.js +13 -23
  97. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/html-content.svelte +0 -9
  98. package/dist/components/editor/layers/types/text/index.d.ts +5 -0
  99. package/dist/components/editor/layers/types/text/index.js +5 -0
  100. package/dist/components/{presentation-editor/layers/types/html/html-layer-content.svelte → editor/layers/types/text/text-layer-content.svelte} +2 -2
  101. package/dist/components/editor/layers/types/text/text-layer-content.svelte.d.ts +9 -0
  102. package/dist/components/editor/layers/types/text/text-layer-edit.svelte +114 -0
  103. package/dist/components/editor/layers/types/text/text-layer-edit.svelte.d.ts +9 -0
  104. package/dist/components/editor/layers/types/text/text-layer.svelte +125 -0
  105. package/dist/components/editor/layers/types/text/text-layer.svelte.d.ts +7 -0
  106. package/dist/components/{presentation-editor → editor}/layers/utils.d.ts +9 -16
  107. package/dist/components/{presentation-editor → editor}/layers/utils.js +65 -68
  108. package/dist/components/{presentation-editor → editor}/menu/background-menu-content.svelte +24 -24
  109. package/dist/components/{presentation-editor → editor}/menu/background-menu-content.svelte.d.ts +4 -4
  110. package/dist/components/{presentation-editor → editor}/menu/layer-menu-content.svelte +62 -38
  111. package/dist/components/{presentation-editor/menu/slide-menu-content.svelte → editor/menu/page-menu-content.svelte} +19 -19
  112. package/dist/components/editor/menu/page-menu-content.svelte.d.ts +9 -0
  113. package/dist/components/{presentation-editor/slide-editor.svelte → editor/page-editor.svelte} +25 -24
  114. package/dist/components/editor/page-editor.svelte.d.ts +7 -0
  115. package/dist/components/{presentation-editor/slide-inner.svelte → editor/page-inner.svelte} +5 -5
  116. package/dist/components/{presentation-editor/sidebar/sidebar.svelte.d.ts → editor/page-inner.svelte.d.ts} +3 -3
  117. package/dist/components/editor/page.svelte +69 -0
  118. package/dist/components/editor/page.svelte.d.ts +4 -0
  119. package/dist/components/editor/pages-navigation/page-preview.svelte +36 -0
  120. package/dist/components/editor/pages-navigation/page-preview.svelte.d.ts +8 -0
  121. package/dist/components/{presentation-editor/slides-navigation/slide-preview.svelte → editor/pages-navigation/pages-navigation-item.svelte} +21 -41
  122. package/dist/components/editor/pages-navigation/pages-navigation-item.svelte.d.ts +11 -0
  123. package/dist/components/{presentation-editor/slides-navigation/slides-navigation.svelte → editor/pages-navigation/pages-navigation.svelte} +26 -21
  124. package/dist/components/editor/pages-navigation/pages-navigation.svelte.d.ts +7 -0
  125. package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-color.svelte +1 -1
  126. package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-gradient-picker.svelte +2 -2
  127. package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar.svelte +92 -89
  128. package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar-button.svelte +3 -3
  129. package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar.svelte +34 -39
  130. package/dist/components/{presentation-editor/sidebar/position-slidebar.svelte → editor/sidebar/position-sidebar.svelte} +28 -20
  131. package/dist/components/editor/sidebar/position-sidebar.svelte.d.ts +3 -0
  132. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab-button.svelte +5 -5
  133. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab.svelte +5 -5
  134. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-uploads-tab.svelte +4 -4
  135. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-wrapper.svelte +6 -4
  136. package/dist/components/{presentation-editor → editor}/sidebar/sidebar.svelte +11 -7
  137. package/dist/components/editor/sidebar/sidebar.svelte.d.ts +7 -0
  138. package/dist/components/{presentation-editor → editor}/sidebar/uploads-image.svelte +3 -3
  139. package/dist/components/editor/types.d.ts +282 -0
  140. package/dist/components/{presentation-editor → editor}/utils.d.ts +14 -6
  141. package/dist/components/{presentation-editor → editor}/utils.js +97 -63
  142. package/dist/components/ui/color-picker/color-picker.svelte +2 -2
  143. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +2 -2
  144. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +1 -1
  145. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +1 -1
  146. package/dist/components/ui/dialog/dialog-content.svelte +3 -3
  147. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +3 -3
  148. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +2 -2
  149. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +1 -1
  150. package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
  151. package/dist/components/ui/slider/slider.svelte +28 -20
  152. package/dist/index.d.ts +12 -6
  153. package/dist/index.js +5 -3
  154. package/package.json +42 -38
  155. package/dist/components/presentation-editor/active-layers-buttons.svelte +0 -53
  156. package/dist/components/presentation-editor/cursor-tooltip.svelte.d.ts +0 -18
  157. package/dist/components/presentation-editor/dragged.svelte.d.ts +0 -18
  158. package/dist/components/presentation-editor/header.svelte.d.ts +0 -18
  159. package/dist/components/presentation-editor/index.d.ts +0 -2
  160. package/dist/components/presentation-editor/index.js +0 -2
  161. package/dist/components/presentation-editor/layers/controls/group-resize-control/group-resize-control.svelte +0 -337
  162. package/dist/components/presentation-editor/layers/types/background/background-layer-content.svelte +0 -19
  163. package/dist/components/presentation-editor/layers/types/html/buttons/bold-button/bold-button.svelte +0 -71
  164. package/dist/components/presentation-editor/layers/types/html/buttons/italic-button/italic-button.svelte +0 -71
  165. package/dist/components/presentation-editor/layers/types/html/buttons/list-button/list-button.svelte +0 -90
  166. package/dist/components/presentation-editor/layers/types/html/editor/utils.js +0 -88
  167. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/index.d.ts +0 -3
  168. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/index.js +0 -3
  169. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/unstyled-list.d.ts +0 -47
  170. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/unstyled-list.js +0 -74
  171. package/dist/components/presentation-editor/layers/types/html/html-layer-content.svelte.d.ts +0 -9
  172. package/dist/components/presentation-editor/layers/types/html/html-layer-edit.svelte +0 -103
  173. package/dist/components/presentation-editor/layers/types/html/html-layer-edit.svelte.d.ts +0 -8
  174. package/dist/components/presentation-editor/layers/types/html/html-layer.svelte +0 -105
  175. package/dist/components/presentation-editor/layers/types/html/html-layer.svelte.d.ts +0 -7
  176. package/dist/components/presentation-editor/layers/types/html/index.d.ts +0 -5
  177. package/dist/components/presentation-editor/layers/types/html/index.js +0 -5
  178. package/dist/components/presentation-editor/menu/slide-menu-content.svelte.d.ts +0 -9
  179. package/dist/components/presentation-editor/presentation-editor.svelte.d.ts +0 -4
  180. package/dist/components/presentation-editor/presentation-editor.svelte.js +0 -813
  181. package/dist/components/presentation-editor/sidebar/position-slidebar.svelte.d.ts +0 -18
  182. package/dist/components/presentation-editor/slide-editor.svelte.d.ts +0 -7
  183. package/dist/components/presentation-editor/slide-inner.svelte.d.ts +0 -18
  184. package/dist/components/presentation-editor/slides-navigation/slide-preview.svelte.d.ts +0 -11
  185. package/dist/components/presentation-editor/slides-navigation/slides-navigation.svelte.d.ts +0 -3
  186. package/dist/components/presentation-editor/types.d.ts +0 -158
  187. /package/dist/components/{presentation-editor → editor}/active-layers-buttons.svelte.d.ts +0 -0
  188. /package/dist/components/{presentation-editor → editor}/active-layers.svelte.d.ts +0 -0
  189. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient-def.svelte +0 -0
  190. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient-def.svelte.d.ts +0 -0
  191. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient.svelte +0 -0
  192. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient.svelte.d.ts +0 -0
  193. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator.svelte +0 -0
  194. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator.svelte.d.ts +0 -0
  195. /package/dist/components/{presentation-editor → editor}/color-indicator/index.d.ts +0 -0
  196. /package/dist/components/{presentation-editor → editor}/color-indicator/index.js +0 -0
  197. /package/dist/components/{presentation-editor → editor}/fonts.d.ts +0 -0
  198. /package/dist/components/{presentation-editor → editor}/fonts.js +0 -0
  199. /package/dist/components/{presentation-editor → editor}/hotkeys.svelte.d.ts +0 -0
  200. /package/dist/components/{presentation-editor → editor}/layers/active-background-border.svelte.d.ts +0 -0
  201. /package/dist/components/{presentation-editor → editor}/layers/active-layer-border.svelte.d.ts +0 -0
  202. /package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/border-button.svelte.d.ts +0 -0
  203. /package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/index.d.ts +0 -0
  204. /package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/index.js +0 -0
  205. /package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/corner-radius-button.svelte.d.ts +0 -0
  206. /package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/index.d.ts +0 -0
  207. /package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/index.js +0 -0
  208. /package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/flip-button.svelte.d.ts +0 -0
  209. /package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/index.d.ts +0 -0
  210. /package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/index.js +0 -0
  211. /package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/index.d.ts +0 -0
  212. /package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/index.js +0 -0
  213. /package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/opacity-button.svelte.d.ts +0 -0
  214. /package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/corner-scale-control.svelte.d.ts +0 -0
  215. /package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/index.d.ts +0 -0
  216. /package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/index.js +0 -0
  217. /package/dist/components/{presentation-editor → editor}/layers/controls/group-resize-control/group-resize-control.svelte.d.ts +0 -0
  218. /package/dist/components/{presentation-editor → editor}/layers/controls/group-resize-control/index.d.ts +0 -0
  219. /package/dist/components/{presentation-editor → editor}/layers/controls/group-resize-control/index.js +0 -0
  220. /package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/index.d.ts +0 -0
  221. /package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/index.js +0 -0
  222. /package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/rotate-control.svelte.d.ts +0 -0
  223. /package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/index.d.ts +0 -0
  224. /package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/index.js +0 -0
  225. /package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/side-resize-control.svelte.d.ts +0 -0
  226. /package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/index.d.ts +0 -0
  227. /package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/index.js +0 -0
  228. /package/dist/components/{presentation-editor → editor}/layers/layer-button.svelte.d.ts +0 -0
  229. /package/dist/components/{presentation-editor → editor}/layers/layer-thumb-wrapper.svelte.d.ts +0 -0
  230. /package/dist/components/{presentation-editor → editor}/layers/layer-wrapper.svelte.d.ts +0 -0
  231. /package/dist/components/{presentation-editor → editor}/layers/types/background/background-content-image.svelte.d.ts +0 -0
  232. /package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer-buttons.svelte.d.ts +0 -0
  233. /package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer.svelte.d.ts +0 -0
  234. /package/dist/components/{presentation-editor → editor}/layers/types/background/index.d.ts +0 -0
  235. /package/dist/components/{presentation-editor → editor}/layers/types/background/index.js +0 -0
  236. /package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-active.svelte.d.ts +0 -0
  237. /package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-content.svelte.d.ts +0 -0
  238. /package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer.svelte.d.ts +0 -0
  239. /package/dist/components/{presentation-editor → editor}/layers/types/image/index.d.ts +0 -0
  240. /package/dist/components/{presentation-editor → editor}/layers/types/image/index.js +0 -0
  241. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/index.d.ts +0 -0
  242. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/index.js +0 -0
  243. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/bold-button/index.d.ts +0 -0
  244. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/bold-button/index.js +0 -0
  245. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/index.d.ts +0 -0
  246. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/index.js +0 -0
  247. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/index.d.ts +0 -0
  248. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/index.js +0 -0
  249. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/index.d.ts +0 -0
  250. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/index.js +0 -0
  251. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/index.d.ts +0 -0
  252. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/index.js +0 -0
  253. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/italic-button/index.d.ts +0 -0
  254. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/italic-button/index.js +0 -0
  255. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/list-button/index.d.ts +0 -0
  256. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/list-button/index.js +0 -0
  257. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/index.d.ts +0 -0
  258. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/index.js +0 -0
  259. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/index.d.ts +0 -0
  260. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/index.js +0 -0
  261. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/Editor.d.ts +0 -0
  262. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/Editor.js +0 -0
  263. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/createEditor.d.ts +0 -0
  264. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/createEditor.js +0 -0
  265. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/editor-content.svelte +0 -0
  266. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/editor-content.svelte.d.ts +0 -0
  267. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/index.d.ts +0 -0
  268. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/index.js +0 -0
  269. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/types.d.ts +0 -0
  270. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/types.js +0 -0
  271. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor.css +0 -0
  272. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/font-family.d.ts +0 -0
  273. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/font-family.js +0 -0
  274. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/index.d.ts +0 -0
  275. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/index.js +0 -0
  276. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/font-size.d.ts +0 -0
  277. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/font-size.js +0 -0
  278. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/index.d.ts +0 -0
  279. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/index.js +0 -0
  280. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/index.d.ts +0 -0
  281. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/index.js +0 -0
  282. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/line-height.d.ts +0 -0
  283. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/line-height.js +0 -0
  284. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/index.d.ts +0 -0
  285. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/index.js +0 -0
  286. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/selection.d.ts +0 -0
  287. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/selection.js +0 -0
  288. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/index.d.ts +0 -0
  289. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/index.js +0 -0
  290. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/text-transform.d.ts +0 -0
  291. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions.d.ts +0 -0
  292. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/html-content.svelte.d.ts +0 -0
  293. /package/dist/components/{presentation-editor → editor}/menu/layer-menu-content.svelte.d.ts +0 -0
  294. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-color.svelte.d.ts +0 -0
  295. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-gradient-picker.svelte.d.ts +0 -0
  296. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar.svelte.d.ts +0 -0
  297. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/index.d.ts +0 -0
  298. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/index.js +0 -0
  299. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar-button.svelte.d.ts +0 -0
  300. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar.svelte.d.ts +0 -0
  301. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/index.d.ts +0 -0
  302. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/index.js +0 -0
  303. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab-button.svelte.d.ts +0 -0
  304. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab.svelte.d.ts +0 -0
  305. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-uploads-tab.svelte.d.ts +0 -0
  306. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-wrapper.svelte.d.ts +0 -0
  307. /package/dist/components/{presentation-editor → editor}/sidebar/uploads-image.svelte.d.ts +0 -0
  308. /package/dist/components/{presentation-editor → editor}/snapping-guides.svelte +0 -0
  309. /package/dist/components/{presentation-editor → editor}/snapping-guides.svelte.d.ts +0 -0
  310. /package/dist/components/{presentation-editor → editor}/types.js +0 -0
@@ -1,30 +1,25 @@
1
1
  <script lang="ts">
2
2
  import { dragHandle } from 'svelte-dnd-action';
3
- import PlusIcon from 'lucide-svelte/icons/plus';
4
- import EllipsisIcon from 'lucide-svelte/icons/ellipsis';
5
- import IconLocked from 'lucide-svelte/icons/lock-keyhole';
3
+ import PlusIcon from '@lucide/svelte/icons/plus';
4
+ import EllipsisIcon from '@lucide/svelte/icons/ellipsis';
5
+ import IconLocked from '@lucide/svelte/icons/lock-keyhole';
6
6
  import { Button, buttonVariants } from '../../ui/button/index.js';
7
7
  import * as ContextMenu from '../../ui/context-menu/index.js';
8
8
  import * as DropdownMenu from '../../ui/dropdown-menu/index.js';
9
- import {
10
- BackgroundLayerContent,
11
- HtmlLayerContent,
12
- ImageLayerContent,
13
- LayerThumbWrapper,
14
- } from '../layers/index.js';
15
9
  import { cn } from '../../../utils.js';
16
- import type { PresentationEditor } from '../presentation-editor.svelte.js';
17
- import type { Slide } from '../types.js';
18
- import SlidePreviewMenuContent from '../menu/slide-menu-content.svelte';
10
+ import type { Editor } from '../editor.svelte.js';
11
+ import type { Page } from '../types.js';
12
+ import PagePreviewMenuContent from '../menu/page-menu-content.svelte';
13
+ import PagePreview from './page-preview.svelte';
19
14
 
20
15
  interface Props {
21
- editor: PresentationEditor;
22
- slide: Slide;
16
+ editor: Editor;
17
+ page: Page;
23
18
  index: number;
24
19
  thumbScale: number;
25
20
  }
26
21
 
27
- let { editor, slide, index, thumbScale }: Props = $props();
22
+ let { editor, page, index, thumbScale }: Props = $props();
28
23
 
29
24
  let menuOpen = $state(false);
30
25
  </script>
@@ -43,7 +38,7 @@
43
38
  variant="outline"
44
39
  size="icon-xs"
45
40
  class="my-1 h-6 w-6 rounded-full"
46
- onclick={() => editor.addSlide({ index })}
41
+ onclick={() => editor.addPage({ index })}
47
42
  >
48
43
  <PlusIcon class="h-4 w-4" />
49
44
  </Button>
@@ -52,7 +47,7 @@
52
47
  </div>
53
48
  <div class="group relative mx-2 my-1 transition-transform">
54
49
  <div use:dragHandle role="none">
55
- <button class="block" onclick={() => editor.setActiveSlide(slide.id)}>
50
+ <button class="block" onclick={() => editor.setActivePage(page.id)}>
56
51
  <ContextMenu.Root>
57
52
  <ContextMenu.Trigger>
58
53
  <div
@@ -60,40 +55,25 @@
60
55
  'relative',
61
56
  {
62
57
  'after:absolute after:inset-0 after:rounded-xl after:border-2':
63
- editor.activeSlide.id === slide.id,
58
+ editor.activePage.id === page.id,
64
59
  },
65
- editor.slideSelected ? 'after:border-primary' : 'after:border-gray-400',
60
+ editor.pageSelected ? 'after:border-primary' : 'after:border-gray-400',
66
61
  )}
67
62
  >
68
63
  <div
69
64
  class="relative overflow-hidden rounded-lg bg-white"
70
- style:clip-path={editor.activeSlide.id === slide.id
65
+ style:clip-path={editor.activePage.id === page.id
71
66
  ? 'inset(5px round 8px)'
72
67
  : 'inset(0px round 10px)'}
73
68
  style:width="{editor.width * thumbScale}px"
74
69
  style:height="{editor.height * thumbScale}px"
75
70
  >
76
- <div class="absolute inset-0 overflow-hidden">
77
- <div class="h-full w-full">
78
- <BackgroundLayerContent {slide} {thumbScale} />
79
- </div>
80
- </div>
81
- {#each slide.layers as layer (layer.id)}
82
- <LayerThumbWrapper {layer} thumb={thumbScale}>
83
- {#snippet children({ thumbScale })}
84
- {#if layer.type === 'html'}
85
- <HtmlLayerContent {layer} {thumbScale} />
86
- {:else if layer.type === 'image'}
87
- <ImageLayerContent {layer} {thumbScale} />
88
- {/if}
89
- {/snippet}
90
- </LayerThumbWrapper>
91
- {/each}
71
+ <PagePreview {page} {thumbScale} />
92
72
  </div>
93
73
  </div>
94
74
  </ContextMenu.Trigger>
95
75
  <ContextMenu.Content class="w-72">
96
- <SlidePreviewMenuContent {editor} {slide} />
76
+ <PagePreviewMenuContent {editor} {page} />
97
77
  </ContextMenu.Content>
98
78
  </ContextMenu.Root>
99
79
  </button>
@@ -102,15 +82,15 @@
102
82
  class={cn(
103
83
  'pointer-events-none absolute z-10 flex flex-col-reverse flex-wrap overflow-hidden',
104
84
  )}
105
- style:inset={editor.activeSlide.id === slide.id ? '5px' : '0'}
106
- style:border-radius={editor.activeSlide.id === slide.id ? '8px' : '10px'}
85
+ style:inset={editor.activePage.id === page.id ? '5px' : '0'}
86
+ style:border-radius={editor.activePage.id === page.id ? '8px' : '10px'}
107
87
  >
108
88
  <div
109
89
  class="flex h-8 min-h-5 w-fit max-w-full items-end overflow-hidden rounded-bl-md rounded-br-md"
110
90
  style:background={`radial-gradient(100% 120% at 0% 120%, rgba(255, 255, 255, 0.8) 55%, rgba(0, 0, 0, 0))`}
111
91
  >
112
92
  <div class="relative flex h-5 items-center px-2">
113
- {#if slide.locked}
93
+ {#if page.locked}
114
94
  <IconLocked class="mr-1 size-4" />
115
95
  {/if}
116
96
  <p class="text-xs font-semibold">{index + 1}</p>
@@ -135,7 +115,7 @@
135
115
  </DropdownMenu.Trigger>
136
116
 
137
117
  <DropdownMenu.Content class="w-72" side="top" align="start" trapFocus={false}>
138
- <SlidePreviewMenuContent {editor} {slide} />
118
+ <PagePreviewMenuContent {editor} {page} />
139
119
  </DropdownMenu.Content>
140
120
  </DropdownMenu.Root>
141
121
  </div>
@@ -0,0 +1,11 @@
1
+ import type { Editor } from '../editor.svelte.js';
2
+ import type { Page } from '../types.js';
3
+ interface Props {
4
+ editor: Editor;
5
+ page: Page;
6
+ index: number;
7
+ thumbScale: number;
8
+ }
9
+ declare const PagesNavigationItem: import("svelte").Component<Props, {}, "">;
10
+ type PagesNavigationItem = ReturnType<typeof PagesNavigationItem>;
11
+ export default PagesNavigationItem;
@@ -1,33 +1,38 @@
1
1
  <script lang="ts">
2
2
  import { flip } from 'svelte/animate';
3
- import { dragHandleZone } from 'svelte-dnd-action';
4
- import PlusIcon from 'lucide-svelte/icons/plus';
5
- import { getPresentationEditorContext } from '../presentation-editor.svelte.js';
6
- import SlidePreview from './slide-preview.svelte';
3
+ import { dragHandleZone, type DndEvent } from 'svelte-dnd-action';
4
+ import PlusIcon from '@lucide/svelte/icons/plus';
5
+ import type { Editor } from '../editor.svelte.js';
6
+ import type { Page } from '../types.js';
7
+ import PagesNavigationItem from './pages-navigation-item.svelte';
7
8
 
8
- const editor = getPresentationEditorContext();
9
+ interface Props {
10
+ editor: Editor;
11
+ }
12
+
13
+ const { editor }: Props = $props();
9
14
 
10
15
  const height = 72;
11
16
 
12
17
  let thumbScale = $derived(height / editor.height);
13
18
 
14
19
  const flipDurationMs = 300;
15
- const otherOptions = { flipDurationMs, type: 'slides', dropTargetStyle: {} };
20
+ const otherOptions = { flipDurationMs, type: 'pages', dropTargetStyle: {} };
16
21
 
17
- function handleDndConsider(e) {
18
- editor.slides = e.detail.items;
22
+ function handleDndConsider(e: CustomEvent<DndEvent<Page>>) {
23
+ editor.sortedPages = e.detail.items;
19
24
  }
20
25
 
21
- async function handleDndFinalize(e) {
26
+ async function handleDndFinalize(e: CustomEvent<DndEvent<Page>>) {
22
27
  console.log('handleDndFinalize', e);
23
28
 
24
- editor.slides = e.detail.items;
29
+ editor.sortedPages = e.detail.items;
25
30
 
26
- const index = editor.findSlideIndex(e.detail.info.id);
27
- const item = editor.slides[index];
31
+ const index = e.detail.items.findIndex((item) => item.id === e.detail.info.id);
32
+ const item = e.detail.items[index];
28
33
 
29
- const prev = editor.slides[index - 1];
30
- const next = editor.slides[index + 1];
34
+ const prev = e.detail.items[index - 1];
35
+ const next = e.detail.items[index + 1];
31
36
 
32
37
  // const index = e.detail.items.findIndex((item) => item.id === e.detail.info.id);
33
38
  // const item = e.detail.items[index];
@@ -51,8 +56,8 @@
51
56
 
52
57
  if (redo) {
53
58
  editor.historyPush({
54
- type: 'slide',
55
- slideId: item.id,
59
+ type: 'pageUpdate',
60
+ pageId: item.id,
56
61
  undo: { sortOrder: item.sortOrder },
57
62
  redo,
58
63
  });
@@ -64,18 +69,18 @@
64
69
  <div class="flex w-fit max-w-full overflow-x-auto">
65
70
  <section
66
71
  class="flex"
67
- aria-label="Slides"
68
- use:dragHandleZone={{ items: editor.slides, ...otherOptions }}
72
+ aria-label="Pages"
73
+ use:dragHandleZone={{ items: editor.sortedPages, ...otherOptions }}
69
74
  onconsider={handleDndConsider}
70
75
  onfinalize={handleDndFinalize}
71
76
  >
72
- {#each editor.slides as slide, index (slide.id)}
77
+ {#each editor.sortedPages as page, index (page.id)}
73
78
  <div
74
79
  class="relative py-2"
75
80
  aria-label="Page {index + 1}"
76
81
  animate:flip={{ duration: flipDurationMs }}
77
82
  >
78
- <SlidePreview {editor} {slide} {index} {thumbScale} />
83
+ <PagesNavigationItem {editor} {page} {index} {thumbScale} />
79
84
  </div>
80
85
  {/each}
81
86
  </section>
@@ -83,7 +88,7 @@
83
88
  <button
84
89
  class="mx-2 my-1 rounded-xl"
85
90
  aria-label="New Page"
86
- onclick={() => editor.addSlide({ index: editor.slides.length })}
91
+ onclick={() => editor.addPage({ index: editor.pages.length })}
87
92
  >
88
93
  <div
89
94
  class="relative flex items-center justify-center overflow-hidden rounded-lg bg-gray-400"
@@ -0,0 +1,7 @@
1
+ import type { Editor } from '../editor.svelte.js';
2
+ interface Props {
3
+ editor: Editor;
4
+ }
5
+ declare const PagesNavigation: import("svelte").Component<Props, {}, "">;
6
+ type PagesNavigation = ReturnType<typeof PagesNavigation>;
7
+ export default PagesNavigation;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import SettingsIcon from 'lucide-svelte/icons/settings-2';
2
+ import SettingsIcon from '@lucide/svelte/icons/settings-2';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
  import { ColorIndicator } from '../../color-indicator/index.js';
5
5
  import { ColorPickerAlphaGrid } from '../../../ui/color-picker/index.js';
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
- import XIcon from 'lucide-svelte/icons/x';
3
- import PlusIcon from 'lucide-svelte/icons/plus';
2
+ import XIcon from '@lucide/svelte/icons/x';
3
+ import PlusIcon from '@lucide/svelte/icons/plus';
4
4
  import { Button, buttonVariants } from '../../../ui/button/index.js';
5
5
  import { ColorIndicator } from '../../color-indicator/index.js';
6
6
  import { ColorPicker, ColorPickerAlphaGrid } from '../../../ui/color-picker/index.js';
@@ -1,12 +1,12 @@
1
1
  <script lang="ts">
2
- import PlusIcon from 'lucide-svelte/icons/plus';
3
- // import PaletteIcon from 'lucide-svelte/icons/palette';
2
+ import PlusIcon from '@lucide/svelte/icons/plus';
3
+ // import PaletteIcon from '@lucide/svelte/icons/palette';
4
4
  import { ColorPicker } from '../../../ui/color-picker/index.js';
5
5
  import * as Popover from '../../../ui/popover/index.js';
6
6
  import * as Tabs from '../../../ui/tabs/index.js';
7
7
  import { cn, createDebouncedCallback } from '../../../../utils.js';
8
- import { getPresentationEditorContext } from '../../presentation-editor.svelte.js';
9
- import type { HistoryAction, Gradient, ImageLayer, HtmlLayer } from '../../types.js';
8
+ import { getEditorContext } from '../../editor.svelte.js';
9
+ import type { HistoryAction, Gradient, ImageLayer, TextLayer, Layer, Page } from '../../types.js';
10
10
  import SidebarWrapper from '../sidebar-wrapper.svelte';
11
11
  import ColorSidebarGradientPicker from './color-sidebar-gradient-picker.svelte';
12
12
  import ColorSidebarColor from './color-sidebar-color.svelte';
@@ -15,12 +15,12 @@
15
15
  createEditorNotReactive,
16
16
  extractNodeColors,
17
17
  extractSelectionColors,
18
- } from '../../layers/types/html/editor/utils.js';
18
+ } from '../../layers/types/text/editor/utils.js';
19
19
  import { extractBorderColors } from '../../layers/utils.js';
20
20
 
21
21
  let open = $state(false);
22
22
 
23
- const editor = getPresentationEditorContext();
23
+ const editor = getEditorContext();
24
24
 
25
25
  const { htmlEditor } = editor;
26
26
 
@@ -83,17 +83,26 @@
83
83
 
84
84
  const currentColor = $derived.by(() => {
85
85
  if (editor.activeSidebarPopup === 'backgroundColor') {
86
- return editor.activeSlide.backgroundColor;
86
+ return editor.activePage.backgroundColor;
87
87
  } else if (editor.activeSidebarPopup === 'textColor') {
88
- if ($htmlEditor) {
88
+ if (editor.activeAction?.type === 'edit') {
89
89
  const colors = extractSelectionColors($htmlEditor);
90
+ return colors.length === 1
91
+ ? colors[0]
92
+ : $htmlEditor.getAttributes('textStyle').color || defaultColor;
93
+ } else {
94
+ const set = new Set<string>();
95
+ editor.selectedSimpleLayersNotLocked
96
+ .filter((layer) => layer.type === 'text')
97
+ .forEach((layer) => extractNodeColors(layer.html, set));
98
+ const colors = Array.from(set);
90
99
  if (colors.length === 1) {
91
- return $htmlEditor.getAttributes('textStyle').color || defaultColor;
100
+ return colors[0];
92
101
  }
93
102
  }
94
103
  } else if (editor.activeSidebarPopup === 'borderColor') {
95
104
  const borderColors = extractBorderColors(
96
- editor.activeLayers.filter((layer) => layer.type === 'image'),
105
+ editor.selectedSimpleLayersNotLocked.filter((layer) => layer.type === 'image'),
97
106
  );
98
107
  if (!borderColors) {
99
108
  return defaultColor;
@@ -106,19 +115,21 @@
106
115
  const documentColors = $derived.by(() => {
107
116
  const colorSet = new Set<string>();
108
117
 
109
- editor.slides.forEach((slide) => {
110
- if (slide.backgroundColor) {
111
- colorSet.add(slide.backgroundColor);
112
- }
113
- slide.layers.forEach((layer) => {
114
- if (layer.type === 'html') {
115
- extractNodeColors(layer.html, colorSet);
116
- } else if (layer.type === 'image') {
117
- if (layer.borderWidth && layer.borderColor) {
118
- colorSet.add(layer.borderColor);
119
- }
118
+ const extractLayerColors = (layer: Layer) => {
119
+ if (layer.type === 'text') {
120
+ extractNodeColors(layer.html, colorSet);
121
+ } else if (layer.type === 'image') {
122
+ if (layer.borderWidth && layer.borderColor) {
123
+ colorSet.add(layer.borderColor);
120
124
  }
121
- });
125
+ }
126
+ };
127
+
128
+ editor.pages.forEach((page) => {
129
+ if (page.backgroundColor) {
130
+ colorSet.add(page.backgroundColor);
131
+ }
132
+ page.layers.forEach((layer) => extractLayerColors(layer));
122
133
  });
123
134
 
124
135
  let colorsArray = Array.from(colorSet);
@@ -136,7 +147,7 @@
136
147
 
137
148
  let undo: object | null = null;
138
149
  let initialBorderColor: (ImageLayer & { state: ImageLayer })[] | null = null;
139
- let initialTextColor: (HtmlLayer & { state: HtmlLayer })[] | null = null;
150
+ let initialTextColor: (TextLayer & { state: TextLayer })[] | null = null;
140
151
 
141
152
  const editorNotReactive = createEditorNotReactive();
142
153
 
@@ -149,11 +160,16 @@
149
160
 
150
161
  if (editor.activeSidebarPopup === 'backgroundColor') {
151
162
  if (!undo) {
152
- undo = { backgroundColor: editor.activeSlide.backgroundColor };
163
+ undo = { backgroundColor: editor.activePage.backgroundColor };
153
164
  }
154
165
  const redo = { backgroundColor: value };
155
- Object.assign(editor.activeSlide, redo);
156
- const action: HistoryAction = { type: 'slide', slideId: editor.activeSlide.id, undo, redo };
166
+ Object.assign(editor.activePage, redo);
167
+ const action: HistoryAction = {
168
+ type: 'pageUpdate',
169
+ pageId: editor.activePage.id,
170
+ undo,
171
+ redo,
172
+ };
157
173
  if (debounce) {
158
174
  debouncedUpdates(action);
159
175
  } else {
@@ -169,103 +185,90 @@
169
185
  }
170
186
  } else {
171
187
  if (!initialTextColor) {
172
- initialTextColor = editor.activeLayers
173
- .filter((layer) => layer.type === 'html')
188
+ initialTextColor = editor.selectedSimpleLayersNotLocked
189
+ .filter((layer) => layer.type === 'text')
174
190
  .map((layer) => ({ ...layer, state: layer }));
175
191
  }
176
- const action: HistoryAction = {
177
- type: 'layersGroup',
178
- actions: initialTextColor.map((layerWithState) => {
179
- const { state, ...layer } = layerWithState;
180
-
181
- let chain = editorNotReactive.chain().setContent(layer.html).selectAll();
182
- if (value === defaultColor) {
183
- chain = chain.unsetColor();
184
- } else {
185
- chain = chain.setColor(value);
186
- }
187
- chain.run();
188
-
189
- const undo = { html: layer.html };
190
- const redo = { html: editorNotReactive.getJSON() };
191
- Object.assign(state, redo);
192
-
193
- return {
194
- type: 'layer',
195
- slideId: editor.activeSlide.id,
196
- layer: { id: layer.id, type: layer.type },
197
- undo,
198
- redo,
199
- };
200
- }),
201
- };
192
+ const actions: HistoryAction[] = initialTextColor.map((layerWithState) => {
193
+ const { state, ...layer } = layerWithState;
194
+
195
+ let chain = editorNotReactive.chain().setContent(layer.html).selectAll();
196
+ if (value === defaultColor) {
197
+ chain = chain.unsetColor();
198
+ } else {
199
+ chain = chain.setColor(value);
200
+ }
201
+ chain.run();
202
+
203
+ const undo = { html: layer.html };
204
+ const redo = { html: editorNotReactive.getJSON() };
205
+ Object.assign(state, redo);
206
+
207
+ return {
208
+ type: 'layerUpdate',
209
+ pageId: editor.activePage.id,
210
+ layer: { id: layer.id, type: layer.type },
211
+ undo,
212
+ redo,
213
+ };
214
+ });
202
215
  if (debounce) {
203
- debouncedUpdates(action);
216
+ debouncedUpdates(actions);
204
217
  } else {
205
- editor.historyPush(action);
218
+ editor.historyPush(actions);
206
219
  initialTextColor = null;
207
220
  }
208
221
  }
209
- if ($htmlEditor) {
210
- if (value === defaultColor) {
211
- $htmlEditor.chain().focus().unsetColor().run();
212
- } else {
213
- $htmlEditor.chain().focus().setColor(value).run();
214
- }
215
- }
216
222
  } else if (editor.activeSidebarPopup === 'borderColor') {
217
223
  if (!initialBorderColor) {
218
- initialBorderColor = editor.activeLayers
224
+ initialBorderColor = editor.selectedSimpleLayersNotLocked
219
225
  .filter((layer) => layer.type === 'image')
220
226
  .filter((layer) => layer.borderWidth)
221
227
  .map((layer) => ({ ...layer, state: layer }));
222
228
  }
223
- const action: HistoryAction = {
224
- type: 'layersGroup',
225
- actions: initialBorderColor.map((layerWithState) => {
226
- const { state, ...layer } = layerWithState;
229
+ const actions: HistoryAction[] = initialBorderColor.map((layerWithState) => {
230
+ const { state, ...layer } = layerWithState;
227
231
 
228
- const undo = { borderColor: layer.borderColor };
229
- const redo = { borderColor: value };
232
+ const undo = { borderColor: layer.borderColor };
233
+ const redo = { borderColor: value };
230
234
 
231
- Object.assign(state, redo);
235
+ Object.assign(state, redo);
232
236
 
233
- return {
234
- type: 'layer',
235
- slideId: editor.activeSlide.id,
236
- layer: { id: layer.id, type: layer.type },
237
- undo,
238
- redo,
239
- };
240
- }),
241
- };
237
+ return {
238
+ type: 'layerUpdate',
239
+ pageId: editor.activePage.id,
240
+ layer: { id: layer.id, type: layer.type },
241
+ undo,
242
+ redo,
243
+ };
244
+ });
242
245
  if (debounce) {
243
- debouncedUpdates(action);
246
+ debouncedUpdates(actions);
244
247
  } else {
245
- editor.historyPush(action);
248
+ editor.historyPush(actions);
246
249
  initialBorderColor = null;
247
250
  }
248
251
  }
249
252
  };
250
253
 
251
- const debouncedUpdates = createDebouncedCallback((action) => {
252
- console.log('debouncedUpdates', action);
253
- editor.historyPush(action);
254
+ const debouncedUpdates = createDebouncedCallback((actions) => {
255
+ console.log('debouncedUpdates', actions);
256
+ editor.historyPush(actions);
254
257
  undo = null;
255
258
  }, 750);
256
259
 
257
260
  $effect(() => {
258
- const { activeLayers, activeBackground } = editor;
261
+ const { selectedSimpleLayersNotLocked } = editor;
259
262
  if (editor.activeSidebarPopup === 'backgroundColor') {
260
- if (!activeBackground) {
263
+ if (editor.activeSelection.type !== 'background') {
261
264
  editor.activeSidebarPopup = null;
262
265
  }
263
266
  } else if (editor.activeSidebarPopup === 'borderColor') {
264
- if (!activeLayers.some((layer) => layer.type === 'image' && layer.borderWidth)) {
267
+ if (!selectedSimpleLayersNotLocked.some((layer) => layer.type === 'image')) {
265
268
  editor.activeSidebarPopup = null;
266
269
  }
267
270
  } else if (editor.activeSidebarPopup === 'textColor') {
268
- if (!activeLayers.some((layer) => layer.type === 'html')) {
271
+ if (!selectedSimpleLayersNotLocked.some((layer) => layer.type === 'text')) {
269
272
  editor.activeSidebarPopup = null;
270
273
  }
271
274
  }
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
- import CheckIcon from 'lucide-svelte/icons/check';
3
- import { getPresentationEditorContext } from '../../presentation-editor.svelte.js';
2
+ import CheckIcon from '@lucide/svelte/icons/check';
3
+ import { getEditorContext } from '../../editor.svelte.js';
4
4
  import { onMount } from 'svelte';
5
5
  import { Button, type ButtonProps } from '../../../ui/button/index.js';
6
6
 
@@ -11,7 +11,7 @@
11
11
 
12
12
  let { family, active, ...restProps }: Props = $props();
13
13
 
14
- const editor = getPresentationEditorContext();
14
+ const editor = getEditorContext();
15
15
 
16
16
  onMount(() => {
17
17
  editor.loadFont(family);