@pathscale/ui 0.1.0 → 1.2.0
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/LICENSE +1 -0
- package/README.md +49 -2
- package/dist/components/accordion/Accordion.d.ts +26 -0
- package/dist/components/accordion/Accordion.js +180 -0
- package/dist/components/accordion/collapse.css +248 -0
- package/dist/components/accordion/index.d.ts +1 -0
- package/dist/components/accordion/index.js +3 -0
- package/dist/components/alert/Alert.css +116 -0
- package/dist/components/alert/Alert.d.ts +34 -0
- package/dist/components/alert/Alert.js +195 -0
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/index.js +8 -0
- package/dist/components/artboard/Artboard.d.ts +9 -0
- package/dist/components/artboard/Artboard.js +42 -0
- package/dist/components/artboard/index.d.ts +1 -0
- package/dist/components/artboard/index.js +3 -0
- package/dist/components/avatar/Avatar.css +124 -0
- package/dist/components/avatar/Avatar.d.ts +27 -0
- package/dist/components/avatar/Avatar.js +159 -0
- package/dist/components/avatar/AvatarGroup.d.ts +15 -0
- package/dist/components/avatar/AvatarGroup.js +52 -0
- package/dist/components/avatar/index.d.ts +1 -8
- package/dist/components/avatar/index.js +6 -1
- package/dist/components/background/Background.d.ts +5 -0
- package/dist/components/background/Background.js +22 -0
- package/dist/components/background/index.d.ts +1 -0
- package/dist/components/background/index.js +3 -0
- package/dist/components/badge/Badge.css +164 -0
- package/dist/components/badge/Badge.d.ts +26 -0
- package/dist/components/badge/Badge.js +98 -0
- package/dist/components/badge/index.d.ts +9 -0
- package/dist/components/badge/index.js +11 -0
- package/dist/components/bottom-sheet/BottomSheet.d.ts +11 -0
- package/dist/components/bottom-sheet/BottomSheet.js +109 -0
- package/dist/components/bottom-sheet/index.d.ts +2 -0
- package/dist/components/bottom-sheet/index.js +3 -0
- package/dist/components/breadcrumbs/Breadcrumbs.css +63 -0
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +20 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js +117 -0
- package/dist/components/breadcrumbs/index.d.ts +1 -0
- package/dist/components/breadcrumbs/index.js +5 -0
- package/dist/components/browsermockup/BrowserMockup.d.ts +10 -0
- package/dist/components/browsermockup/BrowserMockup.js +55 -0
- package/dist/components/browsermockup/index.d.ts +2 -0
- package/dist/components/browsermockup/index.js +3 -0
- package/dist/components/button/Button.css +184 -0
- package/dist/components/button/Button.d.ts +16 -0
- package/dist/components/button/Button.js +70 -0
- package/dist/components/button/index.d.ts +2 -9
- package/dist/components/button/index.js +3 -1
- package/dist/components/calendar/Calendar.d.ts +28 -0
- package/dist/components/calendar/Calendar.js +194 -0
- package/dist/components/calendar/index.d.ts +1 -0
- package/dist/components/calendar/index.js +3 -0
- package/dist/components/calendar/input.css +277 -0
- package/dist/components/card/Card.d.ts +29 -0
- package/dist/components/card/Card.js +98 -0
- package/dist/components/card/CardActions.d.ts +4 -0
- package/dist/components/card/CardActions.js +15 -0
- package/dist/components/card/CardBody.d.ts +4 -0
- package/dist/components/card/CardBody.js +15 -0
- package/dist/components/card/CardImage.d.ts +3 -0
- package/dist/components/card/CardImage.js +10 -0
- package/dist/components/card/CardTitle.d.ts +6 -0
- package/dist/components/card/CardTitle.js +13 -0
- package/dist/components/card/card.css +171 -0
- package/dist/components/card/index.d.ts +1 -0
- package/dist/components/card/index.js +3 -0
- package/dist/components/carousel/Carousel.d.ts +16 -0
- package/dist/components/carousel/Carousel.js +70 -0
- package/dist/components/carousel/CarouselItem.d.ts +6 -0
- package/dist/components/carousel/CarouselItem.js +27 -0
- package/dist/components/carousel/carousel.css +39 -0
- package/dist/components/carousel/index.d.ts +3 -0
- package/dist/components/carousel/index.js +3 -0
- package/dist/components/chatbubble/ChatBubble.d.ts +14 -0
- package/dist/components/chatbubble/ChatBubble.js +48 -0
- package/dist/components/chatbubble/ChatBubbleAvatar.d.ts +10 -0
- package/dist/components/chatbubble/ChatBubbleAvatar.js +42 -0
- package/dist/components/chatbubble/ChatBubbleFooter.d.ts +5 -0
- package/dist/components/chatbubble/ChatBubbleFooter.js +14 -0
- package/dist/components/chatbubble/ChatBubbleHeader.d.ts +5 -0
- package/dist/components/chatbubble/ChatBubbleHeader.js +14 -0
- package/dist/components/chatbubble/ChatBubbleMessage.d.ts +7 -0
- package/dist/components/chatbubble/ChatBubbleMessage.js +28 -0
- package/dist/components/chatbubble/ChatBubbleTime.d.ts +5 -0
- package/dist/components/chatbubble/ChatBubbleTime.js +14 -0
- package/dist/components/chatbubble/chat.css +153 -0
- package/dist/components/chatbubble/index.d.ts +1 -0
- package/dist/components/chatbubble/index.js +3 -0
- package/dist/components/checkbox/Checkbox.css +183 -0
- package/dist/components/checkbox/Checkbox.d.ts +16 -0
- package/dist/components/checkbox/Checkbox.js +139 -0
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/index.js +3 -0
- package/dist/components/codemockup/CodeMockup.d.ts +5 -0
- package/dist/components/codemockup/CodeMockup.js +33 -0
- package/dist/components/codemockup/CodeMockupLine.d.ts +12 -0
- package/dist/components/codemockup/CodeMockupLine.js +53 -0
- package/dist/components/codemockup/index.d.ts +2 -0
- package/dist/components/codemockup/index.js +5 -0
- package/dist/components/collapse/Collapse.d.ts +21 -0
- package/dist/components/collapse/Collapse.js +104 -0
- package/dist/components/collapse/CollapseContent.d.ts +4 -0
- package/dist/components/collapse/CollapseContent.js +15 -0
- package/dist/components/collapse/CollapseDetails.d.ts +17 -0
- package/dist/components/collapse/CollapseDetails.js +33 -0
- package/dist/components/collapse/CollapseTitle.d.ts +9 -0
- package/dist/components/collapse/CollapseTitle.js +47 -0
- package/dist/components/collapse/collapse.css +248 -0
- package/dist/components/collapse/index.d.ts +4 -0
- package/dist/components/collapse/index.js +10 -0
- package/dist/components/colorpicker/AlphaSlider.d.ts +7 -0
- package/dist/components/colorpicker/AlphaSlider.js +107 -0
- package/dist/components/colorpicker/ColorInput.d.ts +7 -0
- package/dist/components/colorpicker/ColorInput.js +88 -0
- package/dist/components/colorpicker/ColorPicker.d.ts +18 -0
- package/dist/components/colorpicker/ColorPicker.js +264 -0
- package/dist/components/colorpicker/ColorPickerFlowerSelector.d.ts +3 -0
- package/dist/components/colorpicker/ColorPickerFlowerSelector.js +9 -0
- package/dist/components/colorpicker/ColorPickerGradientSelector.d.ts +3 -0
- package/dist/components/colorpicker/ColorPickerGradientSelector.js +9 -0
- package/dist/components/colorpicker/ColorPickerWheelSelector.d.ts +3 -0
- package/dist/components/colorpicker/ColorPickerWheelSelector.js +9 -0
- package/dist/components/colorpicker/ColorPreview.d.ts +11 -0
- package/dist/components/colorpicker/ColorPreview.js +47 -0
- package/dist/components/colorpicker/ColorSwatches.d.ts +8 -0
- package/dist/components/colorpicker/ColorSwatches.js +67 -0
- package/dist/components/colorpicker/ColorUtils.d.ts +58 -0
- package/dist/components/colorpicker/ColorUtils.js +216 -0
- package/dist/components/colorpicker/ColorWheel.d.ts +7 -0
- package/dist/components/colorpicker/ColorWheel.js +106 -0
- package/dist/components/colorpicker/ColorWheelFlower.d.ts +7 -0
- package/dist/components/colorpicker/ColorWheelFlower.js +462 -0
- package/dist/components/colorpicker/HueSlider.d.ts +7 -0
- package/dist/components/colorpicker/HueSlider.js +105 -0
- package/dist/components/colorpicker/LightnessSlider.d.ts +7 -0
- package/dist/components/colorpicker/LightnessSlider.js +111 -0
- package/dist/components/colorpicker/SaturationBrightness.d.ts +7 -0
- package/dist/components/colorpicker/SaturationBrightness.js +120 -0
- package/dist/components/colorpicker/colorpickerContext.d.ts +11 -0
- package/dist/components/colorpicker/colorpickerContext.js +8 -0
- package/dist/components/colorpicker/index.d.ts +26 -0
- package/dist/components/colorpicker/index.js +31 -0
- package/dist/components/confirm-dialog/ConfirmDialog.d.ts +15 -0
- package/dist/components/confirm-dialog/ConfirmDialog.js +102 -0
- package/dist/components/confirm-dialog/index.d.ts +2 -0
- package/dist/components/confirm-dialog/index.js +3 -0
- package/dist/components/connectionstatus/ConnectionStatus.d.ts +59 -0
- package/dist/components/connectionstatus/ConnectionStatus.js +197 -0
- package/dist/components/connectionstatus/index.d.ts +2 -0
- package/dist/components/connectionstatus/index.js +3 -0
- package/dist/components/copy-button/CopyButton.d.ts +11 -0
- package/dist/components/copy-button/CopyButton.js +70 -0
- package/dist/components/copy-button/index.d.ts +2 -0
- package/dist/components/copy-button/index.js +3 -0
- package/dist/components/countdown/Countdown.d.ts +8 -0
- package/dist/components/countdown/Countdown.js +37 -0
- package/dist/components/countdown/countdown.css +58 -0
- package/dist/components/countdown/index.d.ts +1 -0
- package/dist/components/countdown/index.js +3 -0
- package/dist/components/diff/Diff.d.ts +8 -0
- package/dist/components/diff/Diff.js +29 -0
- package/dist/components/diff/diff.css +162 -0
- package/dist/components/diff/index.d.ts +1 -0
- package/dist/components/diff/index.js +3 -0
- package/dist/components/divider/Divider.d.ts +21 -0
- package/dist/components/divider/Divider.js +41 -0
- package/dist/components/divider/Divider.styles.d.ts +25 -0
- package/dist/components/divider/Divider.styles.js +71 -0
- package/dist/components/divider/index.d.ts +3 -0
- package/dist/components/divider/index.js +3 -0
- package/dist/components/dock/Dock.d.ts +15 -0
- package/dist/components/dock/Dock.js +40 -0
- package/dist/components/dock/DockItem.d.ts +9 -0
- package/dist/components/dock/DockItem.js +45 -0
- package/dist/components/dock/DockLabel.d.ts +6 -0
- package/dist/components/dock/DockLabel.js +22 -0
- package/dist/components/dock/dock.css +147 -0
- package/dist/components/dock/index.d.ts +3 -0
- package/dist/components/dock/index.js +3 -0
- package/dist/components/drawer/Drawer.css +305 -0
- package/dist/components/drawer/Drawer.d.ts +73 -0
- package/dist/components/drawer/Drawer.js +470 -0
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/index.js +15 -0
- package/dist/components/dropdown/Dropdown.css +184 -0
- package/dist/components/dropdown/Dropdown.d.ts +38 -0
- package/dist/components/dropdown/Dropdown.js +488 -0
- package/dist/components/dropdown/index.d.ts +2 -0
- package/dist/components/dropdown/index.js +4 -0
- package/dist/components/dropdown-select/DropdownSelect.d.ts +22 -0
- package/dist/components/dropdown-select/DropdownSelect.js +296 -0
- package/dist/components/dropdown-select/index.d.ts +2 -0
- package/dist/components/dropdown-select/index.js +3 -0
- package/dist/components/empty-state/EmptyState.css +39 -0
- package/dist/components/empty-state/EmptyState.d.ts +32 -0
- package/dist/components/empty-state/EmptyState.js +146 -0
- package/dist/components/empty-state/index.d.ts +3 -0
- package/dist/components/empty-state/index.js +8 -0
- package/dist/components/fieldset/Fieldset.d.ts +11 -0
- package/dist/components/fieldset/Fieldset.js +73 -0
- package/dist/components/fieldset/index.d.ts +2 -0
- package/dist/components/fieldset/index.js +3 -0
- package/dist/components/fileinput/FileInput.d.ts +15 -0
- package/dist/components/fileinput/FileInput.js +51 -0
- package/dist/components/fileinput/index.d.ts +1 -0
- package/dist/components/fileinput/index.js +3 -0
- package/dist/components/fileinput/input.css +277 -0
- package/dist/components/flex/Flex.d.ts +18 -0
- package/dist/components/flex/Flex.js +101 -0
- package/dist/components/flex/index.d.ts +1 -0
- package/dist/components/flex/index.js +3 -0
- package/dist/components/floating-dock/FloatingDock.css +179 -0
- package/dist/components/floating-dock/FloatingDock.d.ts +39 -0
- package/dist/components/floating-dock/FloatingDock.js +615 -0
- package/dist/components/floating-dock/index.d.ts +2 -0
- package/dist/components/floating-dock/index.js +3 -0
- package/dist/components/footer/Footer.d.ts +12 -0
- package/dist/components/footer/Footer.js +41 -0
- package/dist/components/footer/FooterTitle.d.ts +4 -0
- package/dist/components/footer/FooterTitle.js +27 -0
- package/dist/components/footer/footer.css +51 -0
- package/dist/components/footer/index.d.ts +3 -0
- package/dist/components/footer/index.js +3 -0
- package/dist/components/form/Form.d.ts +17 -0
- package/dist/components/form/Form.js +17 -0
- package/dist/components/form/FormBase.d.ts +8 -0
- package/dist/components/form/FormBase.js +74 -0
- package/dist/components/form/FormDropdown.d.ts +25 -0
- package/dist/components/form/FormDropdown.js +139 -0
- package/dist/components/form/FormField.d.ts +14 -0
- package/dist/components/form/FormField.js +78 -0
- package/dist/components/form/Label.d.ts +7 -0
- package/dist/components/form/Label.js +31 -0
- package/dist/components/form/NumberField.d.ts +20 -0
- package/dist/components/form/NumberField.js +109 -0
- package/dist/components/form/PasswordField.d.ts +16 -0
- package/dist/components/form/PasswordField.js +113 -0
- package/dist/components/form/ValidatedForm.d.ts +26 -0
- package/dist/components/form/ValidatedForm.js +55 -0
- package/dist/components/form/index.d.ts +4 -0
- package/dist/components/form/index.js +6 -0
- package/dist/components/form-actions/FormActions.d.ts +14 -0
- package/dist/components/form-actions/FormActions.js +142 -0
- package/dist/components/form-actions/index.d.ts +2 -0
- package/dist/components/form-actions/index.js +3 -0
- package/dist/components/glass-panel/GlassPanel.d.ts +20 -0
- package/dist/components/glass-panel/GlassPanel.js +146 -0
- package/dist/components/glass-panel/index.d.ts +1 -0
- package/dist/components/glass-panel/index.js +3 -0
- package/dist/components/glow-card/GlowCard.css +65 -0
- package/dist/components/glow-card/GlowCard.d.ts +5 -0
- package/dist/components/glow-card/GlowCard.js +47 -0
- package/dist/components/glow-card/index.d.ts +2 -0
- package/dist/components/glow-card/index.js +3 -0
- package/dist/components/grid/Grid.d.ts +18 -0
- package/dist/components/grid/Grid.js +89 -0
- package/dist/components/grid/index.d.ts +1 -0
- package/dist/components/grid/index.js +3 -0
- package/dist/components/hero/Hero.d.ts +11 -0
- package/dist/components/hero/Hero.js +47 -0
- package/dist/components/hero/HeroContent.d.ts +6 -0
- package/dist/components/hero/HeroContent.js +31 -0
- package/dist/components/hero/HeroOverlay.d.ts +6 -0
- package/dist/components/hero/HeroOverlay.js +39 -0
- package/dist/components/hero/hero.css +38 -0
- package/dist/components/hero/index.d.ts +4 -0
- package/dist/components/hero/index.js +3 -0
- package/dist/components/icon/Icon.d.ts +11 -0
- package/dist/components/icon/Icon.js +38 -0
- package/dist/components/icon/index.d.ts +1 -0
- package/dist/components/icon/index.js +3 -0
- package/dist/components/immersive-landing/ImmersiveLanding.d.ts +8 -0
- package/dist/components/immersive-landing/ImmersiveLanding.js +218 -0
- package/dist/components/immersive-landing/ImmersiveLandingArrows.d.ts +4 -0
- package/dist/components/immersive-landing/ImmersiveLandingArrows.js +60 -0
- package/dist/components/immersive-landing/ImmersiveLandingContext.d.ts +3 -0
- package/dist/components/immersive-landing/ImmersiveLandingContext.js +8 -0
- package/dist/components/immersive-landing/ImmersiveLandingNavigation.d.ts +4 -0
- package/dist/components/immersive-landing/ImmersiveLandingNavigation.js +91 -0
- package/dist/components/immersive-landing/ImmersiveLandingPage.d.ts +4 -0
- package/dist/components/immersive-landing/ImmersiveLandingPage.js +46 -0
- package/dist/components/immersive-landing/components/CookieConsent.d.ts +3 -0
- package/dist/components/immersive-landing/components/CookieConsent.js +256 -0
- package/dist/components/immersive-landing/components/FirefoxPWABanner.d.ts +9 -0
- package/dist/components/immersive-landing/components/FirefoxPWABanner.js +173 -0
- package/dist/components/immersive-landing/components/PWAInstallPrompt.d.ts +3 -0
- package/dist/components/immersive-landing/components/PWAInstallPrompt.js +178 -0
- package/dist/components/immersive-landing/index.d.ts +7 -0
- package/dist/components/immersive-landing/index.js +14 -0
- package/dist/components/immersive-landing/types.d.ts +134 -0
- package/dist/components/immersive-landing/types.js +0 -0
- package/dist/components/immersive-landing/useImmersiveLanding.d.ts +2 -0
- package/dist/components/immersive-landing/useImmersiveLanding.js +151 -0
- package/dist/components/indicator/Indicator.d.ts +31 -0
- package/dist/components/indicator/Indicator.js +76 -0
- package/dist/components/indicator/index.d.ts +2 -0
- package/dist/components/indicator/index.js +3 -0
- package/dist/components/indicator/indicator.css +70 -0
- package/dist/components/input/Input.css +138 -0
- package/dist/components/input/Input.d.ts +45 -0
- package/dist/components/input/Input.js +286 -0
- package/dist/components/input/index.d.ts +3 -8
- package/dist/components/input/index.js +3 -1
- package/dist/components/join/Join.d.ts +9 -0
- package/dist/components/join/Join.js +41 -0
- package/dist/components/join/index.d.ts +2 -0
- package/dist/components/join/index.js +3 -0
- package/dist/components/kbd/Kbd.d.ts +5 -0
- package/dist/components/kbd/Kbd.js +22 -0
- package/dist/components/kbd/index.d.ts +1 -0
- package/dist/components/kbd/index.js +3 -0
- package/dist/components/kbd/kbd.css +55 -0
- package/dist/components/language-switcher/LanguageSwitcher.d.ts +31 -0
- package/dist/components/language-switcher/LanguageSwitcher.js +99 -0
- package/dist/components/language-switcher/createI18n.d.ts +102 -0
- package/dist/components/language-switcher/createI18n.js +85 -0
- package/dist/components/language-switcher/index.d.ts +3 -0
- package/dist/components/language-switcher/index.js +8 -0
- package/dist/components/link/Link.d.ts +13 -0
- package/dist/components/link/Link.js +70 -0
- package/dist/components/link/index.d.ts +1 -0
- package/dist/components/link/index.js +3 -0
- package/dist/components/link/link.css +153 -0
- package/dist/components/live-chat/LiveChatBubble.d.ts +53 -0
- package/dist/components/live-chat/LiveChatBubble.js +106 -0
- package/dist/components/live-chat/LiveChatPanel.d.ts +69 -0
- package/dist/components/live-chat/LiveChatPanel.js +359 -0
- package/dist/components/live-chat/index.d.ts +5 -0
- package/dist/components/live-chat/index.js +5 -0
- package/dist/components/live-chat/types.d.ts +13 -0
- package/dist/components/live-chat/types.js +0 -0
- package/dist/components/loading/Loading.css +131 -0
- package/dist/components/loading/Loading.d.ts +14 -0
- package/dist/components/loading/Loading.js +81 -0
- package/dist/components/loading/index.d.ts +1 -0
- package/dist/components/loading/index.js +3 -0
- package/dist/components/mask/Mask.d.ts +15 -0
- package/dist/components/mask/Mask.js +62 -0
- package/dist/components/mask/index.d.ts +3 -0
- package/dist/components/mask/index.js +3 -0
- package/dist/components/mask/mask.css +89 -0
- package/dist/components/menu/Menu.d.ts +22 -0
- package/dist/components/menu/Menu.js +51 -0
- package/dist/components/menu/MenuDetails.d.ts +8 -0
- package/dist/components/menu/MenuDetails.js +37 -0
- package/dist/components/menu/MenuDropdown.d.ts +12 -0
- package/dist/components/menu/MenuDropdown.js +48 -0
- package/dist/components/menu/MenuItem.d.ts +9 -0
- package/dist/components/menu/MenuItem.js +40 -0
- package/dist/components/menu/MenuTitle.d.ts +8 -0
- package/dist/components/menu/MenuTitle.js +22 -0
- package/dist/components/menu/index.d.ts +3 -0
- package/dist/components/menu/index.js +3 -0
- package/dist/components/menu/menu.css +364 -0
- package/dist/components/modal/Modal.d.ts +27 -0
- package/dist/components/modal/Modal.js +125 -0
- package/dist/components/modal/ModalActions.d.ts +3 -0
- package/dist/components/modal/ModalActions.js +14 -0
- package/dist/components/modal/ModalBody.d.ts +3 -0
- package/dist/components/modal/ModalBody.js +14 -0
- package/dist/components/modal/ModalHeader.d.ts +3 -0
- package/dist/components/modal/ModalHeader.js +15 -0
- package/dist/components/modal/ModalLegacy.d.ts +8 -0
- package/dist/components/modal/ModalLegacy.js +36 -0
- package/dist/components/modal/index.d.ts +6 -0
- package/dist/components/modal/index.js +3 -0
- package/dist/components/modal/modal.css +170 -0
- package/dist/components/navbar/Navbar.d.ts +16 -0
- package/dist/components/navbar/Navbar.js +54 -0
- package/dist/components/navbar/NavbarRow.d.ts +9 -0
- package/dist/components/navbar/NavbarRow.js +49 -0
- package/dist/components/navbar/NavbarSection.d.ts +8 -0
- package/dist/components/navbar/NavbarSection.js +38 -0
- package/dist/components/navbar/NavbarStack.d.ts +10 -0
- package/dist/components/navbar/NavbarStack.js +39 -0
- package/dist/components/navbar/index.d.ts +4 -0
- package/dist/components/navbar/index.js +3 -0
- package/dist/components/navbar/navbar.css +33 -0
- package/dist/components/noise-background/NoiseBackground.d.ts +25 -0
- package/dist/components/noise-background/NoiseBackground.js +200 -0
- package/dist/components/noise-background/index.d.ts +2 -0
- package/dist/components/noise-background/index.js +3 -0
- package/dist/components/pagination/Pagination.d.ts +5 -0
- package/dist/components/pagination/Pagination.js +17 -0
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/index.js +3 -0
- package/dist/components/phonemockup/PhoneMockup.d.ts +8 -0
- package/dist/components/phonemockup/PhoneMockup.js +44 -0
- package/dist/components/phonemockup/index.d.ts +1 -0
- package/dist/components/phonemockup/index.js +3 -0
- package/dist/components/progress/Progress.css +135 -0
- package/dist/components/progress/Progress.d.ts +36 -0
- package/dist/components/progress/Progress.js +197 -0
- package/dist/components/progress/index.d.ts +1 -0
- package/dist/components/progress/index.js +7 -0
- package/dist/components/props-table/PropsTable.d.ts +14 -0
- package/dist/components/props-table/PropsTable.js +56 -0
- package/dist/components/props-table/index.d.ts +2 -0
- package/dist/components/props-table/index.js +3 -0
- package/dist/components/radialprogress/RadialProgress.d.ts +10 -0
- package/dist/components/radialprogress/RadialProgress.js +47 -0
- package/dist/components/radialprogress/index.d.ts +1 -0
- package/dist/components/radialprogress/index.js +3 -0
- package/dist/components/radio/Radio.css +129 -0
- package/dist/components/radio/Radio.d.ts +12 -0
- package/dist/components/radio/Radio.js +116 -0
- package/dist/components/radio/index.d.ts +1 -0
- package/dist/components/radio/index.js +3 -0
- package/dist/components/radio-group/RadioGroup.css +58 -0
- package/dist/components/radio-group/RadioGroup.d.ts +22 -0
- package/dist/components/radio-group/RadioGroup.js +147 -0
- package/dist/components/radio-group/context.d.ts +9 -0
- package/dist/components/radio-group/context.js +3 -0
- package/dist/components/radio-group/index.d.ts +4 -0
- package/dist/components/radio-group/index.js +4 -0
- package/dist/components/range/Range.d.ts +13 -0
- package/dist/components/range/Range.js +85 -0
- package/dist/components/range/index.d.ts +1 -0
- package/dist/components/range/index.js +3 -0
- package/dist/components/range/range.css +174 -0
- package/dist/components/range-slider/RangeSlider.d.ts +22 -0
- package/dist/components/range-slider/RangeSlider.js +191 -0
- package/dist/components/range-slider/index.d.ts +2 -0
- package/dist/components/range-slider/index.js +3 -0
- package/dist/components/range-slider/range.css +136 -0
- package/dist/components/rating/Rating.d.ts +24 -0
- package/dist/components/rating/Rating.js +54 -0
- package/dist/components/rating/RatingHidden.d.ts +4 -0
- package/dist/components/rating/RatingHidden.js +29 -0
- package/dist/components/rating/RatingItem.d.ts +9 -0
- package/dist/components/rating/RatingItem.js +62 -0
- package/dist/components/rating/index.d.ts +4 -0
- package/dist/components/rating/index.js +3 -0
- package/dist/components/rating/rating.css +106 -0
- package/dist/components/select/Select.d.ts +16 -0
- package/dist/components/select/Select.js +62 -0
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/index.js +3 -0
- package/dist/components/select/select.css +351 -0
- package/dist/components/showcase/ShowcaseBlock.d.ts +10 -0
- package/dist/components/showcase/ShowcaseBlock.js +48 -0
- package/dist/components/showcase/index.d.ts +2 -0
- package/dist/components/showcase/index.js +3 -0
- package/dist/components/showcase-section/ShowcaseSection.d.ts +8 -0
- package/dist/components/showcase-section/ShowcaseSection.js +73 -0
- package/dist/components/showcase-section/index.d.ts +2 -0
- package/dist/components/showcase-section/index.js +3 -0
- package/dist/components/sidenav/Sidenav.css +176 -0
- package/dist/components/sidenav/Sidenav.d.ts +14 -0
- package/dist/components/sidenav/Sidenav.js +66 -0
- package/dist/components/sidenav/SidenavButton.d.ts +9 -0
- package/dist/components/sidenav/SidenavButton.js +41 -0
- package/dist/components/sidenav/SidenavGroup.d.ts +10 -0
- package/dist/components/sidenav/SidenavGroup.js +45 -0
- package/dist/components/sidenav/SidenavItem.d.ts +8 -0
- package/dist/components/sidenav/SidenavItem.js +37 -0
- package/dist/components/sidenav/SidenavLink.d.ts +9 -0
- package/dist/components/sidenav/SidenavLink.js +36 -0
- package/dist/components/sidenav/SidenavMenu.d.ts +5 -0
- package/dist/components/sidenav/SidenavMenu.js +31 -0
- package/dist/components/sidenav/index.d.ts +12 -0
- package/dist/components/sidenav/index.js +13 -0
- package/dist/components/size-picker/SizePicker.d.ts +10 -0
- package/dist/components/size-picker/SizePicker.js +63 -0
- package/dist/components/size-picker/index.d.ts +3 -0
- package/dist/components/size-picker/index.js +6 -0
- package/dist/components/size-picker/sizeStore.d.ts +8 -0
- package/dist/components/size-picker/sizeStore.js +36 -0
- package/dist/components/skeleton/Skeleton.css +95 -0
- package/dist/components/skeleton/Skeleton.d.ts +9 -0
- package/dist/components/skeleton/Skeleton.js +38 -0
- package/dist/components/skeleton/index.d.ts +1 -0
- package/dist/components/skeleton/index.js +3 -0
- package/dist/components/skip-link/SkipLink.d.ts +7 -0
- package/dist/components/skip-link/SkipLink.js +34 -0
- package/dist/components/skip-link/index.d.ts +2 -0
- package/dist/components/skip-link/index.js +3 -0
- package/dist/components/stack/Stack.d.ts +18 -0
- package/dist/components/stack/Stack.js +53 -0
- package/dist/components/stack/index.d.ts +2 -0
- package/dist/components/stack/index.js +3 -0
- package/dist/components/stack/stack.css +90 -0
- package/dist/components/stat-card/StatCard.d.ts +22 -0
- package/dist/components/stat-card/StatCard.js +46 -0
- package/dist/components/stat-card/StatCardSection.d.ts +5 -0
- package/dist/components/stat-card/StatCardSection.js +39 -0
- package/dist/components/stat-card/index.d.ts +1 -0
- package/dist/components/stat-card/index.js +3 -0
- package/dist/components/stats/Stat.d.ts +13 -0
- package/dist/components/stats/Stat.js +51 -0
- package/dist/components/stats/StatSection.d.ts +6 -0
- package/dist/components/stats/StatSection.js +29 -0
- package/dist/components/stats/Stats.d.ts +15 -0
- package/dist/components/stats/Stats.js +29 -0
- package/dist/components/stats/index.d.ts +1 -0
- package/dist/components/stats/index.js +3 -0
- package/dist/components/stats/stat.css +67 -0
- package/dist/components/status/Status.d.ts +8 -0
- package/dist/components/status/Status.js +30 -0
- package/dist/components/status/index.d.ts +2 -0
- package/dist/components/status/index.js +3 -0
- package/dist/components/steps/Step.d.ts +20 -0
- package/dist/components/steps/Step.js +88 -0
- package/dist/components/steps/Steps.d.ts +18 -0
- package/dist/components/steps/Steps.js +80 -0
- package/dist/components/steps/index.d.ts +3 -0
- package/dist/components/steps/index.js +3 -0
- package/dist/components/steps/step.css +179 -0
- package/dist/components/streaming-table/StreamingTable.d.ts +28 -0
- package/dist/components/streaming-table/StreamingTable.js +345 -0
- package/dist/components/streaming-table/createRowStore.d.ts +7 -0
- package/dist/components/streaming-table/createRowStore.js +18 -0
- package/dist/components/streaming-table/createStreamingTableStore.d.ts +13 -0
- package/dist/components/streaming-table/createStreamingTableStore.js +68 -0
- package/dist/components/streaming-table/index.d.ts +5 -0
- package/dist/components/streaming-table/index.js +5 -0
- package/dist/components/streaming-table/types.d.ts +46 -0
- package/dist/components/streaming-table/types.js +0 -0
- package/dist/components/svgbackground/SvgBackground.d.ts +21 -0
- package/dist/components/svgbackground/SvgBackground.js +413 -0
- package/dist/components/svgbackground/index.d.ts +2 -0
- package/dist/components/svgbackground/index.js +3 -0
- package/dist/components/swap/Swap.d.ts +13 -0
- package/dist/components/swap/Swap.js +57 -0
- package/dist/components/swap/index.d.ts +1 -0
- package/dist/components/swap/index.js +3 -0
- package/dist/components/swap/swap.css +92 -0
- package/dist/components/switch-field/SwitchField.d.ts +19 -0
- package/dist/components/switch-field/SwitchField.js +71 -0
- package/dist/components/switch-field/index.d.ts +2 -0
- package/dist/components/switch-field/index.js +3 -0
- package/dist/components/table/EnhancedTable.d.ts +46 -0
- package/dist/components/table/EnhancedTable.js +727 -0
- package/dist/components/table/Table.d.ts +19 -0
- package/dist/components/table/Table.js +57 -0
- package/dist/components/table/TableBody.d.ts +5 -0
- package/dist/components/table/TableBody.js +30 -0
- package/dist/components/table/TableCell.d.ts +7 -0
- package/dist/components/table/TableCell.js +34 -0
- package/dist/components/table/TableFooter.d.ts +7 -0
- package/dist/components/table/TableFooter.js +45 -0
- package/dist/components/table/TableHead.d.ts +7 -0
- package/dist/components/table/TableHead.js +45 -0
- package/dist/components/table/TableHeadCell.d.ts +7 -0
- package/dist/components/table/TableHeadCell.js +34 -0
- package/dist/components/table/TableRow.d.ts +8 -0
- package/dist/components/table/TableRow.js +34 -0
- package/dist/components/table/index.d.ts +4 -0
- package/dist/components/table/index.js +5 -0
- package/dist/components/table/table.css +148 -0
- package/dist/components/tabs/Tabs.css +202 -0
- package/dist/components/tabs/Tabs.d.ts +44 -0
- package/dist/components/tabs/Tabs.js +387 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/index.js +4 -0
- package/dist/components/textarea/Textarea.d.ts +15 -0
- package/dist/components/textarea/Textarea.js +53 -0
- package/dist/components/textarea/index.d.ts +1 -8
- package/dist/components/textarea/index.js +3 -1
- package/dist/components/textarea/textarea.css +191 -0
- package/dist/components/theme-color-picker/ThemeColorPicker.d.ts +23 -0
- package/dist/components/theme-color-picker/ThemeColorPicker.js +151 -0
- package/dist/components/theme-color-picker/hueShift.d.ts +14 -0
- package/dist/components/theme-color-picker/hueShift.js +492 -0
- package/dist/components/theme-color-picker/index.d.ts +3 -0
- package/dist/components/theme-color-picker/index.js +7 -0
- package/dist/components/timeline/Timeline.d.ts +12 -0
- package/dist/components/timeline/Timeline.js +42 -0
- package/dist/components/timeline/TimelineEnd.d.ts +6 -0
- package/dist/components/timeline/TimelineEnd.js +28 -0
- package/dist/components/timeline/TimelineItem.d.ts +8 -0
- package/dist/components/timeline/TimelineItem.js +47 -0
- package/dist/components/timeline/TimelineMiddle.d.ts +4 -0
- package/dist/components/timeline/TimelineMiddle.js +25 -0
- package/dist/components/timeline/TimelineStart.d.ts +6 -0
- package/dist/components/timeline/TimelineStart.js +28 -0
- package/dist/components/timeline/index.d.ts +5 -0
- package/dist/components/timeline/index.js +11 -0
- package/dist/components/timeline/timeline.css +286 -0
- package/dist/components/toast/Toast.d.ts +22 -0
- package/dist/components/toast/Toast.js +54 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/index.js +3 -0
- package/dist/components/toast/toast.css +58 -0
- package/dist/components/toastcontainer/ToastContainer.d.ts +3 -0
- package/dist/components/toastcontainer/ToastContainer.js +15 -0
- package/dist/components/toastcontainer/ToastStack.d.ts +17 -0
- package/dist/components/toastcontainer/ToastStack.js +181 -0
- package/dist/components/toastcontainer/index.d.ts +3 -0
- package/dist/components/toastcontainer/index.js +5 -0
- package/dist/components/toggle/Toggle.d.ts +16 -0
- package/dist/components/toggle/Toggle.js +124 -0
- package/dist/components/toggle/index.d.ts +1 -0
- package/dist/components/toggle/index.js +3 -0
- package/dist/components/toggle/toggle.css +228 -0
- package/dist/components/tooltip/Tooltip.css +161 -0
- package/dist/components/tooltip/Tooltip.d.ts +35 -0
- package/dist/components/tooltip/Tooltip.js +204 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/index.js +7 -0
- package/dist/components/types.d.ts +15 -0
- package/dist/components/types.js +8 -0
- package/dist/components/utils.d.ts +9 -0
- package/dist/components/utils.js +46 -0
- package/dist/components/video-preview/VideoPreview.d.ts +21 -0
- package/dist/components/video-preview/VideoPreview.js +55 -0
- package/dist/components/video-preview/index.d.ts +2 -0
- package/dist/components/video-preview/index.js +3 -0
- package/dist/components/windowmockup/WindowMockup.d.ts +11 -0
- package/dist/components/windowmockup/WindowMockup.js +85 -0
- package/dist/components/windowmockup/index.d.ts +1 -0
- package/dist/components/windowmockup/index.js +3 -0
- package/dist/index.css +72 -70
- package/dist/index.d.ts +131 -7
- package/dist/index.js +268 -4
- package/dist/lib/iterable.d.ts +9 -0
- package/dist/lib/iterable.js +6 -0
- package/dist/lib/props/index.d.ts +1 -0
- package/dist/lib/props/index.js +0 -0
- package/dist/lib/props/types.d.ts +1 -0
- package/dist/lib/props/types.js +0 -0
- package/dist/lib/refs/index.d.ts +2 -0
- package/dist/lib/refs/index.js +3 -0
- package/dist/lib/refs/mergeRefs.d.ts +7 -0
- package/dist/lib/refs/mergeRefs.js +5 -0
- package/dist/lib/refs/types.d.ts +1 -0
- package/dist/lib/refs/types.js +0 -0
- package/dist/lib/style/classes.d.ts +33 -0
- package/dist/lib/style/classes.js +40 -0
- package/dist/lib/style/index.d.ts +1 -0
- package/dist/lib/style/index.js +4 -0
- package/dist/lib/tag/createIsButton.d.ts +21 -0
- package/dist/lib/tag/createIsButton.js +23 -0
- package/dist/lib/tag/createTagName.d.ts +12 -0
- package/dist/lib/tag/createTagName.js +5 -0
- package/dist/lib/tag/index.d.ts +2 -0
- package/dist/lib/tag/index.js +7 -0
- package/dist/motion/driver.d.ts +5 -0
- package/dist/motion/driver.js +13 -0
- package/dist/motion/easing.d.ts +2 -0
- package/dist/motion/easing.js +18 -0
- package/dist/motion/engine.d.ts +4 -0
- package/dist/motion/engine.js +85 -0
- package/dist/motion/index.d.ts +11 -0
- package/dist/motion/index.js +34 -0
- package/dist/motion/popmotion.d.ts +6 -0
- package/dist/motion/popmotion.js +6 -0
- package/dist/motion/presets.d.ts +10 -0
- package/dist/motion/presets.js +203 -0
- package/dist/motion/reduced-motion.d.ts +1 -0
- package/dist/motion/reduced-motion.js +2 -0
- package/dist/motion/route.d.ts +11 -0
- package/dist/motion/route.js +24 -0
- package/dist/motion/solid/MotionDiv.d.ts +13 -0
- package/dist/motion/solid/MotionDiv.js +76 -0
- package/dist/motion/solid/index.d.ts +2 -0
- package/dist/motion/solid/index.js +3 -0
- package/dist/motion/system.d.ts +20 -0
- package/dist/motion/system.js +59 -0
- package/dist/motion/tokens.d.ts +6 -0
- package/dist/motion/tokens.js +42 -0
- package/dist/motion/types.d.ts +39 -0
- package/dist/motion/types.js +0 -0
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.js +1 -0
- package/dist/stores/toastStore.d.ts +24 -0
- package/dist/stores/toastStore.js +64 -0
- package/dist/styles/base/index.css +43 -0
- package/dist/styles/icons/generated-icons.css +1 -0
- package/dist/styles/themes/dark.css +88 -0
- package/dist/styles/themes/light.css +90 -0
- package/package.json +104 -40
- package/dist/Avatar-CzIirpVq.d.ts +0 -33
- package/dist/Button-BOYHKShy.d.ts +0 -63
- package/dist/Input-CvNxe1rq.d.ts +0 -34
- package/dist/Textarea-5_oQknZn.d.ts +0 -37
- package/dist/chunk/3MUBOGZG.js +0 -213
- package/dist/chunk/EB7KXR65.js +0 -102
- package/dist/chunk/G6RG4LR7.js +0 -87
- package/dist/chunk/HEJAQSH5.jsx +0 -100
- package/dist/chunk/HKS7ET6T.js +0 -56
- package/dist/chunk/KACNXPUM.jsx +0 -103
- package/dist/chunk/NLD5D3P7.jsx +0 -94
- package/dist/chunk/P7WPLZNA.jsx +0 -59
- package/dist/chunk/UTRNHAP4.js +0 -95
- package/dist/chunk/VMEDFWWG.js +0 -102
- package/dist/chunk/WB6NEEQV.jsx +0 -107
- package/dist/chunk/YZ3ID3UY.jsx +0 -226
- package/dist/classes-B_S9K-9I.d.ts +0 -13
- package/dist/components/avatar/index.jsx +0 -7
- package/dist/components/button/index.jsx +0 -8
- package/dist/components/input/index.jsx +0 -7
- package/dist/components/polymorphic/index.d.ts +0 -35
- package/dist/components/polymorphic/index.js +0 -1
- package/dist/components/polymorphic/index.jsx +0 -8
- package/dist/components/textarea/index.jsx +0 -7
- package/dist/index.jsx +0 -20
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__ from "../../button/index.js";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__ from "../../flex/index.js";
|
|
5
|
+
var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p id=cookie-consent-message class="text-sm text-base-content flex-1">'), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<button type=button class="text-sm underline hover:no-underline text-base-content/70 hover:text-base-content transition-colors">'), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div role=dialog aria-modal=false aria-labelledby=cookie-consent-message><div class="container mx-auto px-4 py-4 max-w-7xl">'), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<h2 id=cookie-manage-title class="text-lg font-semibold">'), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<label class="flex items-center justify-between p-3 rounded bg-base-200/50 cursor-not-allowed"><span class="text-sm font-medium text-base-content/70"></span><input type=checkbox checked disabled class="toggle toggle-sm toggle-primary">'), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<label class="flex items-center justify-between p-3 rounded hover:bg-base-200/50 cursor-pointer transition-colors"><span class="text-sm font-medium"></span><input type=checkbox class="toggle toggle-sm toggle-primary">'), _tmpl$7 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div role=dialog aria-modal=true aria-labelledby=cookie-manage-title class="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm animate-fade-in"><div class="bg-base-100 rounded-lg shadow-xl w-full max-w-md p-6 animate-scale-in">');
|
|
6
|
+
const defaultTexts = {
|
|
7
|
+
message: "We use cookies to improve your experience. You can accept all cookies or manage your preferences.",
|
|
8
|
+
acceptAll: "Accept all",
|
|
9
|
+
decline: "Decline",
|
|
10
|
+
manage: "Manage",
|
|
11
|
+
manageTitle: "Manage cookie preferences",
|
|
12
|
+
essential: "Essential (required)",
|
|
13
|
+
analytics: "Analytics",
|
|
14
|
+
marketing: "Marketing",
|
|
15
|
+
cancel: "Cancel",
|
|
16
|
+
save: "Save",
|
|
17
|
+
closeLabel: "Close"
|
|
18
|
+
};
|
|
19
|
+
const CookieConsent = (props)=>{
|
|
20
|
+
const [showBanner, setShowBanner] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
21
|
+
const [showManage, setShowManage] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
22
|
+
const [isClosing, setIsClosing] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
23
|
+
const [analyticsEnabled, setAnalyticsEnabled] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
24
|
+
const [marketingEnabled, setMarketingEnabled] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
25
|
+
const CONSENT_KEY = ()=>props.storageKeys?.consentKey ?? "app_cookie_consent";
|
|
26
|
+
const ANALYTICS_KEY = ()=>props.storageKeys?.analyticsKey ?? "app_cookie_analytics";
|
|
27
|
+
const MARKETING_KEY = ()=>props.storageKeys?.marketingKey ?? "app_cookie_marketing";
|
|
28
|
+
const texts = ()=>({
|
|
29
|
+
message: props.texts?.message ?? defaultTexts.message,
|
|
30
|
+
acceptAll: props.texts?.acceptAll ?? defaultTexts.acceptAll,
|
|
31
|
+
decline: props.texts?.decline ?? defaultTexts.decline,
|
|
32
|
+
manage: props.texts?.manage ?? defaultTexts.manage,
|
|
33
|
+
manageTitle: props.texts?.manageTitle ?? defaultTexts.manageTitle,
|
|
34
|
+
essential: props.texts?.essential ?? defaultTexts.essential,
|
|
35
|
+
analytics: props.texts?.analytics ?? defaultTexts.analytics,
|
|
36
|
+
marketing: props.texts?.marketing ?? defaultTexts.marketing,
|
|
37
|
+
cancel: props.texts?.cancel ?? defaultTexts.cancel,
|
|
38
|
+
save: props.texts?.save ?? defaultTexts.save,
|
|
39
|
+
closeLabel: props.texts?.closeLabel ?? defaultTexts.closeLabel
|
|
40
|
+
});
|
|
41
|
+
const checkConsent = ()=>{
|
|
42
|
+
const consent = localStorage.getItem(CONSENT_KEY());
|
|
43
|
+
return !consent;
|
|
44
|
+
};
|
|
45
|
+
const saveConsent = (type)=>{
|
|
46
|
+
localStorage.setItem(CONSENT_KEY(), type);
|
|
47
|
+
if ("all" === type) {
|
|
48
|
+
localStorage.setItem(ANALYTICS_KEY(), "true");
|
|
49
|
+
localStorage.setItem(MARKETING_KEY(), "true");
|
|
50
|
+
} else if ("essential" === type) {
|
|
51
|
+
localStorage.setItem(ANALYTICS_KEY(), "false");
|
|
52
|
+
localStorage.setItem(MARKETING_KEY(), "false");
|
|
53
|
+
}
|
|
54
|
+
emitChange(type);
|
|
55
|
+
};
|
|
56
|
+
const emitChange = (type)=>{
|
|
57
|
+
props.onConsentChange?.({
|
|
58
|
+
type,
|
|
59
|
+
analytics: "true" === localStorage.getItem(ANALYTICS_KEY()),
|
|
60
|
+
marketing: "true" === localStorage.getItem(MARKETING_KEY())
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const handleAcceptAll = ()=>{
|
|
64
|
+
saveConsent("all");
|
|
65
|
+
closeBanner();
|
|
66
|
+
};
|
|
67
|
+
const handleDecline = ()=>{
|
|
68
|
+
saveConsent("essential");
|
|
69
|
+
closeBanner();
|
|
70
|
+
};
|
|
71
|
+
const handleManageOpen = ()=>{
|
|
72
|
+
const analytics = "true" === localStorage.getItem(ANALYTICS_KEY());
|
|
73
|
+
const marketing = "true" === localStorage.getItem(MARKETING_KEY());
|
|
74
|
+
setAnalyticsEnabled(analytics);
|
|
75
|
+
setMarketingEnabled(marketing);
|
|
76
|
+
setShowManage(true);
|
|
77
|
+
};
|
|
78
|
+
const handleManageClose = ()=>{
|
|
79
|
+
setShowManage(false);
|
|
80
|
+
};
|
|
81
|
+
const handleManageSave = ()=>{
|
|
82
|
+
localStorage.setItem(CONSENT_KEY(), "custom");
|
|
83
|
+
localStorage.setItem(ANALYTICS_KEY(), analyticsEnabled().toString());
|
|
84
|
+
localStorage.setItem(MARKETING_KEY(), marketingEnabled().toString());
|
|
85
|
+
setShowManage(false);
|
|
86
|
+
closeBanner();
|
|
87
|
+
emitChange("custom");
|
|
88
|
+
};
|
|
89
|
+
const closeBanner = ()=>{
|
|
90
|
+
setIsClosing(true);
|
|
91
|
+
setTimeout(()=>{
|
|
92
|
+
setShowBanner(false);
|
|
93
|
+
setIsClosing(false);
|
|
94
|
+
}, 300);
|
|
95
|
+
};
|
|
96
|
+
const handleKeyDown = (e)=>{
|
|
97
|
+
if ("Escape" === e.key && showManage()) handleManageClose();
|
|
98
|
+
};
|
|
99
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
|
|
100
|
+
if (checkConsent()) setShowBanner(true);
|
|
101
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
102
|
+
});
|
|
103
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
|
|
104
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
105
|
+
});
|
|
106
|
+
return [
|
|
107
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
108
|
+
get when () {
|
|
109
|
+
return showBanner();
|
|
110
|
+
},
|
|
111
|
+
get children () {
|
|
112
|
+
var _el$ = _tmpl$3(), _el$2 = _el$.firstChild;
|
|
113
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
114
|
+
direction: "col",
|
|
115
|
+
gap: "md",
|
|
116
|
+
class: "md:flex-row md:items-center md:justify-between",
|
|
117
|
+
get children () {
|
|
118
|
+
return [
|
|
119
|
+
(()=>{
|
|
120
|
+
var _el$3 = _tmpl$();
|
|
121
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>texts().message);
|
|
122
|
+
return _el$3;
|
|
123
|
+
})(),
|
|
124
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
125
|
+
gap: "sm",
|
|
126
|
+
class: "flex-col sm:flex-row sm:items-center shrink-0",
|
|
127
|
+
get children () {
|
|
128
|
+
return [
|
|
129
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
130
|
+
variant: "primary",
|
|
131
|
+
size: "sm",
|
|
132
|
+
class: "w-full sm:w-auto transition-transform duration-150 hover:scale-[1.02] active:scale-[0.98]",
|
|
133
|
+
onClick: handleAcceptAll,
|
|
134
|
+
get children () {
|
|
135
|
+
return texts().acceptAll;
|
|
136
|
+
}
|
|
137
|
+
}),
|
|
138
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
139
|
+
variant: "ghost",
|
|
140
|
+
size: "sm",
|
|
141
|
+
class: "w-full sm:w-auto",
|
|
142
|
+
onClick: handleDecline,
|
|
143
|
+
get children () {
|
|
144
|
+
return texts().decline;
|
|
145
|
+
}
|
|
146
|
+
}),
|
|
147
|
+
(()=>{
|
|
148
|
+
var _el$4 = _tmpl$2();
|
|
149
|
+
_el$4.$$click = handleManageOpen;
|
|
150
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>texts().manage);
|
|
151
|
+
return _el$4;
|
|
152
|
+
})()
|
|
153
|
+
];
|
|
154
|
+
}
|
|
155
|
+
})
|
|
156
|
+
];
|
|
157
|
+
}
|
|
158
|
+
}));
|
|
159
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$, `fixed bottom-0 left-0 right-0 z-52 bg-base-300/95 backdrop-blur border-t border-base-content/10 transition-all duration-300 ${isClosing() ? "translate-y-full opacity-0" : "translate-y-0 opacity-100 animate-slide-up"}`));
|
|
160
|
+
return _el$;
|
|
161
|
+
}
|
|
162
|
+
}),
|
|
163
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
164
|
+
get when () {
|
|
165
|
+
return showManage();
|
|
166
|
+
},
|
|
167
|
+
get children () {
|
|
168
|
+
var _el$5 = _tmpl$7(), _el$6 = _el$5.firstChild;
|
|
169
|
+
_el$5.$$click = handleManageClose;
|
|
170
|
+
_el$6.$$click = (e)=>e.stopPropagation();
|
|
171
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
172
|
+
justify: "between",
|
|
173
|
+
align: "center",
|
|
174
|
+
class: "mb-4",
|
|
175
|
+
get children () {
|
|
176
|
+
return [
|
|
177
|
+
(()=>{
|
|
178
|
+
var _el$7 = _tmpl$4();
|
|
179
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$7, ()=>texts().manageTitle);
|
|
180
|
+
return _el$7;
|
|
181
|
+
})(),
|
|
182
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
183
|
+
size: "sm",
|
|
184
|
+
variant: "ghost",
|
|
185
|
+
isIconOnly: true,
|
|
186
|
+
onClick: handleManageClose,
|
|
187
|
+
get ["aria-label"] () {
|
|
188
|
+
return texts().closeLabel;
|
|
189
|
+
},
|
|
190
|
+
children: "X"
|
|
191
|
+
})
|
|
192
|
+
];
|
|
193
|
+
}
|
|
194
|
+
}), null);
|
|
195
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
196
|
+
direction: "col",
|
|
197
|
+
gap: "md",
|
|
198
|
+
class: "mb-6",
|
|
199
|
+
get children () {
|
|
200
|
+
return [
|
|
201
|
+
(()=>{
|
|
202
|
+
var _el$8 = _tmpl$5(), _el$9 = _el$8.firstChild;
|
|
203
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$9, ()=>texts().essential);
|
|
204
|
+
return _el$8;
|
|
205
|
+
})(),
|
|
206
|
+
(()=>{
|
|
207
|
+
var _el$0 = _tmpl$6(), _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling;
|
|
208
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$1, ()=>texts().analytics);
|
|
209
|
+
_el$10.addEventListener("change", (e)=>setAnalyticsEnabled(e.currentTarget.checked));
|
|
210
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>_el$10.checked = analyticsEnabled());
|
|
211
|
+
return _el$0;
|
|
212
|
+
})(),
|
|
213
|
+
(()=>{
|
|
214
|
+
var _el$11 = _tmpl$6(), _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling;
|
|
215
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$12, ()=>texts().marketing);
|
|
216
|
+
_el$13.addEventListener("change", (e)=>setMarketingEnabled(e.currentTarget.checked));
|
|
217
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>_el$13.checked = marketingEnabled());
|
|
218
|
+
return _el$11;
|
|
219
|
+
})()
|
|
220
|
+
];
|
|
221
|
+
}
|
|
222
|
+
}), null);
|
|
223
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
224
|
+
gap: "sm",
|
|
225
|
+
justify: "end",
|
|
226
|
+
get children () {
|
|
227
|
+
return [
|
|
228
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
229
|
+
variant: "ghost",
|
|
230
|
+
size: "sm",
|
|
231
|
+
onClick: handleManageClose,
|
|
232
|
+
get children () {
|
|
233
|
+
return texts().cancel;
|
|
234
|
+
}
|
|
235
|
+
}),
|
|
236
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
237
|
+
variant: "primary",
|
|
238
|
+
size: "sm",
|
|
239
|
+
class: "transition-transform duration-150 hover:scale-[1.02] active:scale-[0.98]",
|
|
240
|
+
onClick: handleManageSave,
|
|
241
|
+
get children () {
|
|
242
|
+
return texts().save;
|
|
243
|
+
}
|
|
244
|
+
})
|
|
245
|
+
];
|
|
246
|
+
}
|
|
247
|
+
}), null);
|
|
248
|
+
return _el$5;
|
|
249
|
+
}
|
|
250
|
+
})
|
|
251
|
+
];
|
|
252
|
+
};
|
|
253
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
|
|
254
|
+
"click"
|
|
255
|
+
]);
|
|
256
|
+
export { CookieConsent };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Component } from "solid-js";
|
|
2
|
+
import { FirefoxPWABannerProps } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* PWAUnsupportedBanner Component
|
|
5
|
+
*
|
|
6
|
+
* Shows a dismissible banner for browsers that don't support native PWA installation
|
|
7
|
+
* (beforeinstallprompt). Currently shows for Firefox desktop with extension recommendation.
|
|
8
|
+
*/
|
|
9
|
+
export declare const FirefoxPWABanner: Component<FirefoxPWABannerProps>;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__ from "../../button/index.js";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__ from "../../card/index.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__ from "../../flex/index.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__icon_index_js_5892b613__ from "../../icon/index.js";
|
|
7
|
+
var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="w-14 h-14 shrink-0 rounded-xl bg-base-200 p-2 flex items-center justify-center">'), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p class="text-sm text-base-content/70">'), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div aria-labelledby=pwa-unsupported-title class="fixed bottom-4 left-4 right-4 md:left-auto md:right-4 md:max-w-sm z-51 animate-slide-up">');
|
|
8
|
+
const defaultTexts = {
|
|
9
|
+
title: "Install App on Firefox",
|
|
10
|
+
description: "Firefox does not support direct app installation. Install our helper extension to enable PWA support.",
|
|
11
|
+
installButton: "Install Extension",
|
|
12
|
+
dismissButton: "Maybe later",
|
|
13
|
+
closeLabel: "Close"
|
|
14
|
+
};
|
|
15
|
+
const detectBrowser = ()=>{
|
|
16
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
17
|
+
if ("BeforeInstallPromptEvent" in globalThis) return "supported";
|
|
18
|
+
if (ua.includes("firefox")) return "firefox";
|
|
19
|
+
if (ua.includes("safari") && !ua.includes("chrome")) return "safari";
|
|
20
|
+
return "other";
|
|
21
|
+
};
|
|
22
|
+
const isMobile = ()=>/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase());
|
|
23
|
+
const isPWAInstalled = ()=>globalThis.matchMedia("(display-mode: standalone)").matches;
|
|
24
|
+
const FirefoxPWABanner = (props)=>{
|
|
25
|
+
const [showBanner, setShowBanner] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
26
|
+
const [browser, setBrowser] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)("supported");
|
|
27
|
+
const STORAGE_KEY = ()=>props.storageKey ?? "app_firefox_pwa_dismissed";
|
|
28
|
+
const extensionUrl = ()=>props.extensionUrl ?? "https://addons.mozilla.org/";
|
|
29
|
+
const texts = ()=>({
|
|
30
|
+
title: props.texts?.title ?? defaultTexts.title,
|
|
31
|
+
description: props.texts?.description ?? defaultTexts.description,
|
|
32
|
+
installButton: props.texts?.installButton ?? defaultTexts.installButton,
|
|
33
|
+
dismissButton: props.texts?.dismissButton ?? defaultTexts.dismissButton,
|
|
34
|
+
closeLabel: props.texts?.closeLabel ?? defaultTexts.closeLabel
|
|
35
|
+
});
|
|
36
|
+
const checkShouldShow = ()=>{
|
|
37
|
+
const detectedBrowser = detectBrowser();
|
|
38
|
+
setBrowser(detectedBrowser);
|
|
39
|
+
if ("supported" === detectedBrowser) return false;
|
|
40
|
+
if (isMobile()) return false;
|
|
41
|
+
if ("firefox" !== detectedBrowser) return false;
|
|
42
|
+
if (isPWAInstalled()) return false;
|
|
43
|
+
const dismissed = localStorage.getItem(STORAGE_KEY());
|
|
44
|
+
if ("true" === dismissed) return false;
|
|
45
|
+
return true;
|
|
46
|
+
};
|
|
47
|
+
const handleDismiss = ()=>{
|
|
48
|
+
setShowBanner(false);
|
|
49
|
+
localStorage.setItem(STORAGE_KEY(), "true");
|
|
50
|
+
props.onDismiss?.();
|
|
51
|
+
};
|
|
52
|
+
const handleAction = ()=>{
|
|
53
|
+
if ("firefox" === browser()) {
|
|
54
|
+
globalThis.open(extensionUrl(), "_blank", "noopener,noreferrer");
|
|
55
|
+
props.onInstall?.();
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
|
|
59
|
+
if (checkShouldShow()) setTimeout(()=>setShowBanner(true), 2000);
|
|
60
|
+
});
|
|
61
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
62
|
+
get when () {
|
|
63
|
+
return showBanner();
|
|
64
|
+
},
|
|
65
|
+
get children () {
|
|
66
|
+
var _el$ = _tmpl$3();
|
|
67
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"], {
|
|
68
|
+
shadow: "lg",
|
|
69
|
+
background: "base-100",
|
|
70
|
+
class: "relative border border-base-300",
|
|
71
|
+
get children () {
|
|
72
|
+
return [
|
|
73
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
74
|
+
size: "sm",
|
|
75
|
+
variant: "ghost",
|
|
76
|
+
isIconOnly: true,
|
|
77
|
+
class: "absolute top-2 right-2",
|
|
78
|
+
onClick: handleDismiss,
|
|
79
|
+
get ["aria-label"] () {
|
|
80
|
+
return texts().closeLabel;
|
|
81
|
+
},
|
|
82
|
+
get children () {
|
|
83
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__icon_index_js_5892b613__["default"], {
|
|
84
|
+
name: "icon-[mdi--close]",
|
|
85
|
+
width: 16,
|
|
86
|
+
height: 16
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"].Body, {
|
|
91
|
+
get children () {
|
|
92
|
+
return [
|
|
93
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
94
|
+
align: "start",
|
|
95
|
+
gap: "md",
|
|
96
|
+
get children () {
|
|
97
|
+
return [
|
|
98
|
+
(()=>{
|
|
99
|
+
var _el$2 = _tmpl$();
|
|
100
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
101
|
+
get when () {
|
|
102
|
+
return "firefox" === browser();
|
|
103
|
+
},
|
|
104
|
+
get children () {
|
|
105
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__icon_index_js_5892b613__["default"], {
|
|
106
|
+
name: "icon-[mdi--firefox]",
|
|
107
|
+
width: 40,
|
|
108
|
+
height: 40,
|
|
109
|
+
class: "text-orange-500"
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}));
|
|
113
|
+
return _el$2;
|
|
114
|
+
})(),
|
|
115
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
116
|
+
direction: "col",
|
|
117
|
+
gap: "sm",
|
|
118
|
+
class: "flex-1 min-w-0 pr-6",
|
|
119
|
+
get children () {
|
|
120
|
+
return [
|
|
121
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"].Title, {
|
|
122
|
+
id: "pwa-unsupported-title",
|
|
123
|
+
tag: "h3",
|
|
124
|
+
class: "text-base",
|
|
125
|
+
get children () {
|
|
126
|
+
return texts().title;
|
|
127
|
+
}
|
|
128
|
+
}),
|
|
129
|
+
(()=>{
|
|
130
|
+
var _el$3 = _tmpl$2();
|
|
131
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>texts().description);
|
|
132
|
+
return _el$3;
|
|
133
|
+
})()
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
})
|
|
137
|
+
];
|
|
138
|
+
}
|
|
139
|
+
}),
|
|
140
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"].Actions, {
|
|
141
|
+
class: "mt-4",
|
|
142
|
+
get children () {
|
|
143
|
+
return [
|
|
144
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
145
|
+
variant: "primary",
|
|
146
|
+
class: "flex-1",
|
|
147
|
+
onClick: handleAction,
|
|
148
|
+
get children () {
|
|
149
|
+
return texts().installButton;
|
|
150
|
+
}
|
|
151
|
+
}),
|
|
152
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
153
|
+
variant: "ghost",
|
|
154
|
+
class: "flex-1",
|
|
155
|
+
onClick: handleDismiss,
|
|
156
|
+
get children () {
|
|
157
|
+
return texts().dismissButton;
|
|
158
|
+
}
|
|
159
|
+
})
|
|
160
|
+
];
|
|
161
|
+
}
|
|
162
|
+
})
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
})
|
|
166
|
+
];
|
|
167
|
+
}
|
|
168
|
+
}));
|
|
169
|
+
return _el$;
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
};
|
|
173
|
+
export { FirefoxPWABanner };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__ from "../../button/index.js";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__ from "../../card/index.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__ from "../../flex/index.js";
|
|
6
|
+
var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="w-14 h-14 flex-shrink-0 rounded-xl bg-base-200 p-2"><img class="w-full h-full">'), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p class="text-sm text-base-content/70">'), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div role=dialog aria-modal=false aria-labelledby=pwa-install-title class="fixed bottom-4 left-4 right-4 md:left-auto md:right-4 md:max-w-sm z-51 animate-slide-up">');
|
|
7
|
+
const DISMISS_DURATION = 604800000;
|
|
8
|
+
const defaultTexts = {
|
|
9
|
+
title: "Install App",
|
|
10
|
+
description: "Add this app to your home screen for a better experience.",
|
|
11
|
+
installButton: "Install",
|
|
12
|
+
notNowButton: "Not now",
|
|
13
|
+
closeLabel: "Close"
|
|
14
|
+
};
|
|
15
|
+
const PWAInstallPrompt = (props)=>{
|
|
16
|
+
const STORAGE_KEY = ()=>props.storageKey ?? "app_pwa_dismissed";
|
|
17
|
+
const appName = ()=>props.appName ?? "My App";
|
|
18
|
+
const appIcon = ()=>props.appIcon ?? "/icon-192.png";
|
|
19
|
+
const texts = ()=>({
|
|
20
|
+
title: props.texts?.title ?? defaultTexts.title,
|
|
21
|
+
description: props.texts?.description ?? defaultTexts.description,
|
|
22
|
+
installButton: props.texts?.installButton ?? defaultTexts.installButton,
|
|
23
|
+
notNowButton: props.texts?.notNowButton ?? defaultTexts.notNowButton,
|
|
24
|
+
closeLabel: props.texts?.closeLabel ?? defaultTexts.closeLabel
|
|
25
|
+
});
|
|
26
|
+
const [deferredPrompt, setDeferredPrompt] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(null);
|
|
27
|
+
const [showPrompt, setShowPrompt] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
28
|
+
const checkDismissalStatus = ()=>{
|
|
29
|
+
const dismissed = localStorage.getItem(STORAGE_KEY());
|
|
30
|
+
if (!dismissed) return true;
|
|
31
|
+
const dismissedTime = Number.parseInt(dismissed, 10);
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
if (now - dismissedTime > DISMISS_DURATION) {
|
|
34
|
+
localStorage.removeItem(STORAGE_KEY());
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
};
|
|
39
|
+
const handleBeforeInstallPrompt = (e)=>{
|
|
40
|
+
e.preventDefault();
|
|
41
|
+
setDeferredPrompt(e);
|
|
42
|
+
if (checkDismissalStatus()) setShowPrompt(true);
|
|
43
|
+
};
|
|
44
|
+
const handleInstall = async ()=>{
|
|
45
|
+
const prompt = deferredPrompt();
|
|
46
|
+
if (!prompt) return;
|
|
47
|
+
try {
|
|
48
|
+
prompt.prompt();
|
|
49
|
+
const result = await prompt.userChoice;
|
|
50
|
+
if ("accepted" === result.outcome) {
|
|
51
|
+
setShowPrompt(false);
|
|
52
|
+
setDeferredPrompt(null);
|
|
53
|
+
props.onInstall?.();
|
|
54
|
+
}
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.debug("PWA install prompt failed:", error);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const handleDismiss = ()=>{
|
|
60
|
+
setShowPrompt(false);
|
|
61
|
+
localStorage.setItem(STORAGE_KEY(), Date.now().toString());
|
|
62
|
+
props.onDismiss?.();
|
|
63
|
+
};
|
|
64
|
+
const handleAppInstalled = ()=>{
|
|
65
|
+
setShowPrompt(false);
|
|
66
|
+
setDeferredPrompt(null);
|
|
67
|
+
};
|
|
68
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
|
|
69
|
+
window.addEventListener("beforeinstallprompt", handleBeforeInstallPrompt);
|
|
70
|
+
window.addEventListener("appinstalled", handleAppInstalled);
|
|
71
|
+
});
|
|
72
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
|
|
73
|
+
window.removeEventListener("beforeinstallprompt", handleBeforeInstallPrompt);
|
|
74
|
+
window.removeEventListener("appinstalled", handleAppInstalled);
|
|
75
|
+
});
|
|
76
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
77
|
+
get when () {
|
|
78
|
+
return showPrompt();
|
|
79
|
+
},
|
|
80
|
+
get children () {
|
|
81
|
+
var _el$ = _tmpl$3();
|
|
82
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"], {
|
|
83
|
+
shadow: "lg",
|
|
84
|
+
background: "base-100",
|
|
85
|
+
class: "relative border border-base-300",
|
|
86
|
+
get children () {
|
|
87
|
+
return [
|
|
88
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
89
|
+
size: "sm",
|
|
90
|
+
variant: "ghost",
|
|
91
|
+
isIconOnly: true,
|
|
92
|
+
class: "absolute top-2 right-2",
|
|
93
|
+
onClick: handleDismiss,
|
|
94
|
+
get ["aria-label"] () {
|
|
95
|
+
return texts().closeLabel;
|
|
96
|
+
},
|
|
97
|
+
children: "X"
|
|
98
|
+
}),
|
|
99
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"].Body, {
|
|
100
|
+
get children () {
|
|
101
|
+
return [
|
|
102
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
103
|
+
align: "start",
|
|
104
|
+
gap: "md",
|
|
105
|
+
get children () {
|
|
106
|
+
return [
|
|
107
|
+
(()=>{
|
|
108
|
+
var _el$2 = _tmpl$(), _el$3 = _el$2.firstChild;
|
|
109
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
|
|
110
|
+
var _v$ = appIcon(), _v$2 = appName();
|
|
111
|
+
_v$ !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "src", _p$.e = _v$);
|
|
112
|
+
_v$2 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "alt", _p$.t = _v$2);
|
|
113
|
+
return _p$;
|
|
114
|
+
}, {
|
|
115
|
+
e: void 0,
|
|
116
|
+
t: void 0
|
|
117
|
+
});
|
|
118
|
+
return _el$2;
|
|
119
|
+
})(),
|
|
120
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__flex_index_js_42888a32__["default"], {
|
|
121
|
+
direction: "col",
|
|
122
|
+
gap: "sm",
|
|
123
|
+
class: "flex-1 min-w-0 pr-6",
|
|
124
|
+
get children () {
|
|
125
|
+
return [
|
|
126
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"].Title, {
|
|
127
|
+
id: "pwa-install-title",
|
|
128
|
+
tag: "h3",
|
|
129
|
+
class: "text-base",
|
|
130
|
+
get children () {
|
|
131
|
+
return texts().title;
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
(()=>{
|
|
135
|
+
var _el$4 = _tmpl$2();
|
|
136
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>texts().description);
|
|
137
|
+
return _el$4;
|
|
138
|
+
})()
|
|
139
|
+
];
|
|
140
|
+
}
|
|
141
|
+
})
|
|
142
|
+
];
|
|
143
|
+
}
|
|
144
|
+
}),
|
|
145
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__card_index_js_ff5173c9__["default"].Actions, {
|
|
146
|
+
class: "mt-4",
|
|
147
|
+
get children () {
|
|
148
|
+
return [
|
|
149
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
150
|
+
variant: "primary",
|
|
151
|
+
class: "flex-1",
|
|
152
|
+
onClick: handleInstall,
|
|
153
|
+
get children () {
|
|
154
|
+
return texts().installButton;
|
|
155
|
+
}
|
|
156
|
+
}),
|
|
157
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__button_index_js_573defba__["default"], {
|
|
158
|
+
variant: "ghost",
|
|
159
|
+
class: "flex-1",
|
|
160
|
+
onClick: handleDismiss,
|
|
161
|
+
get children () {
|
|
162
|
+
return texts().notNowButton;
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
];
|
|
166
|
+
}
|
|
167
|
+
})
|
|
168
|
+
];
|
|
169
|
+
}
|
|
170
|
+
})
|
|
171
|
+
];
|
|
172
|
+
}
|
|
173
|
+
}));
|
|
174
|
+
return _el$;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
export { PWAInstallPrompt };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default } from "./ImmersiveLanding";
|
|
2
|
+
export { useImmersiveLanding } from "./useImmersiveLanding";
|
|
3
|
+
export { ImmersiveLandingContext, useImmersiveLandingContext } from "./ImmersiveLandingContext";
|
|
4
|
+
export { CookieConsent } from "./components/CookieConsent";
|
|
5
|
+
export { PWAInstallPrompt } from "./components/PWAInstallPrompt";
|
|
6
|
+
export { FirefoxPWABanner } from "./components/FirefoxPWABanner";
|
|
7
|
+
export type { ImmersiveLandingProps, ImmersiveLandingPageProps, ImmersiveLandingArrowsProps, ImmersiveLandingNavigationProps, ImmersiveLandingContextValue, UseImmersiveLandingOptions, UseImmersiveLandingReturn, CookieConsentProps, CookieConsentTexts, CookieConsentStorageKeys, PWAInstallPromptProps, PWAInstallPromptTexts, FirefoxPWABannerProps, FirefoxPWABannerTexts, } from "./types";
|