@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,353 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* FixedPositionInputController
|
|
3
|
+
*
|
|
4
|
+
* A visual position selector component that allows users to choose from nine predefined positions
|
|
5
|
+
* in a 3x3 grid layout. Each position represents a specific alignment combination (top/center/bottom
|
|
6
|
+
* and left/center/right).
|
|
7
|
+
*
|
|
8
|
+
* Key Features:
|
|
9
|
+
* - Visual position selection with SVG icons
|
|
10
|
+
* - Dynamic background states for selected/deselected positions
|
|
11
|
+
* - Keyboard accessibility support
|
|
12
|
+
* - Memory efficient SVG handling
|
|
13
|
+
*
|
|
14
|
+
* Edge Cases:
|
|
15
|
+
* - Handles SVG resource cleanup
|
|
16
|
+
* - Prevents unnecessary re-renders
|
|
17
|
+
* - Manages dynamic SVG creation and disposal
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
<script lang="ts">
|
|
21
|
+
// Svelte imports
|
|
22
|
+
import { onDestroy } from 'svelte';
|
|
23
|
+
|
|
24
|
+
// Import icons from Tabler
|
|
25
|
+
import {
|
|
26
|
+
IconArrowUpLeft,
|
|
27
|
+
IconArrowUp,
|
|
28
|
+
IconArrowUpRight,
|
|
29
|
+
IconArrowLeft,
|
|
30
|
+
IconCircle,
|
|
31
|
+
IconArrowRight,
|
|
32
|
+
IconArrowDownLeft,
|
|
33
|
+
IconArrowDown,
|
|
34
|
+
IconArrowDownRight
|
|
35
|
+
}
|
|
36
|
+
from '@widgetic/design-system/icons';
|
|
37
|
+
|
|
38
|
+
// Fixed-position background & icon SVGs (imported with ?url to avoid absolute /icons/ paths)
|
|
39
|
+
import bgDeselected from '../../assets/icons/ic-fixed-position/background-deselected.svg?url';
|
|
40
|
+
import bgSelected from '../../assets/icons/ic-fixed-position/background-selected.svg?url';
|
|
41
|
+
import blBgDeselected from '../../assets/icons/ic-fixed-position/bottom-left-background-deselected.svg?url';
|
|
42
|
+
import blBgSelected from '../../assets/icons/ic-fixed-position/bottom-left-background-selected.svg?url';
|
|
43
|
+
import blIcon from '../../assets/icons/ic-fixed-position/bottom-left-icon.svg?url';
|
|
44
|
+
import brBgDeselected from '../../assets/icons/ic-fixed-position/bottom-right-background-deselected.svg?url';
|
|
45
|
+
import brBgSelected from '../../assets/icons/ic-fixed-position/bottom-right-background-selected.svg?url';
|
|
46
|
+
import brIcon from '../../assets/icons/ic-fixed-position/bottom-right-icon.svg?url';
|
|
47
|
+
import centerBottomIcon from '../../assets/icons/ic-fixed-position/center-bottom-icon.svg?url';
|
|
48
|
+
import centerCenterIcon from '../../assets/icons/ic-fixed-position/center-center-icon.svg?url';
|
|
49
|
+
import centerLeftIcon from '../../assets/icons/ic-fixed-position/center-left-icon.svg?url';
|
|
50
|
+
import centerRightIcon from '../../assets/icons/ic-fixed-position/center-right-icon.svg?url';
|
|
51
|
+
import centerTopIcon from '../../assets/icons/ic-fixed-position/center-top-icon.svg?url';
|
|
52
|
+
import tlBgDeselected from '../../assets/icons/ic-fixed-position/top-left-background-deselected.svg?url';
|
|
53
|
+
import tlBgSelected from '../../assets/icons/ic-fixed-position/top-left-background-selected.svg?url';
|
|
54
|
+
import tlIcon from '../../assets/icons/ic-fixed-position/top-left-icon.svg?url';
|
|
55
|
+
import trBgDeselected from '../../assets/icons/ic-fixed-position/top-right-background-deselected.svg?url';
|
|
56
|
+
import trBgSelected from '../../assets/icons/ic-fixed-position/top-right-background-selected.svg?url';
|
|
57
|
+
import trIcon from '../../assets/icons/ic-fixed-position/top-right-icon.svg?url';
|
|
58
|
+
|
|
59
|
+
const fixedPositionIcons: Record<string, string> = {
|
|
60
|
+
'background-deselected': bgDeselected,
|
|
61
|
+
'background-selected': bgSelected,
|
|
62
|
+
'bottom-left-background-deselected': blBgDeselected,
|
|
63
|
+
'bottom-left-background-selected': blBgSelected,
|
|
64
|
+
'bottom-left-icon': blIcon,
|
|
65
|
+
'bottom-right-background-deselected': brBgDeselected,
|
|
66
|
+
'bottom-right-background-selected': brBgSelected,
|
|
67
|
+
'bottom-right-icon': brIcon,
|
|
68
|
+
'center-bottom-icon': centerBottomIcon,
|
|
69
|
+
'center-center-icon': centerCenterIcon,
|
|
70
|
+
'center-left-icon': centerLeftIcon,
|
|
71
|
+
'center-right-icon': centerRightIcon,
|
|
72
|
+
'center-top-icon': centerTopIcon,
|
|
73
|
+
'top-left-background-deselected': tlBgDeselected,
|
|
74
|
+
'top-left-background-selected': tlBgSelected,
|
|
75
|
+
'top-left-icon': tlIcon,
|
|
76
|
+
'top-right-background-deselected': trBgDeselected,
|
|
77
|
+
'top-right-background-selected': trBgSelected,
|
|
78
|
+
'top-right-icon': trIcon,
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
// Component props
|
|
82
|
+
export let value: Position = 'bottom-right'; // Update type to Position
|
|
83
|
+
export let onChange: (newValue: Position) => void;
|
|
84
|
+
export let onFocus: () => void = () => {};
|
|
85
|
+
export let id: string | undefined = undefined;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Defines all valid position combinations in a 3x3 grid
|
|
89
|
+
* Order matters for visual layout and keyboard navigation
|
|
90
|
+
*/
|
|
91
|
+
const positions = [
|
|
92
|
+
'top-left', 'top-center', 'top-right',
|
|
93
|
+
'center-left', 'center-center', 'center-right',
|
|
94
|
+
'bottom-left', 'bottom-center', 'bottom-right'
|
|
95
|
+
] as const;
|
|
96
|
+
|
|
97
|
+
type Position = typeof positions[number];
|
|
98
|
+
|
|
99
|
+
// Map positions to their corresponding icons
|
|
100
|
+
const positionIcons = {
|
|
101
|
+
'top-left': IconArrowUpLeft,
|
|
102
|
+
'top-center': IconArrowUp,
|
|
103
|
+
'top-right': IconArrowUpRight,
|
|
104
|
+
'center-left': IconArrowLeft,
|
|
105
|
+
'center-center': IconCircle,
|
|
106
|
+
'center-right': IconArrowRight,
|
|
107
|
+
'bottom-left': IconArrowDownLeft,
|
|
108
|
+
'bottom-center': IconArrowDown,
|
|
109
|
+
'bottom-right': IconArrowDownRight
|
|
110
|
+
} as const;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Updates position state and triggers change event
|
|
114
|
+
* Prevents unnecessary updates when selecting current position
|
|
115
|
+
* @param position - The new position to set
|
|
116
|
+
*/
|
|
117
|
+
function handlePositionClick(position: Position) {
|
|
118
|
+
if (position !== value) {
|
|
119
|
+
value = position;
|
|
120
|
+
onChange(position);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Determines the appropriate background SVG path based on position and state
|
|
126
|
+
* Uses simplified backgrounds for center positions to reduce complexity
|
|
127
|
+
* @param position - The position to get background for
|
|
128
|
+
* @param isSelected - Whether the position is currently selected
|
|
129
|
+
* @returns Path to the appropriate background SVG
|
|
130
|
+
*/
|
|
131
|
+
function getBackgroundPath(position: Position, isSelected: boolean) {
|
|
132
|
+
const state = isSelected ? 'selected' : 'deselected';
|
|
133
|
+
|
|
134
|
+
// Use simple background for center positions and center column
|
|
135
|
+
if (position === 'center-left' ||
|
|
136
|
+
position === 'center-center' ||
|
|
137
|
+
position === 'center-right' ||
|
|
138
|
+
position === 'top-center' ||
|
|
139
|
+
position === 'bottom-center') {
|
|
140
|
+
return fixedPositionIcons[`background-${state}`];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Use position-specific backgrounds for corners
|
|
144
|
+
return fixedPositionIcons[`${position}-background-${state}`];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Generates a complete SVG icon dynamically
|
|
149
|
+
* Creates a Blob URL for memory-efficient SVG handling
|
|
150
|
+
* @param position - The position to get icon for
|
|
151
|
+
* @returns Path to the appropriate icon SVG
|
|
152
|
+
*/
|
|
153
|
+
function getIconPath(position: Position) {
|
|
154
|
+
// Create white version of icons by adding stroke="white" to the SVG paths
|
|
155
|
+
const iconSvg = `
|
|
156
|
+
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
157
|
+
${getIconPaths(position)}
|
|
158
|
+
</svg>
|
|
159
|
+
`;
|
|
160
|
+
|
|
161
|
+
const blob = new Blob([iconSvg], { type: 'image/svg+xml' });
|
|
162
|
+
return URL.createObjectURL(blob);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Generates SVG paths dynamically
|
|
167
|
+
* Uses the current selected position to determine the color of the paths
|
|
168
|
+
* @param position - The position to get paths for
|
|
169
|
+
* @returns SVG paths for the appropriate icon
|
|
170
|
+
*/
|
|
171
|
+
function getIconPaths(position: Position) {
|
|
172
|
+
const color = value === position ? 'white' : '#2E2E2E';
|
|
173
|
+
|
|
174
|
+
switch (position) {
|
|
175
|
+
case 'top-left':
|
|
176
|
+
return `
|
|
177
|
+
<path d="M7.49487 7L17.4949 17" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
178
|
+
<path d="M16.4949 7H7.49487V16" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
179
|
+
`;
|
|
180
|
+
case 'top-center':
|
|
181
|
+
return `
|
|
182
|
+
<path d="M12.4949 5V19" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
183
|
+
<path d="M18.4949 11L12.4949 5" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
184
|
+
<path d="M6.49487 11L12.4949 5" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
185
|
+
`;
|
|
186
|
+
case 'top-right':
|
|
187
|
+
return `
|
|
188
|
+
<path d="M17.4949 7L7.49487 17" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
189
|
+
<path d="M8.49487 7H17.4949V16" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
190
|
+
`;
|
|
191
|
+
case 'center-left':
|
|
192
|
+
return `
|
|
193
|
+
<path d="M5.49487 12H19.4949" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
194
|
+
<path d="M11.4949 18L5.49487 12" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
195
|
+
<path d="M11.4949 6L5.49487 12" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
196
|
+
`;
|
|
197
|
+
case 'center-center':
|
|
198
|
+
return `
|
|
199
|
+
<path d="M5.49487 12C5.49487 12.9193 5.67593 13.8295 6.02772 14.6788C6.3795 15.5281 6.89512 16.2997 7.54513 16.9497C8.19514 17.5998 8.96681 18.1154 9.81609 18.4672C10.6654 18.8189 11.5756 19 12.4949 19C13.4141 19 14.3244 18.8189 15.1737 18.4672C16.0229 18.1154 16.7946 17.5998 17.4446 16.9497C18.0946 16.2997 18.6102 15.5281 18.962 14.6788C19.3138 13.8295 19.4949 12.9193 19.4949 12C19.4949 11.0807 19.3138 10.1705 18.962 9.32122C18.6102 8.47194 18.0946 7.70026 17.4446 7.05025C16.7946 6.40024 16.0229 5.88463 15.1737 5.53284C14.3244 5.18106 13.4141 5 12.4949 5C11.5756 5 10.6654 5.18106 9.81609 5.53284C8.96681 5.88463 8.19514 6.40024 7.54513 7.05025C6.89512 7.70026 6.3795 8.47194 6.02772 9.32122C5.67593 10.1705 5.49487 11.0807 5.49487 12Z" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
200
|
+
`;
|
|
201
|
+
case 'center-right':
|
|
202
|
+
return `
|
|
203
|
+
<path d="M19.4949 12H5.49487" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
204
|
+
<path d="M13.4949 6L19.4949 12" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
205
|
+
<path d="M13.4949 18L19.4949 12" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
206
|
+
`;
|
|
207
|
+
case 'bottom-left':
|
|
208
|
+
return `
|
|
209
|
+
<path d="M7.49487 17L17.4949 7" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
210
|
+
<path d="M16.4949 17H7.49487V8" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
211
|
+
`;
|
|
212
|
+
case 'bottom-center':
|
|
213
|
+
return `
|
|
214
|
+
<path d="M12.4949 19V5" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
215
|
+
<path d="M18.4949 13L12.4949 19" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
216
|
+
<path d="M6.49487 13L12.4949 19" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
217
|
+
`;
|
|
218
|
+
case 'bottom-right':
|
|
219
|
+
return `
|
|
220
|
+
<path d="M17.4949 17L7.49487 7" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
221
|
+
<path d="M8.49487 17H17.4949V8" stroke="${color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
222
|
+
`;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Splits the combined position value into vertical and horizontal components
|
|
228
|
+
* @param position - Combined position value (e.g., "bottom-right")
|
|
229
|
+
* @returns Object with separate vertical and horizontal values
|
|
230
|
+
*/
|
|
231
|
+
function splitPosition(position: Position) {
|
|
232
|
+
const [vertical, horizontal] = position.split('-');
|
|
233
|
+
return { vertical, horizontal };
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Reactive values for position components
|
|
237
|
+
$: ({ vertical, horizontal } = splitPosition(value as Position));
|
|
238
|
+
|
|
239
|
+
// Cleanup object URLs when component is destroyed
|
|
240
|
+
onDestroy(() => {
|
|
241
|
+
positions.forEach(position => {
|
|
242
|
+
URL.revokeObjectURL(getIconPath(position));
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
function getCornerRounding(pos: Position): string {
|
|
247
|
+
switch (pos) {
|
|
248
|
+
case 'top-left': return 'rounded-tl-[15px]';
|
|
249
|
+
case 'top-right': return 'rounded-tr-[15px]';
|
|
250
|
+
case 'bottom-left': return 'rounded-bl-[15px]';
|
|
251
|
+
case 'bottom-right': return 'rounded-br-[15px]';
|
|
252
|
+
default: return '';
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
</script>
|
|
256
|
+
|
|
257
|
+
<!-- Container with relative positioning for overlay -->
|
|
258
|
+
<div class="relative widgetic-colors">
|
|
259
|
+
<!-- Grid component -->
|
|
260
|
+
<div
|
|
261
|
+
class="fixed-position-grid grid grid-cols-3 gap-[1px] w-fit bg-white rounded-large relative"
|
|
262
|
+
{id}
|
|
263
|
+
>
|
|
264
|
+
{#each positions as position}
|
|
265
|
+
<button
|
|
266
|
+
class="w-[61px] h-[36px] flex items-center justify-center relative focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 transition-colors group/button {getCornerRounding(position)} {
|
|
267
|
+
position === value
|
|
268
|
+
? 'bg-sage-green hover:bg-sage-green z-[100]'
|
|
269
|
+
: 'bg-grey1 data-[state=open]:bg-grey2 hover:bg-grey2 z-10'
|
|
270
|
+
}"
|
|
271
|
+
on:click={() => handlePositionClick(position)}
|
|
272
|
+
on:focus={onFocus}
|
|
273
|
+
aria-label={`Set position to ${position}`}
|
|
274
|
+
aria-pressed={position === value}
|
|
275
|
+
>
|
|
276
|
+
<svelte:component
|
|
277
|
+
this={positionIcons[position]}
|
|
278
|
+
class="w-6 h-6 pointer-events-none {
|
|
279
|
+
position === value
|
|
280
|
+
? '[&>*]:stroke-white [&>*]:group-hover/button:[&>*]:stroke-white'
|
|
281
|
+
: '[&>*]:stroke-[hsl(var(--grey5))] group-hover/button:[&>*]:stroke-[hsl(var(--grey7))]'
|
|
282
|
+
}"
|
|
283
|
+
stroke="currentColor"
|
|
284
|
+
/>
|
|
285
|
+
</button>
|
|
286
|
+
{/each}
|
|
287
|
+
</div>
|
|
288
|
+
|
|
289
|
+
<!-- Border overlay with hover effect -->
|
|
290
|
+
<!-- svelte-ignore element_invalid_self_closing_tag -->
|
|
291
|
+
<div
|
|
292
|
+
class="absolute inset-0 pointer-events-none rounded-large border border-grey2 transition-colors duration-200 hover:border-forest-green z-50"
|
|
293
|
+
aria-hidden="true"
|
|
294
|
+
/>
|
|
295
|
+
</div>
|
|
296
|
+
|
|
297
|
+
<style>
|
|
298
|
+
/* Base button styles */
|
|
299
|
+
button {
|
|
300
|
+
outline: none !important;
|
|
301
|
+
border: none !important;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/* Icon styles */
|
|
305
|
+
:global(.fixed-position-grid button svg) {
|
|
306
|
+
stroke-width: 2;
|
|
307
|
+
pointer-events: none;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/* Focus states */
|
|
311
|
+
:global(.fixed-position-grid button:focus-visible),
|
|
312
|
+
:global(.fixed-position-grid button:focus-within) {
|
|
313
|
+
outline: none !important;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
:global(.fixed-position-grid:focus-within) {
|
|
317
|
+
outline: none !important;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/* Selected state */
|
|
321
|
+
:global(.fixed-position-grid button[aria-pressed="true"]) {
|
|
322
|
+
background-color: hsl(var(--sage-green)) !important;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
:global(.fixed-position-grid button[aria-pressed="true"]:hover) {
|
|
326
|
+
background-color: hsl(var(--sage-green)) !important;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/* Unselected state */
|
|
330
|
+
:global(.fixed-position-grid button:not([aria-pressed="true"]):hover) {
|
|
331
|
+
background-color: hsl(var(--grey2)) !important;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* Icon colors */
|
|
335
|
+
:global(.fixed-position-grid button[aria-pressed="true"] svg *) {
|
|
336
|
+
stroke: white !important;
|
|
337
|
+
fill: none !important;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
:global(.fixed-position-grid button[aria-pressed="true"]:hover svg *) {
|
|
341
|
+
stroke: white !important;
|
|
342
|
+
fill: none !important;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
:global(.fixed-position-grid button:not([aria-pressed="true"]):hover svg *) {
|
|
346
|
+
stroke: hsl(var(--grey7)) !important;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/* Container hover state */
|
|
350
|
+
.relative:hover .absolute {
|
|
351
|
+
border-color: hsl(var(--forest-green)) !important;
|
|
352
|
+
}
|
|
353
|
+
</style>
|
|
@@ -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 FixedPositionInputController: $$__sveltets_2_IsomorphicComponent<{
|
|
15
|
+
value?: "top-left" | "top-center" | "top-right" | "center-left" | "center-center" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right";
|
|
16
|
+
onChange: (newValue: "top-left" | "top-center" | "top-right" | "center-left" | "center-center" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right") => void;
|
|
17
|
+
onFocus?: () => void;
|
|
18
|
+
id?: string | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
[evt: string]: CustomEvent<any>;
|
|
21
|
+
}, {}, {}, string>;
|
|
22
|
+
type FixedPositionInputController = InstanceType<typeof FixedPositionInputController>;
|
|
23
|
+
export default FixedPositionInputController;
|