@peteai/presentation-editor 0.0.1

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 (291) hide show
  1. package/README.md +58 -0
  2. package/dist/components/presentation-editor/app.css +12 -0
  3. package/dist/components/presentation-editor/cognition-slides.d.ts +56 -0
  4. package/dist/components/presentation-editor/cognition-slides.js +182 -0
  5. package/dist/components/presentation-editor/cursor-tooltip.svelte +29 -0
  6. package/dist/components/presentation-editor/cursor-tooltip.svelte.d.ts +18 -0
  7. package/dist/components/presentation-editor/dragged.svelte +31 -0
  8. package/dist/components/presentation-editor/dragged.svelte.d.ts +18 -0
  9. package/dist/components/presentation-editor/header.svelte +66 -0
  10. package/dist/components/presentation-editor/header.svelte.d.ts +8 -0
  11. package/dist/components/presentation-editor/index.d.ts +2 -0
  12. package/dist/components/presentation-editor/index.js +2 -0
  13. package/dist/components/presentation-editor/layers/active-background-border.svelte +16 -0
  14. package/dist/components/presentation-editor/layers/active-background-border.svelte.d.ts +18 -0
  15. package/dist/components/presentation-editor/layers/active-layer-border.svelte +30 -0
  16. package/dist/components/presentation-editor/layers/active-layer-border.svelte.d.ts +8 -0
  17. package/dist/components/presentation-editor/layers/buttons/border-button/border-button.svelte +231 -0
  18. package/dist/components/presentation-editor/layers/buttons/border-button/border-button.svelte.d.ts +7 -0
  19. package/dist/components/presentation-editor/layers/buttons/border-button/index.d.ts +2 -0
  20. package/dist/components/presentation-editor/layers/buttons/border-button/index.js +2 -0
  21. package/dist/components/presentation-editor/layers/buttons/corner-radius-button/corner-radius-button.svelte +88 -0
  22. package/dist/components/presentation-editor/layers/buttons/corner-radius-button/corner-radius-button.svelte.d.ts +7 -0
  23. package/dist/components/presentation-editor/layers/buttons/corner-radius-button/index.d.ts +2 -0
  24. package/dist/components/presentation-editor/layers/buttons/corner-radius-button/index.js +2 -0
  25. package/dist/components/presentation-editor/layers/buttons/flip-button/flip-button.svelte +39 -0
  26. package/dist/components/presentation-editor/layers/buttons/flip-button/flip-button.svelte.d.ts +7 -0
  27. package/dist/components/presentation-editor/layers/buttons/flip-button/index.d.ts +2 -0
  28. package/dist/components/presentation-editor/layers/buttons/flip-button/index.js +2 -0
  29. package/dist/components/presentation-editor/layers/buttons/opacity-button/index.d.ts +2 -0
  30. package/dist/components/presentation-editor/layers/buttons/opacity-button/index.js +2 -0
  31. package/dist/components/presentation-editor/layers/buttons/opacity-button/opacity-button.svelte +93 -0
  32. package/dist/components/presentation-editor/layers/buttons/opacity-button/opacity-button.svelte.d.ts +7 -0
  33. package/dist/components/presentation-editor/layers/controls/corner-scale-control/corner-scale-control.svelte +179 -0
  34. package/dist/components/presentation-editor/layers/controls/corner-scale-control/corner-scale-control.svelte.d.ts +184 -0
  35. package/dist/components/presentation-editor/layers/controls/corner-scale-control/index.d.ts +2 -0
  36. package/dist/components/presentation-editor/layers/controls/corner-scale-control/index.js +4 -0
  37. package/dist/components/presentation-editor/layers/controls/rotate-control/index.d.ts +2 -0
  38. package/dist/components/presentation-editor/layers/controls/rotate-control/index.js +4 -0
  39. package/dist/components/presentation-editor/layers/controls/rotate-control/rotate-control.svelte +105 -0
  40. package/dist/components/presentation-editor/layers/controls/rotate-control/rotate-control.svelte.d.ts +7 -0
  41. package/dist/components/presentation-editor/layers/controls/side-resize-control/index.d.ts +2 -0
  42. package/dist/components/presentation-editor/layers/controls/side-resize-control/index.js +4 -0
  43. package/dist/components/presentation-editor/layers/controls/side-resize-control/side-resize-control.svelte +220 -0
  44. package/dist/components/presentation-editor/layers/controls/side-resize-control/side-resize-control.svelte.d.ts +215 -0
  45. package/dist/components/presentation-editor/layers/controls/side-scale-control/index.d.ts +2 -0
  46. package/dist/components/presentation-editor/layers/controls/side-scale-control/index.js +4 -0
  47. package/dist/components/presentation-editor/layers/controls/side-scale-control/side-scale-control.svelte +141 -0
  48. package/dist/components/presentation-editor/layers/controls/side-scale-control/side-scale-control.svelte.d.ts +114 -0
  49. package/dist/components/presentation-editor/layers/hovered-layer.svelte +34 -0
  50. package/dist/components/presentation-editor/layers/hovered-layer.svelte.d.ts +7 -0
  51. package/dist/components/presentation-editor/layers/index.d.ts +10 -0
  52. package/dist/components/presentation-editor/layers/index.js +22 -0
  53. package/dist/components/presentation-editor/layers/layer-button.svelte +38 -0
  54. package/dist/components/presentation-editor/layers/layer-button.svelte.d.ts +8 -0
  55. package/dist/components/presentation-editor/layers/layer-thumb-wrapper.svelte +36 -0
  56. package/dist/components/presentation-editor/layers/layer-thumb-wrapper.svelte.d.ts +15 -0
  57. package/dist/components/presentation-editor/layers/layer-wrapper.svelte +288 -0
  58. package/dist/components/presentation-editor/layers/layer-wrapper.svelte.d.ts +10 -0
  59. package/dist/components/presentation-editor/layers/types/background/background-content.svelte +11 -0
  60. package/dist/components/presentation-editor/layers/types/background/background-content.svelte.d.ts +7 -0
  61. package/dist/components/presentation-editor/layers/types/background/background-layer-buttons.svelte +81 -0
  62. package/dist/components/presentation-editor/layers/types/background/background-layer-buttons.svelte.d.ts +18 -0
  63. package/dist/components/presentation-editor/layers/types/background/background-layer-thumb.svelte +12 -0
  64. package/dist/components/presentation-editor/layers/types/background/background-layer-thumb.svelte.d.ts +7 -0
  65. package/dist/components/presentation-editor/layers/types/background/background-layer.svelte +103 -0
  66. package/dist/components/presentation-editor/layers/types/background/background-layer.svelte.d.ts +7 -0
  67. package/dist/components/presentation-editor/layers/types/background/index.d.ts +5 -0
  68. package/dist/components/presentation-editor/layers/types/background/index.js +7 -0
  69. package/dist/components/presentation-editor/layers/types/html/buttons/alignment-button/alignment-button.svelte +45 -0
  70. package/dist/components/presentation-editor/layers/types/html/buttons/alignment-button/alignment-button.svelte.d.ts +7 -0
  71. package/dist/components/presentation-editor/layers/types/html/buttons/alignment-button/index.d.ts +2 -0
  72. package/dist/components/presentation-editor/layers/types/html/buttons/alignment-button/index.js +2 -0
  73. package/dist/components/presentation-editor/layers/types/html/buttons/bold-button/bold-button.svelte +19 -0
  74. package/dist/components/presentation-editor/layers/types/html/buttons/bold-button/bold-button.svelte.d.ts +7 -0
  75. package/dist/components/presentation-editor/layers/types/html/buttons/bold-button/index.d.ts +2 -0
  76. package/dist/components/presentation-editor/layers/types/html/buttons/bold-button/index.js +2 -0
  77. package/dist/components/presentation-editor/layers/types/html/buttons/case-button/case-button.svelte +37 -0
  78. package/dist/components/presentation-editor/layers/types/html/buttons/case-button/case-button.svelte.d.ts +7 -0
  79. package/dist/components/presentation-editor/layers/types/html/buttons/case-button/index.d.ts +2 -0
  80. package/dist/components/presentation-editor/layers/types/html/buttons/case-button/index.js +2 -0
  81. package/dist/components/presentation-editor/layers/types/html/buttons/color-button/color-button.svelte +88 -0
  82. package/dist/components/presentation-editor/layers/types/html/buttons/color-button/color-button.svelte.d.ts +7 -0
  83. package/dist/components/presentation-editor/layers/types/html/buttons/color-button/index.d.ts +2 -0
  84. package/dist/components/presentation-editor/layers/types/html/buttons/color-button/index.js +2 -0
  85. package/dist/components/presentation-editor/layers/types/html/buttons/font-size-button/font-size-button.svelte +132 -0
  86. package/dist/components/presentation-editor/layers/types/html/buttons/font-size-button/font-size-button.svelte.d.ts +9 -0
  87. package/dist/components/presentation-editor/layers/types/html/buttons/font-size-button/index.d.ts +2 -0
  88. package/dist/components/presentation-editor/layers/types/html/buttons/font-size-button/index.js +2 -0
  89. package/dist/components/presentation-editor/layers/types/html/buttons/italic-button/index.d.ts +2 -0
  90. package/dist/components/presentation-editor/layers/types/html/buttons/italic-button/index.js +2 -0
  91. package/dist/components/presentation-editor/layers/types/html/buttons/italic-button/italic-button.svelte +19 -0
  92. package/dist/components/presentation-editor/layers/types/html/buttons/italic-button/italic-button.svelte.d.ts +7 -0
  93. package/dist/components/presentation-editor/layers/types/html/buttons/list-button/index.d.ts +2 -0
  94. package/dist/components/presentation-editor/layers/types/html/buttons/list-button/index.js +2 -0
  95. package/dist/components/presentation-editor/layers/types/html/buttons/list-button/list-button.svelte +37 -0
  96. package/dist/components/presentation-editor/layers/types/html/buttons/list-button/list-button.svelte.d.ts +7 -0
  97. package/dist/components/presentation-editor/layers/types/html/buttons/strikethrough-button/index.d.ts +2 -0
  98. package/dist/components/presentation-editor/layers/types/html/buttons/strikethrough-button/index.js +2 -0
  99. package/dist/components/presentation-editor/layers/types/html/buttons/strikethrough-button/strikethrough-button.svelte +19 -0
  100. package/dist/components/presentation-editor/layers/types/html/buttons/strikethrough-button/strikethrough-button.svelte.d.ts +7 -0
  101. package/dist/components/presentation-editor/layers/types/html/buttons/underline-button/index.d.ts +2 -0
  102. package/dist/components/presentation-editor/layers/types/html/buttons/underline-button/index.js +2 -0
  103. package/dist/components/presentation-editor/layers/types/html/buttons/underline-button/underline-button.svelte +20 -0
  104. package/dist/components/presentation-editor/layers/types/html/buttons/underline-button/underline-button.svelte.d.ts +7 -0
  105. package/dist/components/presentation-editor/layers/types/html/editor/Editor.d.ts +4 -0
  106. package/dist/components/presentation-editor/layers/types/html/editor/Editor.js +4 -0
  107. package/dist/components/presentation-editor/layers/types/html/editor/createEditor.d.ts +5 -0
  108. package/dist/components/presentation-editor/layers/types/html/editor/createEditor.js +18 -0
  109. package/dist/components/presentation-editor/layers/types/html/editor/editor-content.svelte +60 -0
  110. package/dist/components/presentation-editor/layers/types/html/editor/editor-content.svelte.d.ts +5 -0
  111. package/dist/components/presentation-editor/layers/types/html/editor/index.d.ts +3 -0
  112. package/dist/components/presentation-editor/layers/types/html/editor/index.js +3 -0
  113. package/dist/components/presentation-editor/layers/types/html/editor/types.d.ts +10 -0
  114. package/dist/components/presentation-editor/layers/types/html/editor/types.js +1 -0
  115. package/dist/components/presentation-editor/layers/types/html/editor.css +7 -0
  116. package/dist/components/presentation-editor/layers/types/html/extensions/font-size/font-size.d.ts +20 -0
  117. package/dist/components/presentation-editor/layers/types/html/extensions/font-size/font-size.js +44 -0
  118. package/dist/components/presentation-editor/layers/types/html/extensions/font-size/index.d.ts +3 -0
  119. package/dist/components/presentation-editor/layers/types/html/extensions/font-size/index.js +3 -0
  120. package/dist/components/presentation-editor/layers/types/html/extensions/line-height/index.d.ts +3 -0
  121. package/dist/components/presentation-editor/layers/types/html/extensions/line-height/index.js +3 -0
  122. package/dist/components/presentation-editor/layers/types/html/extensions/line-height/line-height.d.ts +22 -0
  123. package/dist/components/presentation-editor/layers/types/html/extensions/line-height/line-height.js +44 -0
  124. package/dist/components/presentation-editor/layers/types/html/extensions/selection/index.d.ts +3 -0
  125. package/dist/components/presentation-editor/layers/types/html/extensions/selection/index.js +3 -0
  126. package/dist/components/presentation-editor/layers/types/html/extensions/selection/selection.d.ts +3 -0
  127. package/dist/components/presentation-editor/layers/types/html/extensions/selection/selection.js +30 -0
  128. package/dist/components/presentation-editor/layers/types/html/extensions/text-transform/index.d.ts +3 -0
  129. package/dist/components/presentation-editor/layers/types/html/extensions/text-transform/index.js +3 -0
  130. package/dist/components/presentation-editor/layers/types/html/extensions/text-transform/text-transform.d.ts +20 -0
  131. package/dist/components/presentation-editor/layers/types/html/extensions/text-transform/text-transform.js +50 -0
  132. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/index.d.ts +3 -0
  133. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/index.js +3 -0
  134. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/unstyled-list.d.ts +47 -0
  135. package/dist/components/presentation-editor/layers/types/html/extensions/unstyled-list/unstyled-list.js +74 -0
  136. package/dist/components/presentation-editor/layers/types/html/html-content.svelte +21 -0
  137. package/dist/components/presentation-editor/layers/types/html/html-content.svelte.d.ts +5 -0
  138. package/dist/components/presentation-editor/layers/types/html/html-layer-active.svelte +159 -0
  139. package/dist/components/presentation-editor/layers/types/html/html-layer-active.svelte.d.ts +8 -0
  140. package/dist/components/presentation-editor/layers/types/html/html-layer-buttons.svelte +42 -0
  141. package/dist/components/presentation-editor/layers/types/html/html-layer-buttons.svelte.d.ts +10 -0
  142. package/dist/components/presentation-editor/layers/types/html/html-layer-thumb.svelte +24 -0
  143. package/dist/components/presentation-editor/layers/types/html/html-layer-thumb.svelte.d.ts +8 -0
  144. package/dist/components/presentation-editor/layers/types/html/html-layer.svelte +97 -0
  145. package/dist/components/presentation-editor/layers/types/html/html-layer.svelte.d.ts +7 -0
  146. package/dist/components/presentation-editor/layers/types/html/index.d.ts +7 -0
  147. package/dist/components/presentation-editor/layers/types/html/index.js +58 -0
  148. package/dist/components/presentation-editor/layers/types/image/image-content.svelte +96 -0
  149. package/dist/components/presentation-editor/layers/types/image/image-content.svelte.d.ts +8 -0
  150. package/dist/components/presentation-editor/layers/types/image/image-layer-active.svelte +39 -0
  151. package/dist/components/presentation-editor/layers/types/image/image-layer-active.svelte.d.ts +7 -0
  152. package/dist/components/presentation-editor/layers/types/image/image-layer-buttons.svelte +21 -0
  153. package/dist/components/presentation-editor/layers/types/image/image-layer-buttons.svelte.d.ts +7 -0
  154. package/dist/components/presentation-editor/layers/types/image/image-layer-thumb.svelte +13 -0
  155. package/dist/components/presentation-editor/layers/types/image/image-layer-thumb.svelte.d.ts +8 -0
  156. package/dist/components/presentation-editor/layers/types/image/image-layer.svelte +80 -0
  157. package/dist/components/presentation-editor/layers/types/image/image-layer.svelte.d.ts +7 -0
  158. package/dist/components/presentation-editor/layers/types/image/index.d.ts +5 -0
  159. package/dist/components/presentation-editor/layers/types/image/index.js +5 -0
  160. package/dist/components/presentation-editor/layers/utils.d.ts +32 -0
  161. package/dist/components/presentation-editor/layers/utils.js +92 -0
  162. package/dist/components/presentation-editor/presentation-editor.svelte +336 -0
  163. package/dist/components/presentation-editor/presentation-editor.svelte.d.ts +7 -0
  164. package/dist/components/presentation-editor/presentation-editor.svelte.js +352 -0
  165. package/dist/components/presentation-editor/sidebar/images-library.svelte +108 -0
  166. package/dist/components/presentation-editor/sidebar/images-library.svelte.d.ts +3 -0
  167. package/dist/components/presentation-editor/sidebar/layers.svelte +94 -0
  168. package/dist/components/presentation-editor/sidebar/layers.svelte.d.ts +18 -0
  169. package/dist/components/presentation-editor/sidebar/sidebar.svelte +20 -0
  170. package/dist/components/presentation-editor/sidebar/sidebar.svelte.d.ts +7 -0
  171. package/dist/components/presentation-editor/sidebar/uploads-image.svelte +64 -0
  172. package/dist/components/presentation-editor/sidebar/uploads-image.svelte.d.ts +5 -0
  173. package/dist/components/presentation-editor/slide-editor.svelte +106 -0
  174. package/dist/components/presentation-editor/slide-editor.svelte.d.ts +7 -0
  175. package/dist/components/presentation-editor/slide-inner.svelte +53 -0
  176. package/dist/components/presentation-editor/slide-inner.svelte.d.ts +18 -0
  177. package/dist/components/presentation-editor/slides-navigation/buttons/slide-delete-button.svelte +32 -0
  178. package/dist/components/presentation-editor/slides-navigation/buttons/slide-delete-button.svelte.d.ts +10 -0
  179. package/dist/components/presentation-editor/slides-navigation/buttons/slide-duplicate-button.svelte +34 -0
  180. package/dist/components/presentation-editor/slides-navigation/buttons/slide-duplicate-button.svelte.d.ts +10 -0
  181. package/dist/components/presentation-editor/slides-navigation/slide-preview.svelte +134 -0
  182. package/dist/components/presentation-editor/slides-navigation/slide-preview.svelte.d.ts +11 -0
  183. package/dist/components/presentation-editor/slides-navigation/slides-navigation.svelte +100 -0
  184. package/dist/components/presentation-editor/slides-navigation/slides-navigation.svelte.d.ts +3 -0
  185. package/dist/components/presentation-editor/snapping-guides.svelte +41 -0
  186. package/dist/components/presentation-editor/snapping-guides.svelte.d.ts +8 -0
  187. package/dist/components/presentation-editor/types.d.ts +118 -0
  188. package/dist/components/presentation-editor/types.js +1 -0
  189. package/dist/components/presentation-editor/utils.d.ts +5 -0
  190. package/dist/components/presentation-editor/utils.js +348 -0
  191. package/dist/components/ui/button/button.svelte +94 -0
  192. package/dist/components/ui/button/button.svelte.d.ts +155 -0
  193. package/dist/components/ui/button/index.d.ts +2 -0
  194. package/dist/components/ui/button/index.js +4 -0
  195. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +40 -0
  196. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +8 -0
  197. package/dist/components/ui/context-menu/context-menu-content.svelte +24 -0
  198. package/dist/components/ui/context-menu/context-menu-content.svelte.d.ts +7 -0
  199. package/dist/components/ui/context-menu/context-menu-group-heading.svelte +19 -0
  200. package/dist/components/ui/context-menu/context-menu-group-heading.svelte.d.ts +7 -0
  201. package/dist/components/ui/context-menu/context-menu-item.svelte +23 -0
  202. package/dist/components/ui/context-menu/context-menu-item.svelte.d.ts +7 -0
  203. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +30 -0
  204. package/dist/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +4 -0
  205. package/dist/components/ui/context-menu/context-menu-separator.svelte +16 -0
  206. package/dist/components/ui/context-menu/context-menu-separator.svelte.d.ts +4 -0
  207. package/dist/components/ui/context-menu/context-menu-shortcut.svelte +20 -0
  208. package/dist/components/ui/context-menu/context-menu-shortcut.svelte.d.ts +5 -0
  209. package/dist/components/ui/context-menu/context-menu-sub-content.svelte +19 -0
  210. package/dist/components/ui/context-menu/context-menu-sub-content.svelte.d.ts +4 -0
  211. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +28 -0
  212. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte.d.ts +7 -0
  213. package/dist/components/ui/context-menu/index.d.ts +16 -0
  214. package/dist/components/ui/context-menu/index.js +18 -0
  215. package/dist/components/ui/dialog/dialog-content.svelte +38 -0
  216. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +9 -0
  217. package/dist/components/ui/dialog/dialog-description.svelte +16 -0
  218. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  219. package/dist/components/ui/dialog/dialog-footer.svelte +20 -0
  220. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
  221. package/dist/components/ui/dialog/dialog-header.svelte +20 -0
  222. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  223. package/dist/components/ui/dialog/dialog-overlay.svelte +19 -0
  224. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  225. package/dist/components/ui/dialog/dialog-title.svelte +16 -0
  226. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  227. package/dist/components/ui/dialog/index.d.ts +12 -0
  228. package/dist/components/ui/dialog/index.js +14 -0
  229. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +40 -0
  230. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -0
  231. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +21 -0
  232. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +4 -0
  233. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +19 -0
  234. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +7 -0
  235. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +23 -0
  236. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +7 -0
  237. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +23 -0
  238. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  239. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +30 -0
  240. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  241. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +16 -0
  242. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  243. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
  244. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  245. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +19 -0
  246. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
  247. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +28 -0
  248. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  249. package/dist/components/ui/dropdown-menu/index.d.ts +25 -0
  250. package/dist/components/ui/dropdown-menu/index.js +17 -0
  251. package/dist/components/ui/input/index.d.ts +2 -0
  252. package/dist/components/ui/input/index.js +4 -0
  253. package/dist/components/ui/input/input.svelte +22 -0
  254. package/dist/components/ui/input/input.svelte.d.ts +5 -0
  255. package/dist/components/ui/label/index.d.ts +2 -0
  256. package/dist/components/ui/label/index.js +4 -0
  257. package/dist/components/ui/label/label.svelte +19 -0
  258. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  259. package/dist/components/ui/popover/index.d.ts +6 -0
  260. package/dist/components/ui/popover/index.js +8 -0
  261. package/dist/components/ui/popover/popover-content.svelte +25 -0
  262. package/dist/components/ui/popover/popover-content.svelte.d.ts +4 -0
  263. package/dist/components/ui/scroll-area/index.d.ts +3 -0
  264. package/dist/components/ui/scroll-area/index.js +5 -0
  265. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +29 -0
  266. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
  267. package/dist/components/ui/scroll-area/scroll-area.svelte +34 -0
  268. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +10 -0
  269. package/dist/components/ui/separator/index.d.ts +2 -0
  270. package/dist/components/ui/separator/index.js +4 -0
  271. package/dist/components/ui/separator/separator.svelte +22 -0
  272. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  273. package/dist/components/ui/slider/index.d.ts +2 -0
  274. package/dist/components/ui/slider/index.js +4 -0
  275. package/dist/components/ui/slider/slider.svelte +34 -0
  276. package/dist/components/ui/slider/slider.svelte.d.ts +4 -0
  277. package/dist/components/ui/toggle/index.d.ts +3 -0
  278. package/dist/components/ui/toggle/index.js +5 -0
  279. package/dist/components/ui/toggle/toggle.svelte +51 -0
  280. package/dist/components/ui/toggle/toggle.svelte.d.ts +90 -0
  281. package/dist/components/ui/tooltip/index.d.ts +6 -0
  282. package/dist/components/ui/tooltip/index.js +8 -0
  283. package/dist/components/ui/tooltip/tooltip-content.svelte +21 -0
  284. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +4 -0
  285. package/dist/index.d.ts +9 -0
  286. package/dist/index.js +8 -0
  287. package/dist/plugin.d.ts +5 -0
  288. package/dist/plugin.js +154 -0
  289. package/dist/utils.d.ts +6 -0
  290. package/dist/utils.js +31 -0
  291. package/package.json +99 -0
