@widgetic/editor 3.11.4 → 4.0.2

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 (497) hide show
  1. package/README.md +245 -0
  2. package/dist/assets/fonts.json +331 -0
  3. package/dist/assets/icons/ic-browser/audio.svg +7 -0
  4. package/dist/assets/icons/ic-browser/document.svg +11 -0
  5. package/dist/assets/icons/ic-browser/error.svg +5 -0
  6. package/dist/assets/icons/ic-browser/folder.svg +28 -0
  7. package/dist/assets/icons/ic-browser/player-pause.svg +1 -0
  8. package/dist/assets/icons/ic-browser/player-play.svg +1 -0
  9. package/dist/assets/icons/ic-browser/trash.svg +1 -0
  10. package/dist/assets/icons/ic-fixed-position/background-deselected.svg +3 -0
  11. package/dist/assets/icons/ic-fixed-position/background-selected.svg +3 -0
  12. package/dist/assets/icons/ic-fixed-position/bottom-left-background-deselected.svg +3 -0
  13. package/dist/assets/icons/ic-fixed-position/bottom-left-background-selected.svg +3 -0
  14. package/dist/assets/icons/ic-fixed-position/bottom-left-icon.svg +4 -0
  15. package/dist/assets/icons/ic-fixed-position/bottom-right-background-deselected.svg +3 -0
  16. package/dist/assets/icons/ic-fixed-position/bottom-right-background-selected.svg +3 -0
  17. package/dist/assets/icons/ic-fixed-position/bottom-right-icon.svg +4 -0
  18. package/dist/assets/icons/ic-fixed-position/center-bottom-icon.svg +5 -0
  19. package/dist/assets/icons/ic-fixed-position/center-center-icon.svg +3 -0
  20. package/dist/assets/icons/ic-fixed-position/center-left-icon.svg +5 -0
  21. package/dist/assets/icons/ic-fixed-position/center-right-icon.svg +5 -0
  22. package/dist/assets/icons/ic-fixed-position/center-top-icon.svg +5 -0
  23. package/dist/assets/icons/ic-fixed-position/top-left-background-deselected.svg +3 -0
  24. package/dist/assets/icons/ic-fixed-position/top-left-background-selected.svg +3 -0
  25. package/dist/assets/icons/ic-fixed-position/top-left-icon.svg +4 -0
  26. package/dist/assets/icons/ic-fixed-position/top-right-background-deselected.svg +3 -0
  27. package/dist/assets/icons/ic-fixed-position/top-right-background-selected.svg +3 -0
  28. package/dist/assets/icons/ic-fixed-position/top-right-icon.svg +4 -0
  29. package/dist/assets/icons/trash.svg +1 -0
  30. package/dist/components/MockWidget.svelte +108 -0
  31. package/dist/components/MockWidget.svelte.d.ts +22 -0
  32. package/dist/components/WidgetPreview.svelte +852 -0
  33. package/dist/components/WidgetPreview.svelte.d.ts +100 -0
  34. package/dist/components/color-select/ColorSelect.svelte +258 -0
  35. package/dist/components/color-select/ColorSelect.svelte.d.ts +42 -0
  36. package/dist/components/color-select/color.d.ts +25 -0
  37. package/dist/components/color-select/color.js +21 -0
  38. package/dist/components/color-select/constants.d.ts +5 -0
  39. package/dist/components/color-select/constants.js +5 -0
  40. package/dist/components/color-select/render.d.ts +5 -0
  41. package/dist/components/color-select/render.js +77 -0
  42. package/dist/components/color-select/shaders.d.ts +3 -0
  43. package/dist/components/color-select/shaders.js +8 -0
  44. package/dist/components/editors/EmbedEditor.svelte +700 -0
  45. package/dist/components/editors/EmbedEditor.svelte.d.ts +50 -0
  46. package/dist/components/editors/PropsEditor.svelte +4009 -0
  47. package/dist/components/editors/PropsEditor.svelte.d.ts +62 -0
  48. package/dist/components/editors/props-editor.css +73 -0
  49. package/dist/components/ic/AngleInputController.svelte +276 -0
  50. package/dist/components/ic/AngleInputController.svelte.d.ts +26 -0
  51. package/dist/components/ic/BrowserInputController.svelte +731 -0
  52. package/dist/components/ic/BrowserInputController.svelte.d.ts +39 -0
  53. package/dist/components/ic/CheckboxInputController.svelte +203 -0
  54. package/dist/components/ic/CheckboxInputController.svelte.d.ts +41 -0
  55. package/dist/components/ic/ColorPickerInputController.svelte +1584 -0
  56. package/dist/components/ic/ColorPickerInputController.svelte.d.ts +50 -0
  57. package/dist/components/ic/DateFieldInputController.svelte +453 -0
  58. package/dist/components/ic/DateFieldInputController.svelte.d.ts +35 -0
  59. package/dist/components/ic/DatePickerInputController.svelte +364 -0
  60. package/dist/components/ic/DatePickerInputController.svelte.d.ts +28 -0
  61. package/dist/components/ic/DropdownInputController.svelte +226 -0
  62. package/dist/components/ic/DropdownInputController.svelte.d.ts +43 -0
  63. package/dist/components/ic/FixedPositionInputController.svelte +353 -0
  64. package/dist/components/ic/FixedPositionInputController.svelte.d.ts +23 -0
  65. package/dist/components/ic/FontInputController.svelte +2098 -0
  66. package/dist/components/ic/FontInputController.svelte.d.ts +47 -0
  67. package/dist/components/ic/InputControllerHeader.svelte +147 -0
  68. package/dist/components/ic/InputControllerHeader.svelte.d.ts +23 -0
  69. package/dist/components/ic/NumberControls.svelte +299 -0
  70. package/dist/components/ic/NumberControls.svelte.d.ts +30 -0
  71. package/dist/components/ic/NumberInputController.svelte +397 -0
  72. package/dist/components/ic/NumberInputController.svelte.d.ts +30 -0
  73. package/dist/components/ic/PositionInputController.svelte +252 -0
  74. package/dist/components/ic/PositionInputController.svelte.d.ts +37 -0
  75. package/dist/components/ic/RadioGroupInputController.svelte +162 -0
  76. package/dist/components/ic/RadioGroupInputController.svelte.d.ts +38 -0
  77. package/dist/components/ic/RangeCalendarInputController.svelte +262 -0
  78. package/dist/components/ic/RangeCalendarInputController.svelte.d.ts +32 -0
  79. package/dist/components/ic/RoundedCornersInputController.svelte +469 -0
  80. package/dist/components/ic/RoundedCornersInputController.svelte.d.ts +37 -0
  81. package/dist/components/ic/SliderInputController.svelte +411 -0
  82. package/dist/components/ic/SliderInputController.svelte.d.ts +46 -0
  83. package/dist/components/ic/SliderRangeInputController.svelte +155 -0
  84. package/dist/components/ic/SliderRangeInputController.svelte.d.ts +33 -0
  85. package/dist/components/ic/SwitchInputController.svelte +107 -0
  86. package/dist/components/ic/SwitchInputController.svelte.d.ts +24 -0
  87. package/dist/components/ic/TagsInputController.svelte +125 -0
  88. package/dist/components/ic/TagsInputController.svelte.d.ts +27 -0
  89. package/dist/components/ic/TextAreaInputController.svelte +1932 -0
  90. package/dist/components/ic/TextAreaInputController.svelte.d.ts +14 -0
  91. package/dist/components/ic/TextAreaPreviewInputController.svelte +478 -0
  92. package/dist/components/ic/TextAreaPreviewInputController.svelte.d.ts +28 -0
  93. package/dist/components/ic/TextInputController.svelte +70 -0
  94. package/dist/components/ic/TextInputController.svelte.d.ts +30 -0
  95. package/dist/components/ic/TimeInputController.svelte +434 -0
  96. package/dist/components/ic/TimeInputController.svelte.d.ts +25 -0
  97. package/dist/components/ic/VectorInputController.svelte +1826 -0
  98. package/dist/components/ic/VectorInputController.svelte.d.ts +47 -0
  99. package/dist/components/ic/index.d.ts +39 -0
  100. package/dist/components/ic/index.js +24 -0
  101. package/dist/components/ic/shared/CategoryTabs.svelte +40 -0
  102. package/dist/components/ic/shared/CategoryTabs.svelte.d.ts +25 -0
  103. package/dist/components/ic/shared/ItemGrid.svelte +181 -0
  104. package/dist/components/ic/shared/ItemGrid.svelte.d.ts +35 -0
  105. package/dist/components/ic/shared/RecentItemsSection.svelte +260 -0
  106. package/dist/components/ic/shared/RecentItemsSection.svelte.d.ts +35 -0
  107. package/dist/components/ic/shared/index.d.ts +8 -0
  108. package/dist/components/ic/shared/index.js +9 -0
  109. package/dist/components/icons/addnew.svelte +21 -0
  110. package/dist/components/icons/addnew.svelte.d.ts +20 -0
  111. package/dist/components/icons/drag.svelte +29 -0
  112. package/dist/components/icons/drag.svelte.d.ts +20 -0
  113. package/dist/components/icons/drag.svg +1 -0
  114. package/dist/components/icons/locked.svelte +4 -0
  115. package/dist/components/icons/locked.svelte.d.ts +26 -0
  116. package/dist/components/icons/locked.svg +4 -0
  117. package/dist/components/icons/ok.svelte +20 -0
  118. package/dist/components/icons/ok.svelte.d.ts +20 -0
  119. package/dist/components/icons/ok.svg +11 -0
  120. package/dist/components/icons/unlocked.svelte +4 -0
  121. package/dist/components/icons/unlocked.svelte.d.ts +26 -0
  122. package/dist/components/icons/unlocked.svg +4 -0
  123. package/dist/components/icons/x.svelte +14 -0
  124. package/dist/components/icons/x.svelte.d.ts +20 -0
  125. package/dist/components/icons/x.svg +5 -0
  126. package/dist/components/ui/arrows/OpacitySliderArrows.svelte +43 -0
  127. package/dist/components/ui/arrows/OpacitySliderArrows.svelte.d.ts +23 -0
  128. package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte +15 -0
  129. package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte.d.ts +20 -0
  130. package/dist/config.d.ts +11 -0
  131. package/dist/config.js +31 -0
  132. package/dist/index.d.ts +5 -0
  133. package/dist/index.js +9 -0
  134. package/dist/stores/userSession.d.ts +7 -0
  135. package/dist/stores/userSession.js +28 -0
  136. package/dist/utils/FontManager.d.ts +278 -0
  137. package/dist/utils/FontManager.js +1302 -0
  138. package/dist/utils/MediaManager.d.ts +35 -0
  139. package/dist/utils/MediaManager.js +59 -0
  140. package/dist/utils/VectorManager.d.ts +190 -0
  141. package/dist/utils/VectorManager.js +754 -0
  142. package/dist/utils/colorAutocomplete.d.ts +10 -0
  143. package/dist/utils/colorAutocomplete.js +28 -0
  144. package/dist/utils/colorNames.d.ts +3 -0
  145. package/dist/utils/colorNames.js +152 -0
  146. package/dist/utils/colorTransparency.d.ts +52 -0
  147. package/dist/utils/colorTransparency.js +114 -0
  148. package/dist/utils/fontUtils.d.ts +34 -0
  149. package/dist/utils/fontUtils.js +132 -0
  150. package/dist/utils/passiveEvents.js +20 -0
  151. package/dist/utils/recentColors.d.ts +10 -0
  152. package/dist/utils/recentColors.js +63 -0
  153. package/dist/utils/skipFonts.d.ts +3 -0
  154. package/dist/utils/skipFonts.js +49 -0
  155. package/dist/utils/vectorUtils.d.ts +34 -0
  156. package/dist/utils/vectorUtils.js +71 -0
  157. package/dist/utils.d.ts +11 -0
  158. package/dist/utils.js +38 -0
  159. package/package.json +134 -74
  160. package/.babelrc +0 -10
  161. package/.bowerrc +0 -4
  162. package/.nvmrc +0 -1
  163. package/Gruntfile.coffee +0 -69
  164. package/bower.json +0 -28
  165. package/css/browser/entries/activateable.styl +0 -29
  166. package/css/browser/entries/audio.styl +0 -39
  167. package/css/browser/entries/folder.styl +0 -79
  168. package/css/browser/entries/image.styl +0 -26
  169. package/css/browser/entries/index.styl +0 -66
  170. package/css/browser/entries/rss.styl +0 -11
  171. package/css/browser/entries/video.styl +0 -11
  172. package/css/browser/index.styl +0 -86
  173. package/css/browser/intent/index.styl +0 -61
  174. package/css/browser/nav/index.styl +0 -73
  175. package/css/browser/social-browser.styl +0 -23
  176. package/css/controls/clock.styl +0 -110
  177. package/css/controls/config.styl +0 -6
  178. package/css/controls/control-audio-details.styl +0 -63
  179. package/css/controls/control-audio.styl +0 -28
  180. package/css/controls/control-browser.styl +0 -48
  181. package/css/controls/control-color.styl +0 -423
  182. package/css/controls/control-date_time.styl +0 -191
  183. package/css/controls/control-dropdown.styl +0 -79
  184. package/css/controls/control-font.styl +0 -147
  185. package/css/controls/control-image-details.styl +0 -35
  186. package/css/controls/control-image.styl +0 -43
  187. package/css/controls/control-order-picker.styl +0 -29
  188. package/css/controls/control-position.styl +0 -390
  189. package/css/controls/control-range.styl +0 -68
  190. package/css/controls/control-scale.styl +0 -30
  191. package/css/controls/control-slider.styl +0 -38
  192. package/css/controls/control-spinner.styl +0 -39
  193. package/css/controls/control-textarea.styl +0 -52
  194. package/css/controls/control-toggle.styl +0 -34
  195. package/css/controls/control-url.styl +0 -32
  196. package/css/controls/control-video-details.styl +0 -85
  197. package/css/controls/control-video.styl +0 -43
  198. package/css/controls/general.styl +0 -98
  199. package/css/controls/index.styl +0 -25
  200. package/css/editor/colors.styl +0 -7
  201. package/css/editor/content/directinput.styl +0 -47
  202. package/css/editor/content/index.styl +0 -111
  203. package/css/editor/content/message.styl +0 -53
  204. package/css/editor/content/tabs.styl +0 -75
  205. package/css/editor/copied-from-old-style.styl +0 -197
  206. package/css/editor/details/bulk-editor.styl +0 -104
  207. package/css/editor/details/index.styl +0 -21
  208. package/css/editor/details/item.styl +0 -153
  209. package/css/editor/embed.styl +0 -106
  210. package/css/editor/footer.styl +0 -180
  211. package/css/editor/full-editor.styl +0 -16
  212. package/css/editor/index.styl +0 -124
  213. package/css/editor/login-popup.styl +0 -13
  214. package/css/editor/preview.styl +0 -257
  215. package/css/editor/skin/editor/index.styl +0 -54
  216. package/css/editor/skin/editor/tabs.styl +0 -111
  217. package/css/editor/skin/index.styl +0 -138
  218. package/css/editor/skin/popup.styl +0 -152
  219. package/css/editor/skin/presets/dropdown.styl +0 -61
  220. package/css/editor/skin/presets/index.styl +0 -86
  221. package/css/editor/skin/presets/list.styl +0 -244
  222. package/css/editor/tooltips.styl +0 -85
  223. package/css/fonts.styl +0 -47
  224. package/css/icons/BlogvioEditor.dev.svg +0 -112
  225. package/css/icons.styl +0 -16
  226. package/css/img/arrow-right-rounded-v-small.png +0 -0
  227. package/css/img/browser-folder-separator.png +0 -0
  228. package/css/img/calendar-input-icons.png +0 -0
  229. package/css/img/check.png +0 -0
  230. package/css/img/close.png +0 -0
  231. package/css/img/composition/edit-icon.png +0 -0
  232. package/css/img/content/audio-icon.png +0 -0
  233. package/css/img/content/folder-icon.png +0 -0
  234. package/css/img/content/messages/error-background.png +0 -0
  235. package/css/img/content/messages/error-icon.png +0 -0
  236. package/css/img/content/messages/notification-background.png +0 -0
  237. package/css/img/content/messages/notification-icon.png +0 -0
  238. package/css/img/content/no-files-audio.png +0 -0
  239. package/css/img/content/no-files-image.png +0 -0
  240. package/css/img/content/no-files-video.png +0 -0
  241. package/css/img/content/no-files.png +0 -0
  242. package/css/img/content/rss-icon.png +0 -0
  243. package/css/img/content/selected.png +0 -0
  244. package/css/img/content/video-icon.png +0 -0
  245. package/css/img/content/with-control-text.png +0 -0
  246. package/css/img/control-dropdown-arrow.png +0 -0
  247. package/css/img/control-image-valid.png +0 -0
  248. package/css/img/control-position-icon.png +0 -0
  249. package/css/img/control-scale-lock-icon.png +0 -0
  250. package/css/img/control-slider-arrows-hover.png +0 -0
  251. package/css/img/control-slider-arrows.png +0 -0
  252. package/css/img/control-spinner-buttons-hover.png +0 -0
  253. package/css/img/control-spinner-buttons.png +0 -0
  254. package/css/img/control-textarea-bold-active.png +0 -0
  255. package/css/img/control-textarea-bold.png +0 -0
  256. package/css/img/control-textarea-italic-active.png +0 -0
  257. package/css/img/control-textarea-italic.png +0 -0
  258. package/css/img/control-textarea-underline-active.png +0 -0
  259. package/css/img/control-textarea-underline.png +0 -0
  260. package/css/img/custom-checkbox-sprite.png +0 -0
  261. package/css/img/details/item-collapse-icon.png +0 -0
  262. package/css/img/details/item-expand-icon.png +0 -0
  263. package/css/img/details/item-sort-icon.png +0 -0
  264. package/css/img/done-arrow.png +0 -0
  265. package/css/img/fb-logo-icon-w.png +0 -0
  266. package/css/img/grid-icons.png +0 -0
  267. package/css/img/icon-reference.png +0 -0
  268. package/css/img/indicator.png +0 -0
  269. package/css/img/loader.gif +0 -0
  270. package/css/img/loaders/audio-white.png +0 -0
  271. package/css/img/loaders/audio.png +0 -0
  272. package/css/img/loaders/photo-white.png +0 -0
  273. package/css/img/loaders/photo.png +0 -0
  274. package/css/img/loaders/util-white.png +0 -0
  275. package/css/img/loaders/util.png +0 -0
  276. package/css/img/loaders/video-white.png +0 -0
  277. package/css/img/loaders/video.png +0 -0
  278. package/css/img/maximize.png +0 -0
  279. package/css/img/minimize.png +0 -0
  280. package/css/img/next-btn.png +0 -0
  281. package/css/img/search-icon-sprite.png +0 -0
  282. package/css/img/services/blogvio.png +0 -0
  283. package/css/img/services/drive.png +0 -0
  284. package/css/img/services/dropbox-login.png +0 -0
  285. package/css/img/services/dropbox.png +0 -0
  286. package/css/img/services/facebook-login.png +0 -0
  287. package/css/img/services/facebook.png +0 -0
  288. package/css/img/services/flickr-login.png +0 -0
  289. package/css/img/services/flickr.png +0 -0
  290. package/css/img/services/instagram-login.png +0 -0
  291. package/css/img/services/instagram.png +0 -0
  292. package/css/img/services/text.png +0 -0
  293. package/css/img/services/uploads.png +0 -0
  294. package/css/img/services/uploads.svg +0 -689
  295. package/css/img/services/webaddress-bw.png +0 -0
  296. package/css/img/services/webaddress.png +0 -0
  297. package/css/img/services/webadress.png +0 -0
  298. package/css/img/services/websearch.png +0 -0
  299. package/css/img/services/wix.png +0 -0
  300. package/css/img/skin/item-active-indicator.png +0 -0
  301. package/css/img/skin/item-hover-icon.png +0 -0
  302. package/css/img/skin/overwrite.png +0 -0
  303. package/css/img/skin/popup-name-icon.png +0 -0
  304. package/css/img/skin/popup-save.png +0 -0
  305. package/css/img/skin/preset.png +0 -0
  306. package/css/img/skin/presets-arrow-purple.png +0 -0
  307. package/css/img/tw-icon-w.png +0 -0
  308. package/css/img/warning.png +0 -0
  309. package/css/img/white-rounded-check.png +0 -0
  310. package/css/index.styl +0 -9
  311. package/css/mixins.styl +0 -62
  312. package/css/scrollable.styl +0 -101
  313. package/karma.conf.js +0 -73
  314. package/lib/control.js +0 -1
  315. package/lib/controls.js +0 -1
  316. package/lib/core.editor.js +0 -4
  317. package/lib/core.js +0 -1
  318. package/lib/core.vendor.js +0 -3
  319. package/lib/dev/control.js +0 -845
  320. package/lib/dev/controls.js +0 -7774
  321. package/lib/dev/core.editor.js +0 -6439
  322. package/lib/dev/core.js +0 -1486
  323. package/lib/dev/core.vendor.js +0 -10708
  324. package/lib/dev/editor.css +0 -166
  325. package/lib/dev/editor.js +0 -29710
  326. package/lib/dev/editor.vendor.js +0 -15119
  327. package/lib/dev/jquery.nanoscroller.js.map +0 -10
  328. package/lib/editor.css +0 -167
  329. package/lib/editor.js +0 -49
  330. package/lib/editor.vendor.js +0 -11
  331. package/src/api/index.coffee +0 -23
  332. package/src/api/mixin.coffee +0 -89
  333. package/src/browser/controller/entry/audio.coffee +0 -38
  334. package/src/browser/controller/entry/button.coffee +0 -16
  335. package/src/browser/controller/entry/file.coffee +0 -35
  336. package/src/browser/controller/entry/folder.coffee +0 -14
  337. package/src/browser/controller/entry/image.coffee +0 -24
  338. package/src/browser/controller/entry/index.coffee +0 -18
  339. package/src/browser/controller/entry/rss.coffee +0 -5
  340. package/src/browser/controller/entry/video.coffee +0 -4
  341. package/src/browser/controller/index.coffee +0 -289
  342. package/src/browser/controller/instagram.coffee +0 -129
  343. package/src/browser/controller/navbar.coffee +0 -48
  344. package/src/browser/controller/social.coffee +0 -213
  345. package/src/browser/model/entry.coffee +0 -18
  346. package/src/browser/model/index.coffee +0 -34
  347. package/src/core/controller/font-loader.coffee +0 -65
  348. package/src/core/controller/lazyload.coffee +0 -14
  349. package/src/core/controller/overlay.coffee +0 -146
  350. package/src/core/controller/popup.coffee +0 -36
  351. package/src/core/controller/scrollable.coffee +0 -68
  352. package/src/core/controls/audio.coffee +0 -56
  353. package/src/core/controls/browser.coffee +0 -271
  354. package/src/core/controls/color.coffee +0 -121
  355. package/src/core/controls/date-time/calendar/index.coffee +0 -99
  356. package/src/core/controls/date-time/calendar/months.coffee +0 -52
  357. package/src/core/controls/date-time/calendar/years.coffee +0 -58
  358. package/src/core/controls/date-time/clock.coffee +0 -62
  359. package/src/core/controls/date-time/helper.coffee +0 -31
  360. package/src/core/controls/date-time/index.coffee +0 -62
  361. package/src/core/controls/date-time/popup.coffee +0 -56
  362. package/src/core/controls/details/audio.coffee +0 -33
  363. package/src/core/controls/details/image.coffee +0 -19
  364. package/src/core/controls/details/video.coffee +0 -14
  365. package/src/core/controls/dropdown.coffee +0 -100
  366. package/src/core/controls/font/font-item.coffee +0 -22
  367. package/src/core/controls/font/font-list.coffee +0 -108
  368. package/src/core/controls/font/fonts-popup.coffee +0 -91
  369. package/src/core/controls/font/index.coffee +0 -66
  370. package/src/core/controls/image.coffee +0 -37
  371. package/src/core/controls/index.coffee +0 -88
  372. package/src/core/controls/orderPicker.coffee +0 -93
  373. package/src/core/controls/position/grid-panel.coffee +0 -75
  374. package/src/core/controls/position/index.coffee +0 -98
  375. package/src/core/controls/position/panel.coffee +0 -68
  376. package/src/core/controls/position/pixel-panel.coffee +0 -54
  377. package/src/core/controls/position/popup.coffee +0 -63
  378. package/src/core/controls/position/reference-panel.coffee +0 -26
  379. package/src/core/controls/range.coffee +0 -191
  380. package/src/core/controls/rss.coffee +0 -16
  381. package/src/core/controls/scale.coffee +0 -78
  382. package/src/core/controls/slider.coffee +0 -122
  383. package/src/core/controls/stepper.coffee +0 -97
  384. package/src/core/controls/text.coffee +0 -54
  385. package/src/core/controls/textarea.coffee +0 -78
  386. package/src/core/controls/toggle.coffee +0 -29
  387. package/src/core/controls/url.coffee +0 -88
  388. package/src/core/controls/video.coffee +0 -9
  389. package/src/core/embed/api.js +0 -178
  390. package/src/core/embed/controller.js +0 -331
  391. package/src/core/models/composition.coffee +0 -178
  392. package/src/core/models/content.coffee +0 -79
  393. package/src/core/models/skin.coffee +0 -91
  394. package/src/core/models/user.coffee +0 -6
  395. package/src/core/models/widget.coffee +0 -88
  396. package/src/core/router/index.coffee +0 -44
  397. package/src/core/services/container/index.js +0 -18
  398. package/src/core/services/container/instance.js +0 -3
  399. package/src/core/services/content.js +0 -80
  400. package/src/core/services/instagram.coffee +0 -47
  401. package/src/core/services/mixin/events.js +0 -17
  402. package/src/core/services/service.js +0 -1
  403. package/src/core/services/sounds.js +0 -81
  404. package/src/core/services/uploads.js +0 -299
  405. package/src/core/utils/popup.coffee +0 -67
  406. package/src/core/utils/should-show.coffee +0 -12
  407. package/src/core/views/audio-details.pug +0 -9
  408. package/src/core/views/audio.pug +0 -7
  409. package/src/core/views/browser.pug +0 -4
  410. package/src/core/views/color.pug +0 -8
  411. package/src/core/views/date-time/calendar.pug +0 -3
  412. package/src/core/views/date-time/clock.pug +0 -12
  413. package/src/core/views/date-time/grid.pug +0 -6
  414. package/src/core/views/date-time/input.pug +0 -4
  415. package/src/core/views/date-time/table.pug +0 -6
  416. package/src/core/views/dropdown.pug +0 -9
  417. package/src/core/views/font/font-item.pug +0 -3
  418. package/src/core/views/font/fonts-list.pug +0 -7
  419. package/src/core/views/font/fonts-popup.pug +0 -5
  420. package/src/core/views/font/index.pug +0 -7
  421. package/src/core/views/image-details.pug +0 -6
  422. package/src/core/views/image.pug +0 -5
  423. package/src/core/views/input-layout.pug +0 -15
  424. package/src/core/views/order-items.pug +0 -7
  425. package/src/core/views/order-picker.pug +0 -7
  426. package/src/core/views/pixelpanel.pug +0 -69
  427. package/src/core/views/position.pug +0 -10
  428. package/src/core/views/range.pug +0 -9
  429. package/src/core/views/scale.pug +0 -7
  430. package/src/core/views/slider.pug +0 -6
  431. package/src/core/views/stepper.pug +0 -6
  432. package/src/core/views/text.pug +0 -4
  433. package/src/core/views/textarea.pug +0 -8
  434. package/src/core/views/toggle.pug +0 -5
  435. package/src/core/views/video-details.pug +0 -7
  436. package/src/core/views/video.pug +0 -4
  437. package/src/core/widget/index.coffee +0 -66
  438. package/src/editor/content/browser/dropzone.html +0 -268
  439. package/src/editor/content/browser/file.html +0 -124
  440. package/src/editor/content/browser/scroll-pane.html +0 -32
  441. package/src/editor/content/browser/service.html +0 -53
  442. package/src/editor/content/browser/upload.coffee +0 -44
  443. package/src/editor/content/browser/upload.html +0 -439
  444. package/src/editor/content/index.coffee +0 -294
  445. package/src/editor/content/input/field.coffee +0 -45
  446. package/src/editor/content/input/index.coffee +0 -115
  447. package/src/editor/content/service/base/photoitem.coffee +0 -49
  448. package/src/editor/content/service/cache.coffee +0 -20
  449. package/src/editor/content/service/default.coffee +0 -59
  450. package/src/editor/content/service/dropbox.coffee +0 -71
  451. package/src/editor/content/service/facebook.coffee +0 -143
  452. package/src/editor/content/service/flickr.coffee +0 -85
  453. package/src/editor/content/service/google-drive-sdk.coffee +0 -18
  454. package/src/editor/content/service/google-drive.coffee +0 -144
  455. package/src/editor/content/service/instagram-social.coffee +0 -84
  456. package/src/editor/content/service/instagram.coffee +0 -168
  457. package/src/editor/content/service/share-popup.coffee +0 -15
  458. package/src/editor/content/service/soundcloud.coffee +0 -163
  459. package/src/editor/content/tab.coffee +0 -27
  460. package/src/editor/details/bulk-editor/attributes-panel.coffee +0 -11
  461. package/src/editor/details/bulk-editor/index.coffee +0 -86
  462. package/src/editor/details/index.coffee +0 -156
  463. package/src/editor/details/item/attributes.coffee +0 -45
  464. package/src/editor/details/item/index.coffee +0 -82
  465. package/src/editor/editor.coffee +0 -274
  466. package/src/editor/footer/breadcrumb.coffee +0 -17
  467. package/src/editor/footer/index.coffee +0 -36
  468. package/src/editor/index.coffee +0 -79
  469. package/src/editor/listeners/embed-listener.coffee +0 -143
  470. package/src/editor/login-popup.coffee +0 -29
  471. package/src/editor/notification-controller.coffee +0 -35
  472. package/src/editor/popup.coffee +0 -68
  473. package/src/editor/remote-preview.coffee +0 -68
  474. package/src/editor/save/index.coffee +0 -62
  475. package/src/editor/skin/delete.coffee +0 -33
  476. package/src/editor/skin/editor/index.coffee +0 -188
  477. package/src/editor/skin/editor/panel.coffee +0 -37
  478. package/src/editor/skin/index.coffee +0 -126
  479. package/src/editor/skin/save.coffee +0 -58
  480. package/src/editor/skin/selector/index.coffee +0 -59
  481. package/src/editor/skin/selector/item.coffee +0 -123
  482. package/src/editor/skin/selector/list.coffee +0 -97
  483. package/src/editor/views/embed.pug +0 -10
  484. package/src/editor/views/loginbutton.pug +0 -8
  485. package/src/editor/views/popup.pug +0 -17
  486. package/src/editor/views/presets.pug +0 -8
  487. package/src/editor/views/presetslist-header.pug +0 -8
  488. package/src/editor/views/skinitem.pug +0 -13
  489. package/src/modules/control.js +0 -3
  490. package/src/modules/controls.js +0 -29
  491. package/src/modules/core.js +0 -19
  492. package/src/modules/editor.js +0 -80
  493. package/test/config.js +0 -3
  494. package/test/core/models/skin-spec.js +0 -209
  495. package/webpack.config.js +0 -46
  496. package/webpack.config.prod.js +0 -9
  497. /package/{src/core/views/date-time/popup.pug → dist/utils/passiveEvents.d.ts} +0 -0
