@widgetic/editor 3.11.3 → 4.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 (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 +3952 -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 +724 -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 +2062 -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 +1804 -0
  90. package/dist/components/ic/TextAreaInputController.svelte.d.ts +13 -0
  91. package/dist/components/ic/TextAreaPreviewInputController.svelte +476 -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 +5 -0
  131. package/dist/config.js +19 -0
  132. package/dist/index.d.ts +4 -0
  133. package/dist/index.js +8 -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 +276 -0
  137. package/dist/utils/FontManager.js +1283 -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,434 @@
1
+ <!--
2
+ * TimeInputController
3
+ *
4
+ * Provides a visual clock interface for time selection.
5
+ * Features a clock face with hour and minute hands.
6
+ *
7
+ * Features:
8
+ * - Visual time selection via clock face with two hands
9
+ * - 24-hour time selection via dropdown
10
+ * - Touch and mouse support
11
+ * - 30-minute interval selection
12
+ -->
13
+
14
+ <script lang="ts">
15
+ import { onMount, onDestroy } from 'svelte';
16
+ import { Button } from '@widgetic/design-system/components';
17
+ import { Portal } from '@widgetic/design-system/components';
18
+ import InputControllerHeader from './InputControllerHeader.svelte';
19
+ import type { InputControllerConfig } from './index';
20
+
21
+ export let label: string;
22
+ export let value: string = "00:00";
23
+ export let onChange: (newValue: string) => void;
24
+ // export let config: InputControllerConfig = {};
25
+ export let helpText: string | undefined = undefined;
26
+ export let onFocus: () => void = () => {};
27
+
28
+ let className = '';
29
+ export { className as class };
30
+
31
+ // Time state
32
+ let hours = 0;
33
+ let minutes = 0;
34
+ let isDropdownOpen = false;
35
+ let isDropdownPositioned = false;
36
+
37
+ // Clock interaction state
38
+ let isDragging = false;
39
+ let isDraggingHours = false;
40
+ let clockContainer: HTMLDivElement;
41
+ let dropdownContainer: HTMLDivElement;
42
+ let startAngle = 0;
43
+ let startValue = 0;
44
+
45
+ // Add button ref
46
+ let timeButton: HTMLButtonElement;
47
+
48
+ // Generate time options in 30-minute intervals (24h format)
49
+ const timeOptions = Array.from({ length: 48 }, (_, i) => {
50
+ const hour = Math.floor(i / 2);
51
+ const minute = (i % 2) * 30;
52
+ return `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;
53
+ });
54
+
55
+ // Parse time from string (handles both 12h and 24h formats)
56
+ function parseTimeFromValue(timeString: string) {
57
+ if (!timeString) {
58
+ hours = 0;
59
+ minutes = 0;
60
+ return;
61
+ }
62
+
63
+ // Try 24h format first (HH:mm)
64
+ const [h, m] = timeString.split(':').map(Number);
65
+
66
+ if (!isNaN(h) && !isNaN(m)) {
67
+ hours = h;
68
+ minutes = m;
69
+ return;
70
+ }
71
+
72
+ // Try 12h format (hh:mm am/pm)
73
+ const match = timeString.toLowerCase().match(/(\d+):(\d+)\s*(am|pm)/);
74
+ if (match) {
75
+ let h12 = parseInt(match[1]);
76
+ const m12 = parseInt(match[2]);
77
+ const period = match[3];
78
+
79
+ // Convert to 24h format
80
+ if (period === 'pm' && h12 < 12) {
81
+ h12 += 12;
82
+ } else if (period === 'am' && h12 === 12) {
83
+ h12 = 0;
84
+ }
85
+
86
+ hours = h12;
87
+ minutes = m12;
88
+ return;
89
+ }
90
+
91
+ // If all parsing fails, default to 00:00
92
+ hours = 0;
93
+ minutes = 0;
94
+ }
95
+
96
+ // Format time to string (24h format)
97
+ function formatTimeToString(h: number, m: number): string {
98
+ return `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}`;
99
+ }
100
+
101
+ // Update the value when time components change
102
+ function updateValue() {
103
+ const newValue = formatTimeToString(hours, minutes);
104
+ if (newValue !== value) {
105
+ value = newValue;
106
+ onChange(newValue);
107
+ }
108
+ }
109
+
110
+ // Calculate clock hand angles based on current time
111
+ $: hourAngle = ((hours % 12) / 12) * 360 + (minutes / 60) * 30;
112
+ $: minuteAngle = (minutes / 60) * 360;
113
+
114
+ /**
115
+ * Calculates the angle between two points relative to a center point
116
+ */
117
+ function calculateAngle(x: number, y: number, centerX: number, centerY: number): number {
118
+ const angle = Math.atan2(x - centerX, -(y - centerY)) * (180 / Math.PI);
119
+ return (angle + 360) % 360;
120
+ }
121
+
122
+ /**
123
+ * Updates time based on mouse/touch position
124
+ */
125
+ function updateTimeFromAngle(clientX: number, clientY: number, isHourHand: boolean, shouldSnapToPosition: boolean = false) {
126
+ if (!clockContainer || (!isDragging && !shouldSnapToPosition)) return;
127
+
128
+ const rect = clockContainer.getBoundingClientRect();
129
+ const centerX = rect.left + rect.width / 2;
130
+ const centerY = rect.top + rect.height / 2;
131
+ const currentAngle = calculateAngle(clientX, clientY, centerX, centerY);
132
+
133
+ if (isHourHand) {
134
+ // Convert angle to hour (30 degrees per hour)
135
+ let newHour = Math.round(currentAngle / 30) % 12;
136
+ // Preserve 24h format
137
+ if (hours >= 12) newHour += 12;
138
+ if (newHour !== hours) {
139
+ hours = newHour;
140
+ updateValue();
141
+ }
142
+ } else {
143
+ // Convert angle to minutes (6 degrees per minute), round to nearest 5
144
+ let newMinute = Math.round(Math.round(currentAngle / 6) / 5) * 5;
145
+ if (newMinute === 60) newMinute = 0;
146
+ if (newMinute !== minutes) {
147
+ minutes = newMinute;
148
+ updateValue();
149
+ }
150
+ }
151
+ }
152
+
153
+ // Mouse event handlers
154
+ function handleClockFaceMouseDown(event: MouseEvent) {
155
+ if (!clockContainer) return;
156
+
157
+ const rect = clockContainer.getBoundingClientRect();
158
+ const centerX = rect.left + rect.width / 2;
159
+ const centerY = rect.top + rect.height / 2;
160
+ const distance = Math.sqrt(
161
+ Math.pow(event.clientX - centerX, 2) + Math.pow(event.clientY - centerY, 2)
162
+ );
163
+
164
+ isDraggingHours = distance < rect.width / 4;
165
+ updateTimeFromAngle(event.clientX, event.clientY, isDraggingHours, true);
166
+
167
+ isDragging = true;
168
+ onFocus();
169
+
170
+ document.addEventListener('mousemove', handleMouseMove);
171
+ document.addEventListener('mouseup', handleMouseUp);
172
+ }
173
+
174
+ function handleMouseMove(event: MouseEvent) {
175
+ if (!isDragging) return;
176
+ event.preventDefault();
177
+ updateTimeFromAngle(event.clientX, event.clientY, isDraggingHours);
178
+ }
179
+
180
+ function handleMouseUp() {
181
+ isDragging = false;
182
+ document.removeEventListener('mousemove', handleMouseMove);
183
+ document.removeEventListener('mouseup', handleMouseUp);
184
+ }
185
+
186
+ // Touch event handlers
187
+ function handleTouchStart(event: TouchEvent) {
188
+ if (!clockContainer) return;
189
+
190
+ const touch = event.touches[0];
191
+ const rect = clockContainer.getBoundingClientRect();
192
+ const centerX = rect.left + rect.width / 2;
193
+ const centerY = rect.top + rect.height / 2;
194
+ const distance = Math.sqrt(
195
+ Math.pow(touch.clientX - centerX, 2) + Math.pow(touch.clientY - centerY, 2)
196
+ );
197
+
198
+ isDraggingHours = distance < rect.width / 4;
199
+ updateTimeFromAngle(touch.clientX, touch.clientY, isDraggingHours, true);
200
+
201
+ isDragging = true;
202
+ onFocus();
203
+ event.preventDefault();
204
+ }
205
+
206
+ function handleTouchMove(event: TouchEvent) {
207
+ if (!isDragging) return;
208
+ event.preventDefault();
209
+ const touch = event.touches[0];
210
+ updateTimeFromAngle(touch.clientX, touch.clientY, isDraggingHours);
211
+ }
212
+
213
+ function handleTouchEnd(event: TouchEvent) {
214
+ event.preventDefault();
215
+ isDragging = false;
216
+ }
217
+
218
+ // Dropdown handlers
219
+ function toggleDropdown() {
220
+ if (!isDropdownOpen) {
221
+ isDropdownOpen = true;
222
+ isDropdownPositioned = false;
223
+ onFocus();
224
+
225
+ // Use requestAnimationFrame to ensure DOM is updated
226
+ requestAnimationFrame(() => {
227
+ if (dropdownContainer && timeButton) {
228
+ const rect = timeButton.getBoundingClientRect();
229
+ dropdownContainer.style.top = `${rect.bottom + 4}px`;
230
+ dropdownContainer.style.left = `${rect.left}px`;
231
+ isDropdownPositioned = true;
232
+ }
233
+ document.addEventListener('click', handleClickOutside);
234
+ });
235
+ } else {
236
+ closeDropdown();
237
+ }
238
+ }
239
+
240
+ function closeDropdown() {
241
+ isDropdownOpen = false;
242
+ isDropdownPositioned = false;
243
+ document.removeEventListener('click', handleClickOutside);
244
+ }
245
+
246
+ function handleClickOutside(event: MouseEvent) {
247
+ if (dropdownContainer && !dropdownContainer.contains(event.target as Node)) {
248
+ closeDropdown();
249
+ }
250
+ }
251
+
252
+ function selectTime(timeOption: string) {
253
+ parseTimeFromValue(timeOption);
254
+ updateValue();
255
+ closeDropdown();
256
+ }
257
+
258
+ // Update scroll handler function
259
+ function handleScroll(event: Event) {
260
+ // Ensure target is an HTMLElement
261
+ if (!(event.target instanceof HTMLElement)) {
262
+ return;
263
+ }
264
+
265
+ const target = event.target;
266
+
267
+ // Check if scroll happened inside our dropdown
268
+ const isInsideDropdown = target.closest('.time-dropdown-content');
269
+
270
+ // If scrolling is inside our dropdown, don't close
271
+ if (isInsideDropdown) {
272
+ return;
273
+ }
274
+
275
+ // If scrolling outside our dropdown, close it
276
+ if (isDropdownOpen) {
277
+ closeDropdown();
278
+ }
279
+ }
280
+
281
+ // Update onMount to add scroll listener with capture phase
282
+ onMount(() => {
283
+ parseTimeFromValue(value);
284
+ updateValue();
285
+ window.addEventListener('scroll', handleScroll, { capture: true });
286
+ });
287
+
288
+ // Update onDestroy to remove scroll listener
289
+ onDestroy(() => {
290
+ document.removeEventListener('mousemove', handleMouseMove);
291
+ document.removeEventListener('mouseup', handleMouseUp);
292
+ document.removeEventListener('click', handleClickOutside);
293
+ window.removeEventListener('scroll', handleScroll, true);
294
+ });
295
+
296
+ // Watch for external value changes
297
+ $: if (value) {
298
+ const formattedTime = formatTimeToString(hours, minutes);
299
+ if (value !== formattedTime) {
300
+ parseTimeFromValue(value);
301
+ }
302
+ }
303
+
304
+ // Mouse event handlers
305
+ function handleHourHandMouseDown(event: MouseEvent) {
306
+ event.stopPropagation();
307
+ isDraggingHours = true;
308
+ handleClockFaceMouseDown(event);
309
+ }
310
+
311
+ function handleMinuteHandMouseDown(event: MouseEvent) {
312
+ event.stopPropagation();
313
+ isDraggingHours = false;
314
+ handleClockFaceMouseDown(event);
315
+ }
316
+ </script>
317
+
318
+ <div class="flex flex-col gap-2 widgetic-colors {className}">
319
+ <div class="flex items-center w-full relative">
320
+ <div class="flex-1 min-w-0">
321
+ <InputControllerHeader {label} {helpText} />
322
+ </div>
323
+
324
+ <div class="absolute right-0 h-[48px] flex items-center">
325
+ <div class="flex items-center justify-end gap-2">
326
+ <!-- Clock Face -->
327
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
328
+ <div
329
+ bind:this={clockContainer}
330
+ class="relative w-[48px] h-[48px] rounded-full bg-grey1 border border-grey2 cursor-grab active:cursor-grabbing flex items-center justify-center transition-colors duration-200 hover:border-forest-green group"
331
+ on:mousedown={handleClockFaceMouseDown}
332
+ on:touchstart={handleTouchStart}
333
+ on:touchmove={handleTouchMove}
334
+ on:touchend={handleTouchEnd}
335
+ >
336
+ <!-- Hour markers -->
337
+ <div class="absolute inset-0 w-full h-full pointer-events-none">
338
+ {#each Array(12) as _, i}
339
+ <div
340
+ class="absolute w-[1px] h-[4px] transition-colors duration-200"
341
+ class:bg-forest-green={!isDragging}
342
+ class:bg-grey3={isDragging}
343
+ class:group-hover:bg-grey3={!isDragging}
344
+ style="left: 50%; top: 2px; transform-origin: 50% 21px; transform: translateX(-50%) rotate({i * 30}deg);"
345
+ ></div>
346
+ {/each}
347
+ </div>
348
+
349
+ <!-- Hour Hand -->
350
+ <!-- svelte-ignore element_invalid_self_closing_tag -->
351
+ <div
352
+ class="absolute top-1/2 left-1/2 w-[2px] h-[14px] origin-bottom -translate-x-1/2 cursor-pointer transition-colors duration-200"
353
+ class:bg-grey5={!isDragging || !isDraggingHours}
354
+ class:bg-grey7={isDragging && isDraggingHours}
355
+ class:group-hover:bg-grey7={!isDragging}
356
+ style="transform: translate(-50%, -100%) rotate({hourAngle}deg)"
357
+ on:mousedown|stopPropagation={handleHourHandMouseDown}
358
+ />
359
+
360
+ <!-- Minute Hand -->
361
+ <!-- svelte-ignore element_invalid_self_closing_tag -->
362
+ <div
363
+ class="absolute top-1/2 left-1/2 w-[1.5px] h-[18px] origin-bottom -translate-x-1/2 cursor-pointer transition-colors duration-200"
364
+ class:bg-grey5={!isDragging || isDraggingHours}
365
+ class:bg-grey7={isDragging && !isDraggingHours}
366
+ class:group-hover:bg-grey7={!isDragging}
367
+ style="transform: translate(-50%, -100%) rotate({minuteAngle}deg)"
368
+ on:mousedown|stopPropagation={handleMinuteHandMouseDown}
369
+ />
370
+ </div>
371
+
372
+ <!-- Time Dropdown -->
373
+ <div class="relative w-[129px]">
374
+ <button
375
+ bind:this={timeButton}
376
+ class="flex items-center justify-center h-[48px] w-full bg-grey1 border border-grey2 rounded-large hover:border-forest-green transition-colors duration-200"
377
+ on:click={toggleDropdown}
378
+ >
379
+ <span class="subtext text-grey7">{value}</span>
380
+ </button>
381
+
382
+ {#if isDropdownOpen}
383
+ <Portal target="time-input-dropdown">
384
+ <div
385
+ bind:this={dropdownContainer}
386
+ class="w-[129px] max-h-[300px] overflow-y-auto bg-white border border-grey3 rounded-[4px] shadow-lg transition-opacity duration-150 time-dropdown-content"
387
+ class:opacity-0={!isDropdownPositioned}
388
+ class:opacity-100={isDropdownPositioned}
389
+ style="position: fixed; z-index: 99999999;"
390
+ >
391
+ {#each timeOptions as timeOption}
392
+ <button
393
+ class="w-full px-3 py-2 subtext text-grey7 hover:bg-grey1 transition-colors duration-150 widgetic-colors {timeOption === value ? 'bg-grey1' : ''}"
394
+ on:click={() => selectTime(timeOption)}
395
+ >
396
+ {timeOption}
397
+ </button>
398
+ {/each}
399
+ </div>
400
+ </Portal>
401
+ {/if}
402
+ </div>
403
+ </div>
404
+ </div>
405
+ </div>
406
+ </div>
407
+
408
+ <style>
409
+ /* Prevent text selection during dragging */
410
+ .cursor-grab {
411
+ user-select: none;
412
+ -webkit-user-select: none;
413
+ -moz-user-select: none;
414
+ -ms-user-select: none;
415
+ }
416
+
417
+ /* Scrollbar styling for dropdown */
418
+ div::-webkit-scrollbar {
419
+ width: 6px;
420
+ }
421
+
422
+ div::-webkit-scrollbar-track {
423
+ background: hsl(var(--grey1));
424
+ }
425
+
426
+ div::-webkit-scrollbar-thumb {
427
+ background: hsl(var(--grey3));
428
+ border-radius: 3px;
429
+ }
430
+
431
+ div::-webkit-scrollbar-thumb:hover {
432
+ background: hsl(var(--grey4));
433
+ }
434
+ </style>
@@ -0,0 +1,25 @@
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 TimeInputController: $$__sveltets_2_IsomorphicComponent<{
15
+ label: string;
16
+ value?: string;
17
+ onChange: (newValue: string) => void;
18
+ helpText?: string | undefined;
19
+ onFocus?: () => void;
20
+ class?: string;
21
+ }, {
22
+ [evt: string]: CustomEvent<any>;
23
+ }, {}, {}, string>;
24
+ type TimeInputController = InstanceType<typeof TimeInputController>;
25
+ export default TimeInputController;