@@ -0,0 +1,106 @@
1
+ <script lang="ts">
2
+ import { ScrollArea } from '../ui/scroll-area/index.js';
3
+ import { cn } from '../../utils.js';
4
+ import {
5
+ ActiveLayerBorder,
6
+ HoveredLayer,
7
+ LayerWrapper,
8
+ BackgroundLayer,
9
+ HtmlLayer,
10
+ ImageLayer,
11
+ HtmlLayerActive,
12
+ ImageLayerActive,
13
+ ActiveBackgroundBorder,
14
+ } from './layers/index.js';
15
+ import type { ActiveLayerGuide, Layer } from './types.js';
16
+ import SnappingGuides from './snapping-guides.svelte';
17
+ import SlideInner from './slide-inner.svelte';
18
+ import { getPresentationEditorContext } from './presentation-editor.svelte.js';
19
+
20
+ interface Props {
21
+ viewportRef: HTMLDivElement | null;
22
+ wrapperRef: HTMLDivElement | null;
23
+ }
24
+
25
+ let { viewportRef = $bindable(null), wrapperRef = $bindable(null) }: Props = $props();
26
+
27
+ const editor = getPresentationEditorContext();
28
+
29
+ let activeLayerGuides: ActiveLayerGuide[] = $state([]);
30
+
31
+ let hoveredLayer: Layer | 'background' | null = $state(null);
32
+
33
+ let scaledWidth = $derived(editor.width * editor.zoom);
34
+ let scaledHeight = $derived(editor.height * editor.zoom);
35
+ </script>
36
+
37
+ <div class="relative min-h-0 flex-1">
38
+ <ScrollArea orientation="both" class="h-full" bind:viewportRef>
39
+ <div class="pointer-events-none flex min-h-full flex-1">
40
+ <div class="box-border flex w-full shrink-0 items-center justify-center p-0">
41
+ <div bind:this={wrapperRef} class="translate-x-0 translate-y-0 p-4 transition-transform">
42
+ <div class="relative flex flex-col items-center" data-slide-container>
43
+ <div
44
+ class="m-0 overflow-hidden shadow-xl"
45
+ style:width="{scaledWidth}px"
46
+ style:height="{scaledHeight}px"
47
+ >
48
+ <div
49
+ class="relative origin-top-left bg-white"
50
+ style:width="{editor.width}px"
51
+ style:height="{editor.height}px"
52
+ style:transform="scale({editor.zoom})"
53
+ >
54
+ <div
55
+ class="relative"
56
+ style:width="{editor.width}px"
57
+ style:height="{editor.height}px"
58
+ >
59
+ <BackgroundLayer bind:hoveredLayer />
60
+ <SlideInner />
61
+ {#each editor.activeSlide.layers as layer, i (layer.id)}
62
+ <LayerWrapper
63
+ bind:layer={editor.activeSlide.layers[i]}
64
+ bind:hoveredLayer
65
+ bind:activeLayerGuides
66
+ >
67
+ {#if editor.activeSlide.layers[i].type === 'html'}
68
+ <HtmlLayer bind:layer={editor.activeSlide.layers[i]} />
69
+ {:else if editor.activeSlide.layers[i].type === 'image'}
70
+ <ImageLayer bind:layer={editor.activeSlide.layers[i]} />
71
+ {/if}
72
+ </LayerWrapper>
73
+ {/each}
74
+ </div>
75
+ </div>
76
+ </div>
77
+ <div
78
+ class="absolute z-10 m-0"
79
+ style:width="{scaledWidth}px"
80
+ style:height="{scaledHeight}px"
81
+ >
82
+ {#if hoveredLayer && (hoveredLayer === 'background' || hoveredLayer.id !== editor.activeLayer?.id)}
83
+ <HoveredLayer layer={hoveredLayer} />
84
+ {/if}
85
+ {#if editor.activeBackground}
86
+ <ActiveBackgroundBorder />
87
+ {:else if editor.activeLayer}
88
+ <ActiveLayerBorder layer={editor.activeLayer} />
89
+ {#if editor.activeLayer.type === 'html'}
90
+ <HtmlLayerActive bind:layer={editor.activeLayer} />
91
+ {:else if editor.activeLayer.type === 'image'}
92
+ <ImageLayerActive bind:layer={editor.activeLayer} />
93
+ {/if}
94
+ {/if}
95
+ <SnappingGuides zoom={editor.zoom} guides={activeLayerGuides} />
96
+ </div>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ </ScrollArea>
102
+
103
+ {#if editor.activeAction?.cursor}
104
+ <div class={cn('fixed inset-0', editor.activeAction.cursor)}></div>
105
+ {/if}
106
+ </div>
@@ -0,0 +1,7 @@
1
+ interface Props {
2
+ viewportRef: HTMLDivElement | null;
3
+ wrapperRef: HTMLDivElement | null;
4
+ }
5
+ declare const SlideEditor: import("svelte").Component<Props, {}, "viewportRef" | "wrapperRef">;
6
+ type SlideEditor = ReturnType<typeof SlideEditor>;
7
+ export default SlideEditor;
@@ -0,0 +1,53 @@
1
+ <script lang="ts">
2
+ import { cn } from '../../utils.js';
3
+ import { getPresentationEditorContext } from './presentation-editor.svelte.js';
4
+
5
+ const editor = getPresentationEditorContext();
6
+
7
+ const inset = Math.round(Math.min(editor.width, editor.height) / 10);
8
+
9
+ const onDragEnter = (e: DragEvent) => {
10
+ console.log('dragenter slide inner', e);
11
+ e.preventDefault();
12
+ e.stopPropagation();
13
+
14
+ if (editor.dragged) {
15
+ editor.dragged = { ...editor.dragged, hidden: false, scale: editor.zoom, sticky: true };
16
+ }
17
+ };
18
+
19
+ const onDragOver = (e: DragEvent) => {
20
+ // console.log('dragover slide inner', e);
21
+ e.preventDefault();
22
+ };
23
+
24
+ const onDrop = (e: DragEvent) => {
25
+ console.log('drop slide inner', e);
26
+ e.preventDefault();
27
+
28
+ const { dragged } = editor;
29
+ if (dragged) {
30
+ editor.addImageLayer({
31
+ x: e.offsetX - dragged.offsetX / editor.zoom + inset,
32
+ y: e.offsetY - dragged.offsetY / editor.zoom + inset,
33
+ width: dragged.image.width,
34
+ height: dragged.image.height,
35
+ image: {
36
+ id: dragged.image.id,
37
+ src: dragged.image.src,
38
+ width: dragged.image.width,
39
+ height: dragged.image.height,
40
+ },
41
+ });
42
+ }
43
+ };
44
+ </script>
45
+
46
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
47
+ <div
48
+ class={cn('absolute', { 'pointer-events-auto': !!editor.dragged })}
49
+ style:inset="{inset}px"
50
+ ondragenter={onDragEnter}
51
+ ondragover={onDragOver}
52
+ ondrop={onDrop}
53
+ ></div>
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const SlideInner: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type SlideInner = InstanceType<typeof SlideInner>;
18
+ export default SlideInner;
@@ -0,0 +1,32 @@
1
+ <script lang="ts">
2
+ import TrashIcon from 'lucide-svelte/icons/trash-2';
3
+ import type { PresentationEditor } from '../../presentation-editor.svelte.js';
4
+ import * as ContextMenu from '../../../ui/context-menu/index.js';
5
+ import * as DropdownMenu from '../../../ui/dropdown-menu/index.js';
6
+ import type { Slide } from '../../types.js';
7
+
8
+ interface Props {
9
+ editor: PresentationEditor;
10
+ slide: Slide;
11
+ context?: boolean;
12
+ }
13
+
14
+ let { editor, slide, context }: Props = $props();
15
+
16
+ const ItemComponent = context ? ContextMenu.Item : DropdownMenu.Item;
17
+ const ShortcutComponent = context ? ContextMenu.Shortcut : DropdownMenu.Shortcut;
18
+ </script>
19
+
20
+ <ItemComponent onclick={() => editor.removeSlide(slide)}>
21
+ <div class="flex items-center">
22
+ <TrashIcon class="text-foreground-alt mr-2 size-5" />
23
+ Delete Page
24
+ </div>
25
+ <ShortcutComponent>
26
+ <kbd
27
+ class="bg-muted text-muted-foreground inline-flex items-center justify-center rounded-sm px-2 py-1 text-xs"
28
+ >
29
+ DELETE
30
+ </kbd>
31
+ </ShortcutComponent>
32
+ </ItemComponent>
@@ -0,0 +1,10 @@
1
+ import type { PresentationEditor } from '../../presentation-editor.svelte.js';
2
+ import type { Slide } from '../../types.js';
3
+ interface Props {
4
+ editor: PresentationEditor;
5
+ slide: Slide;
6
+ context?: boolean;
7
+ }
8
+ declare const SlideDeleteButton: import("svelte").Component<Props, {}, "">;
9
+ type SlideDeleteButton = ReturnType<typeof SlideDeleteButton>;
10
+ export default SlideDeleteButton;
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import DuplicateIcon from 'lucide-svelte/icons/copy-plus';
3
+ import type { PresentationEditor } from '../../presentation-editor.svelte.js';
4
+ import * as ContextMenu from '../../../ui/context-menu/index.js';
5
+ import * as DropdownMenu from '../../../ui/dropdown-menu/index.js';
6
+ import type { Slide } from '../../types.js';
7
+
8
+ interface Props {
9
+ editor: PresentationEditor;
10
+ slide: Slide;
11
+ context?: boolean;
12
+ }
13
+
14
+ let { editor, slide, context }: Props = $props();
15
+
16
+ const ItemComponent = context ? ContextMenu.Item : DropdownMenu.Item;
17
+ const ShortcutComponent = context ? ContextMenu.Shortcut : DropdownMenu.Shortcut;
18
+
19
+ const isMac = /Mac OS X/.test(navigator.userAgent);
20
+ </script>
21
+
22
+ <ItemComponent onclick={() => editor.duplicateSlide(slide)}>
23
+ <div class="flex items-center">
24
+ <DuplicateIcon class="text-foreground-alt mr-2 size-5" />
25
+ Duplicate Page
26
+ </div>
27
+ <ShortcutComponent>
28
+ <kbd
29
+ class="bg-muted text-muted-foreground inline-flex items-center justify-center rounded-sm px-2 py-1 text-xs"
30
+ >
31
+ {isMac ? '⌘D' : 'Ctrl+D'}
32
+ </kbd>
33
+ </ShortcutComponent>
34
+ </ItemComponent>
@@ -0,0 +1,10 @@
1
+ import type { PresentationEditor } from '../../presentation-editor.svelte.js';
2
+ import type { Slide } from '../../types.js';
3
+ interface Props {
4
+ editor: PresentationEditor;
5
+ slide: Slide;
6
+ context?: boolean;
7
+ }
8
+ declare const SlideDuplicateButton: import("svelte").Component<Props, {}, "">;
9
+ type SlideDuplicateButton = ReturnType<typeof SlideDuplicateButton>;
10
+ export default SlideDuplicateButton;
@@ -0,0 +1,134 @@
1
+ <script lang="ts">
2
+ import { dragHandle } from 'svelte-dnd-action';
3
+ import PlusIcon from 'lucide-svelte/icons/plus';
4
+ import EllipsisIcon from 'lucide-svelte/icons/ellipsis';
5
+ import { Button, buttonVariants } from '../../ui/button/index.js';
6
+ import * as ContextMenu from '../../ui/context-menu/index.js';
7
+ import * as DropdownMenu from '../../ui/dropdown-menu/index.js';
8
+ import {
9
+ BackgroundLayerThumb,
10
+ HtmlLayerThumb,
11
+ ImageLayerThumb,
12
+ LayerThumbWrapper,
13
+ } from '../layers/index.js';
14
+ import { cn } from '../../../utils.js';
15
+ import SlideDeleteButton from './buttons/slide-delete-button.svelte';
16
+ import SlideDuplicateButton from './buttons/slide-duplicate-button.svelte';
17
+ import type { PresentationEditor } from '../presentation-editor.svelte.js';
18
+ import type { Slide } from '../types.js';
19
+
20
+ interface Props {
21
+ editor: PresentationEditor;
22
+ slide: Slide;
23
+ index: number;
24
+ thumbScale: number;
25
+ }
26
+
27
+ let { editor, slide, index, thumbScale }: Props = $props();
28
+
29
+ let menuOpen = $state(false);
30
+ </script>
31
+
32
+ <div class="flex items-center">
33
+ <div class="group h-full">
34
+ <div class="absolute -left-2 top-0 z-20 h-full w-4 group-hover:w-16"></div>
35
+ <div
36
+ class="relative z-30 flex h-full w-0 items-center justify-center transition-all duration-300 group-hover:w-6"
37
+ >
38
+ <div
39
+ class="absolute inline-flex flex-col opacity-0 transition-opacity duration-500 group-hover:opacity-100"
40
+ role="menu"
41
+ >
42
+ <Button
43
+ variant="outline"
44
+ size="icon-xs"
45
+ class="my-1 h-6 w-6 rounded-full"
46
+ onclick={() => editor.addSlide({ index })}
47
+ >
48
+ <PlusIcon class="h-4 w-4" />
49
+ </Button>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <div use:dragHandle class="group relative mx-2 my-1 transition-transform" role="none">
54
+ <button class="block" onclick={() => editor.setActiveSlide(slide.id)}>
55
+ <ContextMenu.Root>
56
+ <ContextMenu.Trigger>
57
+ <div
58
+ class={cn(
59
+ 'relative',
60
+ {
61
+ 'after:absolute after:inset-0 after:rounded-xl after:border-2':
62
+ editor.activeSlide === slide,
63
+ },
64
+ editor.slideSelected ? 'after:border-purple-500' : 'after:border-gray-400',
65
+ )}
66
+ >
67
+ <div
68
+ class="relative overflow-hidden rounded-lg bg-white"
69
+ style:clip-path={editor.activeSlide === slide
70
+ ? 'inset(5px round 8px)'
71
+ : 'inset(0px round 10px)'}
72
+ style:width="{editor.width * thumbScale}px"
73
+ style:height="{editor.height * thumbScale}px"
74
+ >
75
+ <BackgroundLayerThumb {slide} />
76
+ {#each slide.layers as layer (layer.id)}
77
+ <LayerThumbWrapper {layer} thumb={thumbScale}>
78
+ {#snippet children({ thumbScale })}
79
+ {#if layer.type === 'html'}
80
+ <HtmlLayerThumb {layer} {thumbScale} />
81
+ {:else if layer.type === 'image'}
82
+ <ImageLayerThumb {layer} {thumbScale} />
83
+ {/if}
84
+ {/snippet}
85
+ </LayerThumbWrapper>
86
+ {/each}
87
+ </div>
88
+ </div>
89
+ </ContextMenu.Trigger>
90
+ <ContextMenu.Content class="w-72">
91
+ <SlideDuplicateButton {editor} {slide} />
92
+ <SlideDeleteButton {editor} {slide} context={true} />
93
+ </ContextMenu.Content>
94
+ </ContextMenu.Root>
95
+ </button>
96
+ <div
97
+ class={cn(
98
+ 'pointer-events-none absolute z-10 flex flex-col-reverse flex-wrap overflow-hidden',
99
+ )}
100
+ style:inset={editor.activeSlide === slide ? '5px' : '0'}
101
+ style:border-radius={editor.activeSlide === slide ? '8px' : '10px'}
102
+ >
103
+ <div
104
+ class="flex h-8 min-h-5 w-8 max-w-full items-end overflow-hidden rounded-bl-md rounded-br-md"
105
+ style:background={`radial-gradient(100% 120% at 0% 120%, rgba(255, 255, 255, 0.8) 55%, rgba(0, 0, 0, 0))`}
106
+ >
107
+ <div class="relative flex h-5 items-center px-2">
108
+ <p class="text-xs font-semibold">{index + 1}</p>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ <div
113
+ class={cn('absolute right-0 top-0 px-2 py-1 opacity-0 group-hover:opacity-100', {
114
+ 'opacity-100': menuOpen,
115
+ })}
116
+ >
117
+ <DropdownMenu.Root bind:open={menuOpen}>
118
+ <DropdownMenu.Trigger
119
+ class={buttonVariants({
120
+ variant: 'default',
121
+ class: 'h-4 rounded-full px-1.5 py-0',
122
+ })}
123
+ >
124
+ <EllipsisIcon />
125
+ </DropdownMenu.Trigger>
126
+
127
+ <DropdownMenu.Content side="top" align="start" class="w-72">
128
+ <SlideDuplicateButton {editor} {slide} />
129
+ <SlideDeleteButton {editor} {slide} />
130
+ </DropdownMenu.Content>
131
+ </DropdownMenu.Root>
132
+ </div>
133
+ </div>
134
+ </div>
@@ -0,0 +1,11 @@
1
+ import type { PresentationEditor } from '../presentation-editor.svelte.js';
2
+ import type { Slide } from '../types.js';
3
+ interface Props {
4
+ editor: PresentationEditor;
5
+ slide: Slide;
6
+ index: number;
7
+ thumbScale: number;
8
+ }
9
+ declare const SlidePreview: import("svelte").Component<Props, {}, "">;
10
+ type SlidePreview = ReturnType<typeof SlidePreview>;
11
+ export default SlidePreview;
@@ -0,0 +1,100 @@
1
+ <script lang="ts">
2
+ import { flip } from 'svelte/animate';
3
+ import { dragHandleZone } from 'svelte-dnd-action';
4
+ import PlusIcon from 'lucide-svelte/icons/plus';
5
+ import { getPresentationEditorContext } from '../presentation-editor.svelte.js';
6
+ import SlidePreview from './slide-preview.svelte';
7
+
8
+ const editor = getPresentationEditorContext();
9
+
10
+ const height = 72;
11
+
12
+ let thumbScale = $derived(height / editor.height);
13
+
14
+ const flipDurationMs = 300;
15
+ const otherOptions = { flipDurationMs, type: 'slides', dropTargetStyle: {} };
16
+
17
+ function handleDndConsider(e) {
18
+ editor.slides = e.detail.items;
19
+ }
20
+
21
+ async function handleDndFinalize(e) {
22
+ console.log('handleDndFinalize', e);
23
+
24
+ editor.slides = e.detail.items;
25
+
26
+ const index = editor.findSlideIndex(e.detail.info.id);
27
+ const item = editor.slides[index];
28
+
29
+ const prev = editor.slides[index - 1];
30
+ const next = editor.slides[index + 1];
31
+
32
+ // const index = e.detail.items.findIndex((item) => item.id === e.detail.info.id);
33
+ // const item = e.detail.items[index];
34
+
35
+ let redo;
36
+ // const prev = e.detail.items[index - 1];
37
+ // const next = e.detail.items[index + 1];
38
+ if (prev && next) {
39
+ if (!(prev.sortOrder < item.sortOrder && next.sortOrder > item.sortOrder)) {
40
+ redo = { sortOrder: (prev.sortOrder + next.sortOrder) / 2 };
41
+ }
42
+ } else if (next) {
43
+ if (next && next.sortOrder <= item.sortOrder) {
44
+ redo = { sortOrder: next.sortOrder - 1 };
45
+ }
46
+ } else if (prev) {
47
+ if (prev && prev.sortOrder >= item.sortOrder) {
48
+ redo = { sortOrder: prev.sortOrder + 1 };
49
+ }
50
+ }
51
+
52
+ if (redo) {
53
+ editor.historyPush(
54
+ {
55
+ type: 'slide',
56
+ undo: { sortOrder: item.sortOrder },
57
+ redo,
58
+ },
59
+ item.id,
60
+ );
61
+ }
62
+ }
63
+ </script>
64
+
65
+ <nav class="relative flex w-full flex-nowrap justify-center">
66
+ <div class="flex w-fit max-w-full overflow-x-auto">
67
+ <section
68
+ class="flex"
69
+ aria-label="Slides"
70
+ use:dragHandleZone={{ items: editor.slides, ...otherOptions }}
71
+ onconsider={handleDndConsider}
72
+ onfinalize={handleDndFinalize}
73
+ >
74
+ {#each editor.slides as slide, index (slide.id)}
75
+ <div
76
+ class="relative py-2"
77
+ aria-label="Page {index + 1}"
78
+ animate:flip={{ duration: flipDurationMs }}
79
+ >
80
+ <SlidePreview {editor} {slide} {index} {thumbScale} />
81
+ </div>
82
+ {/each}
83
+ </section>
84
+ <div class="relative py-2" role="none">
85
+ <button
86
+ class="mx-2 my-1 rounded-xl"
87
+ aria-label="New Page"
88
+ onclick={() => editor.addSlide({ index: editor.slides.length })}
89
+ >
90
+ <div
91
+ class="relative flex items-center justify-center overflow-hidden rounded-lg bg-gray-400"
92
+ style:width="{editor.width * thumbScale}px"
93
+ style:height="{editor.height * thumbScale}px"
94
+ >
95
+ <PlusIcon class="h-6 w-6" />
96
+ </div>
97
+ </button>
98
+ </div>
99
+ </div>
100
+ </nav>
@@ -0,0 +1,3 @@
1
+ declare const SlidesNavigation: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type SlidesNavigation = ReturnType<typeof SlidesNavigation>;
3
+ export default SlidesNavigation;
@@ -0,0 +1,41 @@
1
+ <script lang="ts">
2
+ import type { ActiveLayerGuide } from './types.js';
3
+ import { cn } from '../../utils.js';
4
+
5
+ interface Props {
6
+ guides: ActiveLayerGuide[];
7
+ zoom: number;
8
+ }
9
+
10
+ let { guides, zoom }: Props = $props();
11
+ </script>
12
+
13
+ <div class="absolute h-full w-full">
14
+ {#each guides as guide (guide.id)}
15
+ {#if guide.type === 'box'}
16
+ <div class="absolute border border-purple-500" style:inset="{guide.inset * zoom}px"></div>
17
+ {:else if guide.type === 'vertical'}
18
+ <div
19
+ class={cn(
20
+ 'absolute h-full border-l border-purple-500',
21
+ guide.style === 'dashed' && 'border-dashed',
22
+ guide.style === 'dotted' && 'border-dotted',
23
+ )}
24
+ style:left="{guide.x * zoom}px"
25
+ style:top="{guide.y * zoom}px"
26
+ style:height="{guide.length * zoom}px"
27
+ ></div>
28
+ {:else if guide.type === 'horizontal'}
29
+ <div
30
+ class={cn(
31
+ 'absolute w-full border-t border-purple-500',
32
+ guide.style === 'dashed' && 'border-dashed',
33
+ guide.style === 'dotted' && 'border-dotted',
34
+ )}
35
+ style:left="{guide.x * zoom}px"
36
+ style:top="{guide.y * zoom}px"
37
+ style:width="{guide.length * zoom}px"
38
+ ></div>
39
+ {/if}
40
+ {/each}
41
+ </div>
@@ -0,0 +1,8 @@
1
+ import type { ActiveLayerGuide } from './types.js';
2
+ interface Props {
3
+ guides: ActiveLayerGuide[];
4
+ zoom: number;
5
+ }
6
+ declare const SnappingGuides: import("svelte").Component<Props, {}, "">;
7
+ type SnappingGuides = ReturnType<typeof SnappingGuides>;
8
+ export default SnappingGuides;