@@ -0,0 +1,47 @@
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: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const FontInputController: $$__sveltets_2_IsomorphicComponent<{
15
+ /**
16
+ * Component Props
17
+ * @prop {string} label - Display label for the font selector
18
+ * @prop {string} value - Currently selected font family
19
+ * @prop {Function} onChange - Callback when font selection changes
20
+ * @prop {InputControllerConfig} config - Configuration options
21
+ * @prop {string} description - Optional help text
22
+ * @prop {string} controllerId - Unique identifier for this controller
23
+ * @prop {any} openDropdowns - Store tracking open dropdown states
24
+ * @prop {Function} toggleDropdown - Function to toggle dropdown state
25
+ * @prop {Function} onFocus - Optional focus handler
26
+ */ label: string;
27
+ value?: {
28
+ family: string;
29
+ weight: string;
30
+ category: string;
31
+ } | string | null;
32
+ onChange?: ((newValue: {
33
+ family: string;
34
+ weight: string;
35
+ category: string;
36
+ }) => void) | undefined;
37
+ description?: string | undefined;
38
+ controllerId: string;
39
+ openDropdowns: any;
40
+ toggleDropdown: (id: string) => void;
41
+ hideRecentFromList?: boolean;
42
+ hideTrashIcon?: boolean;
43
+ }, {
44
+ [evt: string]: CustomEvent<any>;
45
+ }, {}, {}, string>;
46
+ type FontInputController = InstanceType<typeof FontInputController>;
47
+ export default FontInputController;
@@ -0,0 +1,147 @@
1
+ <script lang="ts">
2
+ // Svelte imports
3
+ import { onDestroy, onMount } from 'svelte';
4
+
5
+ // Shadcn UI Components from design-system
6
+ import { Tooltip, Portal } from '@widgetic/design-system/components';
7
+ // console.log("InputControllerHeader - Tooltip:", Tooltip);
8
+
9
+ // Lucide Icons from design-system
10
+ import { Info } from '@widgetic/design-system/icons';
11
+
12
+ // Component props
13
+ let className = '';
14
+ export { className as class };
15
+ export let style = '';
16
+ //
17
+ export let label: string;
18
+ export let helpText: string | undefined = undefined;
19
+
20
+ let showHelp = false;
21
+ let showInfoIcon = false;
22
+ let isScrolling = false;
23
+ let isHovering = false;
24
+ let tooltipTimeout: ReturnType<typeof setTimeout>;
25
+
26
+ // Global scroll handler
27
+ function handleScroll() {
28
+ showHelp = false;
29
+ isScrolling = true;
30
+ clearTimeout(scrollTimeout);
31
+ clearTimeout(tooltipTimeout);
32
+ scrollTimeout = setTimeout(() => {
33
+ isScrolling = false;
34
+ // If we're still hovering when scroll stops, show the tooltip
35
+ if (isHovering) {
36
+ showHelp = true;
37
+ }
38
+ }, 150);
39
+ }
40
+
41
+ let scrollTimeout: ReturnType<typeof setTimeout>;
42
+
43
+ function handleMouseEnter() {
44
+ isHovering = true;
45
+ clearTimeout(tooltipTimeout);
46
+
47
+ // Add buffer time for tooltip only
48
+ tooltipTimeout = setTimeout(() => {
49
+ if (isHovering && !isScrolling) {
50
+ showHelp = true;
51
+ }
52
+ }, 500); // 500ms delay for tooltip
53
+ }
54
+
55
+ function handleMouseLeave() {
56
+ isHovering = false;
57
+ showHelp = false;
58
+ clearTimeout(tooltipTimeout);
59
+ }
60
+
61
+ onMount(() => {
62
+ // Add listeners to both window and all scrollable parents
63
+ window.addEventListener('scroll', handleScroll, { capture: true, passive: true });
64
+ document.addEventListener('wheel', handleScroll, { capture: true, passive: true });
65
+ document.addEventListener('touchmove', handleScroll, { capture: true, passive: true });
66
+ });
67
+
68
+ onDestroy(() => {
69
+ window.removeEventListener('scroll', handleScroll, { capture: true });
70
+ document.removeEventListener('wheel', handleScroll, { capture: true });
71
+ document.removeEventListener('touchmove', handleScroll, { capture: true });
72
+ clearTimeout(scrollTimeout);
73
+ clearTimeout(tooltipTimeout);
74
+ });
75
+ </script>
76
+
77
+ <div class="input-controller-header widgetic-colors {className ? className + ' ' : ''}flex group" {style}>
78
+ <div class="header-label-ct flex-1 min-w-0 flex items-center h-full">
79
+ <div class="tooltip-group flex items-center max-w-full" style="gap: 8px;">
80
+ <span class="subtext cursor-default select-none truncate !text-base" style="color: hsl(var(--grey5));">
81
+ {label}
82
+ </span>
83
+ {#if helpText}
84
+ <Tooltip.Provider>
85
+ <Tooltip.Root open={showHelp && !isScrolling}>
86
+ <Tooltip.Trigger
87
+ tabindex={-1}
88
+ class="focus:outline-none select-none w-5 cursor-default flex items-center"
89
+ >
90
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
91
+ <span
92
+ class="inline-flex items-center transition-opacity duration-500"
93
+ class:opacity-0={!isHovering}
94
+ class:opacity-100={isHovering}
95
+ class:cursor-help={!isScrolling}
96
+ onmouseenter={handleMouseEnter}
97
+ onmouseleave={handleMouseLeave}
98
+ >
99
+ <Info class="w-5 h-5 transition-colors" style="color: hsl(var(--sage-green));" />
100
+ </span>
101
+ </Tooltip.Trigger>
102
+
103
+ {#if showHelp && !isScrolling}
104
+ <Portal target="editor-tooltips">
105
+ <Tooltip.Content
106
+ side="right"
107
+ sideOffset={5}
108
+ align="center"
109
+ alignOffset={-1}
110
+ class="widgetic-colors tooltip-content fixed rounded-md px-3 py-1.5 shadow-md select-none whitespace-nowrap"
111
+ style="background: hsl(var(--dark)); color: white; z-index: 99999;"
112
+ >
113
+ <p class="caption text-white">{helpText}</p>
114
+ </Tooltip.Content>
115
+ </Portal>
116
+ {/if}
117
+ </Tooltip.Root>
118
+ </Tooltip.Provider>
119
+ {/if}
120
+ </div>
121
+ </div>
122
+ </div>
123
+
124
+ <style>
125
+ /* Ensure consistent height and alignment */
126
+ :global(.input-controller-header) {
127
+ min-height: 48px !important;
128
+ display: flex !important;
129
+ align-items: center !important;
130
+ }
131
+
132
+ :global(.input-controller-header:focus-within), :global(.info-bt:focus-within) {
133
+ outline: none !important;
134
+ }
135
+ .tooltip-group:hover :global(.opacity-0) {
136
+ opacity: 1 !important;
137
+ }
138
+
139
+ /* Simplified tooltip styles */
140
+ :global(.tooltip-content) {
141
+ background-color: hsl(var(--dark));
142
+ color: white;
143
+ pointer-events: none;
144
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
145
+ }
146
+ </style>
147
+
@@ -0,0 +1,23 @@
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: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const InputControllerHeader: $$__sveltets_2_IsomorphicComponent<{
15
+ class?: string;
16
+ style?: string;
17
+ label: string;
18
+ helpText?: string | undefined;
19
+ }, {
20
+ [evt: string]: CustomEvent<any>;
21
+ }, {}, {}, string>;
22
+ type InputControllerHeader = InstanceType<typeof InputControllerHeader>;
23
+ export default InputControllerHeader;
@@ -0,0 +1,299 @@
1
+ <script lang="ts">
2
+ import { onDestroy } from 'svelte';
3
+ import { Button, Input } from '@widgetic/design-system/components';
4
+ import { IconMinus, IconPlus } from '@widgetic/design-system/icons';
5
+
6
+ export let value: number;
7
+ export let onChange: (newValue: number) => void;
8
+ export let min: number;
9
+ export let max: number;
10
+ export let step: number = 1;
11
+ export let isLocked: boolean = false;
12
+ export let onFocus: () => void = () => {};
13
+ export let customInputClass: string = "";
14
+ export let wrapAround: boolean = false; // For angle input to wrap 0-360
15
+ export let suffix: string = ""; // For adding units like degrees (°)
16
+ export let width: string = "185px"; // Customizable width
17
+
18
+ let inputValue = String(value); // Add this to track input value separately
19
+ let isEditing = false;
20
+ let isPressed = false;
21
+ let disabledOpacity = 60;
22
+
23
+ // Fix TypeScript errors by properly typing the timers
24
+ let autoRepeatTimer: number | null = null;
25
+ let autoRepeatInterval: number | null = null;
26
+
27
+ const HOLD_DELAY = 400;
28
+ const REPEAT_INTERVAL = 80;
29
+
30
+ // Add unique ID generation
31
+ const inputId = `number-input-${Math.random().toString(36).substr(2, 9)}`;
32
+
33
+ $: isAtMin = !wrapAround && value <= min;
34
+ $: isAtMax = !wrapAround && value >= max;
35
+
36
+ // Update inputValue when value prop changes and we're not editing
37
+ $: if (!isEditing) {
38
+ inputValue = String(value);
39
+ }
40
+
41
+ function handleValueChange(adjustment: number) {
42
+ try {
43
+ let newValue = value + adjustment;
44
+
45
+ if (wrapAround) {
46
+ if (newValue >= 360) newValue -= 360;
47
+ if (newValue < 0) newValue += 360;
48
+ } else {
49
+ if (min !== undefined && newValue < min) {
50
+ newValue = min;
51
+ }
52
+ if (max !== undefined && newValue > max) {
53
+ newValue = max;
54
+ }
55
+ }
56
+
57
+ value = newValue;
58
+ onChange(newValue);
59
+ } catch (error) {
60
+ console.error('Error in handleValueChange:', error);
61
+ }
62
+ }
63
+
64
+ function handleInput(e: Event) {
65
+ const input = e.currentTarget as HTMLInputElement;
66
+ inputValue = input.value;
67
+
68
+ if (inputValue === '') {
69
+ isEditing = true;
70
+ return;
71
+ }
72
+
73
+ // Handle special cases
74
+ if (inputValue === '-0') {
75
+ inputValue = '0';
76
+ input.value = '0';
77
+ value = 0;
78
+ onChange(0);
79
+ return;
80
+ }
81
+
82
+ // If starts with 0 and has more digits, remove the leading 0
83
+ if (inputValue.startsWith('0') && inputValue.length > 1 && !inputValue.startsWith('-')) {
84
+ inputValue = inputValue.substring(1);
85
+ input.value = inputValue;
86
+ }
87
+
88
+ // Don't allow minus sign if:
89
+ // 1. min >= 0
90
+ // 2. there's already a minus sign
91
+ // 3. there are numbers before it
92
+ if (inputValue.includes('-')) {
93
+ if (min >= 0 || inputValue.indexOf('-') > 0 || inputValue.split('-').length > 2) {
94
+ // Remove all minus signs or keep only the first one if allowed
95
+ inputValue = min >= 0
96
+ ? inputValue.replace(/-/g, '')
97
+ : '-' + inputValue.replace(/-/g, '');
98
+ input.value = inputValue;
99
+ }
100
+ }
101
+
102
+ // Update regex to prevent minus sign if min >= 0
103
+ // Only allow minus at the start of the string
104
+ const validNumberRegex = min >= 0 ? /^\d*$/ : /^-?\d*$/;
105
+ if (!validNumberRegex.test(inputValue)) {
106
+ // Remove any invalid characters
107
+ input.value = inputValue.replace(min >= 0 ? /[^\d]/g : /[^\d-]/g, '');
108
+ // If there's a minus, ensure it's at the start
109
+ if (input.value.includes('-') && input.value.indexOf('-') > 0) {
110
+ input.value = input.value.replace(/-/g, '');
111
+ }
112
+ inputValue = input.value;
113
+ return;
114
+ }
115
+
116
+ const numValue = parseFloat(inputValue);
117
+ if (!isNaN(numValue)) {
118
+ isEditing = true;
119
+
120
+ // Validate both min and max during typing
121
+ if (wrapAround && max === 360) {
122
+ if (numValue >= 360) {
123
+ inputValue = '359';
124
+ value = 359;
125
+ onChange(359);
126
+ return;
127
+ }
128
+ } else if (!wrapAround) {
129
+ if (numValue > max) {
130
+ inputValue = String(max);
131
+ value = max;
132
+ onChange(max);
133
+ return;
134
+ }
135
+ if (numValue < min) {
136
+ inputValue = String(min);
137
+ value = min;
138
+ onChange(min);
139
+ return;
140
+ }
141
+ }
142
+
143
+ // Value is within range
144
+ value = numValue;
145
+ onChange(numValue);
146
+ }
147
+ }
148
+
149
+ function handleBlur() {
150
+ isEditing = false;
151
+ const finalValue = parseFloat(inputValue);
152
+
153
+ if (isNaN(finalValue) || inputValue === '' || inputValue === '-') {
154
+ value = min;
155
+ inputValue = String(min);
156
+ onChange(min);
157
+ return;
158
+ }
159
+
160
+ // Apply validation on blur
161
+ let validatedValue = finalValue;
162
+ if (!wrapAround) {
163
+ if (finalValue < min) {
164
+ validatedValue = min;
165
+ }
166
+ if (finalValue > max) {
167
+ validatedValue = max;
168
+ }
169
+ } else if (wrapAround) {
170
+ validatedValue = ((finalValue % 360) + 360) % 360;
171
+ }
172
+
173
+ value = validatedValue;
174
+ inputValue = String(validatedValue);
175
+ onChange(validatedValue);
176
+ }
177
+
178
+ function startAutoRepeat(operation: 'increment' | 'decrement', event: MouseEvent) {
179
+ event.preventDefault();
180
+ stopAutoRepeat();
181
+
182
+ const adjustment = operation === 'increment' ? step : -step;
183
+ isPressed = true;
184
+ handleValueChange(adjustment);
185
+
186
+ autoRepeatTimer = window.setTimeout(() => {
187
+ if (isPressed) {
188
+ autoRepeatInterval = window.setInterval(() => {
189
+ if (isPressed) {
190
+ handleValueChange(adjustment);
191
+ }
192
+ }, REPEAT_INTERVAL);
193
+ }
194
+ }, HOLD_DELAY);
195
+ }
196
+
197
+ function stopAutoRepeat(event?: MouseEvent | FocusEvent) {
198
+ if (event) {
199
+ event.preventDefault();
200
+ event.stopPropagation();
201
+ }
202
+
203
+ if (autoRepeatTimer !== null) {
204
+ window.clearTimeout(autoRepeatTimer);
205
+ autoRepeatTimer = null;
206
+ }
207
+ if (autoRepeatInterval !== null) {
208
+ window.clearInterval(autoRepeatInterval);
209
+ autoRepeatInterval = null;
210
+ }
211
+
212
+ isPressed = false;
213
+ }
214
+
215
+ function handleKeyDown(e: KeyboardEvent) {
216
+ // ... rest of the function
217
+ }
218
+
219
+ onDestroy(() => {
220
+ stopAutoRepeat();
221
+ });
222
+ </script>
223
+
224
+ <div class="h-[48px] rounded-large border border-grey2 flex items-center bg-grey1 transition-colors duration-200 hover:border-forest-green" style="width: {width}">
225
+ <div class="flex-1 relative flex items-center">
226
+ <div class="flex items-center flex-1">
227
+ <Input
228
+ id={inputId}
229
+ type="text"
230
+ value={inputValue}
231
+ onfocus={onFocus}
232
+ oninput={handleInput}
233
+ onblur={handleBlur}
234
+ readonly={isLocked}
235
+ class="w-full h-full border-0 bg-transparent subtext text-grey7 placeholder:text-grey3 focus-visible:ring-0 focus-visible:ring-offset-0 pl-4 {customInputClass}"
236
+ />
237
+ {#if suffix}
238
+ <span class="subtext text-grey7 pointer-events-none -ml-1">
239
+ {suffix}
240
+ </span>
241
+ {/if}
242
+ </div>
243
+ </div>
244
+
245
+ <div class="flex items-center gap-2 px-2">
246
+ <Button
247
+ variant="outline"
248
+ size="icon"
249
+ class="widgetic-colors h-6 w-6 rounded-lg bg-white border border-grey2 transition-colors group active:scale-95"
250
+ disabled={isLocked || isAtMin}
251
+ onmousedown={(e: MouseEvent) => startAutoRepeat('decrement', e)}
252
+ onmouseup={stopAutoRepeat}
253
+ onmouseleave={stopAutoRepeat}
254
+ style="opacity: {isLocked || isAtMin ? disabledOpacity : 100}%"
255
+ >
256
+ <IconMinus
257
+ class="!text-grey5 group-hover:!text-grey7"
258
+ style="width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important; max-width: 20px !important; max-height: 20px !important;"
259
+ />
260
+ </Button>
261
+
262
+ <Button
263
+ variant="outline"
264
+ size="icon"
265
+ class="widgetic-colors h-6 w-6 rounded-lg bg-white border border-grey2 transition-colors group active:scale-95"
266
+ disabled={isLocked || isAtMax}
267
+ onmousedown={(e: MouseEvent) => startAutoRepeat('increment', e)}
268
+ onmouseup={stopAutoRepeat}
269
+ onmouseleave={stopAutoRepeat}
270
+ style="opacity: {isLocked || isAtMax ? disabledOpacity : 100}%"
271
+ >
272
+ <IconPlus
273
+ class="!text-grey5 group-hover:!text-grey7"
274
+ style="width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important; max-width: 20px !important; max-height: 20px !important;"
275
+ />
276
+ </Button>
277
+ </div>
278
+ </div>
279
+
280
+ <style>
281
+ :global([id^="number-input-"]) {
282
+ text-align: left;
283
+ appearance: textfield;
284
+ -moz-appearance: textfield;
285
+ padding-right: 0 !important;
286
+ }
287
+
288
+ :global([id^="number-input-"]::-webkit-outer-spin-button),
289
+ :global([id^="number-input-"]::-webkit-inner-spin-button) {
290
+ -webkit-appearance: none;
291
+ appearance: none;
292
+ margin: 0;
293
+ }
294
+
295
+ :global(.number-input-button:focus-visible) {
296
+ outline: none !important;
297
+ box-shadow: none !important;
298
+ }
299
+ </style>
@@ -0,0 +1,30 @@
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: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const NumberControls: $$__sveltets_2_IsomorphicComponent<{
15
+ value: number;
16
+ onChange: (newValue: number) => void;
17
+ min: number;
18
+ max: number;
19
+ step?: number;
20
+ isLocked?: boolean;
21
+ onFocus?: () => void;
22
+ customInputClass?: string;
23
+ wrapAround?: boolean;
24
+ suffix?: string;
25
+ width?: string;
26
+ }, {
27
+ [evt: string]: CustomEvent<any>;
28
+ }, {}, {}, string>;
29
+ type NumberControls = InstanceType<typeof NumberControls>;
30
+ export default NumberControls;