@peteai/presentation-editor 0.0.5 → 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 +43 -39
  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
@@ -0,0 +1,21 @@
1
+ <script lang="ts">
2
+ import type { Page } from '../../../types.js';
3
+ import { ColorIndicator } from '../../../color-indicator/index.js';
4
+ import BackgroundContentImage from './background-content-image.svelte';
5
+
6
+ interface Props {
7
+ page: Page;
8
+ thumbScale?: number;
9
+ }
10
+
11
+ let { page, thumbScale }: Props = $props();
12
+
13
+ let backgroundColor = $derived(page.backgroundColor || '#ffffff');
14
+ </script>
15
+
16
+ <div class="h-full w-full">
17
+ <ColorIndicator color={backgroundColor} />
18
+ {#if page.backgroundImage}
19
+ <BackgroundContentImage backgroundImage={page.backgroundImage} {thumbScale} />
20
+ {/if}
21
+ </div>
@@ -1,6 +1,6 @@
1
- import type { Slide } from '../../../types.js';
1
+ import type { Page } from '../../../types.js';
2
2
  interface Props {
3
- slide: Slide;
3
+ page: Page;
4
4
  thumbScale?: number;
5
5
  }
6
6
  declare const BackgroundLayerContent: import("svelte").Component<Props, {}, "">;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import * as ContextMenu from '../../../../ui/context-menu/index.js';
3
- import { getPresentationEditorContext } from '../../../presentation-editor.svelte.js';
3
+ import { getEditorContext } from '../../../editor.svelte.js';
4
4
  import BackgroundMenuContent from '../../../menu/background-menu-content.svelte';
5
5
  import { BackgroundLayerContent } from './index.js';
6
6
  import { calculateImageCover } from '../../utils.js';
@@ -13,7 +13,7 @@
13
13
 
14
14
  let ref: HTMLDivElement;
15
15
 
16
- const editor = getPresentationEditorContext();
16
+ const editor = getEditorContext();
17
17
 
18
18
  const onMouseDown = (e: MouseEvent) => {
19
19
  console.log('mousedown', 'background', e);
@@ -75,7 +75,7 @@
75
75
  ...calculateImageCover(dragged.image, { width: editor.width, height: editor.height }),
76
76
  image: dragged.image,
77
77
  });
