@peteai/presentation-editor 0.0.6 → 0.0.8

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 (330) hide show
  1. package/README.md +38 -38
  2. package/dist/components/editor/active-layers-buttons.svelte +56 -0
  3. package/dist/components/editor/active-layers.svelte +237 -0
  4. package/dist/components/editor/active-layers.svelte.d.ts +8 -0
  5. package/dist/components/{presentation-editor/cognition-slides.d.ts → editor/cognition-pages.d.ts} +1 -1
  6. package/dist/components/{presentation-editor/cognition-slides.js → editor/cognition-pages.js} +1 -1
  7. package/dist/components/{presentation-editor → editor}/cursor-tooltip.svelte +6 -2
  8. package/dist/components/editor/cursor-tooltip.svelte.d.ts +7 -0
  9. package/dist/components/{presentation-editor → editor}/dragged.svelte +7 -3
  10. package/dist/components/editor/dragged.svelte.d.ts +7 -0
  11. package/dist/components/{presentation-editor/presentation-editor.svelte → editor/editor.svelte} +64 -61
  12. package/dist/components/editor/editor.svelte.d.ts +4 -0
  13. package/dist/components/editor/editor.svelte.js +1169 -0
  14. package/dist/components/editor/header.svelte +62 -0
  15. package/dist/components/editor/header.svelte.d.ts +7 -0
  16. package/dist/components/{presentation-editor → editor}/hotkeys.svelte +48 -16
  17. package/dist/components/editor/index.d.ts +3 -0
  18. package/dist/components/editor/index.js +3 -0
  19. package/dist/components/{presentation-editor → editor}/layers/active-background-border.svelte +2 -2
  20. package/dist/components/{presentation-editor → editor}/layers/active-layer-border.svelte +5 -8
  21. package/dist/components/editor/layers/buttons/border-button/border-button-colors.svelte +59 -0
  22. package/dist/components/editor/layers/buttons/border-button/border-button-colors.svelte.d.ts +9 -0
  23. package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/border-button.svelte +47 -65
  24. package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/corner-radius-button.svelte +24 -28
  25. package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/flip-button.svelte +11 -12
  26. package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/opacity-button.svelte +33 -44
  27. package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/corner-scale-control.svelte +27 -32
  28. package/dist/components/editor/layers/controls/group-resize-control/group-resize-control.svelte +418 -0
  29. package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/rotate-control.svelte +33 -34
  30. package/dist/components/editor/layers/controls/rotate-control/rotate-control.svelte.d.ts +6 -0
  31. package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/side-resize-control.svelte +22 -26
  32. package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/side-scale-control.svelte +13 -15
  33. package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/side-scale-control.svelte.d.ts +2 -2
  34. package/dist/components/editor/layers/index.d.ts +10 -0
  35. package/dist/components/{presentation-editor → editor}/layers/index.js +8 -5
  36. package/dist/components/{presentation-editor → editor}/layers/layer-button.svelte +14 -8
  37. package/dist/components/{presentation-editor → editor}/layers/layer-thumb-wrapper.svelte +5 -6
  38. package/dist/components/{presentation-editor → editor}/layers/layer-wrapper.svelte +46 -57
  39. package/dist/components/editor/layers/types/background/background-content-image.svelte +36 -0
  40. package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer-buttons.svelte +6 -6
  41. package/dist/components/editor/layers/types/background/background-layer-content.svelte +21 -0
  42. package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer-content.svelte.d.ts +2 -2
  43. package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer.svelte +7 -9
  44. package/dist/components/editor/layers/types/group/group-child-wrapper.svelte +44 -0
  45. package/dist/components/editor/layers/types/group/group-child-wrapper.svelte.d.ts +9 -0
  46. package/dist/components/editor/layers/types/group/group-layer-content.svelte +45 -0
  47. package/dist/components/editor/layers/types/group/group-layer-content.svelte.d.ts +9 -0
  48. package/dist/components/editor/layers/types/group/group-layer.svelte +33 -0
  49. package/dist/components/editor/layers/types/group/group-layer.svelte.d.ts +8 -0
  50. package/dist/components/editor/layers/types/group/index.d.ts +3 -0
  51. package/dist/components/editor/layers/types/group/index.js +3 -0
  52. package/dist/components/editor/layers/types/image/controls/image-rotate-control/image-rotate-control.svelte +120 -0
  53. package/dist/components/editor/layers/types/image/controls/image-rotate-control/image-rotate-control.svelte.d.ts +8 -0
  54. package/dist/components/editor/layers/types/image/controls/image-rotate-control/index.d.ts +2 -0
  55. package/dist/components/editor/layers/types/image/controls/image-rotate-control/index.js +4 -0
  56. package/dist/components/editor/layers/types/image/controls/image-scale-control/image-scale-control.svelte +154 -0
  57. package/dist/components/editor/layers/types/image/controls/image-scale-control/image-scale-control.svelte.d.ts +91 -0
  58. package/dist/components/editor/layers/types/image/controls/image-scale-control/index.d.ts +2 -0
  59. package/dist/components/editor/layers/types/image/controls/image-scale-control/index.js +4 -0
  60. package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-active.svelte +10 -13
  61. package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-content.svelte +15 -12
  62. package/dist/components/editor/layers/types/image/image-layer-crop.svelte +182 -0
  63. package/dist/components/editor/layers/types/image/image-layer-crop.svelte.d.ts +10 -0
  64. package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer.svelte +24 -14
  65. package/dist/components/editor/layers/types/image/index.d.ts +4 -0
  66. package/dist/components/editor/layers/types/image/index.js +4 -0
  67. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/alignment-button.svelte +13 -14
  68. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/alignment-button.svelte.d.ts +2 -2
  69. package/dist/components/editor/layers/types/text/buttons/bold-button/bold-button.svelte +65 -0
  70. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/bold-button/bold-button.svelte.d.ts +2 -2
  71. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/case-button.svelte +24 -30
  72. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/case-button.svelte.d.ts +2 -2
  73. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/color-button.svelte +4 -4
  74. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/color-button.svelte.d.ts +2 -2
  75. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/font-family-button.svelte +4 -4
  76. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/font-family-button.svelte.d.ts +2 -2
  77. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/font-size-button.svelte +33 -40
  78. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/font-size-button.svelte.d.ts +2 -2
  79. package/dist/components/editor/layers/types/text/buttons/italic-button/italic-button.svelte +65 -0
  80. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/italic-button/italic-button.svelte.d.ts +2 -2
  81. package/dist/components/editor/layers/types/text/buttons/list-button/list-button.svelte +113 -0
  82. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/list-button/list-button.svelte.d.ts +2 -2
  83. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/strikethrough-button.svelte +10 -11
  84. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/strikethrough-button.svelte.d.ts +2 -2
  85. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/underline-button.svelte +10 -11
  86. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/underline-button.svelte.d.ts +2 -2
  87. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/utils.d.ts +2 -0
  88. package/dist/components/editor/layers/types/text/editor/utils.js +166 -0
  89. package/dist/components/editor/layers/types/text/extensions/list/index.d.ts +3 -0
  90. package/dist/components/editor/layers/types/text/extensions/list/index.js +3 -0
  91. package/dist/components/editor/layers/types/text/extensions/list/list.d.ts +67 -0
  92. package/dist/components/editor/layers/types/text/extensions/list/list.js +237 -0
  93. package/dist/components/editor/layers/types/text/extensions/list-item/index.d.ts +3 -0
  94. package/dist/components/editor/layers/types/text/extensions/list-item/index.js +3 -0
  95. package/dist/components/editor/layers/types/text/extensions/list-item/list-item.d.ts +13 -0
  96. package/dist/components/editor/layers/types/text/extensions/list-item/list-item.js +262 -0
  97. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/index.d.ts +3 -0
  98. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/index.js +3 -0
  99. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/list-item-paragraph.d.ts +14 -0
  100. package/dist/components/editor/layers/types/text/extensions/list-item-paragraph/list-item-paragraph.js +27 -0
  101. package/dist/components/editor/layers/types/text/extensions/paragraph/index.d.ts +3 -0
  102. package/dist/components/editor/layers/types/text/extensions/paragraph/index.js +3 -0
  103. package/dist/components/editor/layers/types/text/extensions/paragraph/paragraph.d.ts +6 -0
  104. package/dist/components/editor/layers/types/text/extensions/paragraph/paragraph.js +28 -0
  105. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/index.d.ts +3 -0
  106. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/index.js +3 -0
  107. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/preserve-formatting-on-clear.d.ts +2 -0
  108. package/dist/components/editor/layers/types/text/extensions/preserve-formatting-on-clear/preserve-formatting-on-clear.js +74 -0
  109. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/text-transform.js +1 -4
  110. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions.js +13 -23
  111. package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/html-content.svelte +0 -9
  112. package/dist/components/editor/layers/types/text/index.d.ts +5 -0
  113. package/dist/components/editor/layers/types/text/index.js +5 -0
  114. package/dist/components/{presentation-editor/layers/types/html/html-layer-content.svelte → editor/layers/types/text/text-layer-content.svelte} +2 -2
  115. package/dist/components/editor/layers/types/text/text-layer-content.svelte.d.ts +9 -0
  116. package/dist/components/editor/layers/types/text/text-layer-edit.svelte +114 -0
  117. package/dist/components/editor/layers/types/text/text-layer-edit.svelte.d.ts +9 -0
  118. package/dist/components/editor/layers/types/text/text-layer.svelte +125 -0
  119. package/dist/components/editor/layers/types/text/text-layer.svelte.d.ts +7 -0
  120. package/dist/components/{presentation-editor → editor}/layers/utils.d.ts +32 -24
  121. package/dist/components/{presentation-editor → editor}/layers/utils.js +152 -102
  122. package/dist/components/{presentation-editor → editor}/menu/background-menu-content.svelte +24 -24
  123. package/dist/components/{presentation-editor → editor}/menu/background-menu-content.svelte.d.ts +4 -4
  124. package/dist/components/{presentation-editor → editor}/menu/layer-menu-content.svelte +62 -38
  125. package/dist/components/{presentation-editor/menu/slide-menu-content.svelte → editor/menu/page-menu-content.svelte} +19 -19
  126. package/dist/components/editor/menu/page-menu-content.svelte.d.ts +9 -0
  127. package/dist/components/{presentation-editor/slide-editor.svelte → editor/page-editor.svelte} +30 -25
  128. package/dist/components/editor/page-editor.svelte.d.ts +7 -0
  129. package/dist/components/{presentation-editor/slide-inner.svelte → editor/page-inner.svelte} +5 -5
  130. package/dist/components/{presentation-editor/sidebar/sidebar.svelte.d.ts → editor/page-inner.svelte.d.ts} +3 -3
  131. package/dist/components/editor/page.svelte +69 -0
  132. package/dist/components/editor/page.svelte.d.ts +4 -0
  133. package/dist/components/editor/pages-navigation/page-preview.svelte +36 -0
  134. package/dist/components/editor/pages-navigation/page-preview.svelte.d.ts +8 -0
  135. package/dist/components/{presentation-editor/slides-navigation/slide-preview.svelte → editor/pages-navigation/pages-navigation-item.svelte} +21 -41
  136. package/dist/components/editor/pages-navigation/pages-navigation-item.svelte.d.ts +11 -0
  137. package/dist/components/{presentation-editor/slides-navigation/slides-navigation.svelte → editor/pages-navigation/pages-navigation.svelte} +26 -21
  138. package/dist/components/editor/pages-navigation/pages-navigation.svelte.d.ts +7 -0
  139. package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-color.svelte +1 -1
  140. package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-gradient-picker.svelte +2 -2
  141. package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar.svelte +92 -89
  142. package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar-button.svelte +3 -3
  143. package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar.svelte +34 -39
  144. package/dist/components/editor/sidebar/image-crop-sidebar.svelte +112 -0
  145. package/dist/components/editor/sidebar/image-crop-sidebar.svelte.d.ts +7 -0
  146. package/dist/components/{presentation-editor/sidebar/position-slidebar.svelte → editor/sidebar/position-sidebar.svelte} +26 -20
  147. package/dist/components/editor/sidebar/position-sidebar.svelte.d.ts +3 -0
  148. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab-button.svelte +5 -5
  149. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab.svelte +5 -5
  150. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-uploads-tab.svelte +4 -4
  151. package/dist/components/{presentation-editor → editor}/sidebar/sidebar-wrapper.svelte +6 -4
  152. package/dist/components/{presentation-editor → editor}/sidebar/sidebar.svelte +17 -10
  153. package/dist/components/editor/sidebar/sidebar.svelte.d.ts +7 -0
  154. package/dist/components/{presentation-editor → editor}/sidebar/uploads-image.svelte +3 -3
  155. package/dist/components/editor/types.d.ts +283 -0
  156. package/dist/components/{presentation-editor → editor}/utils.d.ts +14 -6
  157. package/dist/components/{presentation-editor → editor}/utils.js +98 -63
  158. package/dist/components/ui/color-picker/color-picker.svelte +2 -2
  159. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +2 -2
  160. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +1 -1
  161. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +1 -1
  162. package/dist/components/ui/dialog/dialog-content.svelte +3 -3
  163. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +3 -3
  164. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +2 -2
  165. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +1 -1
  166. package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
  167. package/dist/components/ui/slider/slider.svelte +28 -20
  168. package/dist/index.d.ts +12 -6
  169. package/dist/index.js +5 -3
  170. package/package.json +42 -38
  171. package/dist/components/presentation-editor/active-layers-buttons.svelte +0 -53
  172. package/dist/components/presentation-editor/active-layers.svelte +0 -181
  173. package/dist/components/presentation-editor/active-layers.svelte.d.ts +0 -3
  174. package/dist/components/presentation-editor/cursor-tooltip.svelte.d.ts +0 -18
  175. package/dist/components/presentation-editor/dragged.svelte.d.ts +0 -18
  176. package/dist/components/presentation-editor/header.svelte +0 -54
  177. package/dist/components/presentation-editor/header.svelte.d.ts +0 -18
  178. package/dist/components/presentation-editor/index.d.ts +0 -2
  179. package/dist/components/presentation-editor/index.js +0 -2
  180. package/dist/components/presentation-editor/layers/controls/group-resize-control/group-resize-control.svelte +0 -337
  181. package/dist/components/presentation-editor/layers/controls/rotate-control/rotate-control.svelte.d.ts +0 -3
  182. package/dist/components/presentation-editor/layers/index.d.ts +0 -9
  183. package/dist/components/presentation-editor/layers/types/background/background-content-image.svelte +0 -41
  184. package/dist/components/presentation-editor/layers/types/background/background-layer-content.svelte +0 -19
  185. package/dist/components/presentation-editor/layers/types/html/buttons/bold-button/bold-button.svelte +0 -71
  186. package/dist/components/presentation-editor/layers/types/html/buttons/italic-button/italic-button.svelte +0 -71
  187. package/dist/components/presentation-editor/layers/types/html/buttons/list-button/list-button.svelte +0 -90
  188. package/dist/components/presentation-editor/layers/types/html/editor/utils.js +0 -88
  189. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/index.d.ts +0 -3
  190. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/index.js +0 -3
  191. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/unstyled-list.d.ts +0 -47
  192. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/unstyled-list.js +0 -74
  193. package/dist/components/presentation-editor/layers/types/html/html-layer-content.svelte.d.ts +0 -9
  194. package/dist/components/presentation-editor/layers/types/html/html-layer-edit.svelte +0 -103
  195. package/dist/components/presentation-editor/layers/types/html/html-layer-edit.svelte.d.ts +0 -8
  196. package/dist/components/presentation-editor/layers/types/html/html-layer.svelte +0 -105
  197. package/dist/components/presentation-editor/layers/types/html/html-layer.svelte.d.ts +0 -7
  198. package/dist/components/presentation-editor/layers/types/html/index.d.ts +0 -5
  199. package/dist/components/presentation-editor/layers/types/html/index.js +0 -5
  200. package/dist/components/presentation-editor/layers/types/image/index.d.ts +0 -3
  201. package/dist/components/presentation-editor/layers/types/image/index.js +0 -3
  202. package/dist/components/presentation-editor/menu/slide-menu-content.svelte.d.ts +0 -9
  203. package/dist/components/presentation-editor/presentation-editor.svelte.d.ts +0 -4
  204. package/dist/components/presentation-editor/presentation-editor.svelte.js +0 -813
  205. package/dist/components/presentation-editor/sidebar/position-slidebar.svelte.d.ts +0 -18
  206. package/dist/components/presentation-editor/slide-editor.svelte.d.ts +0 -7
  207. package/dist/components/presentation-editor/slide-inner.svelte.d.ts +0 -18
  208. package/dist/components/presentation-editor/slides-navigation/slide-preview.svelte.d.ts +0 -11
  209. package/dist/components/presentation-editor/slides-navigation/slides-navigation.svelte.d.ts +0 -3
  210. package/dist/components/presentation-editor/types.d.ts +0 -158
  211. /package/dist/components/{presentation-editor → editor}/active-layers-buttons.svelte.d.ts +0 -0
  212. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient-def.svelte +0 -0
  213. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient-def.svelte.d.ts +0 -0
  214. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient.svelte +0 -0
  215. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator-gradient.svelte.d.ts +0 -0
  216. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator.svelte +0 -0
  217. /package/dist/components/{presentation-editor → editor}/color-indicator/color-indicator.svelte.d.ts +0 -0
  218. /package/dist/components/{presentation-editor → editor}/color-indicator/index.d.ts +0 -0
  219. /package/dist/components/{presentation-editor → editor}/color-indicator/index.js +0 -0
  220. /package/dist/components/{presentation-editor → editor}/fonts.d.ts +0 -0
  221. /package/dist/components/{presentation-editor → editor}/fonts.js +0 -0
  222. /package/dist/components/{presentation-editor → editor}/hotkeys.svelte.d.ts +0 -0
  223. /package/dist/components/{presentation-editor → editor}/layers/active-background-border.svelte.d.ts +0 -0
  224. /package/dist/components/{presentation-editor → editor}/layers/active-layer-border.svelte.d.ts +0 -0
  225. /package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/border-button.svelte.d.ts +0 -0
  226. /package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/index.d.ts +0 -0
  227. /package/dist/components/{presentation-editor → editor}/layers/buttons/border-button/index.js +0 -0
  228. /package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/corner-radius-button.svelte.d.ts +0 -0
  229. /package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/index.d.ts +0 -0
  230. /package/dist/components/{presentation-editor → editor}/layers/buttons/corner-radius-button/index.js +0 -0
  231. /package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/flip-button.svelte.d.ts +0 -0
  232. /package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/index.d.ts +0 -0
  233. /package/dist/components/{presentation-editor → editor}/layers/buttons/flip-button/index.js +0 -0
  234. /package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/index.d.ts +0 -0
  235. /package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/index.js +0 -0
  236. /package/dist/components/{presentation-editor → editor}/layers/buttons/opacity-button/opacity-button.svelte.d.ts +0 -0
  237. /package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/corner-scale-control.svelte.d.ts +0 -0
  238. /package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/index.d.ts +0 -0
  239. /package/dist/components/{presentation-editor → editor}/layers/controls/corner-scale-control/index.js +0 -0
  240. /package/dist/components/{presentation-editor → editor}/layers/controls/group-resize-control/group-resize-control.svelte.d.ts +0 -0
  241. /package/dist/components/{presentation-editor → editor}/layers/controls/group-resize-control/index.d.ts +0 -0
  242. /package/dist/components/{presentation-editor → editor}/layers/controls/group-resize-control/index.js +0 -0
  243. /package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/index.d.ts +0 -0
  244. /package/dist/components/{presentation-editor → editor}/layers/controls/rotate-control/index.js +0 -0
  245. /package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/index.d.ts +0 -0
  246. /package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/index.js +0 -0
  247. /package/dist/components/{presentation-editor → editor}/layers/controls/side-resize-control/side-resize-control.svelte.d.ts +0 -0
  248. /package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/index.d.ts +0 -0
  249. /package/dist/components/{presentation-editor → editor}/layers/controls/side-scale-control/index.js +0 -0
  250. /package/dist/components/{presentation-editor → editor}/layers/layer-button.svelte.d.ts +0 -0
  251. /package/dist/components/{presentation-editor → editor}/layers/layer-thumb-wrapper.svelte.d.ts +0 -0
  252. /package/dist/components/{presentation-editor → editor}/layers/layer-wrapper.svelte.d.ts +0 -0
  253. /package/dist/components/{presentation-editor → editor}/layers/types/background/background-content-image.svelte.d.ts +0 -0
  254. /package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer-buttons.svelte.d.ts +0 -0
  255. /package/dist/components/{presentation-editor → editor}/layers/types/background/background-layer.svelte.d.ts +0 -0
  256. /package/dist/components/{presentation-editor → editor}/layers/types/background/index.d.ts +0 -0
  257. /package/dist/components/{presentation-editor → editor}/layers/types/background/index.js +0 -0
  258. /package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-active.svelte.d.ts +0 -0
  259. /package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer-content.svelte.d.ts +0 -0
  260. /package/dist/components/{presentation-editor → editor}/layers/types/image/image-layer.svelte.d.ts +0 -0
  261. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/index.d.ts +0 -0
  262. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/alignment-button/index.js +0 -0
  263. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/bold-button/index.d.ts +0 -0
  264. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/bold-button/index.js +0 -0
  265. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/index.d.ts +0 -0
  266. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/case-button/index.js +0 -0
  267. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/index.d.ts +0 -0
  268. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/color-button/index.js +0 -0
  269. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/index.d.ts +0 -0
  270. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-family-button/index.js +0 -0
  271. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/index.d.ts +0 -0
  272. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/font-size-button/index.js +0 -0
  273. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/italic-button/index.d.ts +0 -0
  274. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/italic-button/index.js +0 -0
  275. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/list-button/index.d.ts +0 -0
  276. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/list-button/index.js +0 -0
  277. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/index.d.ts +0 -0
  278. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/strikethrough-button/index.js +0 -0
  279. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/index.d.ts +0 -0
  280. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/buttons/underline-button/index.js +0 -0
  281. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/Editor.d.ts +0 -0
  282. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/Editor.js +0 -0
  283. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/createEditor.d.ts +0 -0
  284. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/createEditor.js +0 -0
  285. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/editor-content.svelte +0 -0
  286. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/editor-content.svelte.d.ts +0 -0
  287. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/index.d.ts +0 -0
  288. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/index.js +0 -0
  289. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/types.d.ts +0 -0
  290. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor/types.js +0 -0
  291. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/editor.css +0 -0
  292. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/font-family.d.ts +0 -0
  293. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/font-family.js +0 -0
  294. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/index.d.ts +0 -0
  295. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-family/index.js +0 -0
  296. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/font-size.d.ts +0 -0
  297. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/font-size.js +0 -0
  298. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/index.d.ts +0 -0
  299. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/font-size/index.js +0 -0
  300. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/index.d.ts +0 -0
  301. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/index.js +0 -0
  302. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/line-height.d.ts +0 -0
  303. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/line-height/line-height.js +0 -0
  304. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/index.d.ts +0 -0
  305. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/index.js +0 -0
  306. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/selection.d.ts +0 -0
  307. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/selection/selection.js +0 -0
  308. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/index.d.ts +0 -0
  309. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/index.js +0 -0
  310. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions/text-transform/text-transform.d.ts +0 -0
  311. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/extensions.d.ts +0 -0
  312. /package/dist/components/{presentation-editor/layers/types/html → editor/layers/types/text}/html-content.svelte.d.ts +0 -0
  313. /package/dist/components/{presentation-editor → editor}/menu/layer-menu-content.svelte.d.ts +0 -0
  314. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-color.svelte.d.ts +0 -0
  315. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar-gradient-picker.svelte.d.ts +0 -0
  316. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/color-sidebar.svelte.d.ts +0 -0
  317. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/index.d.ts +0 -0
  318. /package/dist/components/{presentation-editor → editor}/sidebar/color-sidebar/index.js +0 -0
  319. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar-button.svelte.d.ts +0 -0
  320. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/font-sidebar.svelte.d.ts +0 -0
  321. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/index.d.ts +0 -0
  322. /package/dist/components/{presentation-editor → editor}/sidebar/font-sidebar/index.js +0 -0
  323. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab-button.svelte.d.ts +0 -0
  324. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-text-tab.svelte.d.ts +0 -0
  325. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-uploads-tab.svelte.d.ts +0 -0
  326. /package/dist/components/{presentation-editor → editor}/sidebar/sidebar-wrapper.svelte.d.ts +0 -0
  327. /package/dist/components/{presentation-editor → editor}/sidebar/uploads-image.svelte.d.ts +0 -0
  328. /package/dist/components/{presentation-editor → editor}/snapping-guides.svelte +0 -0
  329. /package/dist/components/{presentation-editor → editor}/snapping-guides.svelte.d.ts +0 -0
  330. /package/dist/components/{presentation-editor → editor}/types.js +0 -0
