@pathscale/ui 0.0.128 → 0.0.130

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.
@@ -0,0 +1,3 @@
1
+ import { type Component } from "solid-js";
2
+ import { CookieConsentProps } from "../types";
3
+ export declare const CookieConsent: Component<CookieConsentProps>;
@@ -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,3 @@
1
+ import { type Component } from "solid-js";
2
+ import { PWAInstallPromptProps } from "../types";
3
+ export declare const PWAInstallPrompt: Component<PWAInstallPromptProps>;
@@ -3,6 +3,7 @@ import type { IComponentBaseProps } from "../types";
3
3
  export interface UseImmersiveLandingOptions {
4
4
  pages: readonly string[];
5
5
  initialPage?: string;
6
+ currentPage?: Accessor<string>;
6
7
  transitionDuration?: number;
7
8
  onNavigate?: (fromPage: string, toPage: string) => void;
8
9
  onNavigationComplete?: (page: string) => void;
@@ -37,6 +38,7 @@ export interface ImmersiveLandingContextValue {
37
38
  export interface ImmersiveLandingProps extends IComponentBaseProps {
38
39
  pages: readonly string[];
39
40
  initialPage?: string;
41
+ currentPage?: Accessor<string>;
40
42
  transitionDuration?: number;
41
43
  onNavigate?: (fromPage: string, toPage: string) => void;
42
44
  onNavigationComplete?: (page: string) => void;
@@ -46,6 +48,12 @@ export interface ImmersiveLandingProps extends IComponentBaseProps {
46
48
  appVersion?: string;
47
49
  overlay?: JSX.Element | ((context: ImmersiveLandingContextValue) => JSX.Element);
48
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;
49
57
  }
50
58
  export interface ImmersiveLandingPageProps extends IComponentBaseProps {
51
59
  id: string;
@@ -66,3 +74,61 @@ export interface ImmersiveLandingNavigationProps extends IComponentBaseProps {
66
74
  isFirstPage: boolean;
67
75
  isLastPage: boolean;
68
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.js CHANGED
@@ -9397,7 +9397,7 @@ const DropdownDetails = Object.assign(Details, {
9397
9397
  Toggle: DropdownToggle_Summary
9398
9398
  });
9399
9399
  var DropdownItem_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<li role=menuitem>"), DropdownItem_tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<a>"), DropdownItem_tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button>");
9400
- const DropdownItem = (props)=>{
9400
+ const DropdownItem_DropdownItem = (props)=>{
9401
9401
  const dropdownContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(DropdownContext);
9402
9402
  const defaultProps = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.mergeProps)({
9403
9403
  closeOnClick: true
@@ -9439,7 +9439,7 @@ const DropdownItem = (props)=>{
9439
9439
  return _el$;
9440
9440
  })();
9441
9441
  };
9442
- const dropdown_DropdownItem = DropdownItem;
9442
+ const DropdownItem = DropdownItem_DropdownItem;
9443
9443
  var DropdownMenu_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<ul>");
9444
9444
  const DropdownMenu = (props)=>{
9445
9445
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -9641,7 +9641,7 @@ const dropdown_Dropdown = Object.assign(Dropdown, {
9641
9641
  Details: DropdownDetails,
9642
9642
  Toggle: dropdown_DropdownToggle,
9643
9643
  Menu: dropdown_DropdownMenu,
9644
- Item: dropdown_DropdownItem
9644
+ Item: DropdownItem
9645
9645
  });
9646
9646
  const dropdown = dropdown_Dropdown;
9647
9647
  var FileInput_tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<input>");
@@ -10623,13 +10623,34 @@ const HeroNamespaces = Object.assign(Hero, {
10623
10623
  });
10624
10624
  const hero_Hero = HeroNamespaces;
10625
10625
  function useImmersiveLanding(options) {
10626
- const { pages, initialPage = pages[0], transitionDuration = 400, onNavigate, onNavigationComplete, enableScrollNavigation = true } = options;
10627
- const [activePage, setActivePage] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(initialPage);
10626
+ const { pages, initialPage = pages[0], currentPage: controlledPage, transitionDuration = 400, onNavigate, onNavigationComplete, enableScrollNavigation = true } = options;
10627
+ const isControlled = !!controlledPage;
10628
+ const [internalPage, setInternalPage] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(initialPage);
10628
10629
  const [isTransitioning, setIsTransitioning] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(false);
10629
10630
  const [direction, setDirection] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(null);
10631
+ const activePage = isControlled ? controlledPage : internalPage;
10630
10632
  const currentIndex = ()=>pages.indexOf(activePage());
10631
10633
  const isFirstPage = ()=>0 === currentIndex();
10632
10634
  const isLastPage = ()=>currentIndex() === pages.length - 1;
10635
+ if (isControlled) {
10636
+ let prevPage = controlledPage();
10637
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
10638
+ const next = controlledPage();
10639
+ if (next !== prevPage && !isTransitioning()) {
10640
+ const fromIndex = pages.indexOf(prevPage);
10641
+ const toIndex = pages.indexOf(next);
10642
+ if (toIndex >= 0) {
10643
+ setDirection(toIndex > fromIndex ? "next" : "prev");
10644
+ setIsTransitioning(true);
10645
+ setTimeout(()=>{
10646
+ setIsTransitioning(false);
10647
+ setDirection(null);
10648
+ }, transitionDuration);
10649
+ }
10650
+ prevPage = next;
10651
+ }
10652
+ });
10653
+ }
10633
10654
  const navigateToInternal = (pageId)=>{
10634
10655
  if (isTransitioning() || !pages.includes(pageId)) return;
10635
10656
  if (pageId === activePage()) return;
@@ -10638,7 +10659,7 @@ function useImmersiveLanding(options) {
10638
10659
  const toIndex = pages.indexOf(pageId);
10639
10660
  setDirection(toIndex > fromIndex ? "next" : "prev");
10640
10661
  setIsTransitioning(true);
10641
- setActivePage(pageId);
10662
+ if (!isControlled) setInternalPage(pageId);
10642
10663
  if (onNavigate) onNavigate(fromPage, pageId);
10643
10664
  setTimeout(()=>{
10644
10665
  setIsTransitioning(false);
@@ -10940,11 +10961,601 @@ const immersive_landing_ImmersiveLandingNavigation = ImmersiveLandingNavigation;
10940
10961
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.delegateEvents)([
10941
10962
  "click"
10942
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
+ ]);
10943
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">');
10944
11554
  const ImmersiveLanding = (props)=>{
10945
11555
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
10946
11556
  "pages",
10947
11557
  "initialPage",
11558
+ "currentPage",
10948
11559
  "transitionDuration",
10949
11560
  "onNavigate",
10950
11561
  "onNavigationComplete",
@@ -10956,11 +11567,18 @@ const ImmersiveLanding = (props)=>{
10956
11567
  "children",
10957
11568
  "class",
10958
11569
  "className",
10959
- "style"
11570
+ "style",
11571
+ "pwaConfig",
11572
+ "cookieConfig",
11573
+ "firefoxPWAConfig",
11574
+ "showPWAPrompt",
11575
+ "showCookieConsent",
11576
+ "showFirefoxBanner"
10960
11577
  ]);
10961
11578
  const navigation = useImmersiveLanding({
10962
11579
  pages: local.pages,
10963
11580
  initialPage: local.initialPage,
11581
+ currentPage: local.currentPage,
10964
11582
  transitionDuration: local.transitionDuration,
10965
11583
  onNavigate: local.onNavigate,
10966
11584
  onNavigationComplete: local.onNavigationComplete,
@@ -11059,7 +11677,76 @@ const ImmersiveLanding = (props)=>{
11059
11677
  get isLastPage () {
11060
11678
  return navigation.isLastPage();
11061
11679
  }
11062
- }))
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
+ })
11063
11750
  ];
11064
11751
  }
11065
11752
  });
@@ -11255,7 +11942,7 @@ const Link = (props)=>{
11255
11942
  })();
11256
11943
  };
