@pathscale/ui 0.0.129 → 0.0.131
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/dist/components/immersive-landing/components/CookieConsent.d.ts +3 -0
- package/dist/components/immersive-landing/components/FirefoxPWABanner.d.ts +9 -0
- package/dist/components/immersive-landing/components/PWAInstallPrompt.d.ts +3 -0
- package/dist/components/immersive-landing/index.d.ts +4 -1
- package/dist/components/immersive-landing/types.d.ts +64 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +670 -6
- package/dist/styles/icons/generated-icons.css +1 -1
- package/package.json +1 -1
|
@@ -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>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { default } from "./ImmersiveLanding";
|
|
2
2
|
export { useImmersiveLanding } from "./useImmersiveLanding";
|
|
3
3
|
export { ImmersiveLandingContext, useImmersiveLandingContext } from "./ImmersiveLandingContext";
|
|
4
|
-
export
|
|
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";
|
|
@@ -48,6 +48,12 @@ export interface ImmersiveLandingProps extends IComponentBaseProps {
|
|
|
48
48
|
appVersion?: string;
|
|
49
49
|
overlay?: JSX.Element | ((context: ImmersiveLandingContextValue) => JSX.Element);
|
|
50
50
|
children: JSX.Element | ((context: ImmersiveLandingContextValue) => JSX.Element);
|
|
51
|
+
pwaConfig?: PWAInstallPromptProps;
|
|
52
|
+
cookieConfig?: CookieConsentProps;
|
|
53
|
+
firefoxPWAConfig?: FirefoxPWABannerProps;
|
|
54
|
+
showPWAPrompt?: boolean;
|
|
55
|
+
showCookieConsent?: boolean;
|
|
56
|
+
showFirefoxBanner?: boolean;
|
|
51
57
|
}
|
|
52
58
|
export interface ImmersiveLandingPageProps extends IComponentBaseProps {
|
|
53
59
|
id: string;
|
|
@@ -68,3 +74,61 @@ export interface ImmersiveLandingNavigationProps extends IComponentBaseProps {
|
|
|
68
74
|
isFirstPage: boolean;
|
|
69
75
|
isLastPage: boolean;
|
|
70
76
|
}
|
|
77
|
+
export type ConsentType = "all" | "essential" | "custom";
|
|
78
|
+
export interface CookieConsentTexts {
|
|
79
|
+
message?: string;
|
|
80
|
+
acceptAll?: string;
|
|
81
|
+
decline?: string;
|
|
82
|
+
manage?: string;
|
|
83
|
+
manageTitle?: string;
|
|
84
|
+
essential?: string;
|
|
85
|
+
analytics?: string;
|
|
86
|
+
marketing: string;
|
|
87
|
+
cancel?: string;
|
|
88
|
+
save?: string;
|
|
89
|
+
closeLabel?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface CookieConsentStorageKeys {
|
|
92
|
+
consentKey?: string;
|
|
93
|
+
analyticsKey?: string;
|
|
94
|
+
marketingKey?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface CookieConsentProps {
|
|
97
|
+
texts?: CookieConsentTexts;
|
|
98
|
+
storageKeys?: CookieConsentStorageKeys;
|
|
99
|
+
onConsentChange?: (payload: {
|
|
100
|
+
type: ConsentType;
|
|
101
|
+
analytics: boolean;
|
|
102
|
+
marketing: boolean;
|
|
103
|
+
}) => void;
|
|
104
|
+
}
|
|
105
|
+
export type BrowserType = "firefox" | "safari" | "other" | "supported";
|
|
106
|
+
export interface FirefoxPWABannerTexts {
|
|
107
|
+
title?: string;
|
|
108
|
+
description?: string;
|
|
109
|
+
installButton?: string;
|
|
110
|
+
dismissButton?: string;
|
|
111
|
+
closeLabel?: string;
|
|
112
|
+
}
|
|
113
|
+
export interface FirefoxPWABannerProps {
|
|
114
|
+
extensionUrl?: string;
|
|
115
|
+
storageKey?: string;
|
|
116
|
+
texts?: FirefoxPWABannerTexts;
|
|
117
|
+
onInstall?: () => void;
|
|
118
|
+
onDismiss?: () => void;
|
|
119
|
+
}
|
|
120
|
+
export interface PWAInstallPromptTexts {
|
|
121
|
+
title?: string;
|
|
122
|
+
description?: string;
|
|
123
|
+
installButton?: string;
|
|
124
|
+
notNowButton?: string;
|
|
125
|
+
closeLabel?: string;
|
|
126
|
+
}
|
|
127
|
+
export interface PWAInstallPromptProps {
|
|
128
|
+
appName?: string;
|
|
129
|
+
appIcon?: string;
|
|
130
|
+
storageKey?: string;
|
|
131
|
+
texts?: PWAInstallPromptTexts;
|
|
132
|
+
onInstall?: () => void;
|
|
133
|
+
onDismiss?: () => void;
|
|
134
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -40,8 +40,8 @@ export { default as Grid } from "./components/grid";
|
|
|
40
40
|
export { default as Hero } from "./components/hero";
|
|
41
41
|
export type { HeroContentProps, HeroOverlayProps, HeroProps, } from "./components/hero";
|
|
42
42
|
export { default as Icon } from "./components/icon";
|
|
43
|
-
export { default as ImmersiveLanding, useImmersiveLanding, useImmersiveLandingContext, ImmersiveLandingContext, } from "./components/immersive-landing";
|
|
44
|
-
export type { ImmersiveLandingProps, ImmersiveLandingPageProps, ImmersiveLandingArrowsProps, ImmersiveLandingNavigationProps, ImmersiveLandingContextValue, UseImmersiveLandingOptions, UseImmersiveLandingReturn, } from "./components/immersive-landing";
|
|
43
|
+
export { default as ImmersiveLanding, useImmersiveLanding, useImmersiveLandingContext, ImmersiveLandingContext, CookieConsent, PWAInstallPrompt, FirefoxPWABanner, } from "./components/immersive-landing";
|
|
44
|
+
export type { ImmersiveLandingProps, ImmersiveLandingPageProps, ImmersiveLandingArrowsProps, ImmersiveLandingNavigationProps, ImmersiveLandingContextValue, UseImmersiveLandingOptions, UseImmersiveLandingReturn, CookieConsentProps, CookieConsentTexts, CookieConsentStorageKeys, PWAInstallPromptProps, PWAInstallPromptTexts, FirefoxPWABannerProps, FirefoxPWABannerTexts, } from "./components/immersive-landing";
|
|
45
45
|
export { default as Indicator } from "./components/indicator";
|
|
46
46
|
export { default as Input } from "./components/input";
|
|
47
47
|
export { default as Join } from "./components/join";
|
package/dist/index.js
CHANGED
|
@@ -10961,6 +10961,595 @@ const immersive_landing_ImmersiveLandingNavigation = ImmersiveLandingNavigation;
|
|
|
10961
10961
|
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
|
|
10962
10962
|
"click"
|
|
10963
10963
|
]);
|
|
10964
|
+
var PWAInstallPrompt_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">'), PWAInstallPrompt_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p class="text-sm text-base-content/70">'), PWAInstallPrompt_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">');
|
|
10965
|
+
const DISMISS_DURATION = 604800000;
|
|
10966
|
+
const defaultTexts = {
|
|
10967
|
+
title: "Install App",
|
|
10968
|
+
description: "Add this app to your home screen for a better experience.",
|
|
10969
|
+
installButton: "Install",
|
|
10970
|
+
notNowButton: "Not now",
|
|
10971
|
+
closeLabel: "Close"
|
|
10972
|
+
};
|
|
10973
|
+
const PWAInstallPrompt = (props)=>{
|
|
10974
|
+
const STORAGE_KEY = ()=>props.storageKey ?? "app_pwa_dismissed";
|
|
10975
|
+
const appName = ()=>props.appName ?? "My App";
|
|
10976
|
+
const appIcon = ()=>props.appIcon ?? "/icon-192.png";
|
|
10977
|
+
const texts = ()=>({
|
|
10978
|
+
title: props.texts?.title ?? defaultTexts.title,
|
|
10979
|
+
description: props.texts?.description ?? defaultTexts.description,
|
|
10980
|
+
installButton: props.texts?.installButton ?? defaultTexts.installButton,
|
|
10981
|
+
notNowButton: props.texts?.notNowButton ?? defaultTexts.notNowButton,
|
|
10982
|
+
closeLabel: props.texts?.closeLabel ?? defaultTexts.closeLabel
|
|
10983
|
+
});
|
|
10984
|
+
const [deferredPrompt, setDeferredPrompt] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(null);
|
|
10985
|
+
const [showPrompt, setShowPrompt] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
10986
|
+
const checkDismissalStatus = ()=>{
|
|
10987
|
+
const dismissed = localStorage.getItem(STORAGE_KEY());
|
|
10988
|
+
if (!dismissed) return true;
|
|
10989
|
+
const dismissedTime = Number.parseInt(dismissed, 10);
|
|
10990
|
+
const now = Date.now();
|
|
10991
|
+
if (now - dismissedTime > DISMISS_DURATION) {
|
|
10992
|
+
localStorage.removeItem(STORAGE_KEY());
|
|
10993
|
+
return true;
|
|
10994
|
+
}
|
|
10995
|
+
return false;
|
|
10996
|
+
};
|
|
10997
|
+
const handleBeforeInstallPrompt = (e)=>{
|
|
10998
|
+
e.preventDefault();
|
|
10999
|
+
setDeferredPrompt(e);
|
|
11000
|
+
if (checkDismissalStatus()) setShowPrompt(true);
|
|
11001
|
+
};
|
|
11002
|
+
const handleInstall = async ()=>{
|
|
11003
|
+
const prompt = deferredPrompt();
|
|
11004
|
+
if (!prompt) return;
|
|
11005
|
+
try {
|
|
11006
|
+
prompt.prompt();
|
|
11007
|
+
const result = await prompt.userChoice;
|
|
11008
|
+
if ("accepted" === result.outcome) {
|
|
11009
|
+
setShowPrompt(false);
|
|
11010
|
+
setDeferredPrompt(null);
|
|
11011
|
+
props.onInstall?.();
|
|
11012
|
+
}
|
|
11013
|
+
} catch (error) {
|
|
11014
|
+
console.debug("PWA install prompt failed:", error);
|
|
11015
|
+
}
|
|
11016
|
+
};
|
|
11017
|
+
const handleDismiss = ()=>{
|
|
11018
|
+
setShowPrompt(false);
|
|
11019
|
+
localStorage.setItem(STORAGE_KEY(), Date.now().toString());
|
|
11020
|
+
props.onDismiss?.();
|
|
11021
|
+
};
|
|
11022
|
+
const handleAppInstalled = ()=>{
|
|
11023
|
+
setShowPrompt(false);
|
|
11024
|
+
setDeferredPrompt(null);
|
|
11025
|
+
};
|
|
11026
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
|
|
11027
|
+
window.addEventListener("beforeinstallprompt", handleBeforeInstallPrompt);
|
|
11028
|
+
window.addEventListener("appinstalled", handleAppInstalled);
|
|
11029
|
+
});
|
|
11030
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
|
|
11031
|
+
window.removeEventListener("beforeinstallprompt", handleBeforeInstallPrompt);
|
|
11032
|
+
window.removeEventListener("appinstalled", handleAppInstalled);
|
|
11033
|
+
});
|
|
11034
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11035
|
+
get when () {
|
|
11036
|
+
return showPrompt();
|
|
11037
|
+
},
|
|
11038
|
+
get children () {
|
|
11039
|
+
var _el$ = PWAInstallPrompt_tmpl$3();
|
|
11040
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card, {
|
|
11041
|
+
shadow: "lg",
|
|
11042
|
+
background: "base-100",
|
|
11043
|
+
class: "relative border border-base-300",
|
|
11044
|
+
get children () {
|
|
11045
|
+
return [
|
|
11046
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11047
|
+
size: "sm",
|
|
11048
|
+
color: "ghost",
|
|
11049
|
+
shape: "circle",
|
|
11050
|
+
class: "absolute top-2 right-2",
|
|
11051
|
+
onClick: handleDismiss,
|
|
11052
|
+
get ["aria-label"] () {
|
|
11053
|
+
return texts().closeLabel;
|
|
11054
|
+
},
|
|
11055
|
+
children: "X"
|
|
11056
|
+
}),
|
|
11057
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card.Body, {
|
|
11058
|
+
get children () {
|
|
11059
|
+
return [
|
|
11060
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11061
|
+
align: "start",
|
|
11062
|
+
gap: "md",
|
|
11063
|
+
get children () {
|
|
11064
|
+
return [
|
|
11065
|
+
(()=>{
|
|
11066
|
+
var _el$2 = PWAInstallPrompt_tmpl$(), _el$3 = _el$2.firstChild;
|
|
11067
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)((_p$)=>{
|
|
11068
|
+
var _v$ = appIcon(), _v$2 = appName();
|
|
11069
|
+
_v$ !== _p$.e && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "src", _p$.e = _v$);
|
|
11070
|
+
_v$2 !== _p$.t && (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$3, "alt", _p$.t = _v$2);
|
|
11071
|
+
return _p$;
|
|
11072
|
+
}, {
|
|
11073
|
+
e: void 0,
|
|
11074
|
+
t: void 0
|
|
11075
|
+
});
|
|
11076
|
+
return _el$2;
|
|
11077
|
+
})(),
|
|
11078
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11079
|
+
direction: "col",
|
|
11080
|
+
gap: "sm",
|
|
11081
|
+
class: "flex-1 min-w-0 pr-6",
|
|
11082
|
+
get children () {
|
|
11083
|
+
return [
|
|
11084
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card.Title, {
|
|
11085
|
+
id: "pwa-install-title",
|
|
11086
|
+
tag: "h3",
|
|
11087
|
+
class: "text-base",
|
|
11088
|
+
get children () {
|
|
11089
|
+
return texts().title;
|
|
11090
|
+
}
|
|
11091
|
+
}),
|
|
11092
|
+
(()=>{
|
|
11093
|
+
var _el$4 = PWAInstallPrompt_tmpl$2();
|
|
11094
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>texts().description);
|
|
11095
|
+
return _el$4;
|
|
11096
|
+
})()
|
|
11097
|
+
];
|
|
11098
|
+
}
|
|
11099
|
+
})
|
|
11100
|
+
];
|
|
11101
|
+
}
|
|
11102
|
+
}),
|
|
11103
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card.Actions, {
|
|
11104
|
+
class: "mt-4",
|
|
11105
|
+
get children () {
|
|
11106
|
+
return [
|
|
11107
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11108
|
+
color: "primary",
|
|
11109
|
+
class: "flex-1",
|
|
11110
|
+
onClick: handleInstall,
|
|
11111
|
+
get children () {
|
|
11112
|
+
return texts().installButton;
|
|
11113
|
+
}
|
|
11114
|
+
}),
|
|
11115
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11116
|
+
color: "ghost",
|
|
11117
|
+
class: "flex-1",
|
|
11118
|
+
onClick: handleDismiss,
|
|
11119
|
+
get children () {
|
|
11120
|
+
return texts().notNowButton;
|
|
11121
|
+
}
|
|
11122
|
+
})
|
|
11123
|
+
];
|
|
11124
|
+
}
|
|
11125
|
+
})
|
|
11126
|
+
];
|
|
11127
|
+
}
|
|
11128
|
+
})
|
|
11129
|
+
];
|
|
11130
|
+
}
|
|
11131
|
+
}));
|
|
11132
|
+
return _el$;
|
|
11133
|
+
}
|
|
11134
|
+
});
|
|
11135
|
+
};
|
|
11136
|
+
var FirefoxPWABanner_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">'), FirefoxPWABanner_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p class="text-sm text-base-content/70">'), FirefoxPWABanner_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">');
|
|
11137
|
+
const FirefoxPWABanner_defaultTexts = {
|
|
11138
|
+
title: "Install App on Firefox",
|
|
11139
|
+
description: "Firefox does not support direct app installation. Install our helper extension to enable PWA support.",
|
|
11140
|
+
installButton: "Install Extension",
|
|
11141
|
+
dismissButton: "Maybe later",
|
|
11142
|
+
closeLabel: "Close"
|
|
11143
|
+
};
|
|
11144
|
+
const detectBrowser = ()=>{
|
|
11145
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
11146
|
+
if ("BeforeInstallPromptEvent" in globalThis) return "supported";
|
|
11147
|
+
if (ua.includes("firefox")) return "firefox";
|
|
11148
|
+
if (ua.includes("safari") && !ua.includes("chrome")) return "safari";
|
|
11149
|
+
return "other";
|
|
11150
|
+
};
|
|
11151
|
+
const isMobile = ()=>/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase());
|
|
11152
|
+
const isPWAInstalled = ()=>globalThis.matchMedia("(display-mode: standalone)").matches;
|
|
11153
|
+
const FirefoxPWABanner = (props)=>{
|
|
11154
|
+
const [showBanner, setShowBanner] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
11155
|
+
const [browser, setBrowser] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)("supported");
|
|
11156
|
+
const STORAGE_KEY = ()=>props.storageKey ?? "app_firefox_pwa_dismissed";
|
|
11157
|
+
const extensionUrl = ()=>props.extensionUrl ?? "https://addons.mozilla.org/";
|
|
11158
|
+
const texts = ()=>({
|
|
11159
|
+
title: props.texts?.title ?? FirefoxPWABanner_defaultTexts.title,
|
|
11160
|
+
description: props.texts?.description ?? FirefoxPWABanner_defaultTexts.description,
|
|
11161
|
+
installButton: props.texts?.installButton ?? FirefoxPWABanner_defaultTexts.installButton,
|
|
11162
|
+
dismissButton: props.texts?.dismissButton ?? FirefoxPWABanner_defaultTexts.dismissButton,
|
|
11163
|
+
closeLabel: props.texts?.closeLabel ?? FirefoxPWABanner_defaultTexts.closeLabel
|
|
11164
|
+
});
|
|
11165
|
+
const checkShouldShow = ()=>{
|
|
11166
|
+
const detectedBrowser = detectBrowser();
|
|
11167
|
+
setBrowser(detectedBrowser);
|
|
11168
|
+
if ("supported" === detectedBrowser) return false;
|
|
11169
|
+
if (isMobile()) return false;
|
|
11170
|
+
if ("firefox" !== detectedBrowser) return false;
|
|
11171
|
+
if (isPWAInstalled()) return false;
|
|
11172
|
+
const dismissed = localStorage.getItem(STORAGE_KEY());
|
|
11173
|
+
if ("true" === dismissed) return false;
|
|
11174
|
+
return true;
|
|
11175
|
+
};
|
|
11176
|
+
const handleDismiss = ()=>{
|
|
11177
|
+
setShowBanner(false);
|
|
11178
|
+
localStorage.setItem(STORAGE_KEY(), "true");
|
|
11179
|
+
props.onDismiss?.();
|
|
11180
|
+
};
|
|
11181
|
+
const handleAction = ()=>{
|
|
11182
|
+
if ("firefox" === browser()) {
|
|
11183
|
+
globalThis.open(extensionUrl(), "_blank", "noopener,noreferrer");
|
|
11184
|
+
props.onInstall?.();
|
|
11185
|
+
}
|
|
11186
|
+
};
|
|
11187
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
|
|
11188
|
+
if (checkShouldShow()) setTimeout(()=>setShowBanner(true), 2000);
|
|
11189
|
+
});
|
|
11190
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11191
|
+
get when () {
|
|
11192
|
+
return showBanner();
|
|
11193
|
+
},
|
|
11194
|
+
get children () {
|
|
11195
|
+
var _el$ = FirefoxPWABanner_tmpl$3();
|
|
11196
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card, {
|
|
11197
|
+
shadow: "lg",
|
|
11198
|
+
background: "base-100",
|
|
11199
|
+
class: "relative border border-base-300",
|
|
11200
|
+
get children () {
|
|
11201
|
+
return [
|
|
11202
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11203
|
+
size: "sm",
|
|
11204
|
+
color: "ghost",
|
|
11205
|
+
shape: "circle",
|
|
11206
|
+
class: "absolute top-2 right-2",
|
|
11207
|
+
onClick: handleDismiss,
|
|
11208
|
+
get ["aria-label"] () {
|
|
11209
|
+
return texts().closeLabel;
|
|
11210
|
+
},
|
|
11211
|
+
get children () {
|
|
11212
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
|
|
11213
|
+
name: "icon-[mdi--close]",
|
|
11214
|
+
width: 16,
|
|
11215
|
+
height: 16
|
|
11216
|
+
});
|
|
11217
|
+
}
|
|
11218
|
+
}),
|
|
11219
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card.Body, {
|
|
11220
|
+
get children () {
|
|
11221
|
+
return [
|
|
11222
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11223
|
+
align: "start",
|
|
11224
|
+
gap: "md",
|
|
11225
|
+
get children () {
|
|
11226
|
+
return [
|
|
11227
|
+
(()=>{
|
|
11228
|
+
var _el$2 = FirefoxPWABanner_tmpl$();
|
|
11229
|
+
(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, {
|
|
11230
|
+
get when () {
|
|
11231
|
+
return "firefox" === browser();
|
|
11232
|
+
},
|
|
11233
|
+
get children () {
|
|
11234
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(icon_Icon, {
|
|
11235
|
+
name: "icon-[mdi--firefox]",
|
|
11236
|
+
width: 40,
|
|
11237
|
+
height: 40,
|
|
11238
|
+
class: "text-orange-500"
|
|
11239
|
+
});
|
|
11240
|
+
}
|
|
11241
|
+
}));
|
|
11242
|
+
return _el$2;
|
|
11243
|
+
})(),
|
|
11244
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11245
|
+
direction: "col",
|
|
11246
|
+
gap: "sm",
|
|
11247
|
+
class: "flex-1 min-w-0 pr-6",
|
|
11248
|
+
get children () {
|
|
11249
|
+
return [
|
|
11250
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card.Title, {
|
|
11251
|
+
id: "pwa-unsupported-title",
|
|
11252
|
+
tag: "h3",
|
|
11253
|
+
class: "text-base",
|
|
11254
|
+
get children () {
|
|
11255
|
+
return texts().title;
|
|
11256
|
+
}
|
|
11257
|
+
}),
|
|
11258
|
+
(()=>{
|
|
11259
|
+
var _el$3 = FirefoxPWABanner_tmpl$2();
|
|
11260
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>texts().description);
|
|
11261
|
+
return _el$3;
|
|
11262
|
+
})()
|
|
11263
|
+
];
|
|
11264
|
+
}
|
|
11265
|
+
})
|
|
11266
|
+
];
|
|
11267
|
+
}
|
|
11268
|
+
}),
|
|
11269
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(card_Card.Actions, {
|
|
11270
|
+
class: "mt-4",
|
|
11271
|
+
get children () {
|
|
11272
|
+
return [
|
|
11273
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11274
|
+
color: "primary",
|
|
11275
|
+
class: "flex-1",
|
|
11276
|
+
onClick: handleAction,
|
|
11277
|
+
get children () {
|
|
11278
|
+
return texts().installButton;
|
|
11279
|
+
}
|
|
11280
|
+
}),
|
|
11281
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11282
|
+
color: "ghost",
|
|
11283
|
+
class: "flex-1",
|
|
11284
|
+
onClick: handleDismiss,
|
|
11285
|
+
get children () {
|
|
11286
|
+
return texts().dismissButton;
|
|
11287
|
+
}
|
|
11288
|
+
})
|
|
11289
|
+
];
|
|
11290
|
+
}
|
|
11291
|
+
})
|
|
11292
|
+
];
|
|
11293
|
+
}
|
|
11294
|
+
})
|
|
11295
|
+
];
|
|
11296
|
+
}
|
|
11297
|
+
}));
|
|
11298
|
+
return _el$;
|
|
11299
|
+
}
|
|
11300
|
+
});
|
|
11301
|
+
};
|
|
11302
|
+
var CookieConsent_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<p id=cookie-consent-message class="text-sm text-base-content flex-1">'), CookieConsent_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">'), CookieConsent_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">'), CookieConsent_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<h2 id=cookie-manage-title class="text-lg font-semibold">'), CookieConsent_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">');
|
|
11303
|
+
const CookieConsent_defaultTexts = {
|
|
11304
|
+
message: "We use cookies to improve your experience. You can accept all cookies or manage your preferences.",
|
|
11305
|
+
acceptAll: "Accept all",
|
|
11306
|
+
decline: "Decline",
|
|
11307
|
+
manage: "Manage",
|
|
11308
|
+
manageTitle: "Manage cookie preferences",
|
|
11309
|
+
essential: "Essential (required)",
|
|
11310
|
+
analytics: "Analytics",
|
|
11311
|
+
marketing: "Marketing",
|
|
11312
|
+
cancel: "Cancel",
|
|
11313
|
+
save: "Save",
|
|
11314
|
+
closeLabel: "Close"
|
|
11315
|
+
};
|
|
11316
|
+
const CookieConsent = (props)=>{
|
|
11317
|
+
const [showBanner, setShowBanner] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
11318
|
+
const [showManage, setShowManage] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
11319
|
+
const [isClosing, setIsClosing] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
11320
|
+
const [analyticsEnabled, setAnalyticsEnabled] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
11321
|
+
const [marketingEnabled, setMarketingEnabled] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
|
|
11322
|
+
const CONSENT_KEY = ()=>props.storageKeys?.consentKey ?? "app_cookie_consent";
|
|
11323
|
+
const ANALYTICS_KEY = ()=>props.storageKeys?.analyticsKey ?? "app_cookie_analytics";
|
|
11324
|
+
const MARKETING_KEY = ()=>props.storageKeys?.marketingKey ?? "app_cookie_marketing";
|
|
11325
|
+
const texts = ()=>({
|
|
11326
|
+
message: props.texts?.message ?? CookieConsent_defaultTexts.message,
|
|
11327
|
+
acceptAll: props.texts?.acceptAll ?? CookieConsent_defaultTexts.acceptAll,
|
|
11328
|
+
decline: props.texts?.decline ?? CookieConsent_defaultTexts.decline,
|
|
11329
|
+
manage: props.texts?.manage ?? CookieConsent_defaultTexts.manage,
|
|
11330
|
+
manageTitle: props.texts?.manageTitle ?? CookieConsent_defaultTexts.manageTitle,
|
|
11331
|
+
essential: props.texts?.essential ?? CookieConsent_defaultTexts.essential,
|
|
11332
|
+
analytics: props.texts?.analytics ?? CookieConsent_defaultTexts.analytics,
|
|
11333
|
+
marketing: props.texts?.marketing ?? CookieConsent_defaultTexts.marketing,
|
|
11334
|
+
cancel: props.texts?.cancel ?? CookieConsent_defaultTexts.cancel,
|
|
11335
|
+
save: props.texts?.save ?? CookieConsent_defaultTexts.save,
|
|
11336
|
+
closeLabel: props.texts?.closeLabel ?? CookieConsent_defaultTexts.closeLabel
|
|
11337
|
+
});
|
|
11338
|
+
const checkConsent = ()=>{
|
|
11339
|
+
const consent = localStorage.getItem(CONSENT_KEY());
|
|
11340
|
+
return !consent;
|
|
11341
|
+
};
|
|
11342
|
+
const saveConsent = (type)=>{
|
|
11343
|
+
localStorage.setItem(CONSENT_KEY(), type);
|
|
11344
|
+
if ("all" === type) {
|
|
11345
|
+
localStorage.setItem(ANALYTICS_KEY(), "true");
|
|
11346
|
+
localStorage.setItem(MARKETING_KEY(), "true");
|
|
11347
|
+
} else if ("essential" === type) {
|
|
11348
|
+
localStorage.setItem(ANALYTICS_KEY(), "false");
|
|
11349
|
+
localStorage.setItem(MARKETING_KEY(), "false");
|
|
11350
|
+
}
|
|
11351
|
+
emitChange(type);
|
|
11352
|
+
};
|
|
11353
|
+
const emitChange = (type)=>{
|
|
11354
|
+
props.onConsentChange?.({
|
|
11355
|
+
type,
|
|
11356
|
+
analytics: "true" === localStorage.getItem(ANALYTICS_KEY()),
|
|
11357
|
+
marketing: "true" === localStorage.getItem(MARKETING_KEY())
|
|
11358
|
+
});
|
|
11359
|
+
};
|
|
11360
|
+
const handleAcceptAll = ()=>{
|
|
11361
|
+
saveConsent("all");
|
|
11362
|
+
closeBanner();
|
|
11363
|
+
};
|
|
11364
|
+
const handleDecline = ()=>{
|
|
11365
|
+
saveConsent("essential");
|
|
11366
|
+
closeBanner();
|
|
11367
|
+
};
|
|
11368
|
+
const handleManageOpen = ()=>{
|
|
11369
|
+
const analytics = "true" === localStorage.getItem(ANALYTICS_KEY());
|
|
11370
|
+
const marketing = "true" === localStorage.getItem(MARKETING_KEY());
|
|
11371
|
+
setAnalyticsEnabled(analytics);
|
|
11372
|
+
setMarketingEnabled(marketing);
|
|
11373
|
+
setShowManage(true);
|
|
11374
|
+
};
|
|
11375
|
+
const handleManageClose = ()=>{
|
|
11376
|
+
setShowManage(false);
|
|
11377
|
+
};
|
|
11378
|
+
const handleManageSave = ()=>{
|
|
11379
|
+
localStorage.setItem(CONSENT_KEY(), "custom");
|
|
11380
|
+
localStorage.setItem(ANALYTICS_KEY(), analyticsEnabled().toString());
|
|
11381
|
+
localStorage.setItem(MARKETING_KEY(), marketingEnabled().toString());
|
|
11382
|
+
setShowManage(false);
|
|
11383
|
+
closeBanner();
|
|
11384
|
+
emitChange("custom");
|
|
11385
|
+
};
|
|
11386
|
+
const closeBanner = ()=>{
|
|
11387
|
+
setIsClosing(true);
|
|
11388
|
+
setTimeout(()=>{
|
|
11389
|
+
setShowBanner(false);
|
|
11390
|
+
setIsClosing(false);
|
|
11391
|
+
}, 300);
|
|
11392
|
+
};
|
|
11393
|
+
const handleKeyDown = (e)=>{
|
|
11394
|
+
if ("Escape" === e.key && showManage()) handleManageClose();
|
|
11395
|
+
};
|
|
11396
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onMount)(()=>{
|
|
11397
|
+
if (checkConsent()) setShowBanner(true);
|
|
11398
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
11399
|
+
});
|
|
11400
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
|
|
11401
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
11402
|
+
});
|
|
11403
|
+
return [
|
|
11404
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11405
|
+
get when () {
|
|
11406
|
+
return showBanner();
|
|
11407
|
+
},
|
|
11408
|
+
get children () {
|
|
11409
|
+
var _el$ = CookieConsent_tmpl$3(), _el$2 = _el$.firstChild;
|
|
11410
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11411
|
+
direction: "col",
|
|
11412
|
+
gap: "md",
|
|
11413
|
+
class: "md:flex-row md:items-center md:justify-between",
|
|
11414
|
+
get children () {
|
|
11415
|
+
return [
|
|
11416
|
+
(()=>{
|
|
11417
|
+
var _el$3 = CookieConsent_tmpl$();
|
|
11418
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>texts().message);
|
|
11419
|
+
return _el$3;
|
|
11420
|
+
})(),
|
|
11421
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11422
|
+
gap: "sm",
|
|
11423
|
+
class: "flex-col sm:flex-row sm:items-center shrink-0",
|
|
11424
|
+
get children () {
|
|
11425
|
+
return [
|
|
11426
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11427
|
+
color: "primary",
|
|
11428
|
+
size: "sm",
|
|
11429
|
+
class: "w-full sm:w-auto transition-transform duration-150 hover:scale-[1.02] active:scale-[0.98]",
|
|
11430
|
+
onClick: handleAcceptAll,
|
|
11431
|
+
get children () {
|
|
11432
|
+
return texts().acceptAll;
|
|
11433
|
+
}
|
|
11434
|
+
}),
|
|
11435
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11436
|
+
color: "ghost",
|
|
11437
|
+
size: "sm",
|
|
11438
|
+
class: "w-full sm:w-auto",
|
|
11439
|
+
onClick: handleDecline,
|
|
11440
|
+
get children () {
|
|
11441
|
+
return texts().decline;
|
|
11442
|
+
}
|
|
11443
|
+
}),
|
|
11444
|
+
(()=>{
|
|
11445
|
+
var _el$4 = CookieConsent_tmpl$2();
|
|
11446
|
+
_el$4.$$click = handleManageOpen;
|
|
11447
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>texts().manage);
|
|
11448
|
+
return _el$4;
|
|
11449
|
+
})()
|
|
11450
|
+
];
|
|
11451
|
+
}
|
|
11452
|
+
})
|
|
11453
|
+
];
|
|
11454
|
+
}
|
|
11455
|
+
}));
|
|
11456
|
+
(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"}`));
|
|
11457
|
+
return _el$;
|
|
11458
|
+
}
|
|
11459
|
+
}),
|
|
11460
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11461
|
+
get when () {
|
|
11462
|
+
return showManage();
|
|
11463
|
+
},
|
|
11464
|
+
get children () {
|
|
11465
|
+
var _el$5 = _tmpl$7(), _el$6 = _el$5.firstChild;
|
|
11466
|
+
_el$5.$$click = handleManageClose;
|
|
11467
|
+
_el$6.$$click = (e)=>e.stopPropagation();
|
|
11468
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11469
|
+
justify: "between",
|
|
11470
|
+
align: "center",
|
|
11471
|
+
class: "mb-4",
|
|
11472
|
+
get children () {
|
|
11473
|
+
return [
|
|
11474
|
+
(()=>{
|
|
11475
|
+
var _el$7 = CookieConsent_tmpl$4();
|
|
11476
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$7, ()=>texts().manageTitle);
|
|
11477
|
+
return _el$7;
|
|
11478
|
+
})(),
|
|
11479
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11480
|
+
size: "sm",
|
|
11481
|
+
color: "ghost",
|
|
11482
|
+
shape: "circle",
|
|
11483
|
+
onClick: handleManageClose,
|
|
11484
|
+
get ["aria-label"] () {
|
|
11485
|
+
return texts().closeLabel;
|
|
11486
|
+
},
|
|
11487
|
+
children: "X"
|
|
11488
|
+
})
|
|
11489
|
+
];
|
|
11490
|
+
}
|
|
11491
|
+
}), null);
|
|
11492
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11493
|
+
direction: "col",
|
|
11494
|
+
gap: "md",
|
|
11495
|
+
class: "mb-6",
|
|
11496
|
+
get children () {
|
|
11497
|
+
return [
|
|
11498
|
+
(()=>{
|
|
11499
|
+
var _el$8 = CookieConsent_tmpl$5(), _el$9 = _el$8.firstChild;
|
|
11500
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$9, ()=>texts().essential);
|
|
11501
|
+
return _el$8;
|
|
11502
|
+
})(),
|
|
11503
|
+
(()=>{
|
|
11504
|
+
var _el$0 = _tmpl$6(), _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling;
|
|
11505
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$1, ()=>texts().analytics);
|
|
11506
|
+
_el$10.addEventListener("change", (e)=>setAnalyticsEnabled(e.currentTarget.checked));
|
|
11507
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>_el$10.checked = analyticsEnabled());
|
|
11508
|
+
return _el$0;
|
|
11509
|
+
})(),
|
|
11510
|
+
(()=>{
|
|
11511
|
+
var _el$11 = _tmpl$6(), _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling;
|
|
11512
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$12, ()=>texts().marketing);
|
|
11513
|
+
_el$13.addEventListener("change", (e)=>setMarketingEnabled(e.currentTarget.checked));
|
|
11514
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>_el$13.checked = marketingEnabled());
|
|
11515
|
+
return _el$11;
|
|
11516
|
+
})()
|
|
11517
|
+
];
|
|
11518
|
+
}
|
|
11519
|
+
}), null);
|
|
11520
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(flex_Flex, {
|
|
11521
|
+
gap: "sm",
|
|
11522
|
+
justify: "end",
|
|
11523
|
+
get children () {
|
|
11524
|
+
return [
|
|
11525
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11526
|
+
color: "ghost",
|
|
11527
|
+
size: "sm",
|
|
11528
|
+
onClick: handleManageClose,
|
|
11529
|
+
get children () {
|
|
11530
|
+
return texts().cancel;
|
|
11531
|
+
}
|
|
11532
|
+
}),
|
|
11533
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(button_Button, {
|
|
11534
|
+
color: "primary",
|
|
11535
|
+
size: "sm",
|
|
11536
|
+
class: "transition-transform duration-150 hover:scale-[1.02] active:scale-[0.98]",
|
|
11537
|
+
onClick: handleManageSave,
|
|
11538
|
+
get children () {
|
|
11539
|
+
return texts().save;
|
|
11540
|
+
}
|
|
11541
|
+
})
|
|
11542
|
+
];
|
|
11543
|
+
}
|
|
11544
|
+
}), null);
|
|
11545
|
+
return _el$5;
|
|
11546
|
+
}
|
|
11547
|
+
})
|
|
11548
|
+
];
|
|
11549
|
+
};
|
|
11550
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
|
|
11551
|
+
"click"
|
|
11552
|
+
]);
|
|
10964
11553
|
var ImmersiveLanding_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><div class="relative h-full w-full"><div class="relative z-10 h-full w-full">'), ImmersiveLanding_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="absolute bottom-20 right-6"aria-hidden=true><span class="font-mono text-base-content/20 text-[clamp(0.75rem,2vw,1.25rem)] tracking-[0.4em]">v'), ImmersiveLanding_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div class="pointer-events-none fixed inset-0 z-30">');
|
|
10965
11554
|
const ImmersiveLanding = (props)=>{
|
|
10966
11555
|
const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
|
|
@@ -10978,7 +11567,13 @@ const ImmersiveLanding = (props)=>{
|
|
|
10978
11567
|
"children",
|
|
10979
11568
|
"class",
|
|
10980
11569
|
"className",
|
|
10981
|
-
"style"
|
|
11570
|
+
"style",
|
|
11571
|
+
"pwaConfig",
|
|
11572
|
+
"cookieConfig",
|
|
11573
|
+
"firefoxPWAConfig",
|
|
11574
|
+
"showPWAPrompt",
|
|
11575
|
+
"showCookieConsent",
|
|
11576
|
+
"showFirefoxBanner"
|
|
10982
11577
|
]);
|
|
10983
11578
|
const navigation = useImmersiveLanding({
|
|
10984
11579
|
pages: local.pages,
|
|
@@ -11082,7 +11677,76 @@ const ImmersiveLanding = (props)=>{
|
|
|
11082
11677
|
get isLastPage () {
|
|
11083
11678
|
return navigation.isLastPage();
|
|
11084
11679
|
}
|
|
11085
|
-
}))
|
|
11680
|
+
})),
|
|
11681
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11682
|
+
get when () {
|
|
11683
|
+
return local.showPWAPrompt;
|
|
11684
|
+
},
|
|
11685
|
+
get children () {
|
|
11686
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(PWAInstallPrompt, {
|
|
11687
|
+
get appName () {
|
|
11688
|
+
return local.pwaConfig?.appName;
|
|
11689
|
+
},
|
|
11690
|
+
get appIcon () {
|
|
11691
|
+
return local.pwaConfig?.appIcon;
|
|
11692
|
+
},
|
|
11693
|
+
get storageKey () {
|
|
11694
|
+
return local.pwaConfig?.storageKey ?? "app_pwa_dismissed";
|
|
11695
|
+
},
|
|
11696
|
+
get texts () {
|
|
11697
|
+
return local.pwaConfig?.texts;
|
|
11698
|
+
},
|
|
11699
|
+
get onInstall () {
|
|
11700
|
+
return local.pwaConfig?.onInstall;
|
|
11701
|
+
},
|
|
11702
|
+
get onDismiss () {
|
|
11703
|
+
return local.pwaConfig?.onDismiss;
|
|
11704
|
+
}
|
|
11705
|
+
});
|
|
11706
|
+
}
|
|
11707
|
+
}),
|
|
11708
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11709
|
+
get when () {
|
|
11710
|
+
return local.showFirefoxBanner;
|
|
11711
|
+
},
|
|
11712
|
+
get children () {
|
|
11713
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(FirefoxPWABanner, {
|
|
11714
|
+
get extensionUrl () {
|
|
11715
|
+
return local.firefoxPWAConfig?.extensionUrl;
|
|
11716
|
+
},
|
|
11717
|
+
get storageKey () {
|
|
11718
|
+
return local.firefoxPWAConfig?.storageKey ?? "app_firefox_pwa_dismissed";
|
|
11719
|
+
},
|
|
11720
|
+
get texts () {
|
|
11721
|
+
return local.firefoxPWAConfig?.texts;
|
|
11722
|
+
},
|
|
11723
|
+
get onInstall () {
|
|
11724
|
+
return local.firefoxPWAConfig?.onInstall;
|
|
11725
|
+
},
|
|
11726
|
+
get onDismiss () {
|
|
11727
|
+
return local.firefoxPWAConfig?.onDismiss;
|
|
11728
|
+
}
|
|
11729
|
+
});
|
|
11730
|
+
}
|
|
11731
|
+
}),
|
|
11732
|
+
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
|
|
11733
|
+
get when () {
|
|
11734
|
+
return local.showCookieConsent;
|
|
11735
|
+
},
|
|
11736
|
+
get children () {
|
|
11737
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(CookieConsent, {
|
|
11738
|
+
get storageKeys () {
|
|
11739
|
+
return local.cookieConfig?.storageKeys;
|
|
11740
|
+
},
|
|
11741
|
+
get texts () {
|
|
11742
|
+
return local.cookieConfig?.texts;
|
|
11743
|
+
},
|
|
11744
|
+
get onConsentChange () {
|
|
11745
|
+
return local.cookieConfig?.onConsentChange;
|
|
11746
|
+
}
|
|
11747
|
+
});
|
|
11748
|
+
}
|
|
11749
|
+
})
|
|
11086
11750
|
];
|
|
11087
11751
|
}
|
|
11088
11752
|
});
|
|
@@ -11278,7 +11942,7 @@ const Link = (props)=>{
|
|
|
11278
11942
|
})();
|
|
11279
11943
|
};
|
|
11280
11944
|
const link_Link = Link;
|
|
11281
|
-
var LiveChatPanel_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z">'), LiveChatPanel_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<h3 class="font-semibold text-lg">'), LiveChatPanel_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><div class="flex-shrink-0 bg-primary text-primary-content px-4 py-4 flex items-center justify-between"><button class="hover:bg-primary-focus rounded-lg p-1 transition-colors"><svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div class="flex-1 overflow-y-auto px-4 py-4 space-y-4"></div><div class="flex-shrink-0 border-t border-base-300 bg-base-100 p-3">'), LiveChatPanel_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), LiveChatPanel_tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><p class="text-sm leading-relaxed whitespace-pre-wrap break-words">'),
|
|
11945
|
+
var LiveChatPanel_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z">'), LiveChatPanel_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<h3 class="font-semibold text-lg">'), LiveChatPanel_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><div class="flex-shrink-0 bg-primary text-primary-content px-4 py-4 flex items-center justify-between"><button class="hover:bg-primary-focus rounded-lg p-1 transition-colors"><svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div class="flex-1 overflow-y-auto px-4 py-4 space-y-4"></div><div class="flex-shrink-0 border-t border-base-300 bg-base-100 p-3">'), LiveChatPanel_tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), LiveChatPanel_tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<div><p class="text-sm leading-relaxed whitespace-pre-wrap break-words">'), LiveChatPanel_tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-xs text-base-content/50 mt-1 px-1">'), LiveChatPanel_tmpl$7 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="w-4 h-4 border-2 border-primary-content/30 border-t-primary-content rounded-full animate-spin inline-block">');
|
|
11282
11946
|
const getMockMessages = ()=>{
|
|
11283
11947
|
const salesMessages = [
|
|
11284
11948
|
{
|
|
@@ -11493,7 +12157,7 @@ const LiveChatPanel_LiveChatPanel = (props)=>{
|
|
|
11493
12157
|
return _el$9;
|
|
11494
12158
|
})(),
|
|
11495
12159
|
(()=>{
|
|
11496
|
-
var _el$1 =
|
|
12160
|
+
var _el$1 = LiveChatPanel_tmpl$6();
|
|
11497
12161
|
(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$1, ()=>formatTime(message.timestamp));
|
|
11498
12162
|
return _el$1;
|
|
11499
12163
|
})()
|
|
@@ -11552,7 +12216,7 @@ const LiveChatPanel_LiveChatPanel = (props)=>{
|
|
|
11552
12216
|
return !isSending();
|
|
11553
12217
|
},
|
|
11554
12218
|
get fallback () {
|
|
11555
|
-
return
|
|
12219
|
+
return LiveChatPanel_tmpl$7();
|
|
11556
12220
|
},
|
|
11557
12221
|
get children () {
|
|
11558
12222
|
return local.sendLabel ?? "Send";
|
|
@@ -16813,4 +17477,4 @@ const createRouteTransitionResolver = (options)=>{
|
|
|
16813
17477
|
return fallback ?? noMotion;
|
|
16814
17478
|
};
|
|
16815
17479
|
};
|
|
16816
|
-
export { accordion_Accordion as Accordion, alert_Alert as Alert, AlphaSlider, artboard_Artboard as Artboard, avatar as Avatar, background_Background as Background, Badge, bottom_sheet_BottomSheet as BottomSheet, Breadcrumbs, breadcrumbs_BreadcrumbsItem as BreadcrumbsItem, browsermockup_BrowserMockup as BrowserMockup, button_Button as Button, Calendar, card_Card as Card, carousel_Carousel as Carousel, chatbubble_ChatBubble as ChatBubble, checkbox_Checkbox as Checkbox, codemockup_CodeMockup as CodeMockup, CodeMockupLine, collapse_Collapse as Collapse, CollapseContent, CollapseDetails, CollapseTitle, colorpicker_ColorInput as ColorInput, colorpicker_ColorPicker as ColorPicker, ColorPickerContext, ColorPickerFlowerSelector, colorpicker_ColorPickerGradientSelector as ColorPickerGradientSelector, ColorPickerWheelSelector, colorpicker_ColorPreview as ColorPreview, colorpicker_ColorSwatches as ColorSwatches, ColorWheel, colorpicker_ColorWheelFlower as ColorWheelFlower, connectionstatus_ConnectionStatus as ConnectionStatus, CopyButton, countdown_Countdown as Countdown, diff_Diff as Diff, divider as Divider, dock as Dock, Drawer, dropdown as Dropdown, EnhancedTable, FileInput, flex_Flex as Flex, footer_Footer as Footer, form_Form as Form, Grid, hero_Hero as Hero, colorpicker_HueSlider as HueSlider, I18nContext, I18nProvider, icon_Icon as Icon, immersive_landing_ImmersiveLanding as ImmersiveLanding, ImmersiveLandingContext, indicator_Indicator as Indicator, input as Input, join_Join as Join, kbd_Kbd as Kbd, language_switcher_LanguageSwitcher as LanguageSwitcher, LightnessSlider, link_Link as Link, live_chat_LiveChatBubble as LiveChatBubble, LiveChatPanel, loading_Loading as Loading, mask as Mask, menu_Menu as Menu, modal_Modal as Modal, MotionDiv, navbar_Navbar as Navbar, pagination_Pagination as Pagination, phonemockup_PhoneMockup as PhoneMockup, Progress, props_table_PropsTable as PropsTable, radialprogress_RadialProgress as RadialProgress, radio_Radio as Radio, range_Range as Range, Rating, colorpicker_SaturationBrightness as SaturationBrightness, select_Select as Select, showcase_ShowcaseBlock as ShowcaseBlock, ShowcaseSection, sidenav_Sidenav as Sidenav, sidenav_SidenavButton as SidenavButton, sidenav_SidenavGroup as SidenavGroup, sidenav_SidenavItem as SidenavItem, sidenav_SidenavLink as SidenavLink, sidenav_SidenavMenu as SidenavMenu, skeleton_Skeleton as Skeleton, Stack, stat_card_StatCard as StatCard, stats_Stats as Stats, status_Status as Status, steps as Steps, streaming_table_StreamingTable as StreamingTable, Summary, SvgBackground, Swap, table_Table as Table, tabs_Tabs as Tabs, textarea_Textarea as Textarea, ThemeColorPicker, Timeline, timeline_TimelineEnd as TimelineEnd, timeline_TimelineItem as TimelineItem, timeline_TimelineMiddle as TimelineMiddle, timeline_TimelineStart as TimelineStart, toast_Toast as Toast, ToastContainer, ToastStack_ToastStack as ToastStack, toggle_Toggle as Toggle, tooltip_Tooltip as Tooltip, windowmockup_WindowMockup as WindowMockup, createHueShiftStore, createI18n, createMotionPresets, createMotionSystem, createPopmotionDriver, createRouteTransitionResolver, createStreamingTableStore, connectionstatus_ConnectionStatus as default, defaultMotionTokens, enablePopmotion, getDefaultHueShiftStore, getMotionDriver, presets_getPreset as getPreset, immediateDriver, mergeMotionTokens, motionDistances, motionDurations, motionEasings, motionPresets, noMotion, prefersReducedMotion, presets_registerPreset as registerPreset, resetHueShift, resolveEase, presets_resolvePreset as resolvePreset, routeTransition, runMotion, setMotionDriver, toastStore, useColorPickerContext, useDesktop, useFormValidation, useI18n, useImmersiveLanding, useImmersiveLandingContext };
|
|
17480
|
+
export { accordion_Accordion as Accordion, alert_Alert as Alert, AlphaSlider, artboard_Artboard as Artboard, avatar as Avatar, background_Background as Background, Badge, bottom_sheet_BottomSheet as BottomSheet, Breadcrumbs, breadcrumbs_BreadcrumbsItem as BreadcrumbsItem, browsermockup_BrowserMockup as BrowserMockup, button_Button as Button, Calendar, card_Card as Card, carousel_Carousel as Carousel, chatbubble_ChatBubble as ChatBubble, checkbox_Checkbox as Checkbox, codemockup_CodeMockup as CodeMockup, CodeMockupLine, collapse_Collapse as Collapse, CollapseContent, CollapseDetails, CollapseTitle, colorpicker_ColorInput as ColorInput, colorpicker_ColorPicker as ColorPicker, ColorPickerContext, ColorPickerFlowerSelector, colorpicker_ColorPickerGradientSelector as ColorPickerGradientSelector, ColorPickerWheelSelector, colorpicker_ColorPreview as ColorPreview, colorpicker_ColorSwatches as ColorSwatches, ColorWheel, colorpicker_ColorWheelFlower as ColorWheelFlower, connectionstatus_ConnectionStatus as ConnectionStatus, CookieConsent, CopyButton, countdown_Countdown as Countdown, diff_Diff as Diff, divider as Divider, dock as Dock, Drawer, dropdown as Dropdown, EnhancedTable, FileInput, FirefoxPWABanner, flex_Flex as Flex, footer_Footer as Footer, form_Form as Form, Grid, hero_Hero as Hero, colorpicker_HueSlider as HueSlider, I18nContext, I18nProvider, icon_Icon as Icon, immersive_landing_ImmersiveLanding as ImmersiveLanding, ImmersiveLandingContext, indicator_Indicator as Indicator, input as Input, join_Join as Join, kbd_Kbd as Kbd, language_switcher_LanguageSwitcher as LanguageSwitcher, LightnessSlider, link_Link as Link, live_chat_LiveChatBubble as LiveChatBubble, LiveChatPanel, loading_Loading as Loading, mask as Mask, menu_Menu as Menu, modal_Modal as Modal, MotionDiv, navbar_Navbar as Navbar, PWAInstallPrompt, pagination_Pagination as Pagination, phonemockup_PhoneMockup as PhoneMockup, Progress, props_table_PropsTable as PropsTable, radialprogress_RadialProgress as RadialProgress, radio_Radio as Radio, range_Range as Range, Rating, colorpicker_SaturationBrightness as SaturationBrightness, select_Select as Select, showcase_ShowcaseBlock as ShowcaseBlock, ShowcaseSection, sidenav_Sidenav as Sidenav, sidenav_SidenavButton as SidenavButton, sidenav_SidenavGroup as SidenavGroup, sidenav_SidenavItem as SidenavItem, sidenav_SidenavLink as SidenavLink, sidenav_SidenavMenu as SidenavMenu, skeleton_Skeleton as Skeleton, Stack, stat_card_StatCard as StatCard, stats_Stats as Stats, status_Status as Status, steps as Steps, streaming_table_StreamingTable as StreamingTable, Summary, SvgBackground, Swap, table_Table as Table, tabs_Tabs as Tabs, textarea_Textarea as Textarea, ThemeColorPicker, Timeline, timeline_TimelineEnd as TimelineEnd, timeline_TimelineItem as TimelineItem, timeline_TimelineMiddle as TimelineMiddle, timeline_TimelineStart as TimelineStart, toast_Toast as Toast, ToastContainer, ToastStack_ToastStack as ToastStack, toggle_Toggle as Toggle, tooltip_Tooltip as Tooltip, windowmockup_WindowMockup as WindowMockup, createHueShiftStore, createI18n, createMotionPresets, createMotionSystem, createPopmotionDriver, createRouteTransitionResolver, createStreamingTableStore, connectionstatus_ConnectionStatus as default, defaultMotionTokens, enablePopmotion, getDefaultHueShiftStore, getMotionDriver, presets_getPreset as getPreset, immediateDriver, mergeMotionTokens, motionDistances, motionDurations, motionEasings, motionPresets, noMotion, prefersReducedMotion, presets_registerPreset as registerPreset, resetHueShift, resolveEase, presets_resolvePreset as resolvePreset, routeTransition, runMotion, setMotionDriver, toastStore, useColorPickerContext, useDesktop, useFormValidation, useI18n, useImmersiveLanding, useImmersiveLandingContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.iconify{background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}.iconify,.iconify-color{display:inline-block;height:1em;width:1em}.iconify-color{background-repeat:no-repeat;background-size:100% 100%}.icon-[mdi--loading]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8'/%3E%3C/svg%3E")}.icon-[mdi--loading].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi--loading].iconify-color{background-image:var(--svg)}.icon-[mdi--palette]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.39-.15-.74-.39-1-.23-.27-.38-.62-.38-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.42-4.03-8-9-8'/%3E%3C/svg%3E")}.icon-[mdi--palette].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi--palette].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-down]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m5.84 9.59 5.66 5.66 5.66-5.66-.71-.7-4.95 4.95-4.95-4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-down].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-down].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-left]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14.41 18.16 8.75 12.5l5.66-5.66.7.71-4.95 4.95 4.95 4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-left].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-left].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-right]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m8.59 18.16 5.66-5.66-5.66-5.66-.7.71 4.95 4.95-4.95 4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-right].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-right].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-up]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m5.84 15.41 5.66-5.66 5.66 5.66-.71.7-4.95-4.95-4.95 4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-up].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-up].iconify-color{background-image:var(--svg)}.icon-[mdi-light--eye]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M11.5 18c4 0 7.46-2.22 9.24-5.5C18.96 9.22 15.5 7 11.5 7s-7.46 2.22-9.24 5.5C4.04 15.78 7.5 18 11.5 18m0-12c4.56 0 8.5 2.65 10.36 6.5C20 16.35 16.06 19 11.5 19S3 16.35 1.14 12.5C3 8.65 6.94 6 11.5 6m0 2C14 8 16 10 16 12.5S14 17 11.5 17 7 15 7 12.5 9 8 11.5 8m0 1A3.5 3.5 0 0 0 8 12.5a3.5 3.5 0 0 0 3.5 3.5 3.5 3.5 0 0 0 3.5-3.5A3.5 3.5 0 0 0 11.5 9'/%3E%3C/svg%3E")}.icon-[mdi-light--eye].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--eye].iconify-color{background-image:var(--svg)}.icon-[mdi-light--eye-off]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M2.54 4.71 3.25 4 20 20.75l-.71.71-3.34-3.35c-1.37.57-2.87.89-4.45.89-4.56 0-8.5-2.65-10.36-6.5.97-2 2.49-3.67 4.36-4.82zM11.5 18c1.29 0 2.53-.23 3.67-.66l-1.12-1.13c-.73.5-1.6.79-2.55.79C9 17 7 15 7 12.5c0-.95.29-1.82.79-2.55L6.24 8.41a10.64 10.64 0 0 0-3.98 4.09C4.04 15.78 7.5 18 11.5 18m9.24-5.5C18.96 9.22 15.5 7 11.5 7c-1.15 0-2.27.19-3.31.53l-.78-.78C8.68 6.26 10.06 6 11.5 6c4.56 0 8.5 2.65 10.36 6.5a11.47 11.47 0 0 1-4.07 4.63l-.72-.73c1.53-.96 2.8-2.3 3.67-3.9M11.5 8C14 8 16 10 16 12.5c0 .82-.22 1.58-.6 2.24l-.74-.74c.22-.46.34-.96.34-1.5A3.5 3.5 0 0 0 11.5 9c-.54 0-1.04.12-1.5.34l-.74-.74c.66-.38 1.42-.6 2.24-.6M8 12.5a3.5 3.5 0 0 0 3.5 3.5c.67 0 1.29-.19 1.82-.5L8.5 10.68c-.31.53-.5 1.15-.5 1.82'/%3E%3C/svg%3E")}.icon-[mdi-light--eye-off].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--eye-off].iconify-color{background-image:var(--svg)}.icon-[mdi-light--unfold-more-horizontal]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m15.74 8.83-.7.71L11.5 6 7.96 9.54l-.7-.71 4.24-4.24zm0 7.34-4.24 4.24-4.24-4.24.7-.71L11.5 19l3.54-3.54z'/%3E%3C/svg%3E")}.icon-[mdi-light--unfold-more-horizontal].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--unfold-more-horizontal].iconify-color{background-image:var(--svg)}
|
|
1
|
+
.iconify{background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}.iconify,.iconify-color{display:inline-block;height:1em;width:1em}.iconify-color{background-repeat:no-repeat;background-size:100% 100%}.icon-[mdi--close]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E")}.icon-[mdi--close].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi--close].iconify-color{background-image:var(--svg)}.icon-[mdi--firefox]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M6.85 6.74q.015 0 0 0M21.28 8.6c-.43-1.05-1.32-2.18-2.01-2.54.56 1.11.89 2.22 1.02 3.04v.02c-1.13-2.82-3.05-3.96-4.62-6.44-.08-.12-.17-.25-.24-.38-.04-.07-.07-.14-.11-.21-.06-.13-.12-.26-.15-.4 0-.01-.01-.02-.02-.02h-.03c-2.22 1.3-3.15 3.59-3.38 5.04-.69.04-1.37.21-1.99.51-.12.05-.17.19-.13.31.05.14.21.21.34.15.54-.26 1.14-.41 1.74-.45h.05c.08-.01.17-.01.25-.01.5-.01.97.06 1.44.2l.06.02c.1.02.17.06.25.06.05.04.11.06.16.08l.14.06c.07.03.14.06.2.09.03.02.06.03.09.05.07.04.16.07.2.11.04.02.08.05.12.07.73.45 1.34 1.07 1.75 1.81-.53-.37-1.49-.74-2.41-.58 3.6 1.81 2.63 8-2.36 7.76-.44-.01-.88-.1-1.3-.25-.1-.03-.2-.07-.29-.12-.05-.02-.12-.05-.17-.08-1.23-.63-2.24-1.82-2.38-3.27 0 0 .5-1.73 3.33-1.73.31 0 1.17-.86 1.2-1.1 0-.09-1.74-.78-2.42-1.45-.37-.36-.54-.53-.69-.66-.08-.07-.17-.13-.26-.19a4.63 4.63 0 0 1-.03-2.45C7.6 6.12 6.8 6.86 6.22 7.5c-.4-.5-.37-2.15-.35-2.5-.01 0-.3.16-.33.18-.35.25-.68.53-.98.82-.35.37-.66.74-.94 1.14-.62.91-1.12 1.95-1.34 3.04 0 .01-.1.41-.17.92l-.03.23c-.02.17-.04.32-.08.58v.41c0 5.53 4.5 10.01 10 10.01 4.97 0 9.08-3.59 9.88-8.33.02-.11.03-.24.05-.37.2-1.72-.02-3.52-.65-5.03'/%3E%3C/svg%3E")}.icon-[mdi--firefox].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi--firefox].iconify-color{background-image:var(--svg)}.icon-[mdi--loading]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8'/%3E%3C/svg%3E")}.icon-[mdi--loading].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi--loading].iconify-color{background-image:var(--svg)}.icon-[mdi--palette]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M17.5 12a1.5 1.5 0 0 1-1.5-1.5A1.5 1.5 0 0 1 17.5 9a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1-1.5 1.5m-3-4A1.5 1.5 0 0 1 13 6.5 1.5 1.5 0 0 1 14.5 5 1.5 1.5 0 0 1 16 6.5 1.5 1.5 0 0 1 14.5 8m-5 0A1.5 1.5 0 0 1 8 6.5 1.5 1.5 0 0 1 9.5 5 1.5 1.5 0 0 1 11 6.5 1.5 1.5 0 0 1 9.5 8m-3 4A1.5 1.5 0 0 1 5 10.5 1.5 1.5 0 0 1 6.5 9 1.5 1.5 0 0 1 8 10.5 1.5 1.5 0 0 1 6.5 12M12 3a9 9 0 0 0-9 9 9 9 0 0 0 9 9 1.5 1.5 0 0 0 1.5-1.5c0-.39-.15-.74-.39-1-.23-.27-.38-.62-.38-1a1.5 1.5 0 0 1 1.5-1.5H16a5 5 0 0 0 5-5c0-4.42-4.03-8-9-8'/%3E%3C/svg%3E")}.icon-[mdi--palette].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi--palette].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-down]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m5.84 9.59 5.66 5.66 5.66-5.66-.71-.7-4.95 4.95-4.95-4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-down].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-down].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-left]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14.41 18.16 8.75 12.5l5.66-5.66.7.71-4.95 4.95 4.95 4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-left].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-left].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-right]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m8.59 18.16 5.66-5.66-5.66-5.66-.7.71 4.95 4.95-4.95 4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-right].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-right].iconify-color{background-image:var(--svg)}.icon-[mdi-light--chevron-up]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m5.84 15.41 5.66-5.66 5.66 5.66-.71.7-4.95-4.95-4.95 4.95z'/%3E%3C/svg%3E")}.icon-[mdi-light--chevron-up].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--chevron-up].iconify-color{background-image:var(--svg)}.icon-[mdi-light--eye]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M11.5 18c4 0 7.46-2.22 9.24-5.5C18.96 9.22 15.5 7 11.5 7s-7.46 2.22-9.24 5.5C4.04 15.78 7.5 18 11.5 18m0-12c4.56 0 8.5 2.65 10.36 6.5C20 16.35 16.06 19 11.5 19S3 16.35 1.14 12.5C3 8.65 6.94 6 11.5 6m0 2C14 8 16 10 16 12.5S14 17 11.5 17 7 15 7 12.5 9 8 11.5 8m0 1A3.5 3.5 0 0 0 8 12.5a3.5 3.5 0 0 0 3.5 3.5 3.5 3.5 0 0 0 3.5-3.5A3.5 3.5 0 0 0 11.5 9'/%3E%3C/svg%3E")}.icon-[mdi-light--eye].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--eye].iconify-color{background-image:var(--svg)}.icon-[mdi-light--eye-off]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M2.54 4.71 3.25 4 20 20.75l-.71.71-3.34-3.35c-1.37.57-2.87.89-4.45.89-4.56 0-8.5-2.65-10.36-6.5.97-2 2.49-3.67 4.36-4.82zM11.5 18c1.29 0 2.53-.23 3.67-.66l-1.12-1.13c-.73.5-1.6.79-2.55.79C9 17 7 15 7 12.5c0-.95.29-1.82.79-2.55L6.24 8.41a10.64 10.64 0 0 0-3.98 4.09C4.04 15.78 7.5 18 11.5 18m9.24-5.5C18.96 9.22 15.5 7 11.5 7c-1.15 0-2.27.19-3.31.53l-.78-.78C8.68 6.26 10.06 6 11.5 6c4.56 0 8.5 2.65 10.36 6.5a11.47 11.47 0 0 1-4.07 4.63l-.72-.73c1.53-.96 2.8-2.3 3.67-3.9M11.5 8C14 8 16 10 16 12.5c0 .82-.22 1.58-.6 2.24l-.74-.74c.22-.46.34-.96.34-1.5A3.5 3.5 0 0 0 11.5 9c-.54 0-1.04.12-1.5.34l-.74-.74c.66-.38 1.42-.6 2.24-.6M8 12.5a3.5 3.5 0 0 0 3.5 3.5c.67 0 1.29-.19 1.82-.5L8.5 10.68c-.31.53-.5 1.15-.5 1.82'/%3E%3C/svg%3E")}.icon-[mdi-light--eye-off].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--eye-off].iconify-color{background-image:var(--svg)}.icon-[mdi-light--unfold-more-horizontal]{--svg:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m15.74 8.83-.7.71L11.5 6 7.96 9.54l-.7-.71 4.24-4.24zm0 7.34-4.24 4.24-4.24-4.24.7-.71L11.5 19l3.54-3.54z'/%3E%3C/svg%3E")}.icon-[mdi-light--unfold-more-horizontal].iconify{-webkit-mask-image:var(--svg);mask-image:var(--svg)}.icon-[mdi-light--unfold-more-horizontal].iconify-color{background-image:var(--svg)}
|