@@ -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
 
@@ -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 ColorButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type ColorButton = ReturnType<typeof ColorButton>;
@@ -1,16 +1,16 @@
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 { extractNodeFonts, extractSelectionFonts } from '../../editor/utils.js';
5
- import type { HtmlLayer } from '../../../../../types.js';
5
+ import type { TextLayer } from '../../../../../types.js';
6
6
 
7
7
  interface Props {
8
- layers: HtmlLayer[];
8
+ layers: TextLayer[];
9
9
  }
10
10
 
11
11
  let { layers = $bindable() }: Props = $props();
12
12
 
13
- const editor = getPresentationEditorContext();
13
+ const editor = getEditorContext();
14
14
 
15
15
  const { htmlEditor } = editor;
16
16
 
@@ -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 FontFamilyButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type FontFamilyButton = ReturnType<typeof FontFamilyButton>;
@@ -1,24 +1,23 @@
1
1
  <script lang="ts">
2
- import MinusIcon from 'lucide-svelte/icons/minus';
3
- import PlusIcon from 'lucide-svelte/icons/plus';
4
- import type { HtmlLayer } from '../../../../../types.js';
2
+ import MinusIcon from '@lucide/svelte/icons/minus';
3
+ import PlusIcon from '@lucide/svelte/icons/plus';
4
+ import type { TextLayer } from '../../../../../types.js';
5
5
  import * as DropdownMenu from '../../../../../../ui/dropdown-menu/index.js';