11257
11944
  const link_Link = Link;
11258
- 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">'), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<span class="text-xs text-base-content/50 mt-1 px-1">'), _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">');
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">');
11259
11946
  const getMockMessages = ()=>{
11260
11947
  const salesMessages = [
11261
11948
  {
@@ -11470,7 +12157,7 @@ const LiveChatPanel_LiveChatPanel = (props)=>{
11470
12157
  return _el$9;
11471
12158
  })(),
11472
12159
  (()=>{
11473
- var _el$1 = _tmpl$6();
12160
+ var _el$1 = LiveChatPanel_tmpl$6();
11474
12161
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$1, ()=>formatTime(message.timestamp));
11475
12162
  return _el$1;
11476
12163
  })()
@@ -11529,7 +12216,7 @@ const LiveChatPanel_LiveChatPanel = (props)=>{
11529
12216
  return !isSending();
11530
12217
  },
11531
12218
  get fallback () {
11532
- return _tmpl$7();
12219
+ return LiveChatPanel_tmpl$7();
11533
12220
  },
11534
12221
  get children () {
11535
12222
  return local.sendLabel ?? "Send";
@@ -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)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pathscale/ui",
3
- "version": "0.0.128",
3
+ "version": "0.0.130",
4
4
  "author": "pathscale",
5
5
  "repository": {
6
6
  "type": "git",