@finsweet/webflow-apps-utils 1.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.
- package/README.md +45 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/router/Link.svelte +166 -0
- package/dist/router/Link.svelte.d.ts +26 -0
- package/dist/router/README.md +397 -0
- package/dist/router/Route.svelte +82 -0
- package/dist/router/Route.svelte.d.ts +24 -0
- package/dist/router/Router.svelte +71 -0
- package/dist/router/Router.svelte.d.ts +20 -0
- package/dist/router/hooks.svelte.d.ts +77 -0
- package/dist/router/hooks.svelte.js +148 -0
- package/dist/router/index.svelte.d.ts +107 -0
- package/dist/router/index.svelte.js +400 -0
- package/dist/stores/breakpoints.d.ts +10 -0
- package/dist/stores/breakpoints.js +2 -0
- package/dist/stores/componentInjectErrors.d.ts +1 -0
- package/dist/stores/componentInjectErrors.js +2 -0
- package/dist/stores/forms.d.ts +110 -0
- package/dist/stores/forms.js +307 -0
- package/dist/stores/globalStore.d.ts +10 -0
- package/dist/stores/globalStore.js +10 -0
- package/dist/stores/index.d.ts +7 -0
- package/dist/stores/index.js +7 -0
- package/dist/stores/router.d.ts +4 -0
- package/dist/stores/router.js +5 -0
- package/dist/stores/showConfirmActionModal.d.ts +1 -0
- package/dist/stores/showConfirmActionModal.js +2 -0
- package/dist/stores/siteInfo.d.ts +13 -0
- package/dist/stores/siteInfo.js +2 -0
- package/dist/types/auth.d.ts +40 -0
- package/dist/types/auth.js +1 -0
- package/dist/types/customCode.d.ts +16 -0
- package/dist/types/customCode.js +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +5 -0
- package/dist/types/license.d.ts +5 -0
- package/dist/types/license.js +1 -0
- package/dist/types/webflow.d.ts +125 -0
- package/dist/types/webflow.js +1 -0
- package/dist/types/window.d.ts +14 -0
- package/dist/types/window.js +1 -0
- package/dist/ui/components/ButtonGroup.svelte +106 -0
- package/dist/ui/components/ButtonGroup.svelte.d.ts +28 -0
- package/dist/ui/components/Checkbox.svelte +94 -0
- package/dist/ui/components/Checkbox.svelte.d.ts +36 -0
- package/dist/ui/components/Copy.svelte +329 -0
- package/dist/ui/components/Copy.svelte.d.ts +35 -0
- package/dist/ui/components/CustomModal.svelte +192 -0
- package/dist/ui/components/CustomModal.svelte.d.ts +45 -0
- package/dist/ui/components/DisableInEditMode.svelte +66 -0
- package/dist/ui/components/DisableInEditMode.svelte.d.ts +33 -0
- package/dist/ui/components/Divider.svelte +31 -0
- package/dist/ui/components/Divider.svelte.d.ts +31 -0
- package/dist/ui/components/Header.svelte +30 -0
- package/dist/ui/components/Header.svelte.d.ts +20 -0
- package/dist/ui/components/Iframe.svelte +89 -0
- package/dist/ui/components/Iframe.svelte.d.ts +40 -0
- package/dist/ui/components/ImageUpload.svelte +213 -0
- package/dist/ui/components/ImageUpload.svelte.d.ts +42 -0
- package/dist/ui/components/InjectComponent.svelte +297 -0
- package/dist/ui/components/InjectComponent.svelte.d.ts +27 -0
- package/dist/ui/components/Loader.svelte +68 -0
- package/dist/ui/components/Loader.svelte.d.ts +24 -0
- package/dist/ui/components/LoadingScreen.svelte +71 -0
- package/dist/ui/components/LoadingScreen.svelte.d.ts +26 -0
- package/dist/ui/components/Modal.svelte +139 -0
- package/dist/ui/components/Modal.svelte.d.ts +42 -0
- package/dist/ui/components/Navbar.svelte +132 -0
- package/dist/ui/components/Navbar.svelte.d.ts +29 -0
- package/dist/ui/components/NoSettingsNeeded.svelte +31 -0
- package/dist/ui/components/NoSettingsNeeded.svelte.d.ts +18 -0
- package/dist/ui/components/Notification.svelte +193 -0
- package/dist/ui/components/Notification.svelte.d.ts +64 -0
- package/dist/ui/components/PlusMinusButton.svelte +91 -0
- package/dist/ui/components/PlusMinusButton.svelte.d.ts +22 -0
- package/dist/ui/components/PreviewBar.svelte +40 -0
- package/dist/ui/components/PreviewBar.svelte.d.ts +20 -0
- package/dist/ui/components/ScrollableContent.svelte +18 -0
- package/dist/ui/components/ScrollableContent.svelte.d.ts +31 -0
- package/dist/ui/components/Section.svelte +97 -0
- package/dist/ui/components/Section.svelte.d.ts +50 -0
- package/dist/ui/components/SelectBodyOrDivBlock.svelte +26 -0
- package/dist/ui/components/SelectBodyOrDivBlock.svelte.d.ts +26 -0
- package/dist/ui/components/Spacer.svelte +9 -0
- package/dist/ui/components/Spacer.svelte.d.ts +22 -0
- package/dist/ui/components/SpinnerPlusMinus.svelte +75 -0
- package/dist/ui/components/SpinnerPlusMinus.svelte.d.ts +23 -0
- package/dist/ui/components/SpinnerUpDown.svelte +194 -0
- package/dist/ui/components/SpinnerUpDown.svelte.d.ts +31 -0
- package/dist/ui/components/Tabs.svelte +71 -0
- package/dist/ui/components/Tabs.svelte.d.ts +26 -0
- package/dist/ui/components/ToggleItem.svelte +29 -0
- package/dist/ui/components/ToggleItem.svelte.d.ts +28 -0
- package/dist/ui/components/ToggleList.svelte +57 -0
- package/dist/ui/components/ToggleList.svelte.d.ts +39 -0
- package/dist/ui/components/breakpoints/BreakpointItem.svelte +84 -0
- package/dist/ui/components/breakpoints/BreakpointItem.svelte.d.ts +37 -0
- package/dist/ui/components/breakpoints/breakpointOptions.d.ts +12 -0
- package/dist/ui/components/breakpoints/breakpointOptions.js +38 -0
- package/dist/ui/components/breakpoints/index.d.ts +3 -0
- package/dist/ui/components/breakpoints/index.js +3 -0
- package/dist/ui/components/button/Button.stories.svelte +275 -0
- package/dist/ui/components/button/Button.stories.svelte.d.ts +27 -0
- package/dist/ui/components/button/Button.svelte +389 -0
- package/dist/ui/components/button/Button.svelte.d.ts +84 -0
- package/dist/ui/components/button/index.d.ts +2 -0
- package/dist/ui/components/button/index.js +1 -0
- package/dist/ui/components/button/types.d.ts +23 -0
- package/dist/ui/components/button/types.js +1 -0
- package/dist/ui/components/buttons/FooterButton.svelte +277 -0
- package/dist/ui/components/buttons/FooterButton.svelte.d.ts +10 -0
- package/dist/ui/components/buttons/index.d.ts +5 -0
- package/dist/ui/components/buttons/index.js +5 -0
- package/dist/ui/components/buttons/types.d.ts +28 -0
- package/dist/ui/components/buttons/types.js +1 -0
- package/dist/ui/components/clickable/Clickable.stories.svelte +213 -0
- package/dist/ui/components/clickable/Clickable.stories.svelte.d.ts +27 -0
- package/dist/ui/components/clickable/Clickable.svelte +93 -0
- package/dist/ui/components/clickable/Clickable.svelte.d.ts +4 -0
- package/dist/ui/components/clickable/index.d.ts +2 -0
- package/dist/ui/components/clickable/index.js +1 -0
- package/dist/ui/components/clickable/types.d.ts +17 -0
- package/dist/ui/components/clickable/types.js +1 -0
- package/dist/ui/components/index.d.ts +46 -0
- package/dist/ui/components/index.js +46 -0
- package/dist/ui/components/input/Input.stories.d.ts +109 -0
- package/dist/ui/components/input/Input.stories.js +337 -0
- package/dist/ui/components/input/Input.svelte +422 -0
- package/dist/ui/components/input/Input.svelte.d.ts +4 -0
- package/dist/ui/components/input/index.d.ts +2 -0
- package/dist/ui/components/input/index.js +1 -0
- package/dist/ui/components/input/types.d.ts +109 -0
- package/dist/ui/components/input/types.js +1 -0
- package/dist/ui/components/layout/ExampleLayout.svelte +538 -0
- package/dist/ui/components/layout/ExampleLayout.svelte.d.ts +3 -0
- package/dist/ui/components/layout/Layout.stories.svelte +24 -0
- package/dist/ui/components/layout/Layout.stories.svelte.d.ts +18 -0
- package/dist/ui/components/layout/Layout.svelte +551 -0
- package/dist/ui/components/layout/Layout.svelte.d.ts +30 -0
- package/dist/ui/components/layout/common/EditModeMessage.svelte +59 -0
- package/dist/ui/components/layout/common/EditModeMessage.svelte.d.ts +3 -0
- package/dist/ui/components/layout/common/index.d.ts +1 -0
- package/dist/ui/components/layout/common/index.js +1 -0
- package/dist/ui/components/layout/index.d.ts +3 -0
- package/dist/ui/components/layout/index.js +2 -0
- package/dist/ui/components/layout/types.d.ts +59 -0
- package/dist/ui/components/layout/types.js +1 -0
- package/dist/ui/components/select/Select.stories.d.ts +94 -0
- package/dist/ui/components/select/Select.stories.js +396 -0
- package/dist/ui/components/select/Select.svelte +705 -0
- package/dist/ui/components/select/Select.svelte.d.ts +11 -0
- package/dist/ui/components/select/index.d.ts +2 -0
- package/dist/ui/components/select/index.js +1 -0
- package/dist/ui/components/select/types.d.ts +94 -0
- package/dist/ui/components/select/types.js +1 -0
- package/dist/ui/components/switch/Switch.stories.d.ts +58 -0
- package/dist/ui/components/switch/Switch.stories.js +198 -0
- package/dist/ui/components/switch/Switch.svelte +220 -0
- package/dist/ui/components/switch/Switch.svelte.d.ts +4 -0
- package/dist/ui/components/switch/index.d.ts +2 -0
- package/dist/ui/components/switch/index.js +1 -0
- package/dist/ui/components/switch/types.d.ts +47 -0
- package/dist/ui/components/switch/types.js +1 -0
- package/dist/ui/components/text/README.md +73 -0
- package/dist/ui/components/text/Text.stories.svelte +203 -0
- package/dist/ui/components/text/Text.stories.svelte.d.ts +27 -0
- package/dist/ui/components/text/Text.svelte +778 -0
- package/dist/ui/components/text/Text.svelte.d.ts +8 -0
- package/dist/ui/components/text/index.d.ts +3 -0
- package/dist/ui/components/text/index.js +2 -0
- package/dist/ui/components/text/types.d.ts +46 -0
- package/dist/ui/components/text/types.js +1 -0
- package/dist/ui/components/tooltip/Tooltip.stories.svelte +128 -0
- package/dist/ui/components/tooltip/Tooltip.stories.svelte.d.ts +27 -0
- package/dist/ui/components/tooltip/Tooltip.svelte +463 -0
- package/dist/ui/components/tooltip/Tooltip.svelte.d.ts +7 -0
- package/dist/ui/components/tooltip/index.d.ts +2 -0
- package/dist/ui/components/tooltip/index.js +1 -0
- package/dist/ui/components/tooltip/types.d.ts +114 -0
- package/dist/ui/components/tooltip/types.js +1 -0
- package/dist/ui/icons/AccordionDownArrow.svelte +8 -0
- package/dist/ui/icons/AccordionDownArrow.svelte.d.ts +26 -0
- package/dist/ui/icons/AccordionUpArrow.svelte +8 -0
- package/dist/ui/icons/AccordionUpArrow.svelte.d.ts +26 -0
- package/dist/ui/icons/AccountIcon.svelte +14 -0
- package/dist/ui/icons/AccountIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ArrowIcon.svelte +6 -0
- package/dist/ui/icons/ArrowIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BackIcon.svelte +8 -0
- package/dist/ui/icons/BackIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BodyIcon.svelte +8 -0
- package/dist/ui/icons/BodyIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BookmarkIcon.svelte +13 -0
- package/dist/ui/icons/BookmarkIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BoxAddIcon.svelte +8 -0
- package/dist/ui/icons/BoxAddIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BrushIcon.svelte +10 -0
- package/dist/ui/icons/BrushIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BuilderEditIcon.svelte +12 -0
- package/dist/ui/icons/BuilderEditIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/BuilderIcon.svelte +14 -0
- package/dist/ui/icons/BuilderIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CMSIcon.svelte +8 -0
- package/dist/ui/icons/CMSIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CheckCircleIcon.svelte +8 -0
- package/dist/ui/icons/CheckCircleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CheckCircleOutlinedIcon.svelte +15 -0
- package/dist/ui/icons/CheckCircleOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CheckIcon.svelte +9 -0
- package/dist/ui/icons/CheckIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CheckboxCheckedIcon.svelte +15 -0
- package/dist/ui/icons/CheckboxCheckedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ChevronIcon.svelte +8 -0
- package/dist/ui/icons/ChevronIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ChevronRightIcon.svelte +8 -0
- package/dist/ui/icons/ChevronRightIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CircleIcon.svelte +3 -0
- package/dist/ui/icons/CircleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CloseCircleIcon.svelte +6 -0
- package/dist/ui/icons/CloseCircleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CloseIcon.svelte +8 -0
- package/dist/ui/icons/CloseIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CodeIcon.svelte +8 -0
- package/dist/ui/icons/CodeIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ComponentsIcon.svelte +7 -0
- package/dist/ui/icons/ComponentsIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CookieIcon.svelte +15 -0
- package/dist/ui/icons/CookieIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/CopyIcon.svelte +19 -0
- package/dist/ui/icons/CopyIcon.svelte.d.ts +20 -0
- package/dist/ui/icons/CrossIcon.svelte +4 -0
- package/dist/ui/icons/CrossIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/DOMElement.svelte +19 -0
- package/dist/ui/icons/DOMElement.svelte.d.ts +28 -0
- package/dist/ui/icons/DeleteIcon.svelte +8 -0
- package/dist/ui/icons/DeleteIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/DeleteOutlinedIcon.svelte +8 -0
- package/dist/ui/icons/DeleteOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/Desktop.svelte +19 -0
- package/dist/ui/icons/Desktop.svelte.d.ts +21 -0
- package/dist/ui/icons/DesktopWithStar.svelte +21 -0
- package/dist/ui/icons/DesktopWithStar.svelte.d.ts +21 -0
- package/dist/ui/icons/DivBlock.svelte +14 -0
- package/dist/ui/icons/DivBlock.svelte.d.ts +28 -0
- package/dist/ui/icons/EditIcon.svelte +15 -0
- package/dist/ui/icons/EditIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ExpertIcon.svelte +16 -0
- package/dist/ui/icons/ExpertIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/EyeCancelIcon.svelte +12 -0
- package/dist/ui/icons/EyeCancelIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/EyeIcon.svelte +12 -0
- package/dist/ui/icons/EyeIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FavouriteIcon.svelte +6 -0
- package/dist/ui/icons/FavouriteIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FileUploadIcon.svelte +18 -0
- package/dist/ui/icons/FileUploadIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FilterIcon.svelte +8 -0
- package/dist/ui/icons/FilterIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FinsweetLibraryIcon.svelte +21 -0
- package/dist/ui/icons/FinsweetLibraryIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FinsweetLogoIcon.svelte +20 -0
- package/dist/ui/icons/FinsweetLogoIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FolderIcon.svelte +6 -0
- package/dist/ui/icons/FolderIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FolderOutlinedIcon.svelte +8 -0
- package/dist/ui/icons/FolderOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FolderPlusIcon.svelte +10 -0
- package/dist/ui/icons/FolderPlusIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/FreeComponentIcon.svelte +8 -0
- package/dist/ui/icons/FreeComponentIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/GlobeIcon.svelte +14 -0
- package/dist/ui/icons/GlobeIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/HandPointUpIcon.svelte +9 -0
- package/dist/ui/icons/HandPointUpIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/HeartIcon.svelte +8 -0
- package/dist/ui/icons/HeartIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/HeartIconOutlined.svelte +8 -0
- package/dist/ui/icons/HeartIconOutlined.svelte.d.ts +26 -0
- package/dist/ui/icons/HelpAltIcon.svelte +23 -0
- package/dist/ui/icons/HelpAltIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/HelpIcon.svelte +16 -0
- package/dist/ui/icons/HelpIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/HomeIcon.svelte +8 -0
- package/dist/ui/icons/HomeIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/InfoIcon.svelte +14 -0
- package/dist/ui/icons/InfoIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ListIcon.svelte +18 -0
- package/dist/ui/icons/ListIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/LockIcon.svelte +13 -0
- package/dist/ui/icons/LockIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/MessageIcon.svelte +10 -0
- package/dist/ui/icons/MessageIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/MobileLandscape.svelte +20 -0
- package/dist/ui/icons/MobileLandscape.svelte.d.ts +21 -0
- package/dist/ui/icons/MobilePortrait.svelte +20 -0
- package/dist/ui/icons/MobilePortrait.svelte.d.ts +21 -0
- package/dist/ui/icons/NavigatorIcon.svelte +8 -0
- package/dist/ui/icons/NavigatorIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/OpenBookIcon.svelte +8 -0
- package/dist/ui/icons/OpenBookIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PageDraftIcon.svelte +8 -0
- package/dist/ui/icons/PageDraftIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PageIcon.svelte +9 -0
- package/dist/ui/icons/PageIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PageLockedIcon.svelte +8 -0
- package/dist/ui/icons/PageLockedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PageOutlinedIcon.svelte +8 -0
- package/dist/ui/icons/PageOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PageSectionIcon.svelte +10 -0
- package/dist/ui/icons/PageSectionIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/Pencil.svelte +12 -0
- package/dist/ui/icons/Pencil.svelte.d.ts +20 -0
- package/dist/ui/icons/PencilOutlinedIcon.svelte +15 -0
- package/dist/ui/icons/PencilOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PinIcon.svelte +8 -0
- package/dist/ui/icons/PinIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PlayIcon.svelte +8 -0
- package/dist/ui/icons/PlayIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PlusIcon.svelte +8 -0
- package/dist/ui/icons/PlusIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PreviewEyeIcon.svelte +12 -0
- package/dist/ui/icons/PreviewEyeIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ProfileIcon.svelte +12 -0
- package/dist/ui/icons/ProfileIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PublishCancelIcon.svelte +8 -0
- package/dist/ui/icons/PublishCancelIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/PublishIcon.svelte +12 -0
- package/dist/ui/icons/PublishIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/RefreshIcon.svelte +10 -0
- package/dist/ui/icons/RefreshIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/RepairIcon.svelte +10 -0
- package/dist/ui/icons/RepairIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SaveIcon.svelte +14 -0
- package/dist/ui/icons/SaveIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SearchIcon.svelte +8 -0
- package/dist/ui/icons/SearchIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SelectIcon.svelte +7 -0
- package/dist/ui/icons/SelectIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SettingsIcon.svelte +8 -0
- package/dist/ui/icons/SettingsIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SidebarToggleIcon.svelte +28 -0
- package/dist/ui/icons/SidebarToggleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SliderAppIcon.svelte +14 -0
- package/dist/ui/icons/SliderAppIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SquareCheckIcon.svelte +3 -0
- package/dist/ui/icons/SquareCheckIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/StarIcon.svelte +6 -0
- package/dist/ui/icons/StarIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/StarOutlinedIcon.svelte +6 -0
- package/dist/ui/icons/StarOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/StaticContentIcon.svelte +8 -0
- package/dist/ui/icons/StaticContentIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/SubtractIcon.svelte +9 -0
- package/dist/ui/icons/SubtractIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TabNewIcon.svelte +6 -0
- package/dist/ui/icons/TabNewIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TableAppIcon.svelte +19 -0
- package/dist/ui/icons/TableAppIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/Tablet.svelte +20 -0
- package/dist/ui/icons/Tablet.svelte.d.ts +21 -0
- package/dist/ui/icons/TabletPreview.svelte +20 -0
- package/dist/ui/icons/TabletPreview.svelte.d.ts +21 -0
- package/dist/ui/icons/TabsIcon.svelte +17 -0
- package/dist/ui/icons/TabsIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ThreeDotsIcon.svelte +14 -0
- package/dist/ui/icons/ThreeDotsIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TimesIcon.svelte +4 -0
- package/dist/ui/icons/TimesIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/ToolTipInfoCircleIcon.svelte +11 -0
- package/dist/ui/icons/ToolTipInfoCircleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TooltipInfoCircleFilled.svelte +13 -0
- package/dist/ui/icons/TooltipInfoCircleFilled.svelte.d.ts +26 -0
- package/dist/ui/icons/TooltipInfoSquaredIcon.svelte +16 -0
- package/dist/ui/icons/TooltipInfoSquaredIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TriangleDownIcon.svelte +7 -0
- package/dist/ui/icons/TriangleDownIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/TriangleDownIconToggle.svelte +21 -0
- package/dist/ui/icons/TriangleDownIconToggle.svelte.d.ts +20 -0
- package/dist/ui/icons/UndoIcon.svelte +6 -0
- package/dist/ui/icons/UndoIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/UploadFileIcon.svelte +10 -0
- package/dist/ui/icons/UploadFileIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WarningCircleIcon.svelte +7 -0
- package/dist/ui/icons/WarningCircleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WarningCircleOutlineIcon.svelte +14 -0
- package/dist/ui/icons/WarningCircleOutlineIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WarningTriangleIcon.svelte +6 -0
- package/dist/ui/icons/WarningTriangleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WarningTriangleOutlineIcon.svelte +14 -0
- package/dist/ui/icons/WarningTriangleOutlineIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WebflowComponentIcon.svelte +14 -0
- package/dist/ui/icons/WebflowComponentIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WebflowComponentOutlinedIcon.svelte +10 -0
- package/dist/ui/icons/WebflowComponentOutlinedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WebflowInsightsIcon.svelte +6 -0
- package/dist/ui/icons/WebflowInsightsIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/WizedLogoIcon.svelte +39 -0
- package/dist/ui/icons/WizedLogoIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/XL.svelte +19 -0
- package/dist/ui/icons/XL.svelte.d.ts +21 -0
- package/dist/ui/icons/XXL.svelte +19 -0
- package/dist/ui/icons/XXL.svelte.d.ts +21 -0
- package/dist/ui/icons/XXXL.svelte +19 -0
- package/dist/ui/icons/XXXL.svelte.d.ts +21 -0
- package/dist/ui/icons/apps/FsConsentIcon.svelte +22 -0
- package/dist/ui/icons/apps/FsConsentIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsCursorIcon.svelte +12 -0
- package/dist/ui/icons/apps/FsCursorIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsExampleIcon.svelte +10 -0
- package/dist/ui/icons/apps/FsExampleIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsInstagramFeedIcon.svelte +27 -0
- package/dist/ui/icons/apps/FsInstagramFeedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsMarqueeIcon.svelte +13 -0
- package/dist/ui/icons/apps/FsMarqueeIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsNumberCountIcon.svelte +46 -0
- package/dist/ui/icons/apps/FsNumberCountIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsSliderIcon.svelte +13 -0
- package/dist/ui/icons/apps/FsSliderIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsTablesIcon.svelte +19 -0
- package/dist/ui/icons/apps/FsTablesIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsTabsIcon.svelte +24 -0
- package/dist/ui/icons/apps/FsTabsIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsTooltipIcon.svelte +12 -0
- package/dist/ui/icons/apps/FsTooltipIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/FsYouTubeFeedIcon.svelte +43 -0
- package/dist/ui/icons/apps/FsYouTubeFeedIcon.svelte.d.ts +26 -0
- package/dist/ui/icons/apps/index.d.ts +15 -0
- package/dist/ui/icons/apps/index.js +15 -0
- package/dist/ui/icons/index.d.ts +120 -0
- package/dist/ui/icons/index.js +120 -0
- package/dist/ui/index.css +494 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/dist/utils/api/checkIfAppModeIsDesign.d.ts +5 -0
- package/dist/utils/api/checkIfAppModeIsDesign.js +20 -0
- package/dist/utils/api/clipboard/handlePaste.d.ts +46 -0
- package/dist/utils/api/clipboard/handlePaste.js +53 -0
- package/dist/utils/api/clipboard/index.d.ts +1 -0
- package/dist/utils/api/clipboard/index.js +1 -0
- package/dist/utils/api/copyPaste/index.d.ts +18 -0
- package/dist/utils/api/copyPaste/index.js +1 -0
- package/dist/utils/api/getAllAssets.d.ts +12 -0
- package/dist/utils/api/getAllAssets.js +21 -0
- package/dist/utils/api/getFinsweetComponentsEnvironment.d.ts +9 -0
- package/dist/utils/api/getFinsweetComponentsEnvironment.js +70 -0
- package/dist/utils/api/index.d.ts +6 -0
- package/dist/utils/api/index.js +6 -0
- package/dist/utils/api/insertWithXSCP.d.ts +5 -0
- package/dist/utils/api/insertWithXSCP.js +13 -0
- package/dist/utils/auth/crossWindowLogin.d.ts +2 -0
- package/dist/utils/auth/crossWindowLogin.js +49 -0
- package/dist/utils/auth/index.d.ts +61 -0
- package/dist/utils/auth/index.js +196 -0
- package/dist/utils/browser-storage/index.d.ts +2 -0
- package/dist/utils/browser-storage/index.js +2 -0
- package/dist/utils/browser-storage/localStorage.d.ts +24 -0
- package/dist/utils/browser-storage/localStorage.js +56 -0
- package/dist/utils/browser-storage/sessionStorage.d.ts +24 -0
- package/dist/utils/browser-storage/sessionStorage.js +56 -0
- package/dist/utils/constants.d.ts +61 -0
- package/dist/utils/constants.js +73 -0
- package/dist/utils/custom-code/api.d.ts +17 -0
- package/dist/utils/custom-code/api.js +41 -0
- package/dist/utils/custom-code/index.d.ts +1 -0
- package/dist/utils/custom-code/index.js +1 -0
- package/dist/utils/helpers/cleanupTooltipMessage.d.ts +5 -0
- package/dist/utils/helpers/cleanupTooltipMessage.js +25 -0
- package/dist/utils/helpers/goto.d.ts +7 -0
- package/dist/utils/helpers/goto.js +35 -0
- package/dist/utils/helpers/index.d.ts +5 -0
- package/dist/utils/helpers/index.js +5 -0
- package/dist/utils/helpers/noop.d.ts +4 -0
- package/dist/utils/helpers/noop.js +7 -0
- package/dist/utils/helpers/numbers.d.ts +27 -0
- package/dist/utils/helpers/numbers.js +61 -0
- package/dist/utils/helpers/objectsToModuleExports.d.ts +9 -0
- package/dist/utils/helpers/objectsToModuleExports.js +13 -0
- package/dist/utils/helpers/trimText.d.ts +15 -0
- package/dist/utils/helpers/trimText.js +33 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/logger/index.d.ts +19 -0
- package/dist/utils/logger/index.js +41 -0
- package/dist/utils/webflow-canvas/attributes/getAllWebflowElementAttributes.d.ts +6 -0
- package/dist/utils/webflow-canvas/attributes/getAllWebflowElementAttributes.js +19 -0
- package/dist/utils/webflow-canvas/attributes/getInstanceNamesFromObject.d.ts +8 -0
- package/dist/utils/webflow-canvas/attributes/getInstanceNamesFromObject.js +21 -0
- package/dist/utils/webflow-canvas/attributes/getWebflowElementAttribute.d.ts +7 -0
- package/dist/utils/webflow-canvas/attributes/getWebflowElementAttribute.js +25 -0
- package/dist/utils/webflow-canvas/attributes/getWebflowElementTextContent.d.ts +6 -0
- package/dist/utils/webflow-canvas/attributes/getWebflowElementTextContent.js +26 -0
- package/dist/utils/webflow-canvas/attributes/index.d.ts +7 -0
- package/dist/utils/webflow-canvas/attributes/index.js +7 -0
- package/dist/utils/webflow-canvas/attributes/removeWebflowElementAttribute.d.ts +7 -0
- package/dist/utils/webflow-canvas/attributes/removeWebflowElementAttribute.js +37 -0
- package/dist/utils/webflow-canvas/attributes/setStyles.d.ts +10 -0
- package/dist/utils/webflow-canvas/attributes/setStyles.js +36 -0
- package/dist/utils/webflow-canvas/attributes/setWebflowElementAttribute.d.ts +11 -0
- package/dist/utils/webflow-canvas/attributes/setWebflowElementAttribute.js +61 -0
- package/dist/utils/webflow-canvas/findInstanceElement.d.ts +32 -0
- package/dist/utils/webflow-canvas/findInstanceElement.js +144 -0
- package/dist/utils/webflow-canvas/getAllPages.d.ts +29 -0
- package/dist/utils/webflow-canvas/getAllPages.js +93 -0
- package/dist/utils/webflow-canvas/getSiteStagingUrl.d.ts +7 -0
- package/dist/utils/webflow-canvas/getSiteStagingUrl.js +14 -0
- package/dist/utils/webflow-canvas/index.d.ts +3 -0
- package/dist/utils/webflow-canvas/index.js +3 -0
- package/package.json +107 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getLocalStorage } from '../browser-storage';
|
|
2
|
+
import { COMPONENTS_CORE_SCRIPT, COMPONENTS_CORE_SCRIPT_LOCAL, COMPONENTS_SERVER_DEV_ENDPOINT, COMPONENTS_SERVER_DEV_ENDPOINT_LOCAL, COMPONENTS_SERVER_PROD_ENDPOINT } from '../constants';
|
|
3
|
+
const DEV_MODE_KEY = 'fsComponentsDevMode';
|
|
4
|
+
const DEV_MODE_SCRIPT_KEY = 'fsComponentsDevModeScript';
|
|
5
|
+
const DEV_MODE_API_KEY = 'fsComponentsDevModeApi';
|
|
6
|
+
const URL_DEV_MODE_KEY = 'dev';
|
|
7
|
+
const URL_DEV_MODE_SCRIPT_KEY = 'script';
|
|
8
|
+
const URL_DEV_MODE_API_KEY = 'api';
|
|
9
|
+
let lastLogTime = 0;
|
|
10
|
+
const LOG_THROTTLE_MS = 3000;
|
|
11
|
+
/**
|
|
12
|
+
* Gets a parameter value from the URL search params
|
|
13
|
+
* @param key The key to search for in URL parameters
|
|
14
|
+
* @returns The value of the parameter or null if not found
|
|
15
|
+
*/
|
|
16
|
+
const getUrlParam = (key) => {
|
|
17
|
+
if (typeof window === 'undefined')
|
|
18
|
+
return null;
|
|
19
|
+
try {
|
|
20
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
21
|
+
return urlParams.get(key);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
console.error('Error getting URL parameter:', e);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Simple throttled console log that only logs once within the throttle interval
|
|
30
|
+
*/
|
|
31
|
+
const throttledLog = (message, data) => {
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
if (now - lastLogTime >= LOG_THROTTLE_MS) {
|
|
34
|
+
console.log(message, data || '');
|
|
35
|
+
lastLogTime = now;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Get the Finsweet components environment.
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
export const getFinsweetComponentsEnvironment = () => {
|
|
43
|
+
const devFromUrl = getUrlParam(URL_DEV_MODE_KEY);
|
|
44
|
+
const scriptFromUrl = getUrlParam(URL_DEV_MODE_SCRIPT_KEY);
|
|
45
|
+
const apiFromUrl = getUrlParam(URL_DEV_MODE_API_KEY);
|
|
46
|
+
const dev = devFromUrl !== null ? devFromUrl === 'true' : getLocalStorage(DEV_MODE_KEY) === 'true';
|
|
47
|
+
let script = scriptFromUrl || getLocalStorage(DEV_MODE_SCRIPT_KEY) || COMPONENTS_CORE_SCRIPT;
|
|
48
|
+
let api = dev
|
|
49
|
+
? apiFromUrl || getLocalStorage(DEV_MODE_API_KEY) || COMPONENTS_SERVER_DEV_ENDPOINT
|
|
50
|
+
: COMPONENTS_SERVER_PROD_ENDPOINT;
|
|
51
|
+
const isBrowser = typeof window !== 'undefined';
|
|
52
|
+
const isLocalhost = isBrowser && window?.location?.hostname?.includes('localhost');
|
|
53
|
+
//if localhost then use local scripts
|
|
54
|
+
if (isLocalhost) {
|
|
55
|
+
script = COMPONENTS_CORE_SCRIPT_LOCAL;
|
|
56
|
+
api = COMPONENTS_SERVER_DEV_ENDPOINT_LOCAL;
|
|
57
|
+
}
|
|
58
|
+
const development = !!dev || isLocalhost;
|
|
59
|
+
if (development) {
|
|
60
|
+
throttledLog(`\n\nFinsweet Components Environment:
|
|
61
|
+
- API: ${api}
|
|
62
|
+
- Core script: ${script}
|
|
63
|
+
- Development mode: ${development ? 'Yes' : 'No'}\n\n`);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
development,
|
|
67
|
+
coreScript: script,
|
|
68
|
+
api
|
|
69
|
+
};
|
|
70
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert a template into the Designer Canvas using XSCP APIs
|
|
3
|
+
* @param template - the template to insert, should be a string
|
|
4
|
+
*/
|
|
5
|
+
export const insertWithXSCP = async (template) => {
|
|
6
|
+
try {
|
|
7
|
+
// @ts-expect-error - typings not available for xscp
|
|
8
|
+
await webflow._internal.xscp(template);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
throw new Error(`Failed to insert template with XSCP: ${error}`);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { AUTH0_AUDIENCE, AUTH0_CLIENT_ID, AUTH0_LOGIN_URL, AUTH0_REDIRECT_URL, AUTH0_SCOPE, PROD_FINSWEEET_ACCOUNTS_ORIGIN } from '../constants';
|
|
2
|
+
export const crossWindowLogin = () => {
|
|
3
|
+
return new Promise((resolve, reject) => {
|
|
4
|
+
const timeout = setTimeout(() => {
|
|
5
|
+
window.removeEventListener('message', handleMessage);
|
|
6
|
+
reject(new Error('Login timed out'));
|
|
7
|
+
}, 30000);
|
|
8
|
+
const handleMessage = (e) => {
|
|
9
|
+
if (e.origin !== PROD_FINSWEEET_ACCOUNTS_ORIGIN) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
clearTimeout(timeout);
|
|
13
|
+
window.removeEventListener('message', handleMessage);
|
|
14
|
+
if (e.data && e.data.access_token) {
|
|
15
|
+
resolve(e.data);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
reject(new Error('Invalid data received'));
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
window.addEventListener('message', handleMessage);
|
|
22
|
+
// Open popup
|
|
23
|
+
const { outerWidth, outerHeight, screenX, screenY } = window;
|
|
24
|
+
const width = 512;
|
|
25
|
+
const height = outerHeight / 2;
|
|
26
|
+
const left = screenX + (outerWidth - width) / 2;
|
|
27
|
+
const top = screenY + (outerHeight - height) / 2;
|
|
28
|
+
const finsweetUrl = new URL(AUTH0_LOGIN_URL);
|
|
29
|
+
finsweetUrl.searchParams.set('response_type', 'code');
|
|
30
|
+
finsweetUrl.searchParams.set('client_id', AUTH0_CLIENT_ID);
|
|
31
|
+
finsweetUrl.searchParams.set('redirect_uri', AUTH0_REDIRECT_URL);
|
|
32
|
+
finsweetUrl.searchParams.set('scope', AUTH0_SCOPE);
|
|
33
|
+
finsweetUrl.searchParams.set('audience', AUTH0_AUDIENCE);
|
|
34
|
+
const popup = window.open(finsweetUrl.toString(), 'Finsweet Account', `width=${width},height=${height},left=${left},top=${top}`);
|
|
35
|
+
if (!popup) {
|
|
36
|
+
clearTimeout(timeout);
|
|
37
|
+
reject(new Error('Failed to open popup'));
|
|
38
|
+
}
|
|
39
|
+
// Check if popup is closed
|
|
40
|
+
const checkPopupClosed = setInterval(() => {
|
|
41
|
+
if (popup?.closed) {
|
|
42
|
+
clearInterval(checkPopupClosed);
|
|
43
|
+
clearTimeout(timeout);
|
|
44
|
+
window.removeEventListener('message', handleMessage);
|
|
45
|
+
reject(new Error('Login popup was closed'));
|
|
46
|
+
}
|
|
47
|
+
}, 1000);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { FinsweetAuth } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Store for the Finsweet user data.
|
|
4
|
+
*/
|
|
5
|
+
export declare const finsweetUser: import("svelte/store").Writable<FinsweetAuth | null>;
|
|
6
|
+
export declare const isLoggingIn: import("svelte/store").Writable<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* Fetches subscriptions from the server.
|
|
9
|
+
* @param token
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare const getSubscriptions: (token: string) => Promise<any>;
|
|
13
|
+
/**
|
|
14
|
+
* Fetches user data from the server.
|
|
15
|
+
* @param token
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare const getUser: (token: string) => Promise<FinsweetAuth["user"]>;
|
|
19
|
+
/**
|
|
20
|
+
* Handles login
|
|
21
|
+
* @returns void
|
|
22
|
+
*/
|
|
23
|
+
export declare const handleLogin: () => Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Handles logout
|
|
26
|
+
*/
|
|
27
|
+
export declare const handleLogout: () => Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Checks if the user is logged in by checking the cookie for a valid token.
|
|
30
|
+
*/
|
|
31
|
+
export declare const checkInitialLoginState: () => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Sets a cookie
|
|
34
|
+
* @param {string} name - Name of the cookie
|
|
35
|
+
* @param {string} value - Value of the cookie
|
|
36
|
+
* @param {Object} options - Options for the cookie (expires, path, etc.)
|
|
37
|
+
*/
|
|
38
|
+
export declare const setCookie: (name: string, value: string, options?: {}) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Gets a cookie
|
|
41
|
+
* @param {string} name - Name of the cookie to retrieve
|
|
42
|
+
* @returns {string | undefined} - Value of the cookie, if found
|
|
43
|
+
*/
|
|
44
|
+
export declare const getCookie: (name: string) => string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Deletes a cookie
|
|
47
|
+
* @param {string} name - Name of the cookie to delete
|
|
48
|
+
* @param {Object} options - Options for the cookie (path, etc.)
|
|
49
|
+
*/
|
|
50
|
+
export declare const deleteCookie: (name: string, options?: {}) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Checks if the user has access to a feature
|
|
53
|
+
* @param loggedIn
|
|
54
|
+
* @param access
|
|
55
|
+
* @param required
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
export declare const canAccessFeature: (loggedIn: boolean, access: FinsweetAuth["user"]["libraryAccess"] | null | undefined, required: FinsweetAuth["user"]["libraryAccess"]) => {
|
|
59
|
+
granted: boolean;
|
|
60
|
+
message: string;
|
|
61
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import Cookies from 'js-cookie';
|
|
3
|
+
import { get, writable } from 'svelte/store';
|
|
4
|
+
import { getFinsweetComponentsEnvironment } from '../api';
|
|
5
|
+
import { getLocalStorage, removeLocalStorage, setLocalStorage } from '../browser-storage';
|
|
6
|
+
import { FINSWEET_SUBSCRIPTIONS_ENDPOINT, FINSWEET_SUBSCRIPTIONS_ENDPOINT_STAGING } from '../constants';
|
|
7
|
+
import { getLogger } from '../logger';
|
|
8
|
+
import { crossWindowLogin } from './crossWindowLogin';
|
|
9
|
+
const logger = getLogger('webflow-apps-ui-utils');
|
|
10
|
+
/**
|
|
11
|
+
* Store for the Finsweet user data.
|
|
12
|
+
*/
|
|
13
|
+
export const finsweetUser = writable();
|
|
14
|
+
export const isLoggingIn = writable();
|
|
15
|
+
const checkLibraryAccess = (user, subscriptions) => {
|
|
16
|
+
// const fullAccess: FinsweetAuth['user']['libraryAccess'] = ['canFavourite', 'canManageLibrary'];
|
|
17
|
+
// if (user.admin || user.role === 'agency') {
|
|
18
|
+
// return fullAccess;
|
|
19
|
+
// }
|
|
20
|
+
// // cutoff date timestamp for June 5, 2024 00:00:00 UTC
|
|
21
|
+
// const JUNE_5_2025 = 1749081600000;
|
|
22
|
+
// if (subscriptions && subscriptions.length > 0) {
|
|
23
|
+
// const hasFullAccess = subscriptions.some((subscription) => {
|
|
24
|
+
// return (
|
|
25
|
+
// subscription.status === 'active' &&
|
|
26
|
+
// subscription.current_period_start &&
|
|
27
|
+
// // subscription started must be before June 5, 2025 for full access
|
|
28
|
+
// subscription.current_period_start * 1000 < JUNE_5_2025
|
|
29
|
+
// );
|
|
30
|
+
// });
|
|
31
|
+
// if (hasFullAccess) return fullAccess;
|
|
32
|
+
// }
|
|
33
|
+
//TODO: Enable when RBAC is ready
|
|
34
|
+
return ['canFavourite'];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Fetches subscriptions from the server.
|
|
38
|
+
* @param token
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
export const getSubscriptions = async (token) => {
|
|
42
|
+
try {
|
|
43
|
+
const { development } = getFinsweetComponentsEnvironment();
|
|
44
|
+
const endpoint = development
|
|
45
|
+
? FINSWEET_SUBSCRIPTIONS_ENDPOINT_STAGING
|
|
46
|
+
: FINSWEET_SUBSCRIPTIONS_ENDPOINT;
|
|
47
|
+
const response = await fetch(endpoint, {
|
|
48
|
+
headers: {
|
|
49
|
+
Authorization: `Bearer ${token}`
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const data = await response.json();
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
logger.error({}, 'Failed to fetch subscriptions', error);
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Fetches user data from the server.
|
|
62
|
+
* @param token
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
export const getUser = async (token) => {
|
|
66
|
+
const response = await fetch('/auth0/verify', {
|
|
67
|
+
headers: {
|
|
68
|
+
Authorization: `Bearer ${token}`,
|
|
69
|
+
'Content-Type': 'application/json'
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
const data = await response.json();
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Handles login
|
|
77
|
+
* @returns void
|
|
78
|
+
*/
|
|
79
|
+
export const handleLogin = async () => {
|
|
80
|
+
if (get(isLoggingIn))
|
|
81
|
+
return;
|
|
82
|
+
try {
|
|
83
|
+
isLoggingIn.set(true);
|
|
84
|
+
const response = await crossWindowLogin();
|
|
85
|
+
const [user, subscriptions] = await Promise.all([
|
|
86
|
+
getUser(response.access_token),
|
|
87
|
+
getSubscriptions(response.access_token)
|
|
88
|
+
]);
|
|
89
|
+
if (user?.userId) {
|
|
90
|
+
const libraryAccess = checkLibraryAccess(user, subscriptions);
|
|
91
|
+
finsweetUser.set({ ...response, user: { ...user, libraryAccess }, subscriptions });
|
|
92
|
+
setLocalStorage('finsweetComponentsAuth', JSON.stringify(response));
|
|
93
|
+
setLocalStorage('finsweetComponentsAuthToken', response.access_token);
|
|
94
|
+
//dispatch login event
|
|
95
|
+
const event = new CustomEvent('finsweetLoginUpdate', { detail: { user } });
|
|
96
|
+
document.dispatchEvent(event);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
throw new Error('User data is invalid');
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const err = error;
|
|
103
|
+
logger.error({}, 'Login failed:', err.message);
|
|
104
|
+
finsweetUser.set(null);
|
|
105
|
+
webflow.notify({
|
|
106
|
+
type: 'Error',
|
|
107
|
+
message: 'Login failed. Please try again or contact support.'
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
isLoggingIn.set(false);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Handles logout
|
|
116
|
+
*/
|
|
117
|
+
export const handleLogout = async () => {
|
|
118
|
+
removeLocalStorage('finsweetComponentsAuth');
|
|
119
|
+
removeLocalStorage('finsweetComponentsAuthToken');
|
|
120
|
+
finsweetUser.set(null);
|
|
121
|
+
//dispatch login event
|
|
122
|
+
const event = new CustomEvent('finsweetLogoutUpdate', { detail: { user: null } });
|
|
123
|
+
document.dispatchEvent(event);
|
|
124
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Checks if the user is logged in by checking the cookie for a valid token.
|
|
128
|
+
*/
|
|
129
|
+
export const checkInitialLoginState = async () => {
|
|
130
|
+
const session = getLocalStorage('finsweetComponentsAuth');
|
|
131
|
+
if (session) {
|
|
132
|
+
const parsedSession = JSON.parse(session);
|
|
133
|
+
// Check if the current time is greater than the expiration time
|
|
134
|
+
if (Date.now() > parsedSession.expires) {
|
|
135
|
+
await handleLogout();
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const [user, subscriptions] = await Promise.all([
|
|
139
|
+
getUser(parsedSession.access_token),
|
|
140
|
+
getSubscriptions(parsedSession.access_token)
|
|
141
|
+
]);
|
|
142
|
+
if (user?.userId) {
|
|
143
|
+
const libraryAccess = checkLibraryAccess(user, subscriptions);
|
|
144
|
+
finsweetUser.set({ ...parsedSession, user: { ...user, libraryAccess }, subscriptions });
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
await handleLogout();
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
await handleLogout();
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Sets a cookie
|
|
154
|
+
* @param {string} name - Name of the cookie
|
|
155
|
+
* @param {string} value - Value of the cookie
|
|
156
|
+
* @param {Object} options - Options for the cookie (expires, path, etc.)
|
|
157
|
+
*/
|
|
158
|
+
export const setCookie = (name, value, options = {}) => {
|
|
159
|
+
Cookies.set(name, value, { sameSite: 'None', secure: true, ...options });
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Gets a cookie
|
|
163
|
+
* @param {string} name - Name of the cookie to retrieve
|
|
164
|
+
* @returns {string | undefined} - Value of the cookie, if found
|
|
165
|
+
*/
|
|
166
|
+
export const getCookie = (name) => {
|
|
167
|
+
return Cookies.get(name);
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Deletes a cookie
|
|
171
|
+
* @param {string} name - Name of the cookie to delete
|
|
172
|
+
* @param {Object} options - Options for the cookie (path, etc.)
|
|
173
|
+
*/
|
|
174
|
+
export const deleteCookie = (name, options = {}) => {
|
|
175
|
+
Cookies.remove(name, options);
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Checks if the user has access to a feature
|
|
179
|
+
* @param loggedIn
|
|
180
|
+
* @param access
|
|
181
|
+
* @param required
|
|
182
|
+
* @returns
|
|
183
|
+
*/
|
|
184
|
+
export const canAccessFeature = (loggedIn, access, required) => {
|
|
185
|
+
if (!loggedIn) {
|
|
186
|
+
return {
|
|
187
|
+
granted: false,
|
|
188
|
+
message: "This feature is available only when you're logged in."
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
if (required && required.every((r) => access?.includes(r))) {
|
|
192
|
+
return { granted: true, message: '' };
|
|
193
|
+
}
|
|
194
|
+
// no message for logged in users, so tooltips are not shown
|
|
195
|
+
return { granted: false, message: '' };
|
|
196
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if localStorage is available in the current environment.
|
|
3
|
+
* @returns {boolean} True if localStorage is accessible, false otherwise.
|
|
4
|
+
*/
|
|
5
|
+
export declare const isLocalStorageAvailable: () => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* A utility function for getting a value from localStorage.
|
|
8
|
+
* @param {string} key - The key to retrieve the value for.
|
|
9
|
+
* @returns {string | null} The value associated with the key, or null if not found or localStorage is not available.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getLocalStorage: (key: string) => string | null;
|
|
12
|
+
/**
|
|
13
|
+
* A utility function for setting a value in localStorage.
|
|
14
|
+
* @param {string} key - The key to set the value for.
|
|
15
|
+
* @param {string} value - The value to be stored.
|
|
16
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if localStorage is not available).
|
|
17
|
+
*/
|
|
18
|
+
export declare const setLocalStorage: (key: string, value: string) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* A utility function for removing a value from localStorage.
|
|
21
|
+
* @param key - The key to remove the value for.
|
|
22
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if localStorage is not available).
|
|
23
|
+
*/
|
|
24
|
+
export declare const removeLocalStorage: (key: string) => boolean;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if localStorage is available in the current environment.
|
|
3
|
+
* @returns {boolean} True if localStorage is accessible, false otherwise.
|
|
4
|
+
*/
|
|
5
|
+
export const isLocalStorageAvailable = () => {
|
|
6
|
+
if (typeof window === 'undefined')
|
|
7
|
+
return false;
|
|
8
|
+
try {
|
|
9
|
+
// Attempt to access localStorage
|
|
10
|
+
const testKey = '__localStorage_test__';
|
|
11
|
+
localStorage.setItem(testKey, '1');
|
|
12
|
+
localStorage.removeItem(testKey);
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
console.error('Error! window.localStorage is not available in this browser setting, please check if you have disabled third party cookies and/or site data.', e);
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A utility function for getting a value from localStorage.
|
|
22
|
+
* @param {string} key - The key to retrieve the value for.
|
|
23
|
+
* @returns {string | null} The value associated with the key, or null if not found or localStorage is not available.
|
|
24
|
+
*/
|
|
25
|
+
export const getLocalStorage = (key) => {
|
|
26
|
+
if (isLocalStorageAvailable()) {
|
|
27
|
+
const value = localStorage.getItem(key);
|
|
28
|
+
return value !== null ? value : null;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* A utility function for setting a value in localStorage.
|
|
34
|
+
* @param {string} key - The key to set the value for.
|
|
35
|
+
* @param {string} value - The value to be stored.
|
|
36
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if localStorage is not available).
|
|
37
|
+
*/
|
|
38
|
+
export const setLocalStorage = (key, value) => {
|
|
39
|
+
if (isLocalStorageAvailable()) {
|
|
40
|
+
localStorage.setItem(key, value);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* A utility function for removing a value from localStorage.
|
|
47
|
+
* @param key - The key to remove the value for.
|
|
48
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if localStorage is not available).
|
|
49
|
+
*/
|
|
50
|
+
export const removeLocalStorage = (key) => {
|
|
51
|
+
if (isLocalStorageAvailable()) {
|
|
52
|
+
localStorage.removeItem(key);
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if sessionStorage is available in the current environment.
|
|
3
|
+
* @returns {boolean} True if sessionStorage is accessible, false otherwise.
|
|
4
|
+
*/
|
|
5
|
+
export declare const isSessionStorageAvailable: () => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* A utility function for getting a value from sessionStorage.
|
|
8
|
+
* @param {string} key - The key to retrieve the value for.
|
|
9
|
+
* @returns {string | null} The value associated with the key, or null if not found or sessionStorage is not available.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getSessionStorage: (key: string) => string | null;
|
|
12
|
+
/**
|
|
13
|
+
* A utility function for setting a value in sessionStorage.
|
|
14
|
+
* @param {string} key - The key to set the value for.
|
|
15
|
+
* @param {string} value - The value to be stored.
|
|
16
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if sessionStorage is not available).
|
|
17
|
+
*/
|
|
18
|
+
export declare const setSessionStorage: (key: string, value: string) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* A utility function for removing a value from sessionStorage.
|
|
21
|
+
* @param key - The key to remove the value for.
|
|
22
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if sessionStorage is not available).
|
|
23
|
+
*/
|
|
24
|
+
export declare const removeSessionStorage: (key: string) => boolean;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if sessionStorage is available in the current environment.
|
|
3
|
+
* @returns {boolean} True if sessionStorage is accessible, false otherwise.
|
|
4
|
+
*/
|
|
5
|
+
import { getLogger } from '../logger';
|
|
6
|
+
const logger = getLogger('webflow-apps-ui-utils');
|
|
7
|
+
export const isSessionStorageAvailable = () => {
|
|
8
|
+
try {
|
|
9
|
+
// Attempt to access sessionStorage
|
|
10
|
+
const testKey = '__sessionStorage_test__';
|
|
11
|
+
sessionStorage.setItem(testKey, '1');
|
|
12
|
+
sessionStorage.removeItem(testKey);
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
logger.error({}, 'Error! window.sessionStorage is not available your browser setting, please check if you have disabled third party cookies and/or site data.', e);
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A utility function for getting a value from sessionStorage.
|
|
22
|
+
* @param {string} key - The key to retrieve the value for.
|
|
23
|
+
* @returns {string | null} The value associated with the key, or null if not found or sessionStorage is not available.
|
|
24
|
+
*/
|
|
25
|
+
export const getSessionStorage = (key) => {
|
|
26
|
+
if (isSessionStorageAvailable()) {
|
|
27
|
+
const value = sessionStorage.getItem(key);
|
|
28
|
+
return value !== null ? value : null;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* A utility function for setting a value in sessionStorage.
|
|
34
|
+
* @param {string} key - The key to set the value for.
|
|
35
|
+
* @param {string} value - The value to be stored.
|
|
36
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if sessionStorage is not available).
|
|
37
|
+
*/
|
|
38
|
+
export const setSessionStorage = (key, value) => {
|
|
39
|
+
if (isSessionStorageAvailable()) {
|
|
40
|
+
sessionStorage.setItem(key, value);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* A utility function for removing a value from sessionStorage.
|
|
47
|
+
* @param key - The key to remove the value for.
|
|
48
|
+
* @returns {boolean} True if the operation succeeded, false otherwise (or if sessionStorage is not available).
|
|
49
|
+
*/
|
|
50
|
+
export const removeSessionStorage = (key) => {
|
|
51
|
+
if (isSessionStorageAvailable()) {
|
|
52
|
+
sessionStorage.removeItem(key);
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wized
|
|
3
|
+
*/
|
|
4
|
+
export declare const WIZED = "wized";
|
|
5
|
+
export declare const WIZED_LEGACY = "w-el";
|
|
6
|
+
export declare const WIZED_ELEMENTS_SITEMAPS = "wized-elements-sitemaps";
|
|
7
|
+
export declare const WIZED_ATTRIBUTES_ENDPOINT = "https://server.wized.com/v2/site/attributes";
|
|
8
|
+
export declare const WIZED_ATTRIBUTES_ENDPOINT_STAGING = "https://ss.wized.com/v2/site/attributes";
|
|
9
|
+
export declare const WIZED_REVERSE_PROXY_URL = "https://server.wized.com/v2/page/proxy?url=";
|
|
10
|
+
export declare const FINSWEET_REVERSE_PROXY_URL = "https://api.finsweet.com/cors?url=";
|
|
11
|
+
export declare const WIZED_V2_SITE_CONFIGURATION_ENDPOINT = "https://server.wized.com/v2/extensions/configuration";
|
|
12
|
+
export declare const WIZED_V2_SITE_CONFIGURATION_ENDPOINT_STAGING = "https://ss.wized.com/v2/extensions/configuration";
|
|
13
|
+
export declare const FINSWEET_SUBSCRIPTIONS_ENDPOINT = "https://accounts.finsweet.com/v1/subscriptions";
|
|
14
|
+
export declare const FINSWEET_SUBSCRIPTIONS_ENDPOINT_STAGING = "https://test-accounts.finsweet.com/v1/subscriptions";
|
|
15
|
+
export declare const WIZED_PROD_SUBSCRIPTIONS_API = "http://accounts.finsweet.com";
|
|
16
|
+
export declare const WIZED_DEV_SUBSCRIPTIONS_API = "http://test-accounts.finsweet.com";
|
|
17
|
+
export declare const WIZED_PROD_SUBSCRIPTION_PAGE_URL = "https://my.finsweet.com/subscriptions/create?product=finsweet-community";
|
|
18
|
+
export declare const WIZED_APP_CONFIGURATOR_STAGING = "https://sa.wized.com/configurator";
|
|
19
|
+
export declare const WIZED_APP_CONFIGURATOR_PROD = "https://app.wized.com/configurator";
|
|
20
|
+
/**
|
|
21
|
+
* Finsweet Components
|
|
22
|
+
*/
|
|
23
|
+
export declare const ACCOUNTS_API_PRODUCTION = "https://accounts.finsweet.com/v1/components/verify?";
|
|
24
|
+
export declare const ACCOUNTS_API_DEV = "https://test-accounts.finsweet.com/v1/components/verify?";
|
|
25
|
+
export declare const COMPONENTS_SUBSCRIPTIONS_ENDPOINT_DEV = "https://test-my.finsweet.com/subscriptions/create";
|
|
26
|
+
export declare const COMPONENTS_SUBSCRIPTIONS_ENDPOINT_PROD = "https://my.finsweet.com/subscriptions/create";
|
|
27
|
+
export declare const PROD_FINSWEEET_ACCOUNTS_ORIGIN = "https://accounts.finsweet.com";
|
|
28
|
+
export declare const AUTH0_DOMAIN = "finsweet.auth0.com";
|
|
29
|
+
export declare const AUTH0_CLIENT_ID = "5xTAnXb3mwUby3YGJRKJpVaNCMWqXtb1";
|
|
30
|
+
export declare const AUTH0_REDIRECT_URL = "https://accounts.finsweet.com/v1/auth0/oauth2/fs-components";
|
|
31
|
+
export declare const AUTH0_SCOPE = "openid profile email offline_access";
|
|
32
|
+
export declare const AUTH0_AUDIENCE = "https://sso.finsweet.com";
|
|
33
|
+
export declare const AUTH0_LOGIN_URL = "https://sso.finsweet.com/authorize";
|
|
34
|
+
/**
|
|
35
|
+
* Finsweet Components Server
|
|
36
|
+
*/
|
|
37
|
+
export declare const COMPONENTS_SERVER_DEV_ENDPOINT = "https://fs-components-api-dev.finsweet.workers.dev/v1/";
|
|
38
|
+
export declare const COMPONENTS_SERVER_PROD_ENDPOINT = "https://fs-components-api-prod.finsweet.workers.dev/v1/";
|
|
39
|
+
export declare const COMPONENTS_CORE_SCRIPT = "https://cdn.jsdelivr.net/npm/@finsweet/fs-components@2/fs-components.js";
|
|
40
|
+
/**
|
|
41
|
+
* Finsweet Components Local
|
|
42
|
+
*/
|
|
43
|
+
export declare const COMPONENTS_SERVER_DEV_ENDPOINT_LOCAL = "http://localhost:8787/v1/";
|
|
44
|
+
export declare const COMPONENTS_CORE_SCRIPT_LOCAL = "http://localhost:3000/fs-components.js";
|
|
45
|
+
/**
|
|
46
|
+
* Finsweet Components Brand
|
|
47
|
+
*/
|
|
48
|
+
export declare const BRAND: {
|
|
49
|
+
FINSWEET: string;
|
|
50
|
+
COMPONENT: string;
|
|
51
|
+
COMPONENTS: string;
|
|
52
|
+
FULL: {
|
|
53
|
+
SINGULAR: string;
|
|
54
|
+
PLURAL: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Webflow App Origins
|
|
59
|
+
*/
|
|
60
|
+
export declare const FINSWEET_COMPONENTS_WEBFLOW_APP_ORIGINS: string[];
|
|
61
|
+
export declare const ACCEPTED_WEBFLOW_ELEMENTS_FOR_INSERTION: string[];
|