@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.
- package/README.md +245 -0
- package/dist/assets/fonts.json +331 -0
- package/dist/assets/icons/ic-browser/audio.svg +7 -0
- package/dist/assets/icons/ic-browser/document.svg +11 -0
- package/dist/assets/icons/ic-browser/error.svg +5 -0
- package/dist/assets/icons/ic-browser/folder.svg +28 -0
- package/dist/assets/icons/ic-browser/player-pause.svg +1 -0
- package/dist/assets/icons/ic-browser/player-play.svg +1 -0
- package/dist/assets/icons/ic-browser/trash.svg +1 -0
- package/dist/assets/icons/ic-fixed-position/background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-left-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-left-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-left-icon.svg +4 -0
- package/dist/assets/icons/ic-fixed-position/bottom-right-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-right-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-right-icon.svg +4 -0
- package/dist/assets/icons/ic-fixed-position/center-bottom-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/center-center-icon.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/center-left-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/center-right-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/center-top-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/top-left-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-left-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-left-icon.svg +4 -0
- package/dist/assets/icons/ic-fixed-position/top-right-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-right-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-right-icon.svg +4 -0
- package/dist/assets/icons/trash.svg +1 -0
- package/dist/components/MockWidget.svelte +108 -0
- package/dist/components/MockWidget.svelte.d.ts +22 -0
- package/dist/components/WidgetPreview.svelte +852 -0
- package/dist/components/WidgetPreview.svelte.d.ts +100 -0
- package/dist/components/color-select/ColorSelect.svelte +258 -0
- package/dist/components/color-select/ColorSelect.svelte.d.ts +42 -0
- package/dist/components/color-select/color.d.ts +25 -0
- package/dist/components/color-select/color.js +21 -0
- package/dist/components/color-select/constants.d.ts +5 -0
- package/dist/components/color-select/constants.js +5 -0
- package/dist/components/color-select/render.d.ts +5 -0
- package/dist/components/color-select/render.js +77 -0
- package/dist/components/color-select/shaders.d.ts +3 -0
- package/dist/components/color-select/shaders.js +8 -0
- package/dist/components/editors/EmbedEditor.svelte +700 -0
- package/dist/components/editors/EmbedEditor.svelte.d.ts +50 -0
- package/dist/components/editors/PropsEditor.svelte +4009 -0
- package/dist/components/editors/PropsEditor.svelte.d.ts +62 -0
- package/dist/components/editors/props-editor.css +73 -0
- package/dist/components/ic/AngleInputController.svelte +276 -0
- package/dist/components/ic/AngleInputController.svelte.d.ts +26 -0
- package/dist/components/ic/BrowserInputController.svelte +731 -0
- package/dist/components/ic/BrowserInputController.svelte.d.ts +39 -0
- package/dist/components/ic/CheckboxInputController.svelte +203 -0
- package/dist/components/ic/CheckboxInputController.svelte.d.ts +41 -0
- package/dist/components/ic/ColorPickerInputController.svelte +1584 -0
- package/dist/components/ic/ColorPickerInputController.svelte.d.ts +50 -0
- package/dist/components/ic/DateFieldInputController.svelte +453 -0
- package/dist/components/ic/DateFieldInputController.svelte.d.ts +35 -0
- package/dist/components/ic/DatePickerInputController.svelte +364 -0
- package/dist/components/ic/DatePickerInputController.svelte.d.ts +28 -0
- package/dist/components/ic/DropdownInputController.svelte +226 -0
- package/dist/components/ic/DropdownInputController.svelte.d.ts +43 -0
- package/dist/components/ic/FixedPositionInputController.svelte +353 -0
- package/dist/components/ic/FixedPositionInputController.svelte.d.ts +23 -0
- package/dist/components/ic/FontInputController.svelte +2098 -0
- package/dist/components/ic/FontInputController.svelte.d.ts +47 -0
- package/dist/components/ic/InputControllerHeader.svelte +147 -0
- package/dist/components/ic/InputControllerHeader.svelte.d.ts +23 -0
- package/dist/components/ic/NumberControls.svelte +299 -0
- package/dist/components/ic/NumberControls.svelte.d.ts +30 -0
- package/dist/components/ic/NumberInputController.svelte +397 -0
- package/dist/components/ic/NumberInputController.svelte.d.ts +30 -0
- package/dist/components/ic/PositionInputController.svelte +252 -0
- package/dist/components/ic/PositionInputController.svelte.d.ts +37 -0
- package/dist/components/ic/RadioGroupInputController.svelte +162 -0
- package/dist/components/ic/RadioGroupInputController.svelte.d.ts +38 -0
- package/dist/components/ic/RangeCalendarInputController.svelte +262 -0
- package/dist/components/ic/RangeCalendarInputController.svelte.d.ts +32 -0
- package/dist/components/ic/RoundedCornersInputController.svelte +469 -0
- package/dist/components/ic/RoundedCornersInputController.svelte.d.ts +37 -0
- package/dist/components/ic/SliderInputController.svelte +411 -0
- package/dist/components/ic/SliderInputController.svelte.d.ts +46 -0
- package/dist/components/ic/SliderRangeInputController.svelte +155 -0
- package/dist/components/ic/SliderRangeInputController.svelte.d.ts +33 -0
- package/dist/components/ic/SwitchInputController.svelte +107 -0
- package/dist/components/ic/SwitchInputController.svelte.d.ts +24 -0
- package/dist/components/ic/TagsInputController.svelte +125 -0
- package/dist/components/ic/TagsInputController.svelte.d.ts +27 -0
- package/dist/components/ic/TextAreaInputController.svelte +1932 -0
- package/dist/components/ic/TextAreaInputController.svelte.d.ts +14 -0
- package/dist/components/ic/TextAreaPreviewInputController.svelte +478 -0
- package/dist/components/ic/TextAreaPreviewInputController.svelte.d.ts +28 -0
- package/dist/components/ic/TextInputController.svelte +70 -0
- package/dist/components/ic/TextInputController.svelte.d.ts +30 -0
- package/dist/components/ic/TimeInputController.svelte +434 -0
- package/dist/components/ic/TimeInputController.svelte.d.ts +25 -0
- package/dist/components/ic/VectorInputController.svelte +1826 -0
- package/dist/components/ic/VectorInputController.svelte.d.ts +47 -0
- package/dist/components/ic/index.d.ts +39 -0
- package/dist/components/ic/index.js +24 -0
- package/dist/components/ic/shared/CategoryTabs.svelte +40 -0
- package/dist/components/ic/shared/CategoryTabs.svelte.d.ts +25 -0
- package/dist/components/ic/shared/ItemGrid.svelte +181 -0
- package/dist/components/ic/shared/ItemGrid.svelte.d.ts +35 -0
- package/dist/components/ic/shared/RecentItemsSection.svelte +260 -0
- package/dist/components/ic/shared/RecentItemsSection.svelte.d.ts +35 -0
- package/dist/components/ic/shared/index.d.ts +8 -0
- package/dist/components/ic/shared/index.js +9 -0
- package/dist/components/icons/addnew.svelte +21 -0
- package/dist/components/icons/addnew.svelte.d.ts +20 -0
- package/dist/components/icons/drag.svelte +29 -0
- package/dist/components/icons/drag.svelte.d.ts +20 -0
- package/dist/components/icons/drag.svg +1 -0
- package/dist/components/icons/locked.svelte +4 -0
- package/dist/components/icons/locked.svelte.d.ts +26 -0
- package/dist/components/icons/locked.svg +4 -0
- package/dist/components/icons/ok.svelte +20 -0
- package/dist/components/icons/ok.svelte.d.ts +20 -0
- package/dist/components/icons/ok.svg +11 -0
- package/dist/components/icons/unlocked.svelte +4 -0
- package/dist/components/icons/unlocked.svelte.d.ts +26 -0
- package/dist/components/icons/unlocked.svg +4 -0
- package/dist/components/icons/x.svelte +14 -0
- package/dist/components/icons/x.svelte.d.ts +20 -0
- package/dist/components/icons/x.svg +5 -0
- package/dist/components/ui/arrows/OpacitySliderArrows.svelte +43 -0
- package/dist/components/ui/arrows/OpacitySliderArrows.svelte.d.ts +23 -0
- package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte +15 -0
- package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte.d.ts +20 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.js +31 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +9 -0
- package/dist/stores/userSession.d.ts +7 -0
- package/dist/stores/userSession.js +28 -0
- package/dist/utils/FontManager.d.ts +278 -0
- package/dist/utils/FontManager.js +1302 -0
- package/dist/utils/MediaManager.d.ts +35 -0
- package/dist/utils/MediaManager.js +59 -0
- package/dist/utils/VectorManager.d.ts +190 -0
- package/dist/utils/VectorManager.js +754 -0
- package/dist/utils/colorAutocomplete.d.ts +10 -0
- package/dist/utils/colorAutocomplete.js +28 -0
- package/dist/utils/colorNames.d.ts +3 -0
- package/dist/utils/colorNames.js +152 -0
- package/dist/utils/colorTransparency.d.ts +52 -0
- package/dist/utils/colorTransparency.js +114 -0
- package/dist/utils/fontUtils.d.ts +34 -0
- package/dist/utils/fontUtils.js +132 -0
- package/dist/utils/passiveEvents.js +20 -0
- package/dist/utils/recentColors.d.ts +10 -0
- package/dist/utils/recentColors.js +63 -0
- package/dist/utils/skipFonts.d.ts +3 -0
- package/dist/utils/skipFonts.js +49 -0
- package/dist/utils/vectorUtils.d.ts +34 -0
- package/dist/utils/vectorUtils.js +71 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.js +38 -0
- package/package.json +134 -74
- package/.babelrc +0 -10
- package/.bowerrc +0 -4
- package/.nvmrc +0 -1
- package/Gruntfile.coffee +0 -69
- package/bower.json +0 -28
- package/css/browser/entries/activateable.styl +0 -29
- package/css/browser/entries/audio.styl +0 -39
- package/css/browser/entries/folder.styl +0 -79
- package/css/browser/entries/image.styl +0 -26
- package/css/browser/entries/index.styl +0 -66
- package/css/browser/entries/rss.styl +0 -11
- package/css/browser/entries/video.styl +0 -11
- package/css/browser/index.styl +0 -86
- package/css/browser/intent/index.styl +0 -61
- package/css/browser/nav/index.styl +0 -73
- package/css/browser/social-browser.styl +0 -23
- package/css/controls/clock.styl +0 -110
- package/css/controls/config.styl +0 -6
- package/css/controls/control-audio-details.styl +0 -63
- package/css/controls/control-audio.styl +0 -28
- package/css/controls/control-browser.styl +0 -48
- package/css/controls/control-color.styl +0 -423
- package/css/controls/control-date_time.styl +0 -191
- package/css/controls/control-dropdown.styl +0 -79
- package/css/controls/control-font.styl +0 -147
- package/css/controls/control-image-details.styl +0 -35
- package/css/controls/control-image.styl +0 -43
- package/css/controls/control-order-picker.styl +0 -29
- package/css/controls/control-position.styl +0 -390
- package/css/controls/control-range.styl +0 -68
- package/css/controls/control-scale.styl +0 -30
- package/css/controls/control-slider.styl +0 -38
- package/css/controls/control-spinner.styl +0 -39
- package/css/controls/control-textarea.styl +0 -52
- package/css/controls/control-toggle.styl +0 -34
- package/css/controls/control-url.styl +0 -32
- package/css/controls/control-video-details.styl +0 -85
- package/css/controls/control-video.styl +0 -43
- package/css/controls/general.styl +0 -98
- package/css/controls/index.styl +0 -25
- package/css/editor/colors.styl +0 -7
- package/css/editor/content/directinput.styl +0 -47
- package/css/editor/content/index.styl +0 -111
- package/css/editor/content/message.styl +0 -53
- package/css/editor/content/tabs.styl +0 -75
- package/css/editor/copied-from-old-style.styl +0 -197
- package/css/editor/details/bulk-editor.styl +0 -104
- package/css/editor/details/index.styl +0 -21
- package/css/editor/details/item.styl +0 -153
- package/css/editor/embed.styl +0 -106
- package/css/editor/footer.styl +0 -180
- package/css/editor/full-editor.styl +0 -16
- package/css/editor/index.styl +0 -124
- package/css/editor/login-popup.styl +0 -13
- package/css/editor/preview.styl +0 -257
- package/css/editor/skin/editor/index.styl +0 -54
- package/css/editor/skin/editor/tabs.styl +0 -111
- package/css/editor/skin/index.styl +0 -138
- package/css/editor/skin/popup.styl +0 -152
- package/css/editor/skin/presets/dropdown.styl +0 -61
- package/css/editor/skin/presets/index.styl +0 -86
- package/css/editor/skin/presets/list.styl +0 -244
- package/css/editor/tooltips.styl +0 -85
- package/css/fonts.styl +0 -47
- package/css/icons/BlogvioEditor.dev.svg +0 -112
- package/css/icons.styl +0 -16
- package/css/img/arrow-right-rounded-v-small.png +0 -0
- package/css/img/browser-folder-separator.png +0 -0
- package/css/img/calendar-input-icons.png +0 -0
- package/css/img/check.png +0 -0
- package/css/img/close.png +0 -0
- package/css/img/composition/edit-icon.png +0 -0
- package/css/img/content/audio-icon.png +0 -0
- package/css/img/content/folder-icon.png +0 -0
- package/css/img/content/messages/error-background.png +0 -0
- package/css/img/content/messages/error-icon.png +0 -0
- package/css/img/content/messages/notification-background.png +0 -0
- package/css/img/content/messages/notification-icon.png +0 -0
- package/css/img/content/no-files-audio.png +0 -0
- package/css/img/content/no-files-image.png +0 -0
- package/css/img/content/no-files-video.png +0 -0
- package/css/img/content/no-files.png +0 -0
- package/css/img/content/rss-icon.png +0 -0
- package/css/img/content/selected.png +0 -0
- package/css/img/content/video-icon.png +0 -0
- package/css/img/content/with-control-text.png +0 -0
- package/css/img/control-dropdown-arrow.png +0 -0
- package/css/img/control-image-valid.png +0 -0
- package/css/img/control-position-icon.png +0 -0
- package/css/img/control-scale-lock-icon.png +0 -0
- package/css/img/control-slider-arrows-hover.png +0 -0
- package/css/img/control-slider-arrows.png +0 -0
- package/css/img/control-spinner-buttons-hover.png +0 -0
- package/css/img/control-spinner-buttons.png +0 -0
- package/css/img/control-textarea-bold-active.png +0 -0
- package/css/img/control-textarea-bold.png +0 -0
- package/css/img/control-textarea-italic-active.png +0 -0
- package/css/img/control-textarea-italic.png +0 -0
- package/css/img/control-textarea-underline-active.png +0 -0
- package/css/img/control-textarea-underline.png +0 -0
- package/css/img/custom-checkbox-sprite.png +0 -0
- package/css/img/details/item-collapse-icon.png +0 -0
- package/css/img/details/item-expand-icon.png +0 -0
- package/css/img/details/item-sort-icon.png +0 -0
- package/css/img/done-arrow.png +0 -0
- package/css/img/fb-logo-icon-w.png +0 -0
- package/css/img/grid-icons.png +0 -0
- package/css/img/icon-reference.png +0 -0
- package/css/img/indicator.png +0 -0
- package/css/img/loader.gif +0 -0
- package/css/img/loaders/audio-white.png +0 -0
- package/css/img/loaders/audio.png +0 -0
- package/css/img/loaders/photo-white.png +0 -0
- package/css/img/loaders/photo.png +0 -0
- package/css/img/loaders/util-white.png +0 -0
- package/css/img/loaders/util.png +0 -0
- package/css/img/loaders/video-white.png +0 -0
- package/css/img/loaders/video.png +0 -0
- package/css/img/maximize.png +0 -0
- package/css/img/minimize.png +0 -0
- package/css/img/next-btn.png +0 -0
- package/css/img/search-icon-sprite.png +0 -0
- package/css/img/services/blogvio.png +0 -0
- package/css/img/services/drive.png +0 -0
- package/css/img/services/dropbox-login.png +0 -0
- package/css/img/services/dropbox.png +0 -0
- package/css/img/services/facebook-login.png +0 -0
- package/css/img/services/facebook.png +0 -0
- package/css/img/services/flickr-login.png +0 -0
- package/css/img/services/flickr.png +0 -0
- package/css/img/services/instagram-login.png +0 -0
- package/css/img/services/instagram.png +0 -0
- package/css/img/services/text.png +0 -0
- package/css/img/services/uploads.png +0 -0
- package/css/img/services/uploads.svg +0 -689
- package/css/img/services/webaddress-bw.png +0 -0
- package/css/img/services/webaddress.png +0 -0
- package/css/img/services/webadress.png +0 -0
- package/css/img/services/websearch.png +0 -0
- package/css/img/services/wix.png +0 -0
- package/css/img/skin/item-active-indicator.png +0 -0
- package/css/img/skin/item-hover-icon.png +0 -0
- package/css/img/skin/overwrite.png +0 -0
- package/css/img/skin/popup-name-icon.png +0 -0
- package/css/img/skin/popup-save.png +0 -0
- package/css/img/skin/preset.png +0 -0
- package/css/img/skin/presets-arrow-purple.png +0 -0
- package/css/img/tw-icon-w.png +0 -0
- package/css/img/warning.png +0 -0
- package/css/img/white-rounded-check.png +0 -0
- package/css/index.styl +0 -9
- package/css/mixins.styl +0 -62
- package/css/scrollable.styl +0 -101
- package/karma.conf.js +0 -73
- package/lib/control.js +0 -1
- package/lib/controls.js +0 -1
- package/lib/core.editor.js +0 -4
- package/lib/core.js +0 -1
- package/lib/core.vendor.js +0 -3
- package/lib/dev/control.js +0 -845
- package/lib/dev/controls.js +0 -7774
- package/lib/dev/core.editor.js +0 -6439
- package/lib/dev/core.js +0 -1486
- package/lib/dev/core.vendor.js +0 -10708
- package/lib/dev/editor.css +0 -166
- package/lib/dev/editor.js +0 -29710
- package/lib/dev/editor.vendor.js +0 -15119
- package/lib/dev/jquery.nanoscroller.js.map +0 -10
- package/lib/editor.css +0 -167
- package/lib/editor.js +0 -49
- package/lib/editor.vendor.js +0 -11
- package/src/api/index.coffee +0 -23
- package/src/api/mixin.coffee +0 -89
- package/src/browser/controller/entry/audio.coffee +0 -38
- package/src/browser/controller/entry/button.coffee +0 -16
- package/src/browser/controller/entry/file.coffee +0 -35
- package/src/browser/controller/entry/folder.coffee +0 -14
- package/src/browser/controller/entry/image.coffee +0 -24
- package/src/browser/controller/entry/index.coffee +0 -18
- package/src/browser/controller/entry/rss.coffee +0 -5
- package/src/browser/controller/entry/video.coffee +0 -4
- package/src/browser/controller/index.coffee +0 -289
- package/src/browser/controller/instagram.coffee +0 -129
- package/src/browser/controller/navbar.coffee +0 -48
- package/src/browser/controller/social.coffee +0 -213
- package/src/browser/model/entry.coffee +0 -18
- package/src/browser/model/index.coffee +0 -34
- package/src/core/controller/font-loader.coffee +0 -65
- package/src/core/controller/lazyload.coffee +0 -14
- package/src/core/controller/overlay.coffee +0 -146
- package/src/core/controller/popup.coffee +0 -36
- package/src/core/controller/scrollable.coffee +0 -68
- package/src/core/controls/audio.coffee +0 -56
- package/src/core/controls/browser.coffee +0 -271
- package/src/core/controls/color.coffee +0 -121
- package/src/core/controls/date-time/calendar/index.coffee +0 -99
- package/src/core/controls/date-time/calendar/months.coffee +0 -52
- package/src/core/controls/date-time/calendar/years.coffee +0 -58
- package/src/core/controls/date-time/clock.coffee +0 -62
- package/src/core/controls/date-time/helper.coffee +0 -31
- package/src/core/controls/date-time/index.coffee +0 -62
- package/src/core/controls/date-time/popup.coffee +0 -56
- package/src/core/controls/details/audio.coffee +0 -33
- package/src/core/controls/details/image.coffee +0 -19
- package/src/core/controls/details/video.coffee +0 -14
- package/src/core/controls/dropdown.coffee +0 -100
- package/src/core/controls/font/font-item.coffee +0 -22
- package/src/core/controls/font/font-list.coffee +0 -108
- package/src/core/controls/font/fonts-popup.coffee +0 -91
- package/src/core/controls/font/index.coffee +0 -66
- package/src/core/controls/image.coffee +0 -37
- package/src/core/controls/index.coffee +0 -88
- package/src/core/controls/orderPicker.coffee +0 -93
- package/src/core/controls/position/grid-panel.coffee +0 -75
- package/src/core/controls/position/index.coffee +0 -98
- package/src/core/controls/position/panel.coffee +0 -68
- package/src/core/controls/position/pixel-panel.coffee +0 -54
- package/src/core/controls/position/popup.coffee +0 -63
- package/src/core/controls/position/reference-panel.coffee +0 -26
- package/src/core/controls/range.coffee +0 -191
- package/src/core/controls/rss.coffee +0 -16
- package/src/core/controls/scale.coffee +0 -78
- package/src/core/controls/slider.coffee +0 -122
- package/src/core/controls/stepper.coffee +0 -97
- package/src/core/controls/text.coffee +0 -54
- package/src/core/controls/textarea.coffee +0 -78
- package/src/core/controls/toggle.coffee +0 -29
- package/src/core/controls/url.coffee +0 -88
- package/src/core/controls/video.coffee +0 -9
- package/src/core/embed/api.js +0 -178
- package/src/core/embed/controller.js +0 -331
- package/src/core/models/composition.coffee +0 -178
- package/src/core/models/content.coffee +0 -79
- package/src/core/models/skin.coffee +0 -91
- package/src/core/models/user.coffee +0 -6
- package/src/core/models/widget.coffee +0 -88
- package/src/core/router/index.coffee +0 -44
- package/src/core/services/container/index.js +0 -18
- package/src/core/services/container/instance.js +0 -3
- package/src/core/services/content.js +0 -80
- package/src/core/services/instagram.coffee +0 -47
- package/src/core/services/mixin/events.js +0 -17
- package/src/core/services/service.js +0 -1
- package/src/core/services/sounds.js +0 -81
- package/src/core/services/uploads.js +0 -299
- package/src/core/utils/popup.coffee +0 -67
- package/src/core/utils/should-show.coffee +0 -12
- package/src/core/views/audio-details.pug +0 -9
- package/src/core/views/audio.pug +0 -7
- package/src/core/views/browser.pug +0 -4
- package/src/core/views/color.pug +0 -8
- package/src/core/views/date-time/calendar.pug +0 -3
- package/src/core/views/date-time/clock.pug +0 -12
- package/src/core/views/date-time/grid.pug +0 -6
- package/src/core/views/date-time/input.pug +0 -4
- package/src/core/views/date-time/table.pug +0 -6
- package/src/core/views/dropdown.pug +0 -9
- package/src/core/views/font/font-item.pug +0 -3
- package/src/core/views/font/fonts-list.pug +0 -7
- package/src/core/views/font/fonts-popup.pug +0 -5
- package/src/core/views/font/index.pug +0 -7
- package/src/core/views/image-details.pug +0 -6
- package/src/core/views/image.pug +0 -5
- package/src/core/views/input-layout.pug +0 -15
- package/src/core/views/order-items.pug +0 -7
- package/src/core/views/order-picker.pug +0 -7
- package/src/core/views/pixelpanel.pug +0 -69
- package/src/core/views/position.pug +0 -10
- package/src/core/views/range.pug +0 -9
- package/src/core/views/scale.pug +0 -7
- package/src/core/views/slider.pug +0 -6
- package/src/core/views/stepper.pug +0 -6
- package/src/core/views/text.pug +0 -4
- package/src/core/views/textarea.pug +0 -8
- package/src/core/views/toggle.pug +0 -5
- package/src/core/views/video-details.pug +0 -7
- package/src/core/views/video.pug +0 -4
- package/src/core/widget/index.coffee +0 -66
- package/src/editor/content/browser/dropzone.html +0 -268
- package/src/editor/content/browser/file.html +0 -124
- package/src/editor/content/browser/scroll-pane.html +0 -32
- package/src/editor/content/browser/service.html +0 -53
- package/src/editor/content/browser/upload.coffee +0 -44
- package/src/editor/content/browser/upload.html +0 -439
- package/src/editor/content/index.coffee +0 -294
- package/src/editor/content/input/field.coffee +0 -45
- package/src/editor/content/input/index.coffee +0 -115
- package/src/editor/content/service/base/photoitem.coffee +0 -49
- package/src/editor/content/service/cache.coffee +0 -20
- package/src/editor/content/service/default.coffee +0 -59
- package/src/editor/content/service/dropbox.coffee +0 -71
- package/src/editor/content/service/facebook.coffee +0 -143
- package/src/editor/content/service/flickr.coffee +0 -85
- package/src/editor/content/service/google-drive-sdk.coffee +0 -18
- package/src/editor/content/service/google-drive.coffee +0 -144
- package/src/editor/content/service/instagram-social.coffee +0 -84
- package/src/editor/content/service/instagram.coffee +0 -168
- package/src/editor/content/service/share-popup.coffee +0 -15
- package/src/editor/content/service/soundcloud.coffee +0 -163
- package/src/editor/content/tab.coffee +0 -27
- package/src/editor/details/bulk-editor/attributes-panel.coffee +0 -11
- package/src/editor/details/bulk-editor/index.coffee +0 -86
- package/src/editor/details/index.coffee +0 -156
- package/src/editor/details/item/attributes.coffee +0 -45
- package/src/editor/details/item/index.coffee +0 -82
- package/src/editor/editor.coffee +0 -274
- package/src/editor/footer/breadcrumb.coffee +0 -17
- package/src/editor/footer/index.coffee +0 -36
- package/src/editor/index.coffee +0 -79
- package/src/editor/listeners/embed-listener.coffee +0 -143
- package/src/editor/login-popup.coffee +0 -29
- package/src/editor/notification-controller.coffee +0 -35
- package/src/editor/popup.coffee +0 -68
- package/src/editor/remote-preview.coffee +0 -68
- package/src/editor/save/index.coffee +0 -62
- package/src/editor/skin/delete.coffee +0 -33
- package/src/editor/skin/editor/index.coffee +0 -188
- package/src/editor/skin/editor/panel.coffee +0 -37
- package/src/editor/skin/index.coffee +0 -126
- package/src/editor/skin/save.coffee +0 -58
- package/src/editor/skin/selector/index.coffee +0 -59
- package/src/editor/skin/selector/item.coffee +0 -123
- package/src/editor/skin/selector/list.coffee +0 -97
- package/src/editor/views/embed.pug +0 -10
- package/src/editor/views/loginbutton.pug +0 -8
- package/src/editor/views/popup.pug +0 -17
- package/src/editor/views/presets.pug +0 -8
- package/src/editor/views/presetslist-header.pug +0 -8
- package/src/editor/views/skinitem.pug +0 -13
- package/src/modules/control.js +0 -3
- package/src/modules/controls.js +0 -29
- package/src/modules/core.js +0 -19
- package/src/modules/editor.js +0 -80
- package/test/config.js +0 -3
- package/test/core/models/skin-spec.js +0 -209
- package/webpack.config.js +0 -46
- package/webpack.config.prod.js +0 -9
- /package/{src/core/views/date-time/popup.pug → dist/utils/passiveEvents.d.ts} +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { type FontItem } from "./fontUtils";
|
|
2
|
+
/**
|
|
3
|
+
* FontManager: Singleton class that manages Google Fonts loading and caching
|
|
4
|
+
*
|
|
5
|
+
* Key responsibilities:
|
|
6
|
+
* - Fetches and caches the Google Fonts list
|
|
7
|
+
* - Manages font loading states to prevent duplicate loading
|
|
8
|
+
* - Optimizes font loading through intersection observers
|
|
9
|
+
* - Handles scroll-based lazy loading of fonts
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* const fontManager = FontManager.getInstance(apiKey);
|
|
13
|
+
* await fontManager.getFontList();
|
|
14
|
+
* fontManager.loadFont('Font Name');
|
|
15
|
+
*
|
|
16
|
+
* Implements multiple caching strategies:
|
|
17
|
+
* 1. Browser cache for font stylesheets
|
|
18
|
+
* 2. Durable L1 store (IndexedDB) for the font catalog + loaded-font registry
|
|
19
|
+
* 3. Memory cache for runtime performance
|
|
20
|
+
*/
|
|
21
|
+
export interface FontData {
|
|
22
|
+
family: string;
|
|
23
|
+
category: FontItem['category'];
|
|
24
|
+
isCustom?: boolean;
|
|
25
|
+
/** Google Web Fonts API variant ids (e.g. "400", "700", "regular") */
|
|
26
|
+
variants?: string[];
|
|
27
|
+
}
|
|
28
|
+
/** Maps Google Fonts API variant ids to display weight labels. */
|
|
29
|
+
export declare function mapGoogleVariantIdsToWeightNames(variants: string[]): string[];
|
|
30
|
+
declare class FontManager {
|
|
31
|
+
private static readonly DEBUG_MODE;
|
|
32
|
+
private static readonly WAIT_TIME;
|
|
33
|
+
private static instance;
|
|
34
|
+
private loadedFonts;
|
|
35
|
+
private observers;
|
|
36
|
+
private scrollTimeout;
|
|
37
|
+
private apiKey;
|
|
38
|
+
private fontListPromise;
|
|
39
|
+
/**
|
|
40
|
+
* Catalog lifecycle as an explicit union. Replaces the former
|
|
41
|
+
* `initialFontsLoaded`/`allFontsLoaded` boolean pair whose ordering
|
|
42
|
+
* ('initial' must precede 'complete') was only convention. Only the
|
|
43
|
+
* 'complete' stage is ever persisted to the durable cache, preventing
|
|
44
|
+
* partial catalogs from being written.
|
|
45
|
+
*/
|
|
46
|
+
private catalog;
|
|
47
|
+
/** Current catalog contents regardless of stage (empty until loaded). */
|
|
48
|
+
private get catalogFonts();
|
|
49
|
+
private static readonly CACHE_KEY;
|
|
50
|
+
private static readonly CACHE_DURATION;
|
|
51
|
+
private static readonly LOADED_FONTS_KEY;
|
|
52
|
+
private static readonly LEGACY_CACHE_KEY;
|
|
53
|
+
private static readonly LEGACY_LOADED_FONTS_KEY;
|
|
54
|
+
private static readonly CACHE_CONTROL;
|
|
55
|
+
private visibleFonts;
|
|
56
|
+
private static initialPreloadComplete;
|
|
57
|
+
private static preloadPromise;
|
|
58
|
+
private completeFontList;
|
|
59
|
+
static isInitialized: boolean;
|
|
60
|
+
static initialFontNumber: number;
|
|
61
|
+
private static initializationPromise;
|
|
62
|
+
private remainingTime;
|
|
63
|
+
private preInitializedObservers;
|
|
64
|
+
static readonly BATCH_SIZE = 100;
|
|
65
|
+
private currentBatchIndex;
|
|
66
|
+
private batchIndices;
|
|
67
|
+
private categoryFonts;
|
|
68
|
+
private customFonts;
|
|
69
|
+
private static missingApiKeyWarned;
|
|
70
|
+
private static forbiddenApiKeyWarned;
|
|
71
|
+
private static badRequestApiKeyWarned;
|
|
72
|
+
private catalogFetchPromise;
|
|
73
|
+
/** Popular Google families shown when the Web Fonts API key is missing or blocked. */
|
|
74
|
+
private static getFallbackCatalog;
|
|
75
|
+
private hasGoogleFontsApiKey;
|
|
76
|
+
private warnMissingApiKey;
|
|
77
|
+
private warnForbiddenApiKey;
|
|
78
|
+
private warnBadRequestApiKey;
|
|
79
|
+
/**
|
|
80
|
+
* Fetches the full Google Fonts catalog (Web Fonts Developer API).
|
|
81
|
+
* Returns null when key is missing or the request fails — callers use cache/custom fonts.
|
|
82
|
+
*/
|
|
83
|
+
private fetchGoogleFontsCatalog;
|
|
84
|
+
private fetchGoogleFontsCatalogOnce;
|
|
85
|
+
/** Variant ids from cached catalog (avoids per-font API calls). */
|
|
86
|
+
getGoogleFontVariantIds(family: string): string[] | null;
|
|
87
|
+
/**
|
|
88
|
+
* Private constructor to enforce singleton pattern
|
|
89
|
+
* @param apiKey - Google Fonts API key
|
|
90
|
+
*/
|
|
91
|
+
private constructor();
|
|
92
|
+
/**
|
|
93
|
+
* Gets or creates the singleton instance and initializes it
|
|
94
|
+
*/
|
|
95
|
+
static getInstance(apiKey: string): Promise<FontManager>;
|
|
96
|
+
/**
|
|
97
|
+
* Initializes the FontManager with initial fonts and setup
|
|
98
|
+
*/
|
|
99
|
+
private initialize;
|
|
100
|
+
/**
|
|
101
|
+
* Pre-initializes observers during FontManager initialization
|
|
102
|
+
*/
|
|
103
|
+
private preInitializeObservers;
|
|
104
|
+
/**
|
|
105
|
+
* Gets a pre-initialized observer
|
|
106
|
+
*/
|
|
107
|
+
getPreInitializedObserver(): IntersectionObserver | null;
|
|
108
|
+
/**
|
|
109
|
+
* Loads previously cached fonts from the durable L1 store (legacy localStorage fallback)
|
|
110
|
+
*/
|
|
111
|
+
private loadCachedFonts;
|
|
112
|
+
/**
|
|
113
|
+
* Saves the current state of loaded fonts to the durable L1 store
|
|
114
|
+
*/
|
|
115
|
+
private saveLoadedFonts;
|
|
116
|
+
/**
|
|
117
|
+
* Gets the stylesheet href for a font family with optimized parameters
|
|
118
|
+
*/
|
|
119
|
+
private getFontStylesheetHref;
|
|
120
|
+
/**
|
|
121
|
+
* Checks if a font is available in Google Fonts
|
|
122
|
+
*/
|
|
123
|
+
private isGoogleFont;
|
|
124
|
+
/**
|
|
125
|
+
* Inserts a font stylesheet into the document
|
|
126
|
+
* @param family - Font family name
|
|
127
|
+
* @param subset - Whether to use text subsetting (for preview)
|
|
128
|
+
*/
|
|
129
|
+
insertFontStylesheet(family: string, subset?: boolean): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Loads a font with full character set
|
|
132
|
+
*/
|
|
133
|
+
loadFullFont(family: string): Promise<void>;
|
|
134
|
+
/**
|
|
135
|
+
* Checks if a font is in the initial fonts list
|
|
136
|
+
*/
|
|
137
|
+
private isInitialFont;
|
|
138
|
+
/**
|
|
139
|
+
* Checks if a font is in the browser cache
|
|
140
|
+
*/
|
|
141
|
+
private checkFontInBrowserCache;
|
|
142
|
+
/**
|
|
143
|
+
* Maps Google Fonts categories to our simplified category system
|
|
144
|
+
* @param category - The category from Google Fonts API
|
|
145
|
+
* @returns Simplified category name
|
|
146
|
+
*/
|
|
147
|
+
private mapCategory;
|
|
148
|
+
/**
|
|
149
|
+
* Ensures fonts are sorted by popularity
|
|
150
|
+
*/
|
|
151
|
+
private ensureFontSorting;
|
|
152
|
+
/**
|
|
153
|
+
* Gets initial font list (initial number of fonts + recent fonts)
|
|
154
|
+
* @returns Promise resolving to initial font list
|
|
155
|
+
*/
|
|
156
|
+
getInitialFontList(): Promise<FontData[]>;
|
|
157
|
+
/**
|
|
158
|
+
* Saves font list to the durable L1 cache.
|
|
159
|
+
* Only 'complete' catalogs are persisted — a partial ('initial') catalog
|
|
160
|
+
* written here used to be served for the full 24h cache duration.
|
|
161
|
+
*/
|
|
162
|
+
private saveFontListToCache;
|
|
163
|
+
/**
|
|
164
|
+
* Gets font list from the durable L1 cache (legacy localStorage fallback)
|
|
165
|
+
*/
|
|
166
|
+
private getFontListFromCache;
|
|
167
|
+
/**
|
|
168
|
+
* Gets complete font list (called when dropdown opens)
|
|
169
|
+
*/
|
|
170
|
+
getCompleteFontList(force?: boolean): Promise<FontData[]>;
|
|
171
|
+
/**
|
|
172
|
+
* Preloads initial fonts with optimized loading strategy
|
|
173
|
+
* Returns existing promise if preload is in progress
|
|
174
|
+
*/
|
|
175
|
+
preloadInitialFonts(): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Loads initial visible fonts
|
|
178
|
+
*/
|
|
179
|
+
private loadInitialVisibleFonts;
|
|
180
|
+
/**
|
|
181
|
+
* Creates or retrieves an intersection observer for a container
|
|
182
|
+
* @param container - The HTML element to observe
|
|
183
|
+
* @returns IntersectionObserver instance or null if container is invalid
|
|
184
|
+
*/
|
|
185
|
+
getObserver(container: HTMLElement | null): IntersectionObserver | null;
|
|
186
|
+
/**
|
|
187
|
+
* Gets the font sources for a given family, including fallbacks
|
|
188
|
+
* @param fontFamily - Font family name
|
|
189
|
+
* @returns CSS src string with font sources
|
|
190
|
+
*/
|
|
191
|
+
private getFontSources;
|
|
192
|
+
/**
|
|
193
|
+
* Generates a complete @font-face declaration
|
|
194
|
+
* @param fontFamily - Font family name
|
|
195
|
+
* @param options - Font face configuration options
|
|
196
|
+
* @returns Complete @font-face CSS rule
|
|
197
|
+
*/
|
|
198
|
+
private generateFontFaceRule;
|
|
199
|
+
/**
|
|
200
|
+
* Loads a font with specified weights using FontFaceObserver
|
|
201
|
+
* Simplified version with better error handling
|
|
202
|
+
*/
|
|
203
|
+
loadFont(family: string, weights?: string[]): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* Handles scroll optimization for font loading
|
|
206
|
+
* Implements debouncing to prevent excessive font loading
|
|
207
|
+
* @param callback - Optional callback after fonts are loaded
|
|
208
|
+
*/
|
|
209
|
+
handleScroll(callback?: () => void): void;
|
|
210
|
+
/**
|
|
211
|
+
* Checks if a font is already loaded
|
|
212
|
+
*/
|
|
213
|
+
isFontLoaded(family: string): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Gets stats about loaded fonts
|
|
216
|
+
*/
|
|
217
|
+
getLoadedFontsStats(): {
|
|
218
|
+
total: number;
|
|
219
|
+
fonts: string[];
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* Cleans up resources when a font container is removed
|
|
223
|
+
* Prevents memory leaks from orphaned observers
|
|
224
|
+
* @param containerId - ID of the container being cleaned up
|
|
225
|
+
*/
|
|
226
|
+
cleanup(containerId: string): void;
|
|
227
|
+
/**
|
|
228
|
+
* Categorizes a font based on its family name
|
|
229
|
+
* Delegates to fontUtils for consistent categorization
|
|
230
|
+
* @param family - Font family name to categorize
|
|
231
|
+
*/
|
|
232
|
+
private categorizeFont;
|
|
233
|
+
isScrolling(): boolean;
|
|
234
|
+
addVisibleFont(fontFamily: string): void;
|
|
235
|
+
removeVisibleFont(family: string): void;
|
|
236
|
+
/**
|
|
237
|
+
* Verifies if a font is actually cached in the browser
|
|
238
|
+
*/
|
|
239
|
+
private verifyFontCache;
|
|
240
|
+
/**
|
|
241
|
+
* Gets list of fonts cached in browser with detailed status
|
|
242
|
+
*/
|
|
243
|
+
private getBrowserCachedFonts;
|
|
244
|
+
/**
|
|
245
|
+
* Gets the cached font list without making an API call
|
|
246
|
+
*/
|
|
247
|
+
getCachedFontList(): FontData[];
|
|
248
|
+
/**
|
|
249
|
+
* Gets the next batch of fonts
|
|
250
|
+
*/
|
|
251
|
+
getNextBatch(controllerId: string, category?: string): FontData[];
|
|
252
|
+
/**
|
|
253
|
+
* Checks if there are more fonts to load
|
|
254
|
+
*/
|
|
255
|
+
hasMoreFonts(controllerId: string, category?: string): boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Resets the batch index to initial number
|
|
258
|
+
* This allows each font input controller to start from the beginning
|
|
259
|
+
*/
|
|
260
|
+
resetBatchIndex(controllerId: string): void;
|
|
261
|
+
getPreloadedFonts(category: FontItem['category']): FontData[];
|
|
262
|
+
/**
|
|
263
|
+
* Gets the complete list of Google Fonts
|
|
264
|
+
* @returns Promise resolving to FontData array
|
|
265
|
+
*/
|
|
266
|
+
private getGoogleFontsList;
|
|
267
|
+
removeCustomFont(family: string): Promise<void>;
|
|
268
|
+
loadCustomFonts(): Promise<FontData[]>;
|
|
269
|
+
/**
|
|
270
|
+
* Checks if a font is a custom font
|
|
271
|
+
*/
|
|
272
|
+
isCustomFont(family: string): boolean;
|
|
273
|
+
/**
|
|
274
|
+
* Gets custom font data if available
|
|
275
|
+
*/
|
|
276
|
+
getCustomFont(family: string): FontData | undefined;
|
|
277
|
+
}
|
|
278
|
+
export default FontManager;
|