78
- editor.addLayers(editor.activeSlide.id, layer, 0);
78
+ editor.addLayers(editor.activePage.id, layer, 0);
79
79
  } else {
80
80
  const rect = ref.getBoundingClientRect();
81
81
  const x = (e.clientX - rect.left - dragged.offsetX) / editor.zoom;
@@ -100,12 +100,10 @@
100
100
  ondragover={onDragOver}
101
101
  ondrop={onDrop}
102
102
  >
103
- <div class="h-full w-full">
104
- <BackgroundLayerContent slide={editor.activeSlide} />
105
- </div>
103
+ <BackgroundLayerContent page={editor.activePage} />
106
104
  </div>
107
105
  </ContextMenu.Trigger>
108
106
  <ContextMenu.Content class="w-80">
109
- <BackgroundMenuContent {editor} slide={editor.activeSlide} />
107
+ <BackgroundMenuContent {editor} page={editor.activePage} />
110
108
  </ContextMenu.Content>
111
109
  </ContextMenu.Root>
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import { getEditorContext } from '../../../editor.svelte.js';
3
+ import type { GroupLayer, SimpleLayer } from '../../../types.js';
4
+
5
+ interface Props {
6
+ groupLayer: GroupLayer;
7
+ layer: SimpleLayer;
8
+ children?: import('svelte').Snippet;
9
+ }
10
+
11
+ let { groupLayer, layer = $bindable(), children }: Props = $props();
12
+
13
+ const editor = getEditorContext();
14
+
15
+ const onClick = (e: MouseEvent) => {
16
+ console.log('click', layer.id, e);
17
+ if (editor.activeAction) return;
18
+ if (e.shiftKey) return;
19
+ e.stopPropagation();
20
+ editor.setActiveGroupChild(layer.id);
21
+ };
22
+
23
+ const onMouseDown = (e: MouseEvent) => {
24
+ console.log('mousedown', layer.id, e);
25
+ if (editor.activeAction) return;
26
+ if (editor.activeLayers.find((l) => l.id === groupLayer.id)) return;
27
+ if (e.shiftKey) return;
28
+ editor.setActiveGroupChild(layer.id);
29
+ };
30
+ </script>
31
+
32
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
33
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
34
+ <div
35
+ class="absolute select-none"
36
+ style:width="{layer.width * layer.scale}px"
37
+ style:height="{layer.height * layer.scale}px"
38
+ style:transform={`translate(${layer.x}px, ${layer.y}px) rotate(${layer.rotate}deg)`}
39
+ style:opacity={layer.opacity}
40
+ onclick={onClick}
41
+ onmousedown={onMouseDown}
42
+ >
43
+ {@render children?.()}
44
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { GroupLayer, SimpleLayer } from '../../../types.js';
2
+ interface Props {
3
+ groupLayer: GroupLayer;
4
+ layer: SimpleLayer;
5
+ children?: import('svelte').Snippet;
6
+ }
7
+ declare const GroupChildWrapper: import("svelte").Component<Props, {}, "layer">;
8
+ type GroupChildWrapper = ReturnType<typeof GroupChildWrapper>;
9
+ export default GroupChildWrapper;
@@ -0,0 +1,45 @@
1
+ <script lang="ts">
2
+ import type { Page, GroupLayer } from '../../../types.js';
3
+ import { TextLayerContent } from '../text/index.js';
4
+ import { ImageLayerContent } from '../image/index.js';
5
+
6
+ interface Props {
7
+ page: Page;
8
+ layer: GroupLayer;
9
+ thumbScale?: number;
10
+ }
11
+
12
+ let { page, layer: groupLayer, thumbScale = 1 }: Props = $props();
13
+
14
+ let children = $derived(
15
+ page.layers
16
+ .filter((l) => l.type !== 'group')
17
+ .filter((l) => l.groupId === groupLayer.id)
18
+ .toSorted((a, b) => a.sortOrder - b.sortOrder),
19
+ );
20
+
21
+ let scale = $derived(groupLayer.scale * thumbScale);
22
+ </script>
23
+
24
+ <div
25
+ class="origin-top-left"
26
+ style:width="{groupLayer.width / groupLayer.scale}px"
27
+ style:height="{groupLayer.height / groupLayer.scale}px"
28
+ style:transform={scale !== 1 ? `scale(${scale})` : null}
29
+ >
30
+ {#each children as layer (layer.id)}
31
+ <div
32
+ class="absolute select-none"
33
+ style:width="{layer.width * layer.scale}px"
34
+ style:height="{layer.height * layer.scale}px"
35
+ style:transform={`translate(${layer.x}px, ${layer.y}px) rotate(${layer.rotate}deg)`}
36
+ style:opacity={layer.opacity}
37
+ >
38
+ {#if layer.type === 'text'}
39
+ <TextLayerContent {layer} />
40
+ {:else if layer.type === 'image'}
41
+ <ImageLayerContent {layer} />
42
+ {/if}
43
+ </div>
44
+ {/each}
45
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Page, GroupLayer } from '../../../types.js';
2
+ interface Props {
3
+ page: Page;
4
+ layer: GroupLayer;
5
+ thumbScale?: number;
6
+ }
7
+ declare const GroupLayerContent: import("svelte").Component<Props, {}, "">;
8
+ type GroupLayerContent = ReturnType<typeof GroupLayerContent>;
9
+ export default GroupLayerContent;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { getEditorContext } from '../../../editor.svelte.js';
3
+ import type { Page, GroupLayer } from '../../../types.js';
4
+ import GroupChildWrapper from './group-child-wrapper.svelte';
5
+ import { ImageLayer } from '../image/index.js';
6
+ import { TextLayer } from '../text/index.js';
7
+
8
+ interface Props {
9
+ page: Page;
10
+ layer: GroupLayer;
11
+ }
12
+
13
+ let { page, layer: groupLayer }: Props = $props();
14
+
15
+ const editor = getEditorContext();
16
+ </script>
17
+
18
+ <div
19
+ class="origin-top-left"
20
+ style:width="{groupLayer.width / groupLayer.scale}px"
21
+ style:height="{groupLayer.height / groupLayer.scale}px"
22
+ style:transform={groupLayer.scale !== 1 ? `scale(${groupLayer.scale})` : null}
23
+ >
24
+ {#each editor.findGroupChildren(page, groupLayer.id) as layer (layer.id)}
25
+ <GroupChildWrapper {groupLayer} {layer}>
26
+ {#if layer.type === 'text'}
27
+ <TextLayer {layer} />
28
+ {:else if layer.type === 'image'}
29
+ <ImageLayer {layer} />
30
+ {/if}
31
+ </GroupChildWrapper>
32
+ {/each}
33
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { Page, GroupLayer } from '../../../types.js';
2
+ interface Props {
3
+ page: Page;
4
+ layer: GroupLayer;
5
+ }
6
+ declare const GroupLayer: import("svelte").Component<Props, {}, "">;
7
+ type GroupLayer = ReturnType<typeof GroupLayer>;
8
+ export default GroupLayer;
@@ -0,0 +1,3 @@
1
+ import Root from './group-layer.svelte';
2
+ import GroupLayerContent from './group-layer-content.svelte';
3
+ export { Root, Root as GroupLayer, GroupLayerContent };
@@ -0,0 +1,3 @@
1
+ import Root from './group-layer.svelte';
2
+ import GroupLayerContent from './group-layer-content.svelte';
3
+ export { Root, Root as GroupLayer, GroupLayerContent };
@@ -3,7 +3,7 @@
3
3
  import { SideResizeControl } from '../../controls/side-resize-control/index.js';
4
4
  import { CornerScaleControl } from '../../controls/corner-scale-control/index.js';
5
5
  import { RotateControl } from '../../controls/rotate-control/index.js';
6
- import { getPresentationEditorContext } from '../../../presentation-editor.svelte.js';
6
+ import { getEditorContext } from '../../../editor.svelte.js';
7
7
 
8
8
  interface Props {
9
9
  layer: ImageLayer;
@@ -11,17 +11,14 @@
11
11
 
12
12
  let { layer = $bindable() }: Props = $props();
13
13
 
14
- const editor = getPresentationEditorContext();
15
-
16
- let scale = $derived(layer.scale || 1);
17
- let rotate = $derived(layer.rotate || 0);
14
+ const editor = getEditorContext();
18
15
  </script>
19
16
 
20
17
  <div
21
18
  class="pointer-events-none absolute left-0 top-0 h-full w-full"
22
- style:width={`${layer.width * scale * editor.zoom}px`}
23
- style:height={`${layer.height * scale * editor.zoom}px`}
24
- style:transform={`translate(${layer.x * editor.zoom}px, ${layer.y * editor.zoom}px) rotate(${rotate}deg)`}
19
+ style:width={`${layer.width * layer.scale * editor.zoom}px`}
20
+ style:height={`${layer.height * layer.scale * editor.zoom}px`}
21
+ style:transform={`translate(${layer.x * editor.zoom}px, ${layer.y * editor.zoom}px) rotate(${layer.rotate}deg)`}
25
22
  >
26
23
  <div class="h-full w-full outline-none transition-opacity duration-300">
27
24
  <div class="flex h-full w-full items-center justify-center">
@@ -29,11 +26,11 @@
29
26
  <SideResizeControl origin="right" bind:layer />
30
27
  <SideResizeControl origin="top" bind:layer />
31
28
  <SideResizeControl origin="bottom" bind:layer />
32
- <CornerScaleControl origin="bottom-right" bind:layer />
33
- <CornerScaleControl origin="bottom-left" bind:layer />
34
- <CornerScaleControl origin="top-right" bind:layer />
35
- <CornerScaleControl origin="top-left" bind:layer />
36
- <RotateControl bind:layer />
29
+ <CornerScaleControl origin="bottom-right" />
30
+ <CornerScaleControl origin="bottom-left" />
31
+ <CornerScaleControl origin="top-right" />
32
+ <CornerScaleControl origin="top-left" />
33
+ <RotateControl />
37
34
  </div>
38
35
  </div>
39
36
  </div>
@@ -2,6 +2,7 @@
2
2
  import type { ImageLayer } from '../../../types.js';
3
3
  import ColorIndicatorGradientDef from '../../../color-indicator/color-indicator-gradient-def.svelte';
4
4
  import { generateId } from '../../../../../utils.js';
5
+ import { onMount } from 'svelte';
5
6
 
6
7
  interface Props {
7
8
  layer: ImageLayer;
@@ -11,10 +12,12 @@
11
12
  let { layer, thumbScale = 1 }: Props = $props();
12
13
 
13
14
  let imageLoaded = $state(false);
14
- const image = new Image();
15
- image.crossOrigin = 'anonymous';
16
- image.src = layer.image.src;
17
- image.onload = () => (imageLoaded = true);
15
+ onMount(() => {
16
+ const image = new Image();
17
+ image.crossOrigin = 'anonymous';
18
+ image.src = layer.image.src;
19
+ image.onload = () => (imageLoaded = true);
20
+ });
18
21
 
19
22
  const layerBorderId = generateId();
20
23
  const gradientId = generateId();
@@ -22,14 +25,14 @@
22
25
  let borderColor = $derived(layer.borderColor || '#000000');
23
26
  let isGradient = $derived(~borderColor.indexOf(':'));
24
27
 
25
- let scale = $derived(layer.scale || 1);
26
- let width = $derived(layer.width * scale * thumbScale);
27
- let height = $derived(layer.height * scale * thumbScale);
28
+ let scale = $derived(layer.scale * thumbScale);
29
+ let width = $derived(layer.width * scale);
30
+ let height = $derived(layer.height * scale);
28
31
  let flipTransform = $derived(
29
32
  layer.flipX || layer.flipY ? `scale(${layer.flipX ? -1 : 1}, ${layer.flipY ? -1 : 1})` : null,
30
33
  );
31
34
 
32
- let cornderRadius = $derived((layer.cornerRadius || 0) * thumbScale);
35
+ let cornderRadius = $derived(layer.cornerRadius * thumbScale);
33
36
 
34
37
  const bezier = 0.447715;
35
38
  let roundedClipPath = $derived(
@@ -46,9 +49,9 @@
46
49
  <div class="h-full w-full transition-transform" style:transform={flipTransform}>
47
50
  <div
48
51
  class="relative"
49
- style:width="{layer.image.width * scale * thumbScale}px"
50
- style:height="{layer.image.height * scale * thumbScale}px"
51
- style:transform={`translate(${-(layer.offsetX || 0) * scale * thumbScale}px, ${-(layer.offsetY || 0) * scale * thumbScale}px)`}
52
+ style:width="{layer.image.width * scale}px"
53
+ style:height="{layer.image.height * scale}px"
54
+ style:transform={`translate(${-layer.offsetX * scale}px, ${-layer.offsetY * scale}px)`}
52
55
  >
53
56
  {#if imageLoaded}
54
57
  <img
@@ -1,12 +1,8 @@
1
1
  <script lang="ts">
2
2
  import type { Image, ImageLayer } from '../../../types.js';
3
- import { getPresentationEditorContext } from '../../../presentation-editor.svelte.js';
3
+ import { getEditorContext } from '../../../editor.svelte.js';
4
4
  import ImageLayerContent from './image-layer-content.svelte';
5
- import {
6
- calculateBoundingBox,
7
- calculateImageCover,
8
- calculateLayerTransform,
9
- } from '../../utils.js';
5
+ import { calculateBoundingBox, calculateImageCover } from '../../utils.js';
10
6
 
11
7
  interface Props {
12
8
  layer: ImageLayer;
@@ -14,20 +10,18 @@
14
10
 
15
11
  let { layer = $bindable() }: Props = $props();
16
12
 
17
- const editor = getPresentationEditorContext();
13
+ const editor = getEditorContext();
18
14
 
19
15
  let layerSubstitute: ImageLayer | null = $state(null);
20
16
 
21
17
  let ref: HTMLDivElement;
22
18
 
23
19
  const buildImageDropChanges = (image: Image) => {
24
- const scale = layer.scale || 1;
25
-
26
20
  return {
27
21
  image,
28
22
  ...calculateImageCover(image, {
29
- width: layer.width * scale,
30
- height: layer.height * scale,
23
+ width: layer.width * layer.scale,
24
+ height: layer.height * layer.scale,
31
25
  }),
32
26
  };
33
27
  };
@@ -79,14 +73,14 @@
79
73
  );
80
74
  Object.assign(layer, redo);
81
75
  editor.historyPush({
82
- type: 'layer',
83
- slideId: editor.activeSlide.id,
76
+ type: 'layerUpdate',
77
+ pageId: editor.activePage.id,
84
78
  layer: { id: layer.id, type: layer.type },
85
79
  undo,
86
80
  redo,
87
81
  });
88
82
  } else {
89
- const bbox = calculateBoundingBox(calculateLayerTransform(layer));
83
+ const bbox = calculateBoundingBox(layer);
90
84
  const rect = ref.getBoundingClientRect();
91
85
  const x = (e.clientX - rect.left - dragged.offsetX) / editor.zoom + bbox.x;
92
86
  const y = (e.clientY - rect.top - dragged.offsetY) / editor.zoom + bbox.y;
@@ -1,21 +1,21 @@
1
1
  <script lang="ts">
2
- import AlignJustifyIcon from 'lucide-svelte/icons/align-justify';
3
- import AlignRightIcon from 'lucide-svelte/icons/align-right';
4
- import AlignCenterIcon from 'lucide-svelte/icons/align-center';
5
- import AlignLeftIcon from 'lucide-svelte/icons/align-left';
2
+ import AlignJustifyIcon from '@lucide/svelte/icons/align-justify';
3
+ import AlignRightIcon from '@lucide/svelte/icons/align-right';
4
+ import AlignCenterIcon from '@lucide/svelte/icons/align-center';
5
+ import AlignLeftIcon from '@lucide/svelte/icons/align-left';
6
6
  import { Button } from '../../../../../../ui/button/index.js';
7
- import { getPresentationEditorContext } from '../../../../../presentation-editor.svelte.js';
8
- import type { HtmlLayer } from '../../../../../types.js';
7
+ import { getEditorContext } from '../../../../../editor.svelte.js';
8
+ import type { TextLayer } from '../../../../../types.js';
9
9
  import type { Editor } from '../../editor/index.js';
10
10
  import { createEditorNotReactive } from '../../editor/utils.js';
11
11
 
12
12
  interface Props {
13
- layers: HtmlLayer[];
13
+ layers: TextLayer[];
14
14
  }
15
15
 
16
16
  let { layers = $bindable() }: Props = $props();
17
17
 
18
- const editor = getPresentationEditorContext();
18
+ const editor = getEditorContext();
19
19
 
20
20
  const { htmlEditor } = editor;
21
21
 
@@ -52,9 +52,8 @@
52
52
  if (editor.activeAction?.type === 'edit') {
53
53
  $htmlEditor.commands.setTextAlign(nextAlign[currentAlign]);
54
54
  } else {
55
- editor.historyPush({
56
- type: 'layersGroup',
57
- actions: layers.map((layer) => {
55
+ editor.historyPush(
56
+ layers.map((layer) => {
58
57
  editorNotReactive
59
58
  .chain()
60
59
  .setContent(layer.html)
@@ -63,14 +62,14 @@
63
62
  .run();
64
63
 
65
64
  return {
66
- type: 'layer',
67
- slideId: editor.activeSlide.id,
65
+ type: 'layerUpdate',
66
+ pageId: editor.activePage.id,
68
67
  layer: { id: layer.id, type: layer.type },
69
68
  undo: { html: layer.html },
70
69
  redo: { html: editorNotReactive.getJSON() },
71
70
  };
72
71
  }),
73
- });
72
+ );
74
73
  }
75
74
  };
76
75
  </script>
@@ -1,6 +1,6 @@
1
- import type { HtmlLayer } from '../../../../../types.js';
1
+ import type { TextLayer } from '../../../../../types.js';
2
2
  interface Props {
3
- layers: HtmlLayer[];
3
+ layers: TextLayer[];
4
4
  }
5
5
  declare const AlignmentButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type AlignmentButton = ReturnType<typeof AlignmentButton>;
@@ -0,0 +1,65 @@
1
+ <script lang="ts">
2
+ import BoldIcon from '@lucide/svelte/icons/bold';
3
+ import { Toggle } from '../../../../../../ui/toggle/index.js';
4
+ import type { TextLayer } from '../../../../../types.js';
5
+ import { getEditorContext } from '../../../../../editor.svelte.js';
6
+ import { createEditorNotReactive } from '../../editor/utils.js';
7
+
8
+ interface Props {
9
+ layers: TextLayer[];
10
+ }
11
+
12
+ let { layers = $bindable() }: Props = $props();
13
+
14
+ const editor = getEditorContext();
15
+
16
+ const { htmlEditor } = editor;
17
+
18
+ const editorNotReactive = createEditorNotReactive();
19
+
20
+ const isActive = $derived.by(() => {
21
+ if (editor.activeAction?.type === 'edit') {
22
+ return $htmlEditor.isActive('bold');
23
+ } else {
24
+ return layers.every((layer) => {
25
+ editorNotReactive.chain().setContent(layer.html).selectAll().run();
26
+ return editorNotReactive.isActive('bold');
27
+ });
28
+ }
29
+ });
30
+
31
+ const setValue = async (value: boolean) => {
32
+ if (editor.activeAction?.type === 'edit') {
33
+ if (value) {
34
+ $htmlEditor.chain().focus().setBold().run();
35
+ } else {
36
+ $htmlEditor.chain().focus().unsetBold().run();
37
+ }
38
+ } else {
39
+ editor.historyPush(
40
+ (
41
+ await Promise.all(
42
+ layers.map(async (layer) => {
43
+ let chain = editorNotReactive.chain().setContent(layer.html).selectAll();
44
+ if (value) {
45
+ chain = chain.setBold();
46
+ } else {
47
+ chain = chain.unsetBold();
48
+ }
49
+ chain.run();
50
+
51
+ return editor.applyHtmlToLayer(
52
+ editor.createTextLayerInitial(editor.activePage, layer),
53
+ editorNotReactive.getJSON(),
54
+ );
55
+ }),
56
+ )
57
+ ).flat(),
58
+ );
59
+ }
60
+ };
61
+ </script>
62
+
63
+ <Toggle size="xs" pressed={isActive} onPressedChange={(val) => setValue(val)}>
64
+ <BoldIcon class="h-6 w-6" />
65
+ </Toggle>
@@ -1,6 +1,6 @@
1
- import type { HtmlLayer } from '../../../../../types.js';
1
+ import type { TextLayer } from '../../../../../types.js';
2
2
  interface Props {
3
- layers: HtmlLayer[];
3
+ layers: TextLayer[];
4
4
  }
5
5
  declare const BoldButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type BoldButton = ReturnType<typeof BoldButton>;
@@ -1,19 +1,18 @@
1
1
  <script lang="ts">
2
- import CaseIcon from 'lucide-svelte/icons/case-sensitive';
2
+ import CaseIcon from '@lucide/svelte/icons/case-sensitive';
3
3
  import { Toggle } from '../../../../../../ui/toggle/index.js';
4
4
  import { extractUppercase } from '../../editor/utils.js';
5
- import type { HtmlLayer } from '../../../../../types.js';
6
- import { getPresentationEditorContext } from '../../../../../presentation-editor.svelte.js';
5
+ import type { TextLayer } from '../../../../../types.js';
6
+ import { getEditorContext } from '../../../../../editor.svelte.js';
7
7
  import { createEditorNotReactive } from '../../editor/utils.js';
8
- import { applyHtmlToLayer } from '../../../../utils.js';
9
8
 
10
9
  interface Props {
11
- layers: HtmlLayer[];
10
+ layers: TextLayer[];
12
11
  }
13
12
 
14
13
  let { layers = $bindable() }: Props = $props();
15
14
 
16
- const editor = getPresentationEditorContext();
15
+ const editor = getEditorContext();
17
16
 
18
17
  const { htmlEditor } = editor;
19
18
 
@@ -38,31 +37,26 @@
38
37
  $htmlEditor.chain().focus().unsetTextTransform().run();
39
38
  }
40
39
  } else {
41
- editor.historyPush({
42
- type: 'layersGroup',
43
- actions: await Promise.all(
44
- layers.map(async (layer) => {
45
- let chain = editorNotReactive.chain().setContent(layer.html).selectAll();
46
- if (value) {
47
- chain = chain.setTextTransform('uppercase');
48
- } else {
49
- chain = chain.unsetTextTransform();
50
- }
51
- chain.run();
40
+ editor.historyPush(
41
+ (
42
+ await Promise.all(
43
+ layers.map(async (layer) => {
44
+ let chain = editorNotReactive.chain().setContent(layer.html).selectAll();
45
+ if (value) {
46
+ chain = chain.setTextTransform('uppercase');
47
+ } else {
48
+ chain = chain.unsetTextTransform();
49
+ }
50
+ chain.run();
52
51
 
53
- const undo = { html: layer.html, x: layer.x, y: layer.y, height: layer.height };
54
- const redo = await applyHtmlToLayer(layer, editorNotReactive.getJSON());
55
-
56
- return {
57
- type: 'layer',
58
- slideId: editor.activeSlide.id,
59
- layer: { id: layer.id, type: layer.type },
60
- undo,
61
- redo,
62
- };
63
- }),
64
- ),
65
- });
52
+ return editor.applyHtmlToLayer(
53
+ editor.createTextLayerInitial(editor.activePage, layer),
54
+ editorNotReactive.getJSON(),
55
+ );
56
+ }),
57
+ )
58
+ ).flat(),
59
+ );
66
60
  }
67
61
  };
68
62
  </script>
@@ -1,6 +1,6 @@
1
- import type { HtmlLayer } from '../../../../../types.js';
1
+ import type { TextLayer } from '../../../../../types.js';
2
2
  interface Props {
3
- layers: HtmlLayer[];
3
+ layers: TextLayer[];
4
4
  }
5
5
  declare const CaseButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type CaseButton = ReturnType<typeof CaseButton>;
@@ -1,17 +1,17 @@
1
1
  <script lang="ts">
2
2
  import { Button } from '../../../../../../ui/button/index.js';
3
- import { getPresentationEditorContext } from '../../../../../presentation-editor.svelte.js';
3
+ import { getEditorContext } from '../../../../../editor.svelte.js';
4
4
  import { extractNodeColors, extractSelectionColors } from '../../editor/utils.js';
5
5
  import { buildBackgroundCircleStyle } from '../../../../utils.js';
6
- import type { HtmlLayer } from '../../../../../types.js';
6
+ import type { TextLayer } from '../../../../../types.js';
7
7
 
8
8
  interface Props {
9
- layers: HtmlLayer[];
9
+ layers: TextLayer[];
10
10
  }
11
11
 
12
12
  let { layers = $bindable() }: Props = $props();
13
13
 
14
- const editor = getPresentationEditorContext();
14
+ const editor = getEditorContext();
15
15
 
16
16
  const { htmlEditor } = editor;
17
17