6
6
  import { Button, buttonVariants } from '../../../../../../ui/button/index.js';
7
- import { getPresentationEditorContext } from '../../../../../presentation-editor.svelte.js';
7
+ import { getEditorContext } from '../../../../../editor.svelte.js';
8
8
  import {
9
9
  createEditorNotReactive,
10
10
  extractNodeFontSizes,
11
11
  extractSelectionFontSizes,
12
12
  } from '../../editor/utils.js';
13
- import { applyHtmlToLayer } from '../../../../utils.js';
14
13
 
15
14
  interface Props {
16
- layers: HtmlLayer[];
15
+ layers: TextLayer[];
17
16
  }
18
17
 
19
18
  let { layers = $bindable() }: Props = $props();
20
19
 
21
- const editor = getPresentationEditorContext();
20
+ const editor = getEditorContext();
22
21
 
23
22
  const { htmlEditor } = editor;
24
23
 
@@ -40,12 +39,12 @@
40
39
  const fontSize = $derived.by(() => {
41
40
  if (editor.activeAction?.type === 'edit') {
42
41
  const fontSizesPx = extractSelectionFontSizes($htmlEditor);
43
- return getFontSize(fontSizesPx, layers[0]?.scale || 1);
42
+ return getFontSize(fontSizesPx, layers[0]?.scale);
44
43
  } else {
45
44
  const set = new Set<number>();
46
45
  layers.forEach((layer) => {
47
46
  const fontSizesPx = extractNodeFontSizes(layer.html);
48
- const fontSize = getFontSize(fontSizesPx, layer.scale || 1);
47
+ const fontSize = getFontSize(fontSizesPx, layer.scale);
49
48
  if (fontSize) {
50
49
  set.add(fontSize);
51
50
  }
@@ -55,8 +54,9 @@
55
54
  }
56
55
  });
57
56
 
58
- const updateFontSize = async (value: number) => {
57
+ const updateFontSize = async (value: string | number) => {
59
58
  console.log('updateFontSize', value);
59
+ value = parseInt(value.toString());
60
60
  let fontSizePt = value;
61
61
  if (fontSizePt < min) {
62
62
  fontSizePt = min;
@@ -64,36 +64,29 @@
64
64
  fontSizePt = max;
65
65
  }
66
66
  if (editor.activeAction?.type === 'edit') {
67
- $htmlEditor.commands.setFontSize(fontSizePt / pxToPt / (layers[0]?.scale || 1));
67
+ $htmlEditor.commands.setFontSize(fontSizePt / pxToPt / layers[0]?.scale);
68
68
  } else {
69
- editor.historyPush({
70
- type: 'layersGroup',
71
- actions: await Promise.all(
72
- layers.map(async (layer) => {
73
- const editorNotReactive = createEditorNotReactive(layer.html);
74
- const scale = layer.scale || 1;
75
- const fontSize = fontSizePt / pxToPt / scale;
76
- editorNotReactive
77
- .chain()
78
- .setContent(layer.html)
79
- .selectAll()
80
- .setFontSize(fontSize)
81
- .run();
69
+ editor.historyPush(
70
+ (
71
+ await Promise.all(
72
+ layers.map(async (layer) => {
73
+ const editorNotReactive = createEditorNotReactive(layer.html);
74
+ const fontSize = fontSizePt / pxToPt / layer.scale;
75
+ editorNotReactive
76
+ .chain()
77
+ .setContent(layer.html)
78
+ .selectAll()
79
+ .setFontSize(fontSize)
80
+ .run();
82
81
 
83
- const undo = { html: layer.html, x: layer.x, y: layer.y, height: layer.height };
84
- const html = editorNotReactive.getJSON();
85
- const redo = await applyHtmlToLayer(layer, html);
86
-
87
- return {
88
- type: 'layer',
89
- slideId: editor.activeSlide.id,
90
- layer: { id: layer.id, type: layer.type },
91
- undo,
92
- redo,
93
- };
94
- }),
95
- ),
96
- });
82
+ return editor.applyHtmlToLayer(
83
+ editor.createTextLayerInitial(editor.activePage, layer),
84
+ editorNotReactive.getJSON(),
85
+ );
86
+ }),
87
+ )
88
+ ).flat(),
89
+ );
97
90
  }
98
91
  };
99
92
 
@@ -138,11 +131,11 @@
138
131
  placeholder="– –"
139
132
  value={fontSize}
140
133
  style:-moz-appearance="textfield"
141
- onchange={(e) => updateFontSize(e.target.value)}
134
+ onchange={(e) => updateFontSize(e.currentTarget.value)}
142
135
  onkeydown={(e) => {
143
136
  if (e.key === 'Enter') {
144
137
  e.stopPropagation();
145
- updateFontSize(e.target.value);
138
+ updateFontSize(e.currentTarget.value);
146
139
  } else if (e.key === 'Escape') {
147
140
  e.stopPropagation();
148
141
  }
@@ -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 FontSizeButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type FontSizeButton = ReturnType<typeof FontSizeButton>;
@@ -0,0 +1,65 @@
1
+ <script lang="ts">
2
+ import ItalicIcon from '@lucide/svelte/icons/italic';
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('italic');
23
+ } else {
24
+ return layers.every((layer) => {
25
+ editorNotReactive.chain().setContent(layer.html).selectAll().run();
26
+ return editorNotReactive.isActive('italic');
27
+ });
28
+ }
29
+ });
30
+
31
+ const setValue = async (value: boolean) => {
32
+ if (editor.activeAction?.type === 'edit') {
33
+ if (value) {
34
+ $htmlEditor.chain().focus().setItalic().run();
35
+ } else {
36
+ $htmlEditor.chain().focus().unsetItalic().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.setItalic();
46
+ } else {
47
+ chain = chain.unsetItalic();
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
+ <ItalicIcon 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 ItalicButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type ItalicButton = ReturnType<typeof ItalicButton>;
@@ -0,0 +1,113 @@
1
+ <script lang="ts">
2
+ import * as DropdownMenu from '../../../../../../ui/dropdown-menu/index.js';
3
+ import { buttonVariants } from '../../../../../../ui/button/index.js';
4
+ import { getEditorContext } from '../../../../../editor.svelte.js';
5
+ import type { TextLayer } from '../../../../../types.js';
6
+ import type { Editor } from '../../editor/index.js';
7
+ import {
8
+ createEditorNotReactive,
9
+ extractNodeListStyleTypes,
10
+ extractSelectionListStyleTypes,
11
+ } from '../../editor/utils.js';
12
+
13
+ interface Props {
14
+ layers: TextLayer[];
15
+ }
16
+
17
+ let { layers = $bindable() }: Props = $props();
18
+
19
+ const editor = getEditorContext();
20
+
21
+ const { htmlEditor } = editor;
22
+
23
+ type ListStyleType = { name: string | undefined; symbol: string; title: string };
24
+
25
+ const listStyleTypes: ListStyleType[] = [
26
+ { name: undefined, symbol: '¶', title: 'Paragraph' },
27
+ { name: 'disc', symbol: '●', title: 'Disc' },
28
+ { name: 'circle', symbol: '○', title: 'Circle' },
29
+ { name: 'square', symbol: '■', title: 'Square' },
30
+ { name: 'decimal', symbol: '1.', title: 'Decimal' },
31
+ { name: 'lower-alpha', symbol: 'a.', title: 'Lower Alpha' },
32
+ { name: 'upper-alpha', symbol: 'A.', title: 'Upper Alpha' },
33
+ { name: 'upper-roman', symbol: 'I.', title: 'Upper Roman' },
34
+ ];
35
+
36
+ const editorNotReactive = createEditorNotReactive();
37
+
38
+ const getListStyleType = (editor: Editor): ListStyleType => {
39
+ for (let listStyleType of listStyleTypes) {
40
+ if (editor.isActive('list', { listStyleType: listStyleType.name })) {
41
+ if (listStyleTypes.find((l) => l.name === listStyleType.name)) return listStyleType;
42
+ }
43
+ }
44
+ return listStyleTypes[0];
45
+ };
46
+
47
+ const currentListStyleType = $derived.by(() => {
48
+ const set = new Set<string>();
49
+ if (editor.activeAction?.type === 'edit') {
50
+ extractSelectionListStyleTypes($htmlEditor, set);
51
+ } else {
52
+ layers.forEach((layer) => extractNodeListStyleTypes(layer.html, set));
53
+ }
54
+ if (set.size === 1) {
55
+ const listStyleType = listStyleTypes.find((l) => set.has(l.name ?? ''));
56
+ if (listStyleType) return listStyleType;
57
+ }
58
+ return listStyleTypes[0];
59
+ });
60
+
61
+ const setListStyleType = async (type?: string) => {
62
+ if (editor.activeAction?.type === 'edit') {
63
+ $htmlEditor.chain().focus().toggleListStyleType(type).run();
64
+ } else {
65
+ editor.historyPush(
66
+ (
67
+ await Promise.all(
68
+ layers.map(async (layer) => {
69
+ editorNotReactive
70
+ .chain()
71
+ .focus()
72
+ .setContent(layer.html)
73
+ .selectAll()
74
+ .toggleListStyleType(type)
75
+ .run();
76
+
77
+ return editor.applyHtmlToLayer(
78
+ editor.createTextLayerInitial(editor.activePage, layer),
79
+ editorNotReactive.getJSON(),
80
+ );
81
+ }),
82
+ )
83
+ ).flat(),
84
+ );
85
+ }
86
+ };
87
+ </script>
88
+
89
+ <DropdownMenu.Root>
90
+ <DropdownMenu.Trigger
91
+ class={buttonVariants({
92
+ variant: 'ghost',
93
+ size: 'xs',
94
+ class: 'inline-flex cursor-text select-none rounded-none align-middle',
95
+ })}
96
+ >
97
+ {currentListStyleType.symbol}
98
+ </DropdownMenu.Trigger>
99
+ <DropdownMenu.Content
100
+ trapFocus={false}
101
+ onOpenAutoFocus={(e) => e.preventDefault()}
102
+ align="start"
103
+ sideOffset={2}
104
+ class="w-32 p-1"
105
+ >
106
+ {#each listStyleTypes as listStyleType}
107
+ <DropdownMenu.Item onSelect={() => setListStyleType(listStyleType.name)}>
108
+ {listStyleType.symbol}
109
+ {listStyleType.title}
110
+ </DropdownMenu.Item>
111
+ {/each}
112
+ </DropdownMenu.Content>
113
+ </DropdownMenu.Root>
@@ -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 ListButton: import("svelte").Component<Props, {}, "layers">;
6
6
  type ListButton = ReturnType<typeof ListButton>;