diff --git a/404.html b/404.html index fe7eae8b48..beb4658596 100644 --- a/404.html +++ b/404.html @@ -16,7 +16,7 @@
- + \ No newline at end of file diff --git a/assets/components_weak-hardware-overlay.md.BXgVlrKO.js b/assets/components_weak-hardware-overlay.md.WUAVIls3.js similarity index 97% rename from assets/components_weak-hardware-overlay.md.BXgVlrKO.js rename to assets/components_weak-hardware-overlay.md.WUAVIls3.js index cf0dc6d246..6ee5a21fb1 100644 --- a/assets/components_weak-hardware-overlay.md.BXgVlrKO.js +++ b/assets/components_weak-hardware-overlay.md.WUAVIls3.js @@ -1,4 +1,4 @@ -import{_ as n,c as t,j as i,a as e,t as l,U as h,o as p}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"WeakHardwareOverlay","description":"","frontmatter":{"title":"WeakHardwareOverlay"},"headers":[],"relativePath":"components/weak-hardware-overlay.md","filePath":"components/weak-hardware-overlay.md"}'),k={name:"components/weak-hardware-overlay.md"},r={id:"frontmatter-title",tabindex:"-1"};function E(a,s,d,o,y,c){return p(),t("div",null,[i("h1",r,[e(l(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

The WeakHardwareOverlay is used in components that are affected by the BoosterLayer event Weak Hardware. (Example: Component requires the execution of mounted for functionality.)

INFO

The performance issue event occurs when initialization determines that the client is overloaded with execution and the user has confirmed the .nuxt-booster-button-init-reduced-view button in the BoosterLayer.

Learn more about BoosterLayer interactions)

Basically, the overlay is used to make content visible when the Weak Hardware has occurred, if this does not occur, the overlay is not visible.

It is recommended to include an interaction element in the overlay that allows the user to switch to the normal state. For this the interaction element must get the Style Class .nuxt-booster-button-init-app and reacts on click with the initialization of the app.

Example

Example of defining a custom WeakHardwareOverlay component and placing it in a target component that is affected by the Weak Hardware event.

Customize Overlay

vue
<template>
+import{_ as n,c as t,j as i,a as e,t as l,U as h,o as p}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"WeakHardwareOverlay","description":"","frontmatter":{"title":"WeakHardwareOverlay"},"headers":[],"relativePath":"components/weak-hardware-overlay.md","filePath":"components/weak-hardware-overlay.md"}'),k={name:"components/weak-hardware-overlay.md"},r={id:"frontmatter-title",tabindex:"-1"};function E(a,s,d,o,c,y){return p(),t("div",null,[i("h1",r,[e(l(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

The WeakHardwareOverlay is used in components that are affected by the BoosterLayer event Weak Hardware. (Example: Component requires the execution of mounted for functionality.)

INFO

The performance issue event occurs when initialization determines that the client is overloaded with execution and the user has confirmed the .nuxt-booster-button-init-reduced-view button in the BoosterLayer.

Learn more about BoosterLayer interactions)

Basically, the overlay is used to make content visible when the Weak Hardware has occurred, if this does not occur, the overlay is not visible.

It is recommended to include an interaction element in the overlay that allows the user to switch to the normal state. For this the interaction element must get the Style Class .nuxt-booster-button-init-app and reacts on click with the initialization of the app.

Example

Example of defining a custom WeakHardwareOverlay component and placing it in a target component that is affected by the Weak Hardware event.

Customize Overlay

vue
<template>
   <booster-weak-hardware-overlay>
     To improve your experience, extensive features have been disabled.<br>
     <button class="nuxt-booster-button-init-app">
@@ -22,7 +22,7 @@ import{_ as n,c as t,j as i,a as e,t as l,U as h,o as p}from"./chunks/framework.
   background: rgb(0 0 0 / 60%);
   backdrop-filter: blur(em(2px));
 }
-</style>

Usage Overlay

vue
<template>
+</style>

Usage Overlay

vue
<template>
   <div>
     <div ref="player" />
     <weak-hardware-overlay />
diff --git a/assets/components_weak-hardware-overlay.md.BXgVlrKO.lean.js b/assets/components_weak-hardware-overlay.md.WUAVIls3.lean.js
similarity index 97%
rename from assets/components_weak-hardware-overlay.md.BXgVlrKO.lean.js
rename to assets/components_weak-hardware-overlay.md.WUAVIls3.lean.js
index cf0dc6d246..6ee5a21fb1 100644
--- a/assets/components_weak-hardware-overlay.md.BXgVlrKO.lean.js
+++ b/assets/components_weak-hardware-overlay.md.WUAVIls3.lean.js
@@ -1,4 +1,4 @@
-import{_ as n,c as t,j as i,a as e,t as l,U as h,o as p}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"WeakHardwareOverlay","description":"","frontmatter":{"title":"WeakHardwareOverlay"},"headers":[],"relativePath":"components/weak-hardware-overlay.md","filePath":"components/weak-hardware-overlay.md"}'),k={name:"components/weak-hardware-overlay.md"},r={id:"frontmatter-title",tabindex:"-1"};function E(a,s,d,o,y,c){return p(),t("div",null,[i("h1",r,[e(l(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

The WeakHardwareOverlay is used in components that are affected by the BoosterLayer event Weak Hardware. (Example: Component requires the execution of mounted for functionality.)

INFO

The performance issue event occurs when initialization determines that the client is overloaded with execution and the user has confirmed the .nuxt-booster-button-init-reduced-view button in the BoosterLayer.

Learn more about BoosterLayer interactions)

Basically, the overlay is used to make content visible when the Weak Hardware has occurred, if this does not occur, the overlay is not visible.

It is recommended to include an interaction element in the overlay that allows the user to switch to the normal state. For this the interaction element must get the Style Class .nuxt-booster-button-init-app and reacts on click with the initialization of the app.

Example

Example of defining a custom WeakHardwareOverlay component and placing it in a target component that is affected by the Weak Hardware event.

Customize Overlay

vue
<template>
+import{_ as n,c as t,j as i,a as e,t as l,U as h,o as p}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"WeakHardwareOverlay","description":"","frontmatter":{"title":"WeakHardwareOverlay"},"headers":[],"relativePath":"components/weak-hardware-overlay.md","filePath":"components/weak-hardware-overlay.md"}'),k={name:"components/weak-hardware-overlay.md"},r={id:"frontmatter-title",tabindex:"-1"};function E(a,s,d,o,c,y){return p(),t("div",null,[i("h1",r,[e(l(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

The WeakHardwareOverlay is used in components that are affected by the BoosterLayer event Weak Hardware. (Example: Component requires the execution of mounted for functionality.)

INFO

The performance issue event occurs when initialization determines that the client is overloaded with execution and the user has confirmed the .nuxt-booster-button-init-reduced-view button in the BoosterLayer.

Learn more about BoosterLayer interactions)

Basically, the overlay is used to make content visible when the Weak Hardware has occurred, if this does not occur, the overlay is not visible.

It is recommended to include an interaction element in the overlay that allows the user to switch to the normal state. For this the interaction element must get the Style Class .nuxt-booster-button-init-app and reacts on click with the initialization of the app.

Example

Example of defining a custom WeakHardwareOverlay component and placing it in a target component that is affected by the Weak Hardware event.

Customize Overlay

vue
<template>
   <booster-weak-hardware-overlay>
     To improve your experience, extensive features have been disabled.<br>
     <button class="nuxt-booster-button-init-app">
@@ -22,7 +22,7 @@ import{_ as n,c as t,j as i,a as e,t as l,U as h,o as p}from"./chunks/framework.
   background: rgb(0 0 0 / 60%);
   backdrop-filter: blur(em(2px));
 }
-</style>

Usage Overlay

vue
<template>
+</style>

Usage Overlay

vue
<template>
   <div>
     <div ref="player" />
     <weak-hardware-overlay />
diff --git a/assets/guide_options.md.CFAOniKe.js b/assets/guide_options.md.J-S7YiMG.js
similarity index 83%
rename from assets/guide_options.md.CFAOniKe.js
rename to assets/guide_options.md.J-S7YiMG.js
index 9f00386e23..64b7a96732 100644
--- a/assets/guide_options.md.CFAOniKe.js
+++ b/assets/guide_options.md.J-S7YiMG.js
@@ -1,4 +1,4 @@
-import{_ as a,c as t,j as i,a as n,t as l,U as o,o as d}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"Options","description":"","frontmatter":{"title":"Options"},"headers":[],"relativePath":"guide/options.md","filePath":"guide/options.md"}'),h={name:"guide/options.md"},r={id:"frontmatter-title",tabindex:"-1"};function p(e,s,c,k,E,g){return d(),t("div",null,[i("h1",r,[n(l(e.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=o(`

crossorigin

  • Type: String, Boolean
    • Default: 'anonymous'
    • Valid values: anonymous, use-credentials, '', true, false

Sets the global crossorigin value of the Nuxt Booster preloads.
The default value is the crossorigin value from the Render Configuration.

Set false to disable the crossorigin.

MDN - HTML.Attributes.crossorigin

optimizeSSR

  • Type: Boolean, Object
    • Default: true

Activating this option optimizes the initial load.

  • remove unnecessary preloads
  • remove unnecessary prefetches
  • inline critical CSS

The following NuxtJS settings are made or overwritten in the nuxt.config:

PropertyValue
nuxt.options.experimental.inlineSSRStylesfalse
nuxt.options.vite.build.manifestfalse
nuxt.options.vite.build.cssCodeSplittrue
nuxt.options.webpack.extractCSStrue

You can also pass an object to customize the optimization.

js
{
+import{_ as a,c as t,j as i,a as n,t as l,U as d,o}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"Options","description":"","frontmatter":{"title":"Options"},"headers":[],"relativePath":"guide/options.md","filePath":"guide/options.md"}'),h={name:"guide/options.md"},r={id:"frontmatter-title",tabindex:"-1"};function p(e,s,c,k,E,g){return o(),t("div",null,[i("h1",r,[n(l(e.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=d(`

crossorigin

  • Type: String, Boolean
    • Default: 'anonymous'
    • Valid values: anonymous, use-credentials, '', true, false

Sets the global crossorigin value of the Nuxt Booster preloads.
The default value is the crossorigin value from the Render Configuration.

Set false to disable the crossorigin.

MDN - HTML.Attributes.crossorigin

optimizeSSR

  • Type: Boolean, Object
    • Default: true

Activating this option optimizes the initial load.

  • remove unnecessary preloads
  • remove unnecessary prefetches
  • inline critical CSS

The following NuxtJS settings are made or overwritten in the nuxt.config:

PropertyValue
nuxt.options.experimental.inlineSSRStylesfalse
nuxt.options.vite.build.manifestfalse
nuxt.options.vite.build.cssCodeSplittrue
nuxt.options.webpack.extractCSStrue

You can also pass an object to customize the optimization.

js
{
   optimizeSSR: {
     cleanPreloads: true,
     cleanPrefetches: true,
@@ -58,7 +58,4 @@ import{_ as a,c as t,j as i,a as n,t as l,U as o,o as d}from"./chunks/framework.
 }

INFO

For the avif and webp formats the | operator is not needed, because these two image formats do not depend on the source format, as it is the case for png, jpeg and gif.

lazyOffset

  • Type: Object

Global option for the IntersectionObserver built into the Nuxt Booster.

js
{
   component: '0%',
   asset: '0%' 
-}
KeyTypeRequiredDescriptionDefault
componentStringyesrootMargin value for BoosterHydrate.0%
assetStringyesrootMargin value for all static ressources (v-font, BoosterPicture & BoosterImage).0%

imageSizeCache

  • Type: Object
    • Default: { stdTTL: 3600, checkperiod: 1800 }

The imageSizeCache option is used to cache the image sizes of the BoosterImage and BoosterPicture components. This reduces the number of requests to the server and speeds up the loading process.

Learn more about the options in the node-cache documentation.

js
{
-  stdTTL: 3600,
-  checkperiod: 1800
-}

disableNuxtFontaine

  • Type: Boolean
    • Default: false

If set, @nuxtjs/fontaine will not be integrated.

disableNuxtImage

  • Type: Boolean
    • Default: false

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

`,84))])}const f=a(h,[["render",p]]);export{u as __pageData,f as default}; +}
KeyTypeRequiredDescriptionDefault
componentStringyesrootMargin value for BoosterHydrate.0%
assetStringyesrootMargin value for all static ressources (v-font, BoosterPicture & BoosterImage).0%

disableNuxtFontaine

  • Type: Boolean
    • Default: false

If set, @nuxtjs/fontaine will not be integrated.

disableNuxtImage

  • Type: Boolean
    • Default: false

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

`,79))])}const f=a(h,[["render",p]]);export{u as __pageData,f as default}; diff --git a/assets/guide_options.md.CFAOniKe.lean.js b/assets/guide_options.md.J-S7YiMG.lean.js similarity index 83% rename from assets/guide_options.md.CFAOniKe.lean.js rename to assets/guide_options.md.J-S7YiMG.lean.js index 9f00386e23..64b7a96732 100644 --- a/assets/guide_options.md.CFAOniKe.lean.js +++ b/assets/guide_options.md.J-S7YiMG.lean.js @@ -1,4 +1,4 @@ -import{_ as a,c as t,j as i,a as n,t as l,U as o,o as d}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"Options","description":"","frontmatter":{"title":"Options"},"headers":[],"relativePath":"guide/options.md","filePath":"guide/options.md"}'),h={name:"guide/options.md"},r={id:"frontmatter-title",tabindex:"-1"};function p(e,s,c,k,E,g){return d(),t("div",null,[i("h1",r,[n(l(e.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=o(`

crossorigin

  • Type: String, Boolean
    • Default: 'anonymous'
    • Valid values: anonymous, use-credentials, '', true, false

Sets the global crossorigin value of the Nuxt Booster preloads.
The default value is the crossorigin value from the Render Configuration.

Set false to disable the crossorigin.

MDN - HTML.Attributes.crossorigin

optimizeSSR

  • Type: Boolean, Object
    • Default: true

Activating this option optimizes the initial load.

  • remove unnecessary preloads
  • remove unnecessary prefetches
  • inline critical CSS

The following NuxtJS settings are made or overwritten in the nuxt.config:

PropertyValue
nuxt.options.experimental.inlineSSRStylesfalse
nuxt.options.vite.build.manifestfalse
nuxt.options.vite.build.cssCodeSplittrue
nuxt.options.webpack.extractCSStrue

You can also pass an object to customize the optimization.

js
{
+import{_ as a,c as t,j as i,a as n,t as l,U as d,o}from"./chunks/framework.BTPXxG66.js";const u=JSON.parse('{"title":"Options","description":"","frontmatter":{"title":"Options"},"headers":[],"relativePath":"guide/options.md","filePath":"guide/options.md"}'),h={name:"guide/options.md"},r={id:"frontmatter-title",tabindex:"-1"};function p(e,s,c,k,E,g){return o(),t("div",null,[i("h1",r,[n(l(e.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=d(`

crossorigin

  • Type: String, Boolean
    • Default: 'anonymous'
    • Valid values: anonymous, use-credentials, '', true, false

Sets the global crossorigin value of the Nuxt Booster preloads.
The default value is the crossorigin value from the Render Configuration.

Set false to disable the crossorigin.

MDN - HTML.Attributes.crossorigin

optimizeSSR

  • Type: Boolean, Object
    • Default: true

Activating this option optimizes the initial load.

  • remove unnecessary preloads
  • remove unnecessary prefetches
  • inline critical CSS

The following NuxtJS settings are made or overwritten in the nuxt.config:

PropertyValue
nuxt.options.experimental.inlineSSRStylesfalse
nuxt.options.vite.build.manifestfalse
nuxt.options.vite.build.cssCodeSplittrue
nuxt.options.webpack.extractCSStrue

You can also pass an object to customize the optimization.

js
{
   optimizeSSR: {
     cleanPreloads: true,
     cleanPrefetches: true,
@@ -58,7 +58,4 @@ import{_ as a,c as t,j as i,a as n,t as l,U as o,o as d}from"./chunks/framework.
 }

INFO

For the avif and webp formats the | operator is not needed, because these two image formats do not depend on the source format, as it is the case for png, jpeg and gif.

lazyOffset

  • Type: Object

Global option for the IntersectionObserver built into the Nuxt Booster.

js
{
   component: '0%',
   asset: '0%' 
-}
KeyTypeRequiredDescriptionDefault
componentStringyesrootMargin value for BoosterHydrate.0%
assetStringyesrootMargin value for all static ressources (v-font, BoosterPicture & BoosterImage).0%

imageSizeCache

  • Type: Object
    • Default: { stdTTL: 3600, checkperiod: 1800 }

The imageSizeCache option is used to cache the image sizes of the BoosterImage and BoosterPicture components. This reduces the number of requests to the server and speeds up the loading process.

Learn more about the options in the node-cache documentation.

js
{
-  stdTTL: 3600,
-  checkperiod: 1800
-}

disableNuxtFontaine

  • Type: Boolean
    • Default: false

If set, @nuxtjs/fontaine will not be integrated.

disableNuxtImage

  • Type: Boolean
    • Default: false

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

`,84))])}const f=a(h,[["render",p]]);export{u as __pageData,f as default}; +}
KeyTypeRequiredDescriptionDefault
componentStringyesrootMargin value for BoosterHydrate.0%
assetStringyesrootMargin value for all static ressources (v-font, BoosterPicture & BoosterImage).0%

disableNuxtFontaine

  • Type: Boolean
    • Default: false

If set, @nuxtjs/fontaine will not be integrated.

disableNuxtImage

  • Type: Boolean
    • Default: false

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

`,79))])}const f=a(h,[["render",p]]);export{u as __pageData,f as default}; diff --git a/assets/guide_setup.md.McLC3V-H.js b/assets/guide_setup.md.DP7Gnxgd.js similarity index 97% rename from assets/guide_setup.md.McLC3V-H.js rename to assets/guide_setup.md.DP7Gnxgd.js index 3d13b4b70e..a0ea1347eb 100644 --- a/assets/guide_setup.md.McLC3V-H.js +++ b/assets/guide_setup.md.DP7Gnxgd.js @@ -1,10 +1,10 @@ -import{_ as n,c as l,j as i,a as t,t as p,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const F=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"guide/setup.md","filePath":"guide/setup.md"}'),e={name:"guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,o,y){return k(),l("div",null,[i("h1",E,[t(p(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster
bash
npm install nuxt-booster

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
+import{_ as n,c as l,j as i,a as t,t as p,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const F=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"guide/setup.md","filePath":"guide/setup.md"}'),e={name:"guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,o,y){return k(),l("div",null,[i("h1",E,[t(p(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster
bash
npm install nuxt-booster

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
   domains: ['img.youtube.com', 'i.vimeocdn.com'],
   alias: {
     youtube: 'https://img.youtube.com',
     vimeo: 'https://i.vimeocdn.com',
   }
-}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
+}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
   modules: [
     'nuxt-booster'
   ],
diff --git a/assets/guide_setup.md.McLC3V-H.lean.js b/assets/guide_setup.md.DP7Gnxgd.lean.js
similarity index 97%
rename from assets/guide_setup.md.McLC3V-H.lean.js
rename to assets/guide_setup.md.DP7Gnxgd.lean.js
index 3d13b4b70e..a0ea1347eb 100644
--- a/assets/guide_setup.md.McLC3V-H.lean.js
+++ b/assets/guide_setup.md.DP7Gnxgd.lean.js
@@ -1,10 +1,10 @@
-import{_ as n,c as l,j as i,a as t,t as p,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const F=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"guide/setup.md","filePath":"guide/setup.md"}'),e={name:"guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,o,y){return k(),l("div",null,[i("h1",E,[t(p(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster
bash
npm install nuxt-booster

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
+import{_ as n,c as l,j as i,a as t,t as p,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const F=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"guide/setup.md","filePath":"guide/setup.md"}'),e={name:"guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,o,y){return k(),l("div",null,[i("h1",E,[t(p(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster
bash
npm install nuxt-booster

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
   domains: ['img.youtube.com', 'i.vimeocdn.com'],
   alias: {
     youtube: 'https://img.youtube.com',
     vimeo: 'https://i.vimeocdn.com',
   }
-}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
+}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
   modules: [
     'nuxt-booster'
   ],
diff --git a/assets/v2_guide_caveats.md.D6Su4pCh.js b/assets/v2_guide_caveats.md.BrZu7Cm8.js
similarity index 98%
rename from assets/v2_guide_caveats.md.D6Su4pCh.js
rename to assets/v2_guide_caveats.md.BrZu7Cm8.js
index 28ec881808..fda6f8d6e5 100644
--- a/assets/v2_guide_caveats.md.D6Su4pCh.js
+++ b/assets/v2_guide_caveats.md.BrZu7Cm8.js
@@ -17,7 +17,7 @@ import{_ as n,c as t,j as i,a as e,t as l,U as p,o as h}from"./chunks/framework.
       });
     }
   }
-</script>

Issues

Browser compatibility

You can use nuxt-booster with Internet Explorer 11 browser.

INFO

Note that there is no optimization based on preloads in IE 11.

You need the following polyfills:

The PostCSS Plugin postcss-object-fit-images and following build.transpile entries for @nuxt/image:

  • @nuxt/image
  • image-meta

For the polyfills, it is recommended to integrate them as a plugin, polyfills loading must follow a specific order.

You can see a example with live demo at Nuxt Booster Example.

Example

js
async function polyfills (){
+</script>

Issues

Browser compatibility

You can use nuxt-booster with Internet Explorer 11 browser.

INFO

Note that there is no optimization based on preloads in IE 11.

You need the following polyfills:

The PostCSS Plugin postcss-object-fit-images and following build.transpile entries for @nuxt/image:

  • @nuxt/image
  • image-meta

For the polyfills, it is recommended to integrate them as a plugin, polyfills loading must follow a specific order.

You can see a example with live demo at Nuxt Booster Example.

Example

js
async function polyfills (){
 
   if (!('IntersectionObserver' in global)) {
     await import('intersection-observer');
@@ -34,7 +34,7 @@ import{_ as n,c as t,j as i,a as e,t as l,U as p,o as h}from"./chunks/framework.
 
 }
 
-polyfills ();

js
{
+polyfills ();

js
{
   build: {
     
     transpile: ['@nuxt/image', 'image-meta'],
diff --git a/assets/v2_guide_caveats.md.D6Su4pCh.lean.js b/assets/v2_guide_caveats.md.BrZu7Cm8.lean.js
similarity index 98%
rename from assets/v2_guide_caveats.md.D6Su4pCh.lean.js
rename to assets/v2_guide_caveats.md.BrZu7Cm8.lean.js
index 28ec881808..fda6f8d6e5 100644
--- a/assets/v2_guide_caveats.md.D6Su4pCh.lean.js
+++ b/assets/v2_guide_caveats.md.BrZu7Cm8.lean.js
@@ -17,7 +17,7 @@ import{_ as n,c as t,j as i,a as e,t as l,U as p,o as h}from"./chunks/framework.
       });
     }
   }
-</script>

Issues

Browser compatibility

You can use nuxt-booster with Internet Explorer 11 browser.

INFO

Note that there is no optimization based on preloads in IE 11.

You need the following polyfills:

The PostCSS Plugin postcss-object-fit-images and following build.transpile entries for @nuxt/image:

  • @nuxt/image
  • image-meta

For the polyfills, it is recommended to integrate them as a plugin, polyfills loading must follow a specific order.

You can see a example with live demo at Nuxt Booster Example.

Example

js
async function polyfills (){
+</script>

Issues

Browser compatibility

You can use nuxt-booster with Internet Explorer 11 browser.

INFO

Note that there is no optimization based on preloads in IE 11.

You need the following polyfills:

The PostCSS Plugin postcss-object-fit-images and following build.transpile entries for @nuxt/image:

  • @nuxt/image
  • image-meta

For the polyfills, it is recommended to integrate them as a plugin, polyfills loading must follow a specific order.

You can see a example with live demo at Nuxt Booster Example.

Example

js
async function polyfills (){
 
   if (!('IntersectionObserver' in global)) {
     await import('intersection-observer');
@@ -34,7 +34,7 @@ import{_ as n,c as t,j as i,a as e,t as l,U as p,o as h}from"./chunks/framework.
 
 }
 
-polyfills ();

js
{
+polyfills ();

js
{
   build: {
     
     transpile: ['@nuxt/image', 'image-meta'],
diff --git a/assets/v2_guide_setup.md.CHsRKFOL.js b/assets/v2_guide_setup.md.C6b-NSMp.js
similarity index 97%
rename from assets/v2_guide_setup.md.CHsRKFOL.js
rename to assets/v2_guide_setup.md.C6b-NSMp.js
index 8a8a2e7743..f49ab8e5f6 100644
--- a/assets/v2_guide_setup.md.CHsRKFOL.js
+++ b/assets/v2_guide_setup.md.C6b-NSMp.js
@@ -1,10 +1,10 @@
-import{_ as n,c as l,j as i,a as p,t,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const c=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"v2/guide/setup.md","filePath":"v2/guide/setup.md"}'),e={name:"v2/guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,y,o){return k(),l("div",null,[i("h1",E,[p(t(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster@2
bash
npm install nuxt-booster@2

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
+import{_ as n,c as l,j as i,a as p,t,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const c=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"v2/guide/setup.md","filePath":"v2/guide/setup.md"}'),e={name:"v2/guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,y,o){return k(),l("div",null,[i("h1",E,[p(t(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster@2
bash
npm install nuxt-booster@2

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
   domains: ['img.youtube.com', 'i.vimeocdn.com'],
   alias: {
     youtube: 'https://img.youtube.com',
     vimeo: 'https://i.vimeocdn.com',
   }
-}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
+}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
   modules: [
     'nuxt-booster'
   ],
diff --git a/assets/v2_guide_setup.md.CHsRKFOL.lean.js b/assets/v2_guide_setup.md.C6b-NSMp.lean.js
similarity index 97%
rename from assets/v2_guide_setup.md.CHsRKFOL.lean.js
rename to assets/v2_guide_setup.md.C6b-NSMp.lean.js
index 8a8a2e7743..f49ab8e5f6 100644
--- a/assets/v2_guide_setup.md.CHsRKFOL.lean.js
+++ b/assets/v2_guide_setup.md.C6b-NSMp.lean.js
@@ -1,10 +1,10 @@
-import{_ as n,c as l,j as i,a as p,t,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const c=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"v2/guide/setup.md","filePath":"v2/guide/setup.md"}'),e={name:"v2/guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,y,o){return k(),l("div",null,[i("h1",E,[p(t(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster@2
bash
npm install nuxt-booster@2

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
+import{_ as n,c as l,j as i,a as p,t,U as h,o as k}from"./chunks/framework.BTPXxG66.js";const c=JSON.parse('{"title":"Setup","description":"","frontmatter":{"title":"Setup"},"headers":[],"relativePath":"v2/guide/setup.md","filePath":"v2/guide/setup.md"}'),e={name:"v2/guide/setup.md"},E={id:"frontmatter-title",tabindex:"-1"};function r(a,s,d,g,y,o){return k(),l("div",null,[i("h1",E,[p(t(a.$frontmatter.title)+" ",1),s[0]||(s[0]=i("a",{class:"header-anchor",href:"#frontmatter-title","aria-label":'Permalink to "{{$frontmatter.title}}"'},"​",-1))]),s[1]||(s[1]=h(`

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster@2
bash
npm install nuxt-booster@2

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
   domains: ['img.youtube.com', 'i.vimeocdn.com'],
   alias: {
     youtube: 'https://img.youtube.com',
     vimeo: 'https://i.vimeocdn.com',
   }
-}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
+}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
   modules: [
     'nuxt-booster'
   ],
diff --git a/components/booster-iframe.html b/components/booster-iframe.html
index aeb37b87d7..48bac5207f 100644
--- a/components/booster-iframe.html
+++ b/components/booster-iframe.html
@@ -38,7 +38,7 @@
   @load="console.log('Iframe Loaded!')" 
   @enter="console.log('Iframe enter viewport!')" 
 />
NameDescription
loadTriggered when Iframe has finished loading.
enterTriggered when component has reached the viewport.
- + \ No newline at end of file diff --git a/components/booster-image.html b/components/booster-image.html index 25615372e5..7c3d6fb775 100644 --- a/components/booster-image.html +++ b/components/booster-image.html @@ -83,7 +83,7 @@ }

Learn more about modifiers:

preset

  • Type: Object

If a preset is set on a source, the globally defined one is ignored.

This means that a separate preset can be specified for each source.

Learn more about preset:

provider

  • Type: String

If a provider is set on a source, the globally defined one is ignored.

This means that a separate provider can be specified for each source.

Learn more about provider:

densities

  • Type: String
    • Default: 'x1 x2'

If a densities is set on a source, the globally defined one is ignored.

Learn more about densities:

alt

  • Type: String

Image alternative Text.

MDN - HTMLImageElement.alt

title

  • Type: String

Image Title.

MDN - HTMLElement.title

crossorigin

  • Type: String, Boolean

If not set, the global crossorigin is used this.$booster.crossorigin.

Learn more about crossorigin option

MDN - HTML.Attributes.crossorigin

critical

  • Type: Boolean
    • Default: $parent.isCritical

Set component as critical component.

Learn more about critical components

Events

html
<booster-image 
   @load="console.log('Image Loaded!')" 
 />
NameDescription
loadTriggered when the image resource has been completely loaded.
- + \ No newline at end of file diff --git a/components/booster-layer.html b/components/booster-layer.html index 5f7af73319..ebcce2bf15 100644 --- a/components/booster-layer.html +++ b/components/booster-layer.html @@ -75,7 +75,7 @@ </button> </div> </booster-layer>

Force App initialization

Set the global variable __NUXT_BOOSTER_AUTO_INIT__ to true to force the initialization of the app.

VariableTypeDescriptionDefault
__NUXT_BOOSTER_AUTO_INIT__BooleanIf set, initialisation continues after the javascript has been fully loaded.false
- + \ No newline at end of file diff --git a/components/booster-picture.html b/components/booster-picture.html index 5de6922deb..8a97b1cd5f 100644 --- a/components/booster-picture.html +++ b/components/booster-picture.html @@ -67,7 +67,7 @@ ]

formats

  • Type: Array
    • Default: ['webp', 'avif', 'jpg|jpeg|png|gif']

Overrides the pictureFormats property defined in the module options.

Defines the formats that are to be generated and provided as source in the Picture.
Is used to offer the correct image type for the browser.

WARNING

Formats can also be specified as OR condition (jpg|jpeg|png|gif). This is important when using JPGs and PNGs with the same format configuration.

alt

  • Type: String

Image alternative Text.

MDN - HTMLImageElement.alt

title

  • Type: String

Image Title.

MDN - HTMLElement.title

crossorigin

  • Type: String, Boolean

If not set, the global crossorigin is used this.$booster.crossorigin.

Learn more about crossorigin option

MDN - HTML.Attributes.crossorigin

sortSources

  • Type: Boolean
    • Default: true

If set, the sources are sorted by the media properties.

This is made possible by sort-css-media-queries.

critical

  • Type: Boolean
    • Default: $parent.isCritical

Set component as critical component.

Learn more about critical components

Events

html
<booster-picture 
   @load="console.log('Loaded!')" 
 />
NameDescription
loadTriggered when the image resource has been completely loaded.
- + \ No newline at end of file diff --git a/components/booster-vimeo.html b/components/booster-vimeo.html index 4f8baaded7..c61c2a0b55 100644 --- a/components/booster-vimeo.html +++ b/components/booster-vimeo.html @@ -85,7 +85,7 @@ @ready="console.log('Player Ready!')" @playing="console.log('Player Playing!')" />
NameDescription
readyTriggered when Vimeo Player-SDK is completely loaded.
playingTriggered when video is finished loading and playing.
beforePlayerUsed to place elements in the player container (before).
afterPlayerUsed to place elements in the player container (after).
- + \ No newline at end of file diff --git a/components/booster-youtube.html b/components/booster-youtube.html index c6a392bcb7..1a97b441d2 100644 --- a/components/booster-youtube.html +++ b/components/booster-youtube.html @@ -77,7 +77,7 @@ @ready="console.log('Player Ready!')" @playing="console.log('Player Playing!')" />
NameDescription
readyTriggered when Youtube-API is completely loaded.
playingTriggered when video is finished loading and playing.
beforePlayerUsed to place elements in the player container (before).
afterPlayerUsed to place elements in the player container (after).
- + \ No newline at end of file diff --git a/components/weak-hardware-overlay.html b/components/weak-hardware-overlay.html index c749100851..d6693dbb13 100644 --- a/components/weak-hardware-overlay.html +++ b/components/weak-hardware-overlay.html @@ -13,12 +13,12 @@ - + -
Skip to content

WeakHardwareOverlay

The WeakHardwareOverlay is used in components that are affected by the BoosterLayer event Weak Hardware. (Example: Component requires the execution of mounted for functionality.)

INFO

The performance issue event occurs when initialization determines that the client is overloaded with execution and the user has confirmed the .nuxt-booster-button-init-reduced-view button in the BoosterLayer.

Learn more about BoosterLayer interactions)

Basically, the overlay is used to make content visible when the Weak Hardware has occurred, if this does not occur, the overlay is not visible.

It is recommended to include an interaction element in the overlay that allows the user to switch to the normal state. For this the interaction element must get the Style Class .nuxt-booster-button-init-app and reacts on click with the initialization of the app.

Example

Example of defining a custom WeakHardwareOverlay component and placing it in a target component that is affected by the Weak Hardware event.

Customize Overlay

vue
<template>
+    
Skip to content

WeakHardwareOverlay

The WeakHardwareOverlay is used in components that are affected by the BoosterLayer event Weak Hardware. (Example: Component requires the execution of mounted for functionality.)

INFO

The performance issue event occurs when initialization determines that the client is overloaded with execution and the user has confirmed the .nuxt-booster-button-init-reduced-view button in the BoosterLayer.

Learn more about BoosterLayer interactions)

Basically, the overlay is used to make content visible when the Weak Hardware has occurred, if this does not occur, the overlay is not visible.

It is recommended to include an interaction element in the overlay that allows the user to switch to the normal state. For this the interaction element must get the Style Class .nuxt-booster-button-init-app and reacts on click with the initialization of the app.

Example

Example of defining a custom WeakHardwareOverlay component and placing it in a target component that is affected by the Weak Hardware event.

Customize Overlay

vue
<template>
   <booster-weak-hardware-overlay>
     To improve your experience, extensive features have been disabled.<br>
     <button class="nuxt-booster-button-init-app">
@@ -42,7 +42,7 @@
   background: rgb(0 0 0 / 60%);
   backdrop-filter: blur(em(2px));
 }
-</style>

Usage Overlay

vue
<template>
+</style>

Usage Overlay

vue
<template>
   <div>
     <div ref="player" />
     <weak-hardware-overlay />
@@ -68,7 +68,7 @@
   backdrop-filter: blur(2px);
 }
 </style>
- + \ No newline at end of file diff --git a/composables/useBoosterComponentObserver.html b/composables/useBoosterComponentObserver.html index e5f5635b59..6d696b6427 100644 --- a/composables/useBoosterComponentObserver.html +++ b/composables/useBoosterComponentObserver.html @@ -30,7 +30,7 @@ delay: 350 }); </script>
- + \ No newline at end of file diff --git a/composables/useBoosterConfig.html b/composables/useBoosterConfig.html index 6a564e10bb..bec7d30e41 100644 --- a/composables/useBoosterConfig.html +++ b/composables/useBoosterConfig.html @@ -19,7 +19,7 @@
Skip to content

useBoosterConfig

Return

Returns nuxt-booster public runtime options.

Example

js
const $boosterOptions = useBoosterConfig();
- + \ No newline at end of file diff --git a/composables/useBoosterCritical.html b/composables/useBoosterCritical.html index 8c0e3a2cb5..1c33166685 100644 --- a/composables/useBoosterCritical.html +++ b/composables/useBoosterCritical.html @@ -25,7 +25,7 @@ <script setup> const { isCritical } = useBoosterCritical(); </script> - + \ No newline at end of file diff --git a/composables/useBoosterFont.html b/composables/useBoosterFont.html index 501cf89552..277bcca8cf 100644 --- a/composables/useBoosterFont.html +++ b/composables/useBoosterFont.html @@ -25,7 +25,7 @@ <script setup> const { $getFont } = useBoosterFonts(); </script> - + \ No newline at end of file diff --git a/composables/useBoosterHead.html b/composables/useBoosterHead.html index 23c504cfc4..af52a14439 100644 --- a/composables/useBoosterHead.html +++ b/composables/useBoosterHead.html @@ -19,7 +19,7 @@
Skip to content

⚠️ useBoosterHead

WARNING

useBoosterhead is an internally used composable that is called once in the plugin.

Is required to create and manage a head entry.

- + \ No newline at end of file diff --git a/composables/useBoosterHydrate.html b/composables/useBoosterHydrate.html index eb245b492b..5eff3103a5 100644 --- a/composables/useBoosterHydrate.html +++ b/composables/useBoosterHydrate.html @@ -33,7 +33,7 @@ hydrate(); } }; - + \ No newline at end of file diff --git a/concept.html b/concept.html index e5b0bcb0d7..fa807df8b0 100644 --- a/concept.html +++ b/concept.html @@ -19,7 +19,7 @@
Skip to content

Concept

Current Situation

The loading behavior of webpages based on NuxtJS is designed in such a way that all necessary Javascript resources are preloaded and directly initialized with the initial load of the page. However, this behavior creates a negative impact on the Lighthouse Performance Score (TTI) for larger pages that have an increased initial load of additional resources, such as fonts, images, plugins, modules (@nuxtjs/i18n, ...).

Excursus

The Lighthouse Test is not a tool to make a general statement about the quality of a website programming. Lighthouse rather tries to map a metric for the usability of a page from the user's point of view. This includes accessibility, best practices, SEO and of course performance.

This last point is often misinterpreted by developers. If you want to implement features that increase usability for the user (interactions/more complex animations, ...), this will always have an impact on performance in the Lighthouse Test for larger website projects, as the corresponding Javascript must be loaded for this. Finally, Lighthouse does also not rate the design, but the accessibility (size of click areas, etc.) of a website. You should therefore not ask yourself the following question: "How can I fully optimize my JavaScript to achieve a Lighthouse score of 100/100?". You have to ask yourself much more the question: "What is especially important to a user with low bandwidth or weak hardware on my site?".

The answer to this is relatively simple: the content must be accessible and you must be able to get to the information you need quickly.

No more and no less.

The user doesn't need any fancy slider animations and parallax effects that can only be implemented with certain libraries. Or a softload mechanism to get to more pages in a more elegant and animated way, but which initially needs an increased amount of javascript logic. All he wants is that information is retrievable reasonably fast and he can click through the presence.

Problem

The good news is that the NuxtJS SSR build provides the right foundation. The content is already in the form of HTML and CSS and can be used without Javascript. But what is missing

  • is a fully automated preload logic that allows component and viewport based handling and prioritization of the individual resources (FCP, LCP, CLS)
  • is a logic that enables a perfomance-oriented initialization of the javascript (TTI, TBT)

These two central points are handled by Nuxt Booster and enable a fast and resource-saving loading behavior of the website.

Approach

Over a longer period of time, we analyzed the Google Lighthouse test in more detail and approached the topic with the help of use cases. We did not start with the best case for page content (one image, one font, minimal javascript), but with the worst case (many images, many fonts, large Javascript files, ...). So we avoided to develop only a solution for simple SinglePages. Our claim was much more to create a generalistic, performant solution even with a CMS connection and dynamic component compositions per page. All our thoughts are based on HTTP/2 request prioritization and the lazy hydration approach. Initial resources are prioritized by preload and all further data is reloaded viewport-based.

Insights & Solutions

During the tests, we gained the following insights, which we would like to share with you, but which also allow us to draw conclusions regarding the performance optimization of the initial loading process and which have been incorporated into the Nuxt Booster solution.

Critical Render Path

The critical render path is the core of a high-performance and efficient loading and rendering behavior of a website. It is important that components and resources in the viewport are loaded and executed with priority so that the user can be provided with a functioning page as quickly as possible. A browser is not able to recognize this fully automatically to dynamically adapt the loading behavior. Some attempts have been made in the past to systematically identify the critical render path.However, this has the consequence that every generated page in a virtual browser has to be analyzed in given viewport sizes, which slows down the deployment process and makes it more error-prone. For this reason, we (the developers) will be forced to provide the build process with appropriate hints in the form of a Critical Attribute on the affected component, so that an automated optimization by preloads, lazy hydration, etc. can be performed in response.

Font Loading

Fonts are the great mystery on the Internet. For more complex designs it is not uncommon that more than 6 font files have to be loaded. It would be desirable if there were many more variable fonts, but the reality is usually different. Often, developers are forced to register tons of fonts with different font styles. So it can happen that the website needs a total count of 12 font files, which have to be loaded initially to achieve the right visual result on the whole page.

This is a real performance problem. If you look for solutions, you like to hear

  • don't use WebFonts that have to be loaded
  • use another optimized font
  • reduce the number of used fonts
  • embed the fonts via Base64

You will find some articles about font loading. But most of them are more than 3 years old. Summary: not much happened here. A nice and recommendable list of different strategies can be found at web-font-loading-recipes or comprehensive-webfonts. From this it can be deduced that there is still no universal solution to the problem. However, it is possible to approach the issue very efficiently by using a preload strategy and setting classes accordingly. However, this does not make the handling of the fonts any easier. On the one hand, the preloads have to be defined per page and on the other hand, the CSS in the respective component has to be activated with the corresponding font declaration per class on demand. This is manageable for smaller projects in a 1 person team. But if several people are working in parallel, it can quickly become a nightmare. This will inevitably lead to the fact that the approach will not be accepted by the team and the optimization will be optimized out of the project in the long run.

INFO

A few words about Google Fonts: If possible, the FontFaces should always be included directly as Woff/Woff2 files via inline style. The loading mechanism via external CSS file, as it is the case with Google Fonts, creates an additional network roundtrip, which delays the loading of the actual font files.

The strategy mentioned above makes sense, but is hardly implementable with the current tools. For this reason, we are introducing Directive v-font, which takes care of the outlined behavior in a fully automated way and thus represents a truly relevant solution even on larger projects. Combined with the lazy hydration approach, the relevant fonts can be declared and loaded per component. The preloads are controlled via the critical attribute. With the help of this loading strategy, a FOUT (flash of unstyled text) and CLS can be massively reduced or eliminated. If no javascript is activated on the end device, all fonts are automatically activated via CSS.

Image Loading

For image compression and different image formats, the module nuxt-optimized-images was popularly used in the nuxt world in the past. The downside, however, is that this approach is not particularly CMS and deployment friendly. With each image change, a full build process had to be initiated. For this reason, we use the nuxt-image module, as this takes advantage of a change in NuxtJS as of version 2.13.0. In this version update, the build was split into two separate processes (javascript compilation + page generation). With nuxt-optimized-images the full build process had to be run for every image change. This is no longer the case with nuxt-image. Here only the page generation process is necessary. As a result, deployment times for all content changes can be massively reduced.

We use the module in its complete form. However, we have redeveloped the nuxt-image and nuxt-picture components, as the current version does not fully meet our requirements. For example, we lacked an appropriate preloading and lazy hydration strategy. Although there is a native loading attribute on the image element that allows prioritization, the use for websites with a lot of images is still not optimal, because the distance-from-viewport threshold is still too generous and the loading performance can deteriorate unintentionally. For this we have implemented a corresponding SEO-compliant alternative, which loads the images only when the viewport is reached, but also provides the image sources for search engines via no-script tag. This way all relevant images can be displayed even if Javascript is disabled. Furthermore you can also define multiple image sources in the picture, so it is possible to display an image in portait mode with a 9/16 aspect-ratio (multiple renditions) and in landscape mode with a 16/9 aspect-ratio (multiple renditions).

Javascript Loading

NuxtJS follows the approach to load the core files (page, app, payload, vendor, state, etc.) as fast and efficient as possible via (module-)preload from the client. This also makes total sense if you want to deliver an SPA. For the SSR build, however, we modified the delivery a bit. The many parallel downloads (fonts, images, js, ...) have a negative impact from a performance perspective. This effect increases when the javascript files grow in size due to modules and plugins. It would make sense if the initial package is kept small and only the absolutely necessary resources that can trigger the further initialization process are transferred via dynamic import. This leaves enough bandwidth to load the remaining resources (fonts, images).

This loading behavior only makes sense with an SSR build, since the full page-related static content can already be delivered and rendered with the HTML and the included CSS. This means that the user does not notice any time lags and the page is still usable. Another advantage: If the bandwidth is low, a basic functionality of the page (links, ...) can be ensured thanks to the SSR build.

RequestIdleCallback

The TimeRemaining function of the IdleDeadline object continuously returns a value <= 10 in the Lighthouse Test (simulated Motorola G4). This can be seen as an indicator for weak hardware on the end device and allows the following conclusion. If there are not enough hardware resources available to execute the JavaScript quickly, this process is suppressed. Who needs optional functionality that takes a long time to initialize and possibly leads to a temporary freeze in the browser.

We use this effect by executing the intial javascript process and the component initialization in the RequestIdleCallback, if we get a time slot >10ms from the device. Hereby we achieve a massive reduction of the TTI/TBT in the Lighthouse Test and on weak hardware, because the javascript execution is simply paused in the worst case until sufficient resources are available. This also prevents blocking of the MainThread.

Side effect: The timeslots in the Google Lighthouse Test are always <= 10ms, so no javascript will be initialized.

BoosterLayer

With the solutions described above, the user gets a functioning webpage displayed very quickly. However, the following situation can also occur on the end device:

  • no Javascript enabled
  • reduced bandwidth
  • weak hardware
  • unsupported browser

The reduced bandwidth or weak hardware should get a focus especially when larger amounts of data have to be transferred and executed, e.g. a ThreeJS component with more complex 3D objects. In this case, we should inform the user that the experience will be negatively affected and that there may be waiting times.

For this purpose, we provide an InfoLayer that is displayed when a minimum FCP time is exceeded, when the number of available CPU cores falls below a minimum level, when javascript is disabled or the users opens the page by an unsupported browser. The user can decide in this dialog box whether he wants to load the remaining resources despite the restrictions. If the user declines this dialog, only the fonts and images for the page will be loaded and no further javascript will be loaded or executed.

Conclusion

The findings and solutions described above have been incorporated and systematized in the Nuxt Booster module. Only in combination can they unfold their full functionality and ensure an overall optimization of the loading behavior. Overall we have reduced the following timing metrics ...

  • FCP
  • LCP
  • TTI
  • TBT

With this module we enable every developer in the NuxtJS context to achieve a Lighthouse Performance Score 100/100 and drastically reduce the development time for website performance optimization.

- + \ No newline at end of file diff --git a/directives/v-font.html b/directives/v-font.html index 17fbf5a3d6..6af056e781 100644 --- a/directives/v-font.html +++ b/directives/v-font.html @@ -47,7 +47,7 @@ $getFont('Font Family B', 700, 'normal', { selector: 'b, strong', media: '(min-width: 768px)' }) ] - + \ No newline at end of file diff --git a/guide/caveats.html b/guide/caveats.html index 14ba05881e..5f8dcd6995 100644 --- a/guide/caveats.html +++ b/guide/caveats.html @@ -41,7 +41,7 @@ }) </script> - + \ No newline at end of file diff --git a/guide/options.html b/guide/options.html index a8ee7e9d4b..914590253a 100644 --- a/guide/options.html +++ b/guide/options.html @@ -13,7 +13,7 @@ - + @@ -78,11 +78,8 @@ }

INFO

For the avif and webp formats the | operator is not needed, because these two image formats do not depend on the source format, as it is the case for png, jpeg and gif.

lazyOffset

Global option for the IntersectionObserver built into the Nuxt Booster.

js
{
   component: '0%',
   asset: '0%' 
-}
KeyTypeRequiredDescriptionDefault
componentStringyesrootMargin value for BoosterHydrate.0%
assetStringyesrootMargin value for all static ressources (v-font, BoosterPicture & BoosterImage).0%

imageSizeCache

The imageSizeCache option is used to cache the image sizes of the BoosterImage and BoosterPicture components. This reduces the number of requests to the server and speeds up the loading process.

Learn more about the options in the node-cache documentation.

js
{
-  stdTTL: 3600,
-  checkperiod: 1800
-}

disableNuxtFontaine

If set, @nuxtjs/fontaine will not be integrated.

INFO

For more information: https://github.com/nuxt-modules/fontaine

disableNuxtImage

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

- +}
KeyTypeRequiredDescriptionDefault
componentStringyesrootMargin value for BoosterHydrate.0%
assetStringyesrootMargin value for all static ressources (v-font, BoosterPicture & BoosterImage).0%

disableNuxtFontaine

If set, @nuxtjs/fontaine will not be integrated.

INFO

For more information: https://github.com/nuxt-modules/fontaine

disableNuxtImage

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

+ \ No newline at end of file diff --git a/guide/setup.html b/guide/setup.html index fc893febd4..437d12ae8d 100644 --- a/guide/setup.html +++ b/guide/setup.html @@ -13,18 +13,18 @@ - + -
Skip to content

Setup

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster
bash
npm install nuxt-booster

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
+    
Skip to content

Setup

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster
bash
npm install nuxt-booster

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
   domains: ['img.youtube.com', 'i.vimeocdn.com'],
   alias: {
     youtube: 'https://img.youtube.com',
     vimeo: 'https://i.vimeocdn.com',
   }
-}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
+}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
   modules: [
     'nuxt-booster'
   ],
@@ -113,7 +113,7 @@
     }
   }
 }

See module options.

- + \ No newline at end of file diff --git a/guide/usage.html b/guide/usage.html index afe87b1476..8129e65a12 100644 --- a/guide/usage.html +++ b/guide/usage.html @@ -36,7 +36,7 @@ } } </script>

INFO

The booster components will be expanded in the future. If you have explicit wishes, please send us a feature request or directly a pull request with the corresponding feature 😃

- + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 183dd98b39..67ca5b5bc7 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"components_booster-iframe.md":"DewifIWH","components_booster-image.md":"DI1CXARJ","components_booster-layer.md":"CbnxCS7q","components_booster-picture.md":"CdFj24tC","components_booster-vimeo.md":"B77xNqAi","components_booster-youtube.md":"BIu7DkrA","components_weak-hardware-overlay.md":"BXgVlrKO","composables_useboostercomponentobserver.md":"BkQ4hcz3","composables_useboosterconfig.md":"B6NOls_e","composables_useboostercritical.md":"Dyi4Zgv_","composables_useboosterfont.md":"Ccydds_O","composables_useboosterhead.md":"DIrqPJig","composables_useboosterhydrate.md":"dvXW5RST","concept.md":"682dqkbQ","directives_v-font.md":"CGop7P5Z","guide_caveats.md":"B7VTlpms","guide_options.md":"CFAOniKe","guide_setup.md":"McLC3V-H","guide_usage.md":"IxRXWUKL","index.md":"TkpCxDr1","migration_v2-0-13.md":"DiDnxTT1","migration_v2-2-0.md":"QLI9GM6o","migration_v2.md":"lHvb4SrJ","migration_v3.1.0.md":"CO4dZGl5","migration_v3.md":"DJib9_zJ","v2_classes_loading-spinner.md":"Ny1XgwWK","v2_components_booster-iframe.md":"pnnV4ms5","v2_components_booster-image.md":"CqNwy1CV","v2_components_booster-layer.md":"DgIahzTB","v2_components_booster-picture.md":"8mw9vWsk","v2_components_booster-vimeo.md":"BE5KVc2K","v2_components_booster-youtube.md":"8gep-Xuj","v2_concept.md":"UIBM5ko-","v2_directives_v-font.md":"CbFUz2n3","v2_guide_caveats.md":"D6Su4pCh","v2_guide_options.md":"CK_gYSfe","v2_guide_setup.md":"CHsRKFOL","v2_guide_usage.md":"DapNg4e5","v2_index.md":"DJxV8Ady"} +{"components_booster-iframe.md":"DewifIWH","components_booster-image.md":"DI1CXARJ","components_booster-layer.md":"CbnxCS7q","components_booster-picture.md":"CdFj24tC","components_booster-vimeo.md":"B77xNqAi","components_booster-youtube.md":"BIu7DkrA","components_weak-hardware-overlay.md":"WUAVIls3","composables_useboostercomponentobserver.md":"BkQ4hcz3","composables_useboosterconfig.md":"B6NOls_e","composables_useboostercritical.md":"Dyi4Zgv_","composables_useboosterfont.md":"Ccydds_O","composables_useboosterhead.md":"DIrqPJig","composables_useboosterhydrate.md":"dvXW5RST","concept.md":"682dqkbQ","directives_v-font.md":"CGop7P5Z","guide_caveats.md":"B7VTlpms","guide_options.md":"J-S7YiMG","guide_setup.md":"DP7Gnxgd","guide_usage.md":"IxRXWUKL","index.md":"TkpCxDr1","migration_v2-0-13.md":"DiDnxTT1","migration_v2-2-0.md":"QLI9GM6o","migration_v2.md":"lHvb4SrJ","migration_v3.1.0.md":"CO4dZGl5","migration_v3.md":"DJib9_zJ","v2_classes_loading-spinner.md":"Ny1XgwWK","v2_components_booster-iframe.md":"pnnV4ms5","v2_components_booster-image.md":"CqNwy1CV","v2_components_booster-layer.md":"DgIahzTB","v2_components_booster-picture.md":"8mw9vWsk","v2_components_booster-vimeo.md":"BE5KVc2K","v2_components_booster-youtube.md":"8gep-Xuj","v2_concept.md":"UIBM5ko-","v2_directives_v-font.md":"CbFUz2n3","v2_guide_caveats.md":"BrZu7Cm8","v2_guide_options.md":"CK_gYSfe","v2_guide_setup.md":"C6b-NSMp","v2_guide_usage.md":"DapNg4e5","v2_index.md":"DJxV8Ady"} diff --git a/index.html b/index.html index d41961f3e8..9beabb0de6 100644 --- a/index.html +++ b/index.html @@ -20,7 +20,7 @@
Skip to content
nuxt boosternuxt booster

Module for NuxtJS.

You are reading the documentation for Nuxt Booster (v3)!

Nuxt Booster takes over the lighthouse performance optimization of your generated website.

In order to achieve a performance score of 100/100, only the necessary resources located in the current viewport may be initialized when the page is loaded. This includes images, fonts and the js-modules. Until now, there has been no practical and usable concept to help developers maintain an overview and enable accurate targeting in NuxtJS projects.

This module addresses this problem and provides a holistic approach to intelligently load the necessary viewport related resources to reduce FCP, DCL, TTI, TBT and CLS.

We didn't reinvent the whole wheel. We adapt the lazy hydration concept of Markus Oberlehner to load js components in an efficient way, use the nuxt/image module as a base to retrieve optimized image resolutions for our picture and image components and add some new stuff to obtain a holistic solution.

Requirements

  • NodeJS >= 19
  • NuxtJS >= 3.5.0

Features

We provide the following CMS-friendly features:

  • dynamic loading of viewport based page resources like fonts, components, pictures, images and iframes
  • optional blocking of javascript execution by initial performance measuring
  • optimized initial load of javascript files by eliminating of unnecessary javascript files
  • prevents the loading of unnecessary resources (including components) that are outside the current viewport.
  • optional info layer concept to inform users about a reduced UX when bandwidth or hardware is compromised.
  • completely new approach of font declaration
  • optimized picture component (supports viewport based sources e.g. landscape/portrait)
  • optimized image component
  • supports SEO-friendly lazy hydration mode (picture + image)
  • optimized youtube/vimeo component (auto generated poster image in different resolutions)

Results

  • delivery of the minimum required resources based on the current viewport
  • if you use the tools as specified you will get a lighthouse performance score of 100/100

Demos

- + \ No newline at end of file diff --git a/migration/v2-0-13.html b/migration/v2-0-13.html index cf491996c6..2720227781 100644 --- a/migration/v2-0-13.html +++ b/migration/v2-0-13.html @@ -27,7 +27,7 @@ </li>

replaced with

html
<li id="nuxt-booster-message-reduced-bandwidth">
   reduced-bandwidth
 </li>

Button Interactions

Button #nuxt-booster-button-init-font has been replaced by #nuxt-booster-button-init-reduced-view.

#nuxt-booster-button-init-reduced-view does the following when clicked:

  1. Sets the CSS class nuxt-booster-reduced-view on the html tag.
  2. Activates all fonts by setting the class font-active on all elements with the attribute data-font.
  3. Converts all not activated pictures (:hydrate="false") from noscript to picture.

INFO

The CSS class nuxt-booster-reduced-view is removed again at app initialization.

- + \ No newline at end of file diff --git a/migration/v2-2-0.html b/migration/v2-2-0.html index 4b410f92a2..4765742aa6 100644 --- a/migration/v2-2-0.html +++ b/migration/v2-2-0.html @@ -19,7 +19,7 @@
Skip to content

Migrate from v2.0.13 to v2.2.0

With the change to version 2.2.0 there are the following changes:

Package Structure

Package structure was updated.

Everything in the folder runtime is available with the alias #booster.

General

Old PathNew Path
nuxt-booster/hydrate#booster/hyrdate

Components

Old PathNew Path
nuxt-booster/components/abstracts/ComponentObserver#booster/components/abstracts/ComponentObserver
nuxt-booster/components/abstracts/OnlySsr#booster/components/abstracts/OnlySsr
nuxt-booster/components/GoogleLighthouse#booster/components/GoogleLighthouse
nuxt-booster/components/BoosterImage#booster/components/BoosterImage
nuxt-booster/components/BoosterPicture#booster/components/BoosterPicture
nuxt-booster/components/BoosterVimeo#booster/components/BoosterVimeo
nuxt-booster/components/BoosterYoutube#booster/components/BoosterYoutube
nuxt-booster/components/BoosterIframe#booster/components/BoosterIframe
nuxt-booster/components/BoosterImage#booster/components/BoosterImage
nuxt-booster/components/BoosterLayer#booster/components/BoosterLayer
nuxt-booster/components/BoosterPicture#booster/components/BoosterPicture
nuxt-booster/components/BoosterVimeo#booster/components/BoosterVimeo
nuxt-booster/components/BoosterYoutube#booster/components/BoosterYoutube

Utils

Old PathNew Path
nuxt-booster/utils#booster/utils
nuxt-booster/utils/base64#booster/utils/base64
nuxt-booster/utils/browser#booster/utils/browser
nuxt-booster/utils/description#booster/utils/description
nuxt-booster/utils/lighthouse#booster/utils/lighthouse
nuxt-booster/utils/mimeType#booster/utils/mimeType
nuxt-booster/utils/performance#booster/utils/performance
nuxt-booster/utils/placeholder#booster/utils/placeholder
nuxt-booster/utils/string#booster/utils/string
nuxt-booster/utils/support#booster/utils/support
- + \ No newline at end of file diff --git a/migration/v2.html b/migration/v2.html index 055f4b3fd0..6648d5d8b2 100644 --- a/migration/v2.html +++ b/migration/v2.html @@ -36,7 +36,7 @@ { src: '/img/landscape.png', sizes: { md: '100vw' }, media: '(orientation: landscape)' }, { src: '/img/portrait.png', sizes: { default: '100vw', sm: '100vw' }, media: '(orientation: portrait)' } ]

More information about the integration of BoosterPicture can be found here.

WARNING

Important: In the new version of BoosterPicture the placeholder property is no longer included.

BoosterYoutube / BoosterYoutubeExperimental

With the change of the BoosterPicture also BoosterYoutube and BoosterYoutubeExperimental were reduced to BoosterYoutube.

The events loading and enter have been removed.

More information about the integration of BoosterYoutube can be found here.

BoosterIframe

Property intersectionObserver was renamed to componentObserver.

More information about the integration of BoosterIframe can be found here.

- + \ No newline at end of file diff --git a/migration/v3.1.0.html b/migration/v3.1.0.html index b50d11dbdd..856ee859d8 100644 --- a/migration/v3.1.0.html +++ b/migration/v3.1.0.html @@ -55,7 +55,7 @@ ]" /> </template> - + \ No newline at end of file diff --git a/migration/v3.html b/migration/v3.html index 39a1908263..8ae8b599df 100644 --- a/migration/v3.html +++ b/migration/v3.html @@ -29,7 +29,7 @@ </script>

for the use of critical components.

html
<template>
   <component critical></component>
 </template>
- + \ No newline at end of file diff --git a/playground/200.html b/playground/200.html index 193b94f5cd..d3598d6df7 100644 --- a/playground/200.html +++ b/playground/200.html @@ -4,5 +4,5 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/playground/404.html b/playground/404.html index 193b94f5cd..d3598d6df7 100644 --- a/playground/404.html +++ b/playground/404.html @@ -4,5 +4,5 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/playground/_nuxt/WYEhzYAF.js b/playground/_nuxt/-_8sziUr.js similarity index 91% rename from playground/_nuxt/WYEhzYAF.js rename to playground/_nuxt/-_8sziUr.js index 50bb4ba481..087dbab19d 100644 --- a/playground/_nuxt/WYEhzYAF.js +++ b/playground/_nuxt/-_8sziUr.js @@ -1 +1 @@ -import{a3 as n,C as u,E as c}from"./BJCUWH2W.js";function l({tag:e}={}){const t=n("semanticStructure_parentLevel",1)+1,r=n("semanticStructure_rootLevel",1),a=u(()=>o(t-r)),s=u(()=>e||`h${a.value}`);return{currentLevel:a,currentTag:s}}const o=e=>Math.max(1,Math.min(e,6)),g={name:"ContentHeadline",props:{tag:{type:String,default:null},debug:{type:Boolean,default(){return n("semanticStructure_debug",!1)}}},setup(){const{parentLevel:e,currentLevel:t,currentTag:r}=l();return{parentLevel:e,currentLevel:t,currentTag:r}},render(){const{currentTag:e,currentLevel:t}=this;return c(e,{...this.$attrs,...i(this)},{default:()=>this.$slots.default({currentTag:e,currentLevel:t})})}},i=e=>e.debug?{"data-current-tag":e.currentTag,"data-current-level":e.currentLevel}:{};export{g as C}; +import{a3 as n,C as u,E as c}from"./CjsmL4Sh.js";function l({tag:e}={}){const t=n("semanticStructure_parentLevel",1)+1,r=n("semanticStructure_rootLevel",1),a=u(()=>o(t-r)),s=u(()=>e||`h${a.value}`);return{currentLevel:a,currentTag:s}}const o=e=>Math.max(1,Math.min(e,6)),g={name:"ContentHeadline",props:{tag:{type:String,default:null},debug:{type:Boolean,default(){return n("semanticStructure_debug",!1)}}},setup(){const{parentLevel:e,currentLevel:t,currentTag:r}=l();return{parentLevel:e,currentLevel:t,currentTag:r}},render(){const{currentTag:e,currentLevel:t}=this;return c(e,{...this.$attrs,...i(this)},{default:()=>this.$slots.default({currentTag:e,currentLevel:t})})}},i=e=>e.debug?{"data-current-tag":e.currentTag,"data-current-level":e.currentLevel}:{};export{g as C}; diff --git a/playground/_nuxt/D9IkFdcV.js b/playground/_nuxt/10z99Bny.js similarity index 76% rename from playground/_nuxt/D9IkFdcV.js rename to playground/_nuxt/10z99Bny.js index 0a8eb1fd78..45d97dbfec 100644 --- a/playground/_nuxt/D9IkFdcV.js +++ b/playground/_nuxt/10z99Bny.js @@ -1 +1 @@ -import{_ as a}from"./Bu95GgB-.js";import{c as u,b as o,w as t,u as r,o as l,d as s}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BjfvBlRB.js";const Q={__name:"2",setup(m){return(d,n)=>(l(),u("div",null,[o(r(a),{font:["Quicksand",300,"normal"]},{default:t(()=>n[0]||(n[0]=[s(" Quicksand - 300 - normal ")])),_:1}),o(r(a),{font:["Quicksand",400,"normal"]},{default:t(()=>n[1]||(n[1]=[s(" Quicksand - 400 - normal ")])),_:1}),o(r(a),{font:["Quicksand",500,"normal"]},{default:t(()=>n[2]||(n[2]=[s(" Quicksand - 500 - normal ")])),_:1}),o(r(a),{font:["Quicksand",600,"normal"]},{default:t(()=>n[3]||(n[3]=[s(" Quicksand - 600 - normal ")])),_:1}),o(r(a),{font:["Quicksand",700,"normal"]},{default:t(()=>n[4]||(n[4]=[s(" Quicksand - 700 - normal ")])),_:1})]))}};export{Q as default}; +import{_ as a}from"./DDXAZ09w.js";import{c as u,b as o,w as t,u as r,o as l,d as s}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./BkRKQfnI.js";const Q={__name:"2",setup(m){return(d,n)=>(l(),u("div",null,[o(r(a),{font:["Quicksand",300,"normal"]},{default:t(()=>n[0]||(n[0]=[s(" Quicksand - 300 - normal ")])),_:1}),o(r(a),{font:["Quicksand",400,"normal"]},{default:t(()=>n[1]||(n[1]=[s(" Quicksand - 400 - normal ")])),_:1}),o(r(a),{font:["Quicksand",500,"normal"]},{default:t(()=>n[2]||(n[2]=[s(" Quicksand - 500 - normal ")])),_:1}),o(r(a),{font:["Quicksand",600,"normal"]},{default:t(()=>n[3]||(n[3]=[s(" Quicksand - 600 - normal ")])),_:1}),o(r(a),{font:["Quicksand",700,"normal"]},{default:t(()=>n[4]||(n[4]=[s(" Quicksand - 700 - normal ")])),_:1})]))}};export{Q as default}; diff --git a/playground/_nuxt/7ZPV30DW.js b/playground/_nuxt/7ZPV30DW.js new file mode 100644 index 0000000000..0a88215607 --- /dev/null +++ b/playground/_nuxt/7ZPV30DW.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C6zQ8ori.js","./y5GrT0-i.js","./BkRKQfnI.js","./mB1EKFO1.js","./CjsmL4Sh.js","./entry.hZzTrknk.css","./Button.Ci53V_g1.css","./pZgWsOJl.js","./EEDi2Un_.js","./BRWpFFLA.js","./LUNLrBEh.js","./Bxz71LHV.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./BoosterVimeo.DNsFb9an.css","./eYyQ5PUj.js","./DF01ioch.js","./-_8sziUr.js","./PreviewContainer.CRgiiAeH.css"])))=>i.map(i=>d[i]); +import{_ as s}from"./BkRKQfnI.js";import{c as r,F as m,q as l,e as c,o,b as n,m as u,u as _}from"./CjsmL4Sh.js";const V={__name:"index",setup(p){const a=c()(()=>s(()=>import("./C6zQ8ori.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url)),i=[{vimeoUrl:"https://vimeo.com/288344114",title:"Vimeo 1"},{vimeoUrl:"https://vimeo.com/288344114",title:"Vimeo 2",autoplay:!0}];return(v,f)=>(o(),r("div",null,[(o(),r(m,null,l(i,(e,t)=>n(_(a),u({id:`vimeo-${t}`,ref_for:!0},e,{key:e.vimeoUrl,critical:t<1}),null,16,["id","critical"])),64))]))}};export{V as default}; diff --git a/playground/_nuxt/DNCE5Gjk.js b/playground/_nuxt/B1wO8YPN.js similarity index 85% rename from playground/_nuxt/DNCE5Gjk.js rename to playground/_nuxt/B1wO8YPN.js index efa62d8b55..65c7601684 100644 --- a/playground/_nuxt/DNCE5Gjk.js +++ b/playground/_nuxt/B1wO8YPN.js @@ -1 +1 @@ -import{_}from"./CqVbfMZk.js";import{_ as l,r as p,c as o,a,F as u,q as d,b as m,s as f,o as s,p as B,w as x,d as y,t as H,m as v,v as g}from"./BJCUWH2W.js";import"./BjfvBlRB.js";const k={class:"test-transition"},T={class:"links"},h={__name:"useBoosterHead",setup(N){const{public:{isTest:n}}=f(),r=p([{to:"/useBoosterHead",title:"Transition 1"},{to:"/useBoosterHead/1",title:"Transition 2"},{to:"/useBoosterHead/2",title:"Transition 3"},{class:"link-empty-1",to:"/useBoosterHead/empty-1",title:"Empty 1"},{class:"link-empty-2",to:"/useBoosterHead/empty-2",title:"Empty 2"}].map(t=>({...t,to:n?t.to:`/tests${t.to}`})));return(t,E)=>{const c=_,i=g;return s(),o("div",k,[a("div",T,[(s(!0),o(u,null,d(r.value,e=>(s(),B(c,v({key:e.title,ref_for:!0},e),{default:x(()=>[y(H(e.title),1)]),_:2},1040))),128))]),a("div",null,[m(i)])])}}},C=l(h,[["__scopeId","data-v-7c893dfd"]]);export{C as default}; +import{_}from"./DPGIFjId.js";import{_ as l,r as p,c as o,a,F as u,q as d,b as m,s as f,o as s,p as B,w as x,d as y,t as H,m as v,v as g}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";const k={class:"test-transition"},T={class:"links"},h={__name:"useBoosterHead",setup(N){const{public:{isTest:n}}=f(),r=p([{to:"/useBoosterHead",title:"Transition 1"},{to:"/useBoosterHead/1",title:"Transition 2"},{to:"/useBoosterHead/2",title:"Transition 3"},{class:"link-empty-1",to:"/useBoosterHead/empty-1",title:"Empty 1"},{class:"link-empty-2",to:"/useBoosterHead/empty-2",title:"Empty 2"}].map(t=>({...t,to:n?t.to:`/tests${t.to}`})));return(t,E)=>{const c=_,i=g;return s(),o("div",k,[a("div",T,[(s(!0),o(u,null,d(r.value,e=>(s(),B(c,v({key:e.title,ref_for:!0},e),{default:x(()=>[y(H(e.title),1)]),_:2},1040))),128))]),a("div",null,[m(i)])])}}},C=l(h,[["__scopeId","data-v-7c893dfd"]]);export{C as default}; diff --git a/playground/_nuxt/Cz3YY00M.js b/playground/_nuxt/B2q3ibDH.js similarity index 75% rename from playground/_nuxt/Cz3YY00M.js rename to playground/_nuxt/B2q3ibDH.js index d1104fac23..eba8218a8d 100644 --- a/playground/_nuxt/Cz3YY00M.js +++ b/playground/_nuxt/B2q3ibDH.js @@ -1 +1 @@ -import{B as c}from"./jBDxcIpy.js";import{B as i}from"./DVMzMYu-.js";import{_ as l,y as u,o as a,p as d,w as r,z as p,c as f,a as m,t as o,b as _,u as e,d as v}from"./BJCUWH2W.js";import{a as x}from"./CVy7LHL-.js";const b={__name:"WeakHardwareOverlay",props:{text:{type:String,default:"To improve your experience, extensive features have been disabled."},buttonText:{type:String,default:"Click here to enable them."}},setup(t){const{$getFont:s}=x();return(B,y)=>{const n=u("font");return a(),d(e(c),null,{default:r(()=>[p((a(),f("div",null,[m("p",null,o(t.text),1),_(e(i),{class:"nuxt-booster-button-init-app"},{default:r(()=>[v(o(t.buttonText),1)]),_:1})])),[[n,e(s)("Montserrat Alternates",400,"normal")]])]),_:1})}}},T=l(b,[["__scopeId","data-v-0ed2b2ab"]]);export{T as W}; +import{B as c}from"./Cn26epyG.js";import{B as i}from"./B92XiNJi.js";import{_ as l,y as u,o as a,p as d,w as r,z as p,c as f,a as m,t as o,b as _,u as e,d as v}from"./CjsmL4Sh.js";import{a as x}from"./LUNLrBEh.js";const b={__name:"WeakHardwareOverlay",props:{text:{type:String,default:"To improve your experience, extensive features have been disabled."},buttonText:{type:String,default:"Click here to enable them."}},setup(t){const{$getFont:s}=x();return(B,y)=>{const n=u("font");return a(),d(e(c),null,{default:r(()=>[p((a(),f("div",null,[m("p",null,o(t.text),1),_(e(i),{class:"nuxt-booster-button-init-app"},{default:r(()=>[v(o(t.buttonText),1)]),_:1})])),[[n,e(s)("Montserrat Alternates",400,"normal")]])]),_:1})}}},T=l(b,[["__scopeId","data-v-0ed2b2ab"]]);export{T as W}; diff --git a/playground/_nuxt/BgQyaHrt.js b/playground/_nuxt/B2rQzJuS.js similarity index 82% rename from playground/_nuxt/BgQyaHrt.js rename to playground/_nuxt/B2rQzJuS.js index c77f02c229..0f3213d908 100644 --- a/playground/_nuxt/BgQyaHrt.js +++ b/playground/_nuxt/B2rQzJuS.js @@ -1 +1 @@ -import{o as r,c as n,a as o,_ as m,r as d,j as f,b as a,u as t,w as c,T as p,m as g,y as v,z as w,t as i,x as _}from"./BJCUWH2W.js";import{_ as h}from"./RYnl7rm0.js";import{_ as x}from"./dwf3Gt_l.js";import{C as k}from"./WYEhzYAF.js";import{a as y}from"./CVy7LHL-.js";import"./BjfvBlRB.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BaH-g7BJ.js";const C={xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor","stroke-width":"2",class:"h-6 w-6",viewBox:"0 0 24 24"};function S(e,s){return r(),n("svg",C,s[0]||(s[0]=[o("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19 9-7 7-7-7"},null,-1)]))}const B={render:S},b={class:"component-stage",level:-1},j={class:"content"},D={class:"claim"},$={key:0,class:"arrow"},I={__name:"Stage",props:{picture:{type:Object,required:!0},image:{type:Object,default(){return{source:{src:"/icon.png",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}},title:"Image Title",alt:"Image Alt"}}},content:{type:String,default(){return"Headline"}},claim:{type:String,default(){return"Claim"}}},setup(e){const{$getFont:s}=y(),l=d(!1);return f(()=>l.value=!0),(M,N)=>{const u=v("font");return r(),n("header",b,[a(t(h),{class:"background",title:e.picture.title,alt:e.picture.alt,sources:e.picture.sources},null,8,["title","alt","sources"]),a(t(k),{class:"headline"},{default:c(()=>[w((r(),n("span",null,[o("span",j,i(e.content),1),o("span",D,i(e.claim),1)])),[[u,[t(s)("Montserrat Alternates",700,"normal",{selector:".content"}),t(s)("Merriweather",300,"italic",{selector:".claim"})]]])]),_:1}),a(p,{name:"fade"},{default:c(()=>[l.value?(r(),n("span",$,[a(t(B))])):_("",!0)]),_:1}),a(t(x),g({class:"logo"},e.image,{"loading-spinner":null}),null,16)])}}},P=m(I,[["__scopeId","data-v-f2fe7cea"]]);export{P as default}; +import{o as r,c as n,a as o,_ as m,r as d,j as f,b as a,u as t,w as c,T as p,m as g,y as v,z as w,t as i,x as _}from"./CjsmL4Sh.js";import{_ as h}from"./pZgWsOJl.js";import{_ as x}from"./BGKF9MgV.js";import{C as k}from"./-_8sziUr.js";import{a as y}from"./LUNLrBEh.js";import"./BkRKQfnI.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./Bxz71LHV.js";const C={xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor","stroke-width":"2",class:"h-6 w-6",viewBox:"0 0 24 24"};function S(e,s){return r(),n("svg",C,s[0]||(s[0]=[o("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19 9-7 7-7-7"},null,-1)]))}const B={render:S},b={class:"component-stage",level:-1},j={class:"content"},D={class:"claim"},$={key:0,class:"arrow"},I={__name:"Stage",props:{picture:{type:Object,required:!0},image:{type:Object,default(){return{source:{src:"/icon.png",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}},title:"Image Title",alt:"Image Alt"}}},content:{type:String,default(){return"Headline"}},claim:{type:String,default(){return"Claim"}}},setup(e){const{$getFont:s}=y(),l=d(!1);return f(()=>l.value=!0),(M,N)=>{const u=v("font");return r(),n("header",b,[a(t(h),{class:"background",title:e.picture.title,alt:e.picture.alt,sources:e.picture.sources},null,8,["title","alt","sources"]),a(t(k),{class:"headline"},{default:c(()=>[w((r(),n("span",null,[o("span",j,i(e.content),1),o("span",D,i(e.claim),1)])),[[u,[t(s)("Montserrat Alternates",700,"normal",{selector:".content"}),t(s)("Merriweather",300,"italic",{selector:".claim"})]]])]),_:1}),a(p,{name:"fade"},{default:c(()=>[l.value?(r(),n("span",$,[a(t(B))])):_("",!0)]),_:1}),a(t(x),g({class:"logo"},e.image,{"loading-spinner":null}),null,16)])}}},P=m(I,[["__scopeId","data-v-f2fe7cea"]]);export{P as default}; diff --git a/playground/_nuxt/tHjQOXKc.js b/playground/_nuxt/B83FREsi.js similarity index 87% rename from playground/_nuxt/tHjQOXKc.js rename to playground/_nuxt/B83FREsi.js index 33afabb302..a4465bc753 100644 --- a/playground/_nuxt/tHjQOXKc.js +++ b/playground/_nuxt/B83FREsi.js @@ -1 +1 @@ -import{P as m}from"./C4XEkXCj.js";import{_ as f,y as v,z as M,u as r,o,c as i,d as h,t as w,F as x,q as z,p as u,m as _,k as S,w as s,b as c,a as p}from"./BJCUWH2W.js";import{a as y}from"./CVy7LHL-.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";const A={__name:"ScrollItem",props:{font:{type:Array,required:!0}},setup(t){const{$getFont:n}=y();return(l,e)=>{const a=v("font");return M((o(),i("div",null,[h(w(t.font.join(" - ")),1)])),[[a,r(n)(...t.font)]])}}},B=f(A,[["__scopeId","data-v-9f6129da"]]),$={__name:"ScrollContainer",props:{directionHorizontal:{type:Boolean,default:!1},items:{type:Array,required:!0}},setup(t){return(n,l)=>(o(),i("div",{class:S(["scroll-container",{"direction-horizontal":t.directionHorizontal}])},[(o(!0),i(x,null,z(t.items,(e,a)=>(o(),u(r(B),_({key:a,class:`item item-${a}`,index:a,ref_for:!0},e),null,16,["class","index"]))),128))],2))}},d=f($,[["__scopeId","data-v-4f032e16"]]),k={__name:"Horizontal",setup(t){const n={directionHorizontal:!0,items:[{font:["Merriweather",300,"normal"]},{font:["Merriweather",300,"italic"]},{font:["Merriweather",400,"normal"]},{font:["Merriweather",400,"italic"]},{font:["Merriweather",700,"normal"]},{font:["Merriweather",700,"italic"]}]};return(l,e)=>(o(),u(r(m),null,{default:s(()=>[c(r(d),_({id:"horizontalScroll"},n),null,16)]),title:s(()=>e[0]||(e[0]=[p("p",null,"Horizontal Scroll - v-font",-1)])),_:1}))}},C={__name:"Vertical",setup(t){const n={items:[{font:["Montserrat Alternates",300,"normal"]},{font:["Montserrat Alternates",300,"italic"]},{font:["Montserrat Alternates",400,"normal"]},{font:["Montserrat Alternates",400,"italic"]},{font:["Montserrat Alternates",700,"normal"]},{font:["Montserrat Alternates",700,"italic"]}]};return(l,e)=>(o(),u(r(m),null,{default:s(()=>[c(r(d),_({id:"verticalScroll"},n),null,16)]),title:s(()=>e[0]||(e[0]=[p("p",null,"Vertical Scroll - v-font",-1)])),_:1}))}},N={__name:"index",setup(t){return(n,l)=>(o(),i("div",null,[c(r(k)),c(r(C))]))}};export{N as default}; +import{P as m}from"./eYyQ5PUj.js";import{_ as f,y as v,z as M,u as r,o,c as i,d as h,t as w,F as x,q as z,p as u,m as _,k as S,w as s,b as c,a as p}from"./CjsmL4Sh.js";import{a as y}from"./LUNLrBEh.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";const A={__name:"ScrollItem",props:{font:{type:Array,required:!0}},setup(t){const{$getFont:n}=y();return(l,e)=>{const a=v("font");return M((o(),i("div",null,[h(w(t.font.join(" - ")),1)])),[[a,r(n)(...t.font)]])}}},B=f(A,[["__scopeId","data-v-9f6129da"]]),$={__name:"ScrollContainer",props:{directionHorizontal:{type:Boolean,default:!1},items:{type:Array,required:!0}},setup(t){return(n,l)=>(o(),i("div",{class:S(["scroll-container",{"direction-horizontal":t.directionHorizontal}])},[(o(!0),i(x,null,z(t.items,(e,a)=>(o(),u(r(B),_({key:a,class:`item item-${a}`,index:a,ref_for:!0},e),null,16,["class","index"]))),128))],2))}},d=f($,[["__scopeId","data-v-4f032e16"]]),k={__name:"Horizontal",setup(t){const n={directionHorizontal:!0,items:[{font:["Merriweather",300,"normal"]},{font:["Merriweather",300,"italic"]},{font:["Merriweather",400,"normal"]},{font:["Merriweather",400,"italic"]},{font:["Merriweather",700,"normal"]},{font:["Merriweather",700,"italic"]}]};return(l,e)=>(o(),u(r(m),null,{default:s(()=>[c(r(d),_({id:"horizontalScroll"},n),null,16)]),title:s(()=>e[0]||(e[0]=[p("p",null,"Horizontal Scroll - v-font",-1)])),_:1}))}},C={__name:"Vertical",setup(t){const n={items:[{font:["Montserrat Alternates",300,"normal"]},{font:["Montserrat Alternates",300,"italic"]},{font:["Montserrat Alternates",400,"normal"]},{font:["Montserrat Alternates",400,"italic"]},{font:["Montserrat Alternates",700,"normal"]},{font:["Montserrat Alternates",700,"italic"]}]};return(l,e)=>(o(),u(r(m),null,{default:s(()=>[c(r(d),_({id:"verticalScroll"},n),null,16)]),title:s(()=>e[0]||(e[0]=[p("p",null,"Vertical Scroll - v-font",-1)])),_:1}))}},N={__name:"index",setup(t){return(n,l)=>(o(),i("div",null,[c(r(k)),c(r(C))]))}};export{N as default}; diff --git a/playground/_nuxt/DVMzMYu-.js b/playground/_nuxt/B92XiNJi.js similarity index 80% rename from playground/_nuxt/DVMzMYu-.js rename to playground/_nuxt/B92XiNJi.js index f06e0781a2..cd5ded5d9c 100644 --- a/playground/_nuxt/DVMzMYu-.js +++ b/playground/_nuxt/B92XiNJi.js @@ -1 +1 @@ -import{_ as l,a5 as i,C as u,y as c,z as p,u as f,o as d,p as m,w as v,A as _,d as b,t as B,ag as g}from"./BJCUWH2W.js";import{a as k}from"./CVy7LHL-.js";const y={__name:"Button",props:{tag:{type:String,default:"button"},label:{type:String,default:"Button Label"}},emits:["click"],setup(o){const{$getFont:a}=k(),e=i(),n=u(()=>e.for?"label":e.to?"NuxtLink":"button");return(t,s)=>{const r=c("font");return p((d(),m(g(n.value),{class:"base-button",onClick:s[0]||(s[0]=$=>t.$emit("click",t.e))},{default:v(()=>[_(t.$slots,"default",{},()=>[b(B(o.label),1)],!0)]),_:3})),[[r,f(a)("Quicksand",400,"normal")]])}}},S=l(y,[["__scopeId","data-v-e4ca9d38"]]);export{S as B}; +import{_ as l,a5 as i,C as u,y as c,z as p,u as f,o as d,p as m,w as v,A as _,d as b,t as B,ag as g}from"./CjsmL4Sh.js";import{a as k}from"./LUNLrBEh.js";const y={__name:"Button",props:{tag:{type:String,default:"button"},label:{type:String,default:"Button Label"}},emits:["click"],setup(o){const{$getFont:a}=k(),e=i(),n=u(()=>e.for?"label":e.to?"NuxtLink":"button");return(t,s)=>{const r=c("font");return p((d(),m(g(n.value),{class:"base-button",onClick:s[0]||(s[0]=$=>t.$emit("click",t.e))},{default:v(()=>[_(t.$slots,"default",{},()=>[b(B(o.label),1)],!0)]),_:3})),[[r,f(a)("Quicksand",400,"normal")]])}}},S=l(y,[["__scopeId","data-v-e4ca9d38"]]);export{S as B}; diff --git a/playground/_nuxt/BAO3UZYD.js b/playground/_nuxt/BAO3UZYD.js deleted file mode 100644 index e817764361..0000000000 --- a/playground/_nuxt/BAO3UZYD.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dyi8jvlC.js","./BPxgvQKP.js","./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css","./CVy7LHL-.js","./BRWpFFLA.js","./LoaderTest.Bnvg-rrK.css","./C4XEkXCj.js","./BM-fWYud.js","./WYEhzYAF.js","./PreviewContainer.CRgiiAeH.css","./By2RZTY2.js","./DR3qABvw.js","./CJSAzHnX.js"])))=>i.map(i=>d[i]); -import{_ as e}from"./BjfvBlRB.js";import{f as l,h as p,c as E,b as r,u as o,e as f,i as h,o as y}from"./BJCUWH2W.js";const V={__name:"index",setup(v){const t=f(),s=l(),_=i=>(a,d)=>{if(["tests-booster-hydrate","booster-hydrate"].includes(s.currentRoute.value))return h(i)(a,d);a()},u=t(()=>e(()=>import("./Dyi8jvlC.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url),()=>_()),c=t(()=>e(()=>import("./By2RZTY2.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),n=t(()=>e(()=>import("./DR3qABvw.js"),__vite__mapDeps([13,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),m=t(()=>e(()=>import("./CJSAzHnX.js"),__vite__mapDeps([14,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url),()=>p("(max-width:500px)"));return(i,a)=>(y(),E("div",null,[r(o(c),{critical:""}),r(o(n)),r(o(m)),r(o(u))]))}};export{V as default}; diff --git a/playground/_nuxt/CbsJcGBg.js b/playground/_nuxt/BE0Zwe0E.js similarity index 79% rename from playground/_nuxt/CbsJcGBg.js rename to playground/_nuxt/BE0Zwe0E.js index 7bffb3dd68..42f15550db 100644 --- a/playground/_nuxt/CbsJcGBg.js +++ b/playground/_nuxt/BE0Zwe0E.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BgQyaHrt.js","./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css","./RYnl7rm0.js","./BvEpi-l_.js","./BRWpFFLA.js","./CVy7LHL-.js","./BaH-g7BJ.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./dwf3Gt_l.js","./WYEhzYAF.js","./Stage.BBZJQmEt.css","./ChED4f6c.js","./BM-fWYud.js","./TextFontA.DhXBam7p.css","./CoYLIKWQ.js","./ImageText.v-qTdL46.css","./DSniyKa7.js","./TextFontB.CnWmJvZx.css","./CfXz8K5-.js","./CLMwxf9V.js","./B9JxpZf2.js","./Button.Ci53V_g1.css","./BoosterYoutube.CWVIT5bz.css","./Cz3YY00M.js","./jBDxcIpy.js","./WeakHardwareOverlay.BDCaaWtq.css","./DVMzMYu-.js","./Button.B9fudpOR.css","./WeakHardwareOverlay.Cxt6PbvY.css","./VideoYoutube.Cxkz_QeJ.css","./CHFZb6Qu.js","./BGVK_AWX.js","./BoosterVimeo.DNsFb9an.css","./VideoVimeo.CnN-OGOI.css"])))=>i.map(i=>d[i]); -import{_ as u}from"./BjfvBlRB.js";import{_ as h,c as w,b as e,n as i,g as s,u as t,e as f,o as A}from"./BJCUWH2W.js";const E={class:"page-index"},T={__name:"index",setup(B){const a=f(),l=a(()=>u(()=>import("./BgQyaHrt.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),o=a(()=>u(()=>import("./ChED4f6c.js"),__vite__mapDeps([14,15,1,2,3,12,7,6,16]),import.meta.url)),r=a(()=>u(()=>import("./CoYLIKWQ.js"),__vite__mapDeps([17,4,5,1,2,3,6,7,8,9,10,15,12,18]),import.meta.url)),m=a(()=>u(()=>import("./DSniyKa7.js"),__vite__mapDeps([19,15,1,2,3,12,7,6,20]),import.meta.url)),p=a(()=>u(()=>import("./CfXz8K5-.js"),__vite__mapDeps([21,22,23,1,2,3,24,4,5,6,7,8,9,10,25,26,27,28,29,30,31,15,32]),import.meta.url)),n=a(()=>u(()=>import("./CHFZb6Qu.js"),__vite__mapDeps([33,34,2,23,1,3,24,4,5,6,7,8,9,10,35,26,27,28,29,30,31,15,36]),import.meta.url)),d={critical:!0,content:"nuxt-booster",claim:"powered by Basics",picture:{title:"Stage",sources:[{src:"/img/stage-landscape.jpg",sizes:{sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"},media:"(orientation: landscape)"},{src:"/img/stage-portrait.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw"},media:"(orientation: portrait)"}]}},c={headline:"Text A",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

"},g={headline:"Image Text A",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

",picture:{title:"Image Text A",sources:[{src:"/img/image-text-a.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]}},v={title:"Youtube",url:"https://www.youtube.com/watch?v=cLKvbhfVBUU",text:"Nunc odio nisl dapibus consequat recusandae doloremque nisi natus repudiandae do accusantium corrupti. Harum quisquam, maxime, perspiciatis lobortis earum iure."},b={alignRight:!0,headline:"Image Text B",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

",picture:{title:"Image Text B",sources:[{src:"/img/image-text-b.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]}},q={url:"https://vimeo.com/288344114",text:"Nunc odio nisl dapibus consequat recusandae doloremque nisi natus repudiandae do accusantium corrupti. Harum quisquam, maxime, perspiciatis lobortis earum iure."},_={headline:"Text B",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

"},x={url:"https://vimeo.com/288344114",text:"Nunc odio nisl dapibus consequat recusandae doloremque nisi natus repudiandae do accusantium corrupti. Harum quisquam, maxime, perspiciatis lobortis earum iure."};return(V,I)=>(A(),w("div",E,[e(t(l),i(s(d)),null,16),e(t(o),i(s(c)),null,16),e(t(r),i(s(g)),null,16),e(t(p),i(s(v)),null,16),e(t(n),i(s(q)),null,16),e(t(o),i(s(c)),null,16),e(t(r),i(s(b)),null,16),e(t(m),i(s(_)),null,16),e(t(n),i(s(x)),null,16)]))}},N=h(T,[["__scopeId","data-v-14458575"]]);export{N as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./B2rQzJuS.js","./CjsmL4Sh.js","./BkRKQfnI.js","./entry.hZzTrknk.css","./pZgWsOJl.js","./EEDi2Un_.js","./BRWpFFLA.js","./LUNLrBEh.js","./Bxz71LHV.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./BGKF9MgV.js","./-_8sziUr.js","./Stage.BBZJQmEt.css","./C92n6QJB.js","./DF01ioch.js","./TextFontA.DhXBam7p.css","./DCpMjhK3.js","./ImageText.v-qTdL46.css","./JTE3c8T4.js","./TextFontB.CnWmJvZx.css","./D_wwBEHp.js","./tsmP51g_.js","./mB1EKFO1.js","./Button.Ci53V_g1.css","./BoosterYoutube.CWVIT5bz.css","./B2q3ibDH.js","./Cn26epyG.js","./WeakHardwareOverlay.BDCaaWtq.css","./B92XiNJi.js","./Button.B9fudpOR.css","./WeakHardwareOverlay.Cxt6PbvY.css","./VideoYoutube.Cxkz_QeJ.css","./D8NEurQR.js","./y5GrT0-i.js","./BoosterVimeo.DNsFb9an.css","./VideoVimeo.CnN-OGOI.css"])))=>i.map(i=>d[i]); +import{_ as u}from"./BkRKQfnI.js";import{_ as h,c as w,b as e,n as i,g as s,u as t,e as f,o as A}from"./CjsmL4Sh.js";const E={class:"page-index"},T={__name:"index",setup(B){const a=f(),l=a(()=>u(()=>import("./B2rQzJuS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),o=a(()=>u(()=>import("./C92n6QJB.js"),__vite__mapDeps([14,15,1,2,3,12,7,6,16]),import.meta.url)),r=a(()=>u(()=>import("./DCpMjhK3.js"),__vite__mapDeps([17,4,5,1,2,3,6,7,8,9,10,15,12,18]),import.meta.url)),m=a(()=>u(()=>import("./JTE3c8T4.js"),__vite__mapDeps([19,15,1,2,3,12,7,6,20]),import.meta.url)),p=a(()=>u(()=>import("./D_wwBEHp.js"),__vite__mapDeps([21,22,23,1,2,3,24,4,5,6,7,8,9,10,25,26,27,28,29,30,31,15,32]),import.meta.url)),n=a(()=>u(()=>import("./D8NEurQR.js"),__vite__mapDeps([33,34,2,23,1,3,24,4,5,6,7,8,9,10,35,26,27,28,29,30,31,15,36]),import.meta.url)),d={critical:!0,content:"nuxt-booster",claim:"powered by Basics",picture:{title:"Stage",sources:[{src:"/img/stage-landscape.jpg",sizes:{sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"},media:"(orientation: landscape)"},{src:"/img/stage-portrait.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw"},media:"(orientation: portrait)"}]}},c={headline:"Text A",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

"},g={headline:"Image Text A",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

",picture:{title:"Image Text A",sources:[{src:"/img/image-text-a.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]}},v={title:"Youtube",url:"https://www.youtube.com/watch?v=cLKvbhfVBUU",text:"Nunc odio nisl dapibus consequat recusandae doloremque nisi natus repudiandae do accusantium corrupti. Harum quisquam, maxime, perspiciatis lobortis earum iure."},b={alignRight:!0,headline:"Image Text B",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

",picture:{title:"Image Text B",sources:[{src:"/img/image-text-b.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]}},q={url:"https://vimeo.com/288344114",text:"Nunc odio nisl dapibus consequat recusandae doloremque nisi natus repudiandae do accusantium corrupti. Harum quisquam, maxime, perspiciatis lobortis earum iure."},_={headline:"Text B",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

"},x={url:"https://vimeo.com/288344114",text:"Nunc odio nisl dapibus consequat recusandae doloremque nisi natus repudiandae do accusantium corrupti. Harum quisquam, maxime, perspiciatis lobortis earum iure."};return(V,I)=>(A(),w("div",E,[e(t(l),i(s(d)),null,16),e(t(o),i(s(c)),null,16),e(t(r),i(s(g)),null,16),e(t(p),i(s(v)),null,16),e(t(n),i(s(q)),null,16),e(t(o),i(s(c)),null,16),e(t(r),i(s(b)),null,16),e(t(m),i(s(_)),null,16),e(t(n),i(s(x)),null,16)]))}},N=h(T,[["__scopeId","data-v-14458575"]]);export{N as default}; diff --git a/playground/_nuxt/BPxgvQKP.js b/playground/_nuxt/BFcHoi9x.js similarity index 84% rename from playground/_nuxt/BPxgvQKP.js rename to playground/_nuxt/BFcHoi9x.js index 9920f6ddb7..e3a13f7bf9 100644 --- a/playground/_nuxt/BPxgvQKP.js +++ b/playground/_nuxt/BFcHoi9x.js @@ -1 +1 @@ -import{_ as s,r as t,j as o,o as r,c,a as i,t as n,k as l,u}from"./BJCUWH2W.js";import{u as _}from"./CVy7LHL-.js";const p={__name:"LoaderTest",setup(v){const{isCritical:e}=_(),a=t(!1);return o(()=>a.value=!0),(d,m)=>(r(),c("div",{class:l(["loader-test",{active:a.value,critical:u(e)}])},[i("span",null,n(a.value?"active":"inactive"),1)],2))}},k=s(p,[["__scopeId","data-v-4e215c77"]]);export{k as L}; +import{_ as s,r as t,j as o,o as r,c,a as i,t as n,k as l,u}from"./CjsmL4Sh.js";import{u as _}from"./LUNLrBEh.js";const p={__name:"LoaderTest",setup(v){const{isCritical:e}=_(),a=t(!1);return o(()=>a.value=!0),(d,m)=>(r(),c("div",{class:l(["loader-test",{active:a.value,critical:u(e)}])},[i("span",null,n(a.value?"active":"inactive"),1)],2))}},k=s(p,[["__scopeId","data-v-4e215c77"]]);export{k as L}; diff --git a/playground/_nuxt/dwf3Gt_l.js b/playground/_nuxt/BGKF9MgV.js similarity index 73% rename from playground/_nuxt/dwf3Gt_l.js rename to playground/_nuxt/BGKF9MgV.js index b8f187dac3..4ca80e42ef 100644 --- a/playground/_nuxt/dwf3Gt_l.js +++ b/playground/_nuxt/BGKF9MgV.js @@ -1 +1 @@ -import{i,B as r,H as e}from"./BvEpi-l_.js";import{u as a}from"./CVy7LHL-.js";import{E as t}from"./BJCUWH2W.js";const c={props:{hydrate:{type:Boolean,default:!0},...i},setup(){const{isCritical:s}=a();return{isCritical:s}},render(){return this.hydrate?t(r,{...this.$attrs,...this.$props,hydrate:void 0,critical:this.isCritical}):t(e,{},[t("noscript",{class:"nuxt-booster-image-noscript"},[t(r,{...this.$attrs,...this.$props,hydrate:void 0,critical:this.hydrate})])])}};export{c as _}; +import{i,B as r,H as e}from"./EEDi2Un_.js";import{u as a}from"./LUNLrBEh.js";import{E as t}from"./CjsmL4Sh.js";const c={props:{hydrate:{type:Boolean,default:!0},...i},setup(){const{isCritical:s}=a();return{isCritical:s}},render(){return this.hydrate?t(r,{...this.$attrs,...this.$props,hydrate:void 0,critical:this.isCritical}):t(e,{},[t("noscript",{class:"nuxt-booster-image-noscript"},[t(r,{...this.$attrs,...this.$props,hydrate:void 0,critical:this.hydrate})])])}};export{c as _}; diff --git a/playground/_nuxt/BzYh0rsi.js b/playground/_nuxt/BH-WeKBU.js similarity index 60% rename from playground/_nuxt/BzYh0rsi.js rename to playground/_nuxt/BH-WeKBU.js index 481612c44e..05a49c84b3 100644 --- a/playground/_nuxt/BzYh0rsi.js +++ b/playground/_nuxt/BH-WeKBU.js @@ -1 +1 @@ -import{c as e,o as t}from"./BJCUWH2W.js";import"./BjfvBlRB.js";const _={__name:"index",setup(n){return(o,r)=>(t(),e("div",null,"blank"))}};export{_ as default}; +import{c as e,o as t}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";const _={__name:"index",setup(n){return(o,r)=>(t(),e("div",null,"blank"))}};export{_ as default}; diff --git a/playground/_nuxt/DEk0na8P.js b/playground/_nuxt/BNwfL0kl.js similarity index 92% rename from playground/_nuxt/DEk0na8P.js rename to playground/_nuxt/BNwfL0kl.js index 4d9a7d5333..52cd44a2a7 100644 --- a/playground/_nuxt/DEk0na8P.js +++ b/playground/_nuxt/BNwfL0kl.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BeK-kySw.js","./BRWpFFLA.js","./kIGpI0GX.js","./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css","./BoosterLayer.CjKOUvEQ.css","./DVMzMYu-.js","./CVy7LHL-.js","./Button.B9fudpOR.css","./BaH-g7BJ.js","./InfoLayer.CAOLl2KF.css","./C_OwKSm0.js","./GithubCorner.B_RW7PfI.css","./D0uwcCPI.js","./Bu95GgB-.js","./CqVbfMZk.js","./PageHeader.CDwwci5y.css"])))=>i.map(i=>d[i]); -import{_ as I}from"./BjfvBlRB.js";import{C as T}from"./BM-fWYud.js";import{B as R,C as M,r as D,o as A,c as x,b as p,m as L,u as N,w as S,A as O,p as H,x as C,e as U,D as P}from"./BJCUWH2W.js";import{u as V}from"./BaH-g7BJ.js";var w=function(){function d(s,h){for(var f=0;f"u"||typeof Element>"u")return;var d=Array.prototype.slice,s=Element.prototype.matches||Element.prototype.msMatchesSelector,h=["a[href]","area[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","details","summary","iframe","object","embed","video","[contenteditable]"].join(","),f=function(){function o(t,e){k(this,o),this._inertManager=e,this._rootElement=t,this._managedNodes=new Set,this._rootElement.hasAttribute("aria-hidden")?this._savedAriaHidden=this._rootElement.getAttribute("aria-hidden"):this._savedAriaHidden=null,this._rootElement.setAttribute("aria-hidden","true"),this._makeSubtreeUnfocusable(this._rootElement),this._observer=new MutationObserver(this._onMutation.bind(this)),this._observer.observe(this._rootElement,{attributes:!0,childList:!0,subtree:!0})}return w(o,[{key:"destructor",value:function(){this._observer.disconnect(),this._rootElement&&(this._savedAriaHidden!==null?this._rootElement.setAttribute("aria-hidden",this._savedAriaHidden):this._rootElement.removeAttribute("aria-hidden")),this._managedNodes.forEach(function(e){this._unmanageNode(e.node)},this),this._observer=null,this._rootElement=null,this._managedNodes=null,this._inertManager=null}},{key:"_makeSubtreeUnfocusable",value:function(e){var n=this;c(e,function(a){return n._visitNode(a)});var i=document.activeElement;if(!document.body.contains(e)){for(var r=e,u=void 0;r;){if(r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){u=r;break}r=r.parentNode}u&&(i=u.activeElement)}e.contains(i)&&(i.blur(),i===document.activeElement&&document.body.focus())}},{key:"_visitNode",value:function(e){if(e.nodeType===Node.ELEMENT_NODE){var n=e;n!==this._rootElement&&n.hasAttribute("inert")&&this._adoptInertRoot(n),(s.call(n,h)||n.hasAttribute("tabindex"))&&this._manageNode(n)}}},{key:"_manageNode",value:function(e){var n=this._inertManager.register(e,this);this._managedNodes.add(n)}},{key:"_unmanageNode",value:function(e){var n=this._inertManager.deregister(e,this);n&&this._managedNodes.delete(n)}},{key:"_unmanageSubtree",value:function(e){var n=this;c(e,function(i){return n._unmanageNode(i)})}},{key:"_adoptInertRoot",value:function(e){var n=this._inertManager.getInertRoot(e);n||(this._inertManager.setInert(e,!0),n=this._inertManager.getInertRoot(e)),n.managedNodes.forEach(function(i){this._manageNode(i.node)},this)}},{key:"_onMutation",value:function(e,n){e.forEach(function(i){var r=i.target;if(i.type==="childList")d.call(i.addedNodes).forEach(function(a){this._makeSubtreeUnfocusable(a)},this),d.call(i.removedNodes).forEach(function(a){this._unmanageSubtree(a)},this);else if(i.type==="attributes"){if(i.attributeName==="tabindex")this._manageNode(r);else if(r!==this._rootElement&&i.attributeName==="inert"&&r.hasAttribute("inert")){this._adoptInertRoot(r);var u=this._inertManager.getInertRoot(r);this._managedNodes.forEach(function(a){r.contains(a.node)&&u._manageNode(a.node)})}}},this)}},{key:"managedNodes",get:function(){return new Set(this._managedNodes)}},{key:"hasSavedAriaHidden",get:function(){return this._savedAriaHidden!==null}},{key:"savedAriaHidden",set:function(e){this._savedAriaHidden=e},get:function(){return this._savedAriaHidden}}]),o}(),l=function(){function o(t,e){k(this,o),this._node=t,this._overrodeFocusMethod=!1,this._inertRoots=new Set([e]),this._savedTabIndex=null,this._destroyed=!1,this.ensureUntabbable()}return w(o,[{key:"destructor",value:function(){if(this._throwIfDestroyed(),this._node&&this._node.nodeType===Node.ELEMENT_NODE){var e=this._node;this._savedTabIndex!==null?e.setAttribute("tabindex",this._savedTabIndex):e.removeAttribute("tabindex"),this._overrodeFocusMethod&&delete e.focus}this._node=null,this._inertRoots=null,this._destroyed=!0}},{key:"_throwIfDestroyed",value:function(){if(this.destroyed)throw new Error("Trying to access destroyed InertNode")}},{key:"ensureUntabbable",value:function(){if(this.node.nodeType===Node.ELEMENT_NODE){var e=this.node;if(s.call(e,h)){if(e.tabIndex===-1&&this.hasSavedTabIndex)return;e.hasAttribute("tabindex")&&(this._savedTabIndex=e.tabIndex),e.setAttribute("tabindex","-1"),e.nodeType===Node.ELEMENT_NODE&&(e.focus=function(){},this._overrodeFocusMethod=!0)}else e.hasAttribute("tabindex")&&(this._savedTabIndex=e.tabIndex,e.removeAttribute("tabindex"))}}},{key:"addInertRoot",value:function(e){this._throwIfDestroyed(),this._inertRoots.add(e)}},{key:"removeInertRoot",value:function(e){this._throwIfDestroyed(),this._inertRoots.delete(e),this._inertRoots.size===0&&this.destructor()}},{key:"destroyed",get:function(){return this._destroyed}},{key:"hasSavedTabIndex",get:function(){return this._savedTabIndex!==null}},{key:"node",get:function(){return this._throwIfDestroyed(),this._node}},{key:"savedTabIndex",set:function(e){this._throwIfDestroyed(),this._savedTabIndex=e},get:function(){return this._throwIfDestroyed(),this._savedTabIndex}}]),o}(),g=function(){function o(t){if(k(this,o),!t)throw new Error("Missing required argument; InertManager needs to wrap a document.");this._document=t,this._managedNodes=new Map,this._inertRoots=new Map,this._observer=new MutationObserver(this._watchForInert.bind(this)),y(t.head||t.body||t.documentElement),t.readyState==="loading"?t.addEventListener("DOMContentLoaded",this._onDocumentLoaded.bind(this)):this._onDocumentLoaded()}return w(o,[{key:"setInert",value:function(e,n){if(n){if(this._inertRoots.has(e))return;var i=new f(e,this);if(e.setAttribute("inert",""),this._inertRoots.set(e,i),!this._document.body.contains(e))for(var r=e.parentNode;r;)r.nodeType===11&&y(r),r=r.parentNode}else{if(!this._inertRoots.has(e))return;var u=this._inertRoots.get(e);u.destructor(),this._inertRoots.delete(e),e.removeAttribute("inert")}}},{key:"getInertRoot",value:function(e){return this._inertRoots.get(e)}},{key:"register",value:function(e,n){var i=this._managedNodes.get(e);return i!==void 0?i.addInertRoot(n):i=new l(e,n),this._managedNodes.set(e,i),i}},{key:"deregister",value:function(e,n){var i=this._managedNodes.get(e);return i?(i.removeInertRoot(n),i.destroyed&&this._managedNodes.delete(e),i):null}},{key:"_onDocumentLoaded",value:function(){var e=d.call(this._document.querySelectorAll("[inert]"));e.forEach(function(n){this.setInert(n,!0)},this),this._observer.observe(this._document.body||this._document.documentElement,{attributes:!0,subtree:!0,childList:!0})}},{key:"_watchForInert",value:function(e,n){var i=this;e.forEach(function(r){switch(r.type){case"childList":d.call(r.addedNodes).forEach(function(_){if(_.nodeType===Node.ELEMENT_NODE){var v=d.call(_.querySelectorAll("[inert]"));s.call(_,"[inert]")&&v.unshift(_),v.forEach(function(b){this.setInert(b,!0)},i)}},i);break;case"attributes":if(r.attributeName!=="inert")return;var u=r.target,a=u.hasAttribute("inert");i.setInert(u,a);break}},this)}}]),o}();function c(o,t,e){if(o.nodeType==Node.ELEMENT_NODE){var n=o;t&&t(n);var i=n.shadowRoot;if(i){c(i,t);return}if(n.localName=="content"){for(var r=n,u=r.getDistributedNodes?r.getDistributedNodes():[],a=0;ai.map(i=>d[i]); +import{_ as I}from"./BkRKQfnI.js";import{C as T}from"./DF01ioch.js";import{B as R,C as M,r as D,o as A,c as x,b as p,m as L,u as N,w as S,A as O,p as H,x as C,e as U,D as P}from"./CjsmL4Sh.js";import{u as V}from"./Bxz71LHV.js";var w=function(){function d(s,h){for(var f=0;f"u"||typeof Element>"u")return;var d=Array.prototype.slice,s=Element.prototype.matches||Element.prototype.msMatchesSelector,h=["a[href]","area[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","details","summary","iframe","object","embed","video","[contenteditable]"].join(","),f=function(){function o(t,e){k(this,o),this._inertManager=e,this._rootElement=t,this._managedNodes=new Set,this._rootElement.hasAttribute("aria-hidden")?this._savedAriaHidden=this._rootElement.getAttribute("aria-hidden"):this._savedAriaHidden=null,this._rootElement.setAttribute("aria-hidden","true"),this._makeSubtreeUnfocusable(this._rootElement),this._observer=new MutationObserver(this._onMutation.bind(this)),this._observer.observe(this._rootElement,{attributes:!0,childList:!0,subtree:!0})}return w(o,[{key:"destructor",value:function(){this._observer.disconnect(),this._rootElement&&(this._savedAriaHidden!==null?this._rootElement.setAttribute("aria-hidden",this._savedAriaHidden):this._rootElement.removeAttribute("aria-hidden")),this._managedNodes.forEach(function(e){this._unmanageNode(e.node)},this),this._observer=null,this._rootElement=null,this._managedNodes=null,this._inertManager=null}},{key:"_makeSubtreeUnfocusable",value:function(e){var n=this;c(e,function(a){return n._visitNode(a)});var i=document.activeElement;if(!document.body.contains(e)){for(var r=e,u=void 0;r;){if(r.nodeType===Node.DOCUMENT_FRAGMENT_NODE){u=r;break}r=r.parentNode}u&&(i=u.activeElement)}e.contains(i)&&(i.blur(),i===document.activeElement&&document.body.focus())}},{key:"_visitNode",value:function(e){if(e.nodeType===Node.ELEMENT_NODE){var n=e;n!==this._rootElement&&n.hasAttribute("inert")&&this._adoptInertRoot(n),(s.call(n,h)||n.hasAttribute("tabindex"))&&this._manageNode(n)}}},{key:"_manageNode",value:function(e){var n=this._inertManager.register(e,this);this._managedNodes.add(n)}},{key:"_unmanageNode",value:function(e){var n=this._inertManager.deregister(e,this);n&&this._managedNodes.delete(n)}},{key:"_unmanageSubtree",value:function(e){var n=this;c(e,function(i){return n._unmanageNode(i)})}},{key:"_adoptInertRoot",value:function(e){var n=this._inertManager.getInertRoot(e);n||(this._inertManager.setInert(e,!0),n=this._inertManager.getInertRoot(e)),n.managedNodes.forEach(function(i){this._manageNode(i.node)},this)}},{key:"_onMutation",value:function(e,n){e.forEach(function(i){var r=i.target;if(i.type==="childList")d.call(i.addedNodes).forEach(function(a){this._makeSubtreeUnfocusable(a)},this),d.call(i.removedNodes).forEach(function(a){this._unmanageSubtree(a)},this);else if(i.type==="attributes"){if(i.attributeName==="tabindex")this._manageNode(r);else if(r!==this._rootElement&&i.attributeName==="inert"&&r.hasAttribute("inert")){this._adoptInertRoot(r);var u=this._inertManager.getInertRoot(r);this._managedNodes.forEach(function(a){r.contains(a.node)&&u._manageNode(a.node)})}}},this)}},{key:"managedNodes",get:function(){return new Set(this._managedNodes)}},{key:"hasSavedAriaHidden",get:function(){return this._savedAriaHidden!==null}},{key:"savedAriaHidden",set:function(e){this._savedAriaHidden=e},get:function(){return this._savedAriaHidden}}]),o}(),l=function(){function o(t,e){k(this,o),this._node=t,this._overrodeFocusMethod=!1,this._inertRoots=new Set([e]),this._savedTabIndex=null,this._destroyed=!1,this.ensureUntabbable()}return w(o,[{key:"destructor",value:function(){if(this._throwIfDestroyed(),this._node&&this._node.nodeType===Node.ELEMENT_NODE){var e=this._node;this._savedTabIndex!==null?e.setAttribute("tabindex",this._savedTabIndex):e.removeAttribute("tabindex"),this._overrodeFocusMethod&&delete e.focus}this._node=null,this._inertRoots=null,this._destroyed=!0}},{key:"_throwIfDestroyed",value:function(){if(this.destroyed)throw new Error("Trying to access destroyed InertNode")}},{key:"ensureUntabbable",value:function(){if(this.node.nodeType===Node.ELEMENT_NODE){var e=this.node;if(s.call(e,h)){if(e.tabIndex===-1&&this.hasSavedTabIndex)return;e.hasAttribute("tabindex")&&(this._savedTabIndex=e.tabIndex),e.setAttribute("tabindex","-1"),e.nodeType===Node.ELEMENT_NODE&&(e.focus=function(){},this._overrodeFocusMethod=!0)}else e.hasAttribute("tabindex")&&(this._savedTabIndex=e.tabIndex,e.removeAttribute("tabindex"))}}},{key:"addInertRoot",value:function(e){this._throwIfDestroyed(),this._inertRoots.add(e)}},{key:"removeInertRoot",value:function(e){this._throwIfDestroyed(),this._inertRoots.delete(e),this._inertRoots.size===0&&this.destructor()}},{key:"destroyed",get:function(){return this._destroyed}},{key:"hasSavedTabIndex",get:function(){return this._savedTabIndex!==null}},{key:"node",get:function(){return this._throwIfDestroyed(),this._node}},{key:"savedTabIndex",set:function(e){this._throwIfDestroyed(),this._savedTabIndex=e},get:function(){return this._throwIfDestroyed(),this._savedTabIndex}}]),o}(),g=function(){function o(t){if(k(this,o),!t)throw new Error("Missing required argument; InertManager needs to wrap a document.");this._document=t,this._managedNodes=new Map,this._inertRoots=new Map,this._observer=new MutationObserver(this._watchForInert.bind(this)),y(t.head||t.body||t.documentElement),t.readyState==="loading"?t.addEventListener("DOMContentLoaded",this._onDocumentLoaded.bind(this)):this._onDocumentLoaded()}return w(o,[{key:"setInert",value:function(e,n){if(n){if(this._inertRoots.has(e))return;var i=new f(e,this);if(e.setAttribute("inert",""),this._inertRoots.set(e,i),!this._document.body.contains(e))for(var r=e.parentNode;r;)r.nodeType===11&&y(r),r=r.parentNode}else{if(!this._inertRoots.has(e))return;var u=this._inertRoots.get(e);u.destructor(),this._inertRoots.delete(e),e.removeAttribute("inert")}}},{key:"getInertRoot",value:function(e){return this._inertRoots.get(e)}},{key:"register",value:function(e,n){var i=this._managedNodes.get(e);return i!==void 0?i.addInertRoot(n):i=new l(e,n),this._managedNodes.set(e,i),i}},{key:"deregister",value:function(e,n){var i=this._managedNodes.get(e);return i?(i.removeInertRoot(n),i.destroyed&&this._managedNodes.delete(e),i):null}},{key:"_onDocumentLoaded",value:function(){var e=d.call(this._document.querySelectorAll("[inert]"));e.forEach(function(n){this.setInert(n,!0)},this),this._observer.observe(this._document.body||this._document.documentElement,{attributes:!0,subtree:!0,childList:!0})}},{key:"_watchForInert",value:function(e,n){var i=this;e.forEach(function(r){switch(r.type){case"childList":d.call(r.addedNodes).forEach(function(_){if(_.nodeType===Node.ELEMENT_NODE){var v=d.call(_.querySelectorAll("[inert]"));s.call(_,"[inert]")&&v.unshift(_),v.forEach(function(b){this.setInert(b,!0)},i)}},i);break;case"attributes":if(r.attributeName!=="inert")return;var u=r.target,a=u.hasAttribute("inert");i.setInert(u,a);break}},this)}}]),o}();function c(o,t,e){if(o.nodeType==Node.ELEMENT_NODE){var n=o;t&&t(n);var i=n.shadowRoot;if(i){c(i,t);return}if(n.localName=="content"){for(var r=n,u=r.getDistributedNodes?r.getDistributedNodes():[],a=0;aI(()=>import("./BeK-kySw.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),f=s(()=>I(()=>import("./C_OwKSm0.js"),__vite__mapDeps([12,3,4,5,13]),import.meta.url)),l=s(()=>I(()=>import("./D0uwcCPI.js"),__vite__mapDeps([14,15,8,1,3,4,5,16,17]),import.meta.url)),g=R();V(M(()=>({title:`${g.name} | nuxt-booster`,meta:[{name:"description",content:`${g.name} - description`}]})));const c=D(!1),y={lists:[{links:[{title:"Home",to:"/"}]},{headline:"Test",links:[{title:"v-font",to:"/tests/v-font/"},{title:"v-font (media)",to:"/tests/v-font-media/"},{title:"v-font (scroll)",to:"/tests/v-font-scroll/"},{title:"Picture",to:"/tests/picture/"},{title:"Image",to:"/tests/image/"},{title:"Youtube",to:"/tests/youtube/"},{title:"Vimeo",to:"/tests/vimeo/"},{title:"Iframe",to:"/tests/iframe/"}]}]};return(m,o)=>(A(),x("div",null,[p(N(l),L({modelValue:c.value,"onUpdate:modelValue":o[0]||(o[0]=t=>c.value=t)},y),null,16,["modelValue"]),p(N(T),{inert:c.value},{default:S(()=>[O(m.$slots,"default")]),_:3},8,["inert"]),m.$config.public.disableInfoLayer?C("",!0):(A(),H(N(h),{key:0,critical:""})),p(N(f),{url:m.$config.public.githubRepoUrl},null,8,["url"])]))}};export{q as default}; +`,o.appendChild(t)}}if(!HTMLElement.prototype.hasOwnProperty("inert")){var m=new g(document);Object.defineProperty(HTMLElement.prototype,"inert",{enumerable:!0,get:function(){return this.hasAttribute("inert")},set:function(t){m.setInert(this,t)}})}})();const q={__name:"default",setup(d){const s=U(),h=P(()=>I(()=>import("./Cc6yuhr5.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),f=s(()=>I(()=>import("./DilIEfEF.js"),__vite__mapDeps([12,3,4,5,13]),import.meta.url)),l=s(()=>I(()=>import("./CDDLWZIs.js"),__vite__mapDeps([14,15,8,1,3,4,5,16,17]),import.meta.url)),g=R();V(M(()=>({title:`${g.name} | nuxt-booster`,meta:[{name:"description",content:`${g.name} - description`}]})));const c=D(!1),y={lists:[{links:[{title:"Home",to:"/"}]},{headline:"Test",links:[{title:"v-font",to:"/tests/v-font/"},{title:"v-font (media)",to:"/tests/v-font-media/"},{title:"v-font (scroll)",to:"/tests/v-font-scroll/"},{title:"Picture",to:"/tests/picture/"},{title:"Image",to:"/tests/image/"},{title:"Youtube",to:"/tests/youtube/"},{title:"Vimeo",to:"/tests/vimeo/"},{title:"Iframe",to:"/tests/iframe/"}]}]};return(m,o)=>(A(),x("div",null,[p(N(l),L({modelValue:c.value,"onUpdate:modelValue":o[0]||(o[0]=t=>c.value=t)},y),null,16,["modelValue"]),p(N(T),{inert:c.value},{default:S(()=>[O(m.$slots,"default")]),_:3},8,["inert"]),m.$config.public.disableInfoLayer?C("",!0):(A(),H(N(h),{key:0,critical:""})),p(N(f),{url:m.$config.public.githubRepoUrl},null,8,["url"])]))}};export{q as default}; diff --git a/playground/_nuxt/DsPoxt5G.js b/playground/_nuxt/BXO_k_1A.js similarity index 91% rename from playground/_nuxt/DsPoxt5G.js rename to playground/_nuxt/BXO_k_1A.js index dfa0f8fb07..46f63465c7 100644 --- a/playground/_nuxt/DsPoxt5G.js +++ b/playground/_nuxt/BXO_k_1A.js @@ -1 +1 @@ -import{_ as f,r as d,c as l,b as e,w as r,u as a,T as m,a as u,o as s,d as n,x as M}from"./BJCUWH2W.js";import{_ as o}from"./Bu95GgB-.js";import"./BjfvBlRB.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";const p={key:0},w={__name:"index",setup(_){const i=d(!1);return(x,t)=>(s(),l("div",null,[e(a(o),{critical:"",font:[["Montserrat Alternates",400,"normal"]]},{default:r(()=>t[1]||(t[1]=[n(" Montserrat Alternates - 400 - normal ")])),_:1}),e(a(o),{critical:"",font:["Montserrat Alternates",700,"normal"]},{default:r(()=>t[2]||(t[2]=[n(" Montserrat Alternates - 700 - normal ")])),_:1}),e(a(o),{critical:"",font:["Montserrat Alternates",400,"italic"]},{default:r(()=>t[3]||(t[3]=[n(" Montserrat Alternates - 400 - italic ")])),_:1}),e(a(o),{critical:"",font:["Montserrat Alternates",700,"italic"]},{default:r(()=>t[4]||(t[4]=[n(" Montserrat Alternates - 700 - italic ")])),_:1}),e(m,{name:"fade"},{default:r(()=>[i.value?(s(),l("div",p,[e(a(o),{font:["Merriweather",400,"normal"]},{default:r(()=>t[5]||(t[5]=[n(" Merriweather - 400 - normal ")])),_:1}),e(a(o),{font:["Merriweather",700,"normal"]},{default:r(()=>t[6]||(t[6]=[n(" Merriweather - 700 - normal ")])),_:1}),e(a(o),{font:["Merriweather",400,"italic"]},{default:r(()=>t[7]||(t[7]=[n(" Merriweather - 400 - italic ")])),_:1}),e(a(o),{font:["Merriweather",700,"italic"]},{default:r(()=>t[8]||(t[8]=[n(" Merriweather - 700 - italic ")])),_:1})])):M("",!0)]),_:1}),u("button",{onClick:t[0]||(t[0]=A=>i.value=!i.value)},"Click here")]))}},b=f(w,[["__scopeId","data-v-6ab0e891"]]);export{b as default}; +import{_ as f,r as d,c as l,b as e,w as r,u as a,T as m,a as u,o as s,d as n,x as M}from"./CjsmL4Sh.js";import{_ as o}from"./DDXAZ09w.js";import"./BkRKQfnI.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";const p={key:0},w={__name:"index",setup(_){const i=d(!1);return(x,t)=>(s(),l("div",null,[e(a(o),{critical:"",font:[["Montserrat Alternates",400,"normal"]]},{default:r(()=>t[1]||(t[1]=[n(" Montserrat Alternates - 400 - normal ")])),_:1}),e(a(o),{critical:"",font:["Montserrat Alternates",700,"normal"]},{default:r(()=>t[2]||(t[2]=[n(" Montserrat Alternates - 700 - normal ")])),_:1}),e(a(o),{critical:"",font:["Montserrat Alternates",400,"italic"]},{default:r(()=>t[3]||(t[3]=[n(" Montserrat Alternates - 400 - italic ")])),_:1}),e(a(o),{critical:"",font:["Montserrat Alternates",700,"italic"]},{default:r(()=>t[4]||(t[4]=[n(" Montserrat Alternates - 700 - italic ")])),_:1}),e(m,{name:"fade"},{default:r(()=>[i.value?(s(),l("div",p,[e(a(o),{font:["Merriweather",400,"normal"]},{default:r(()=>t[5]||(t[5]=[n(" Merriweather - 400 - normal ")])),_:1}),e(a(o),{font:["Merriweather",700,"normal"]},{default:r(()=>t[6]||(t[6]=[n(" Merriweather - 700 - normal ")])),_:1}),e(a(o),{font:["Merriweather",400,"italic"]},{default:r(()=>t[7]||(t[7]=[n(" Merriweather - 400 - italic ")])),_:1}),e(a(o),{font:["Merriweather",700,"italic"]},{default:r(()=>t[8]||(t[8]=[n(" Merriweather - 700 - italic ")])),_:1})])):M("",!0)]),_:1}),u("button",{onClick:t[0]||(t[0]=A=>i.value=!i.value)},"Click here")]))}},b=f(w,[["__scopeId","data-v-6ab0e891"]]);export{b as default}; diff --git a/playground/_nuxt/BjfvBlRB.js b/playground/_nuxt/BjfvBlRB.js deleted file mode 100644 index 0badb39833..0000000000 --- a/playground/_nuxt/BjfvBlRB.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BJCUWH2W.js","./entry.hZzTrknk.css"])))=>i.map(i=>d[i]); -var I=Object.defineProperty;var O=e=>{throw TypeError(e)};var k=(e,t,n)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var E=(e,t,n)=>k(e,typeof t!="symbol"?t+"":t,n),S=(e,t,n)=>t.has(e)||O("Cannot "+n);var w=(e,t,n)=>(S(e,t,"read from private field"),n?n.call(e):t.get(e)),v=(e,t,n)=>t.has(e)?O("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),_=(e,t,n,r)=>(S(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);const N="modulepreload",j=function(e,t){return new URL(e,t).href},C={},q=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const d=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.allSettled(n.map(a=>{if(a=j(a,r),a in C)return;C[a]=!0;const f=a.endsWith(".css"),U=f?'[rel="stylesheet"]':"";if(!!r)for(let m=d.length-1;m>=0;m--){const b=d[m];if(b.href===a&&(!f||b.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${U}`))return;const c=document.createElement("link");if(c.rel=f?"stylesheet":N,f||(c.as="script"),c.crossOrigin="",c.href=a,l&&c.setAttribute("nonce",l),document.head.appendChild(c),f)return new Promise((m,b)=>{c.addEventListener("load",m),c.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${a}`)))})}))}function s(d){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=d,window.dispatchEvent(i),!i.defaultPrevented)throw d}return o.then(d=>{for(const i of d||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};var u,h;class L{constructor(t){v(this,u,[]);v(this,h,!1);t(n=>w(this,h)?!1:(w(this,u).forEach(r=>r(n)),!0))}subscribe(t){return w(this,u).push(t),{unsubscribe:()=>{_(this,u,w(this,u).filter(n=>n===t))}}}destroy(){_(this,h,!0)}}u=new WeakMap,h=new WeakMap;const D=(e,t)=>{let n=[];const r=o=>s=>{n[Number(o)]=s,n.filter(Boolean).length>=t.length&&(e(n),n=[])};t.forEach((o,s)=>{o.subscribe(r(s))})},T={timing:{fcp:500,dcl:800}};let p=T;function F(e={}){p={timing:{...T.timing,...e.timing||{}}},p={...T,...e}}function M(){return R()&&!0}function R(){if(window.performance){const e=performance.getEntriesByName("first-contentful-paint"),t=performance.getEntriesByType("resource");if(e.length)return e[0].startTime((!n||n{const o=new z(10,t/2);return([s,d])=>{const i=window.performance.now()-P,l=d/s;l<=1&&o.add(l),o.avg<=1&&o.avg>t?n(!0):i>=e&&r(!1)}},X=()=>({maxTime:1e3,threshold:.65}),W=()=>new Promise(e=>{document.visibilityState==="hidden"?document.addEventListener("visibilitychange",()=>e(),{once:!0}):e()}),$=async(e={})=>{if(window.requestIdleCallback){await W();const{maxTime:t,threshold:n}={...X(),...e},r=new L(H),o=new L(Y);return new Promise((s,d)=>{P=window.performance.now(),D(V(t,n,s,d),[r,o])}).finally(()=>{r.destroy(),o.destroy()})}},H=e=>{let t=performance.now();const n=()=>{const r=performance.now(),o=r-t;t=r,e(o)&&requestAnimationFrame(n)};requestAnimationFrame(n)},Y=e=>{const t=n=>{e(n.timeRemaining())&&window.requestIdleCallback(t)};window.requestIdleCallback(t)};class z{constructor(t=10,n=0){E(this,"list");E(this,"index",0);this.list=Array(t).fill(n)}add(t){this.list[this.index]=t,this.index=(this.index+1)%this.list.length}get avg(){return this.list.reduce((t,n)=>t+=n,0)/this.list.length}}const x=e=>window.dispatchEvent(new CustomEvent("nuxt-booster:run",{detail:{sufficient:e}})),y=(e,t)=>{Array.from(document.querySelectorAll(e)).forEach(n=>{n.addEventListener("click",t,{capture:!0,once:!0,passive:!0})})},g=(e,t)=>{const n=window.document.getElementById(t);if(n)n.style.display="block",e.className+=" nuxt-booster-layer-visible";else throw new Error("Can't update booster-layer, message "+t+" missing.")},G=(e,t)=>{t||g(e,"nuxt-booster-message-unsupported-browser"),R()||g(e,"nuxt-booster-message-reduced-bandwidth")},A=()=>{document.documentElement.classList.add("nuxt-booster-reduced-view"),window.document.querySelectorAll("[data-font]").forEach(e=>{e.classList.add("font-active")}),Array.from(document.querySelectorAll("noscript.nuxt-booster-picture-noscript")).forEach(e=>{const t=document.createElement("div");t.innerHTML=e.innerHTML,e.parentNode.replaceChild(t.children[0],e),t.remove()})},J=async e=>{try{if(await K())throw new Error("Battery is low.")}catch(t){if(t.message==="Battery is low.")throw t;await Q(e)}},K=async()=>{const t=await window.navigator.getBattery();return!t.charging&&t.level<=.2},Q=async e=>{const t=URL.createObjectURL(e);try{const n=document.createElement("video");n.muted=!0,n.playsinline=!0,n.src=t,await n.play(),URL.revokeObjectURL(t)}catch(n){throw URL.revokeObjectURL(t),n}},Z=e=>{document.querySelector("#nuxt-booster-button-init-nojs, #nuxt-booster-button-init-app, #nuxt-booster-button-init-reduced-view")&&(console.warn("The `#nuxt-booster-button-init-nojs`, `#nuxt-booster-button-init-reduced-view` and `#nuxt-booster-button-init-app` ids are deprecated. Please use the following classes instead: `.nuxt-booster-button-init-nojs`, `.nuxt-booster-button-init-reduced-view` and `.nuxt-booster-button-init-app`."),y("#nuxt-booster-button-init-reduced-view",A),y("#nuxt-booster-button-init-app",()=>e(!0)))},e0=Symbol("pending"),t0=Symbol("fulfilled"),n0=Symbol("rejected");class B{constructor(){this.promise=new Promise((t,n)=>{this.resolve=t,this.reject=n,this.state=e0}).then(t=>(this.state=t0,t)).catch(t=>{throw this.state=n0,new Error(t)})}static create(){return new B}}function r0(e){return new RegExp(e.regex).test(window.navigator.userAgent)}const u0=()=>typeof window<"u"&&!!("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),l0=(e,t)=>(e=e===!0?"anonymous":e,e=e===void 0?"anonymous":e,e),o0=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});i0();function i0(){return d0().then(()=>s0())}function s0(){return q(()=>import("./BJCUWH2W.js").then(e=>e.aj),__vite__mapDeps([0,1]),import.meta.url).then(e=>e.default)}function d0(){const e=new B;let t=!1;const n=window.document.getElementById("nuxt-booster-layer"),r="__NUXT_BOOSTER_FORCE_INIT__"in window&&window.__NUXT_BOOSTER_FORCE_INIT__;async function o(d){t&&e.resolve(),document.documentElement.classList.remove("nuxt-booster-reduced-view");try{d||await J(o0)}catch(i){if(console.warn(i),x(!1),n)return g(n,"nuxt-booster-message-low-battery"),null}try{d||await $(),t=!0,x(!0),e.resolve()}catch(i){if(console.warn(i),x(!1),n)return g(n,"nuxt-booster-message-weak-hardware"),null}return null}const s=r0({regex:new RegExp(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([6-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[5-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/)});return window.addEventListener("load",function(){document.getElementById("nuxt-booster-layer")?(y(".nuxt-booster-button-init-reduced-view",A),y(".nuxt-booster-button-init-app",()=>o(!0)),Z(o),F({timing:{fcp:800,dcl:1200},device:{hardwareConcurrency:{min:2,max:48},deviceMemory:{min:2}}}),"__NUXT_BOOSTER_AUTO_INIT__"in window&&window.__NUXT_BOOSTER_AUTO_INIT__||M()&&s?o():G(n,s)):o(r)}),e.promise}export{B as D,q as _,u0 as a,l0 as g,r0 as i}; diff --git a/playground/_nuxt/BkRKQfnI.js b/playground/_nuxt/BkRKQfnI.js new file mode 100644 index 0000000000..b74f0cc0ac --- /dev/null +++ b/playground/_nuxt/BkRKQfnI.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CjsmL4Sh.js","./entry.hZzTrknk.css"])))=>i.map(i=>d[i]); +var I=Object.defineProperty;var O=t=>{throw TypeError(t)};var k=(t,e,n)=>e in t?I(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var g=(t,e,n)=>k(t,typeof e!="symbol"?e+"":e,n),R=(t,e,n)=>e.has(t)||O("Cannot "+n);var w=(t,e,n)=>(R(t,e,"read from private field"),n?n.call(t):e.get(t)),E=(t,e,n)=>e.has(t)?O("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),_=(t,e,n,r)=>(R(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);const N="modulepreload",j=function(t,e){return new URL(t,e).href},S={},q=function(e,n,r){let o=Promise.resolve();if(n&&n.length>0){const d=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.allSettled(n.map(a=>{if(a=j(a,r),a in S)return;S[a]=!0;const m=a.endsWith(".css"),U=m?'[rel="stylesheet"]':"";if(!!r)for(let f=d.length-1;f>=0;f--){const b=d[f];if(b.href===a&&(!m||b.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${U}`))return;const c=document.createElement("link");if(c.rel=m?"stylesheet":N,m||(c.as="script"),c.crossOrigin="",c.href=a,l&&c.setAttribute("nonce",l),document.head.appendChild(c),m)return new Promise((f,b)=>{c.addEventListener("load",f),c.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${a}`)))})}))}function s(d){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=d,window.dispatchEvent(i),!i.defaultPrevented)throw d}return o.then(d=>{for(const i of d||[])i.status==="rejected"&&s(i.reason);return e().catch(s)})};var u,h;class C{constructor(e){E(this,u,[]);E(this,h,!1);e(n=>w(this,h)?!1:(w(this,u).forEach(r=>r(n)),!0))}subscribe(e){return w(this,u).push(e),{unsubscribe:()=>{_(this,u,w(this,u).filter(n=>n===e))}}}destroy(){_(this,h,!0)}}u=new WeakMap,h=new WeakMap;const D=(t,e)=>{let n=[];const r=o=>s=>{n[Number(o)]=s,n.filter(Boolean).length>=e.length&&(t(n),n=[])};e.forEach((o,s)=>{o.subscribe(r(s))})},T={timing:{fcp:500,dcl:800}};let p=T;function F(t={}){p={timing:{...T.timing,...t.timing||{}}},p={...T,...t}}function M(){return L()&&!0}function L(){if(window.performance){const t=performance.getEntriesByName("first-contentful-paint"),e=performance.getEntriesByType("resource");if(t.length)return t[0].startTime((!n||n{const o=new Y(10,e/2);return([s,d])=>{const i=window.performance.now()-P,l=d/s;l<=1&&o.add(l),o.avg<=1&&o.avg>e?n(!0):i>=t&&r(!1)}},X=()=>({maxTime:1e3,threshold:.65}),W=async(t={})=>{if(window.requestIdleCallback){const{maxTime:e,threshold:n}={...X(),...t},r=new C($),o=new C(H);return new Promise((s,d)=>{P=window.performance.now(),D(V(e,n,s,d),[r,o])}).finally(()=>{r.destroy(),o.destroy()})}},$=t=>{let e=performance.now();const n=()=>{const r=performance.now(),o=r-e;e=r,t(o)&&requestAnimationFrame(n)};requestAnimationFrame(n)},H=t=>{const e=n=>{t(n.timeRemaining())&&window.requestIdleCallback(e)};window.requestIdleCallback(e)};class Y{constructor(e=10,n=0){g(this,"list");g(this,"index",0);this.list=Array(e).fill(n)}add(e){this.list[this.index]=e,this.index=(this.index+1)%this.list.length}get avg(){return this.list.reduce((e,n)=>e+=n,0)/this.list.length}}const x=t=>window.dispatchEvent(new CustomEvent("nuxt-booster:run",{detail:{sufficient:t}})),y=(t,e)=>{Array.from(document.querySelectorAll(t)).forEach(n=>{n.addEventListener("click",e,{capture:!0,once:!0,passive:!0})})},v=(t,e)=>{const n=window.document.getElementById(e);if(n)n.style.display="block",t.className+=" nuxt-booster-layer-visible";else throw new Error("Can't update booster-layer, message "+e+" missing.")},z=(t,e)=>{e||v(t,"nuxt-booster-message-unsupported-browser"),L()||v(t,"nuxt-booster-message-reduced-bandwidth")},A=()=>{document.documentElement.classList.add("nuxt-booster-reduced-view"),window.document.querySelectorAll("[data-font]").forEach(t=>{t.classList.add("font-active")}),Array.from(document.querySelectorAll("noscript.nuxt-booster-picture-noscript")).forEach(t=>{const e=document.createElement("div");e.innerHTML=t.innerHTML,t.parentNode.replaceChild(e.children[0],t),e.remove()})},G=async t=>{try{if(await K())throw new Error("Battery is low.")}catch(e){if(e.message==="Battery is low.")throw e;await Q(t)}},J=()=>{const{promise:t,resolve:e}=Promise.withResolvers();return document.visibilityState==="hidden"?document.addEventListener("visibilitychange",e,{once:!0}):e(),t},K=async()=>{const e=await window.navigator.getBattery();return!e.charging&&e.level<=.2},Q=async t=>{const e=URL.createObjectURL(t);try{const n=document.createElement("video");n.muted=!0,n.playsinline=!0,n.src=e;const{resolve:r,promise:o}=Promise.withResolvers(),s=window.setTimeout(r,500);await Promise.race([n.play(),o]),window.clearTimeout(s),URL.revokeObjectURL(e)}catch(n){throw URL.revokeObjectURL(e),n}},Z=t=>{document.querySelector("#nuxt-booster-button-init-nojs, #nuxt-booster-button-init-app, #nuxt-booster-button-init-reduced-view")&&(console.warn("The `#nuxt-booster-button-init-nojs`, `#nuxt-booster-button-init-reduced-view` and `#nuxt-booster-button-init-app` ids are deprecated. Please use the following classes instead: `.nuxt-booster-button-init-nojs`, `.nuxt-booster-button-init-reduced-view` and `.nuxt-booster-button-init-app`."),y("#nuxt-booster-button-init-reduced-view",A),y("#nuxt-booster-button-init-app",()=>t(!0)))},e0=Symbol("pending"),t0=Symbol("fulfilled"),n0=Symbol("rejected");class B{constructor(){this.promise=new Promise((e,n)=>{this.resolve=e,this.reject=n,this.state=e0}).then(e=>(this.state=t0,e)).catch(e=>{throw this.state=n0,new Error(e)})}static create(){return new B}}function r0(t){return new RegExp(t.regex).test(window.navigator.userAgent)}const u0=()=>typeof window<"u"&&!!("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),l0=(t,e)=>(t=t===!0?"anonymous":t,t=t===void 0?"anonymous":t,t),o0=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"});i0();function i0(){return d0().then(()=>s0())}function s0(){return q(()=>import("./CjsmL4Sh.js").then(t=>t.aj),__vite__mapDeps([0,1]),import.meta.url).then(t=>t.default)}function d0(){const t=new B;let e=!1;const n=window.document.getElementById("nuxt-booster-layer"),r="__NUXT_BOOSTER_FORCE_INIT__"in window&&window.__NUXT_BOOSTER_FORCE_INIT__;async function o(d){e&&t.resolve(),await J(),document.documentElement.classList.remove("nuxt-booster-reduced-view");try{d||await G(o0)}catch(i){if(console.warn(i),x(!1),n)return v(n,"nuxt-booster-message-low-battery"),null}try{d||await W(),e=!0,x(!0),t.resolve()}catch(i){if(console.warn(i),x(!1),n)return v(n,"nuxt-booster-message-weak-hardware"),null}return null}const s=r0({regex:new RegExp(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([6-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[5-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/)});return window.addEventListener("load",function(){document.getElementById("nuxt-booster-layer")?(y(".nuxt-booster-button-init-reduced-view",A),y(".nuxt-booster-button-init-app",()=>o(!0)),Z(o),F({timing:{fcp:800,dcl:1200},device:{hardwareConcurrency:{min:2,max:48},deviceMemory:{min:2}}}),"__NUXT_BOOSTER_AUTO_INIT__"in window&&window.__NUXT_BOOSTER_AUTO_INIT__||M()&&s?o():z(n,s)):o(r)}),t.promise}export{B as D,q as _,u0 as a,l0 as g,r0 as i}; diff --git a/playground/_nuxt/BmKYK86_.js b/playground/_nuxt/BmKYK86_.js new file mode 100644 index 0000000000..a91d94af36 --- /dev/null +++ b/playground/_nuxt/BmKYK86_.js @@ -0,0 +1 @@ +import{L as s}from"./BFcHoi9x.js";import{P as m}from"./eYyQ5PUj.js";import{p,w as e,u as o,o as i,b as u,a as r,d as a}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";const N={__name:"Custom",setup(n){return(d,t)=>(i(),p(o(m),null,{default:e(()=>[u(o(s),{id:"customBoosterHydrate"})]),title:e(()=>t[0]||(t[0]=[r("p",null,[a("Custom"),r("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{N as default}; diff --git a/playground/_nuxt/BaH-g7BJ.js b/playground/_nuxt/Bxz71LHV.js similarity index 83% rename from playground/_nuxt/BaH-g7BJ.js rename to playground/_nuxt/Bxz71LHV.js index ebe6b73663..dcab514f32 100644 --- a/playground/_nuxt/BaH-g7BJ.js +++ b/playground/_nuxt/Bxz71LHV.js @@ -1 +1 @@ -import{W as o,r as u,X as f,Y as d,K as v,Z as l,$ as i,a0 as h,a1 as m}from"./BJCUWH2W.js";function U(t,a={}){const e=a.head||o();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});f(()=>{n.value=s.value?{}:h(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),m()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u}; +import{W as o,r as u,X as f,Y as d,K as v,Z as l,$ as i,a0 as h,a1 as m}from"./CjsmL4Sh.js";function U(t,a={}){const e=a.head||o();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});f(()=>{n.value=s.value?{}:h(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),m()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u}; diff --git a/playground/_nuxt/By2RZTY2.js b/playground/_nuxt/By2RZTY2.js deleted file mode 100644 index ea9ee92a28..0000000000 --- a/playground/_nuxt/By2RZTY2.js +++ /dev/null @@ -1 +0,0 @@ -import{L as i}from"./BPxgvQKP.js";import{P as s}from"./C4XEkXCj.js";import{p,w as r,u as e,o as m,b as l,a as o,d as a}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";const N={__name:"Critical",setup(c){return(n,t)=>(m(),p(e(s),null,{default:r(()=>[l(e(i),{id:"criticalBoosterHydrate"})]),title:r(()=>t[0]||(t[0]=[o("p",null,[a("Critical"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{N as default}; diff --git a/playground/_nuxt/DR3qABvw.js b/playground/_nuxt/C6x8OFMT.js similarity index 60% rename from playground/_nuxt/DR3qABvw.js rename to playground/_nuxt/C6x8OFMT.js index 5bfd6f75af..17f0786668 100644 --- a/playground/_nuxt/DR3qABvw.js +++ b/playground/_nuxt/C6x8OFMT.js @@ -1 +1 @@ -import{L as s}from"./BPxgvQKP.js";import{P as p}from"./C4XEkXCj.js";import{p as i,w as t,u as r,o as m,b as n,a as o,d as a}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";const w={__name:"Lazy",setup(d){return(l,e)=>(m(),i(r(p),null,{default:t(()=>[n(r(s),{id:"lazyBoosterHydrate"})]),title:t(()=>e[0]||(e[0]=[o("p",null,[a("Lazy"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{w as default}; +import{L as s}from"./BFcHoi9x.js";import{P as p}from"./eYyQ5PUj.js";import{p as i,w as t,u as r,o as m,b as n,a as o,d as a}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";const w={__name:"Lazy",setup(d){return(l,e)=>(m(),i(r(p),null,{default:t(()=>[n(r(s),{id:"lazyBoosterHydrate"})]),title:t(()=>e[0]||(e[0]=[o("p",null,[a("Lazy"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{w as default}; diff --git a/playground/_nuxt/CzeOdz-d.js b/playground/_nuxt/C6zQ8ori.js similarity index 51% rename from playground/_nuxt/CzeOdz-d.js rename to playground/_nuxt/C6zQ8ori.js index 8533567e0f..27f8952abd 100644 --- a/playground/_nuxt/CzeOdz-d.js +++ b/playground/_nuxt/C6zQ8ori.js @@ -1 +1 @@ -import{D as l}from"./BGVK_AWX.js";import{P as p}from"./C4XEkXCj.js";import{u as s}from"./CVy7LHL-.js";import{C as m,p as n,w as o,u as r,o as u,a,b as c,n as f,g as d}from"./BJCUWH2W.js";import"./BjfvBlRB.js";import"./B9JxpZf2.js";import"./RYnl7rm0.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BaH-g7BJ.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";const v=["innerHTML"],M={__name:"Default",props:{vimeoUrl:{type:String,default:"https://vimeo.com/288344114"},title:{type:String,default:"Vimeo"},autoplay:{type:Boolean,default:!1}},setup(t){s();const e=t,i=m(()=>({url:e.vimeoUrl,autoplay:e.autoplay}));return(_,y)=>(u(),n(r(p),null,{default:o(()=>[a("div",null,[c(r(l),f(d(i.value)),null,16)])]),title:o(()=>[a("p",{innerHTML:t.title},null,8,v)]),_:1}))}};export{M as default}; +import{D as l}from"./y5GrT0-i.js";import{P as p}from"./eYyQ5PUj.js";import{u as s}from"./LUNLrBEh.js";import{C as m,p as n,w as o,u as r,o as u,a,b as c,n as f,g as d}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";import"./mB1EKFO1.js";import"./pZgWsOJl.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./Bxz71LHV.js";import"./DF01ioch.js";import"./-_8sziUr.js";const v=["innerHTML"],M={__name:"Default",props:{vimeoUrl:{type:String,default:"https://vimeo.com/288344114"},title:{type:String,default:"Vimeo"},autoplay:{type:Boolean,default:!1}},setup(t){s();const e=t,i=m(()=>({url:e.vimeoUrl,autoplay:e.autoplay}));return(_,y)=>(u(),n(r(p),null,{default:o(()=>[a("div",null,[c(r(l),f(d(i.value)),null,16)])]),title:o(()=>[a("p",{innerHTML:t.title},null,8,v)]),_:1}))}};export{M as default}; diff --git a/playground/_nuxt/ChED4f6c.js b/playground/_nuxt/C92n6QJB.js similarity index 81% rename from playground/_nuxt/ChED4f6c.js rename to playground/_nuxt/C92n6QJB.js index cb7e51101b..e46f815841 100644 --- a/playground/_nuxt/ChED4f6c.js +++ b/playground/_nuxt/C92n6QJB.js @@ -1 +1 @@ -import{C as i}from"./BM-fWYud.js";import{C as l}from"./WYEhzYAF.js";import{_ as c,r as d,j as m,z as u,u as e,p as f,w as o,k as p,y as _,o as h,a as n,b as v,d as x,t as w}from"./BJCUWH2W.js";import{a as M}from"./CVy7LHL-.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";const g=["innerHTML"],C={__name:"TextFontA",props:{headline:{type:String,default:"Headline"},content:{type:String,default:"Text"}},setup(r){const{$getFont:t}=M(),a=d(!1);return m(()=>{a.value=!0}),(y,T)=>{const s=_("font");return u((h(),f(e(i),{class:p([{ready:a.value},"component-text-font-a"])},{default:o(()=>[n("div",null,[v(e(l),null,{default:o(()=>[x(w(r.headline),1)]),_:1}),n("div",{innerHTML:r.content},null,8,g)])]),_:1},8,["class"])),[[s,[e(t)("Merriweather",300,"normal"),e(t)("Merriweather",700,"normal",{selector:"h1,h2"}),e(t)("Merriweather",300,"italic",{selector:"em"}),e(t)("Merriweather",700,"normal",{selector:"strong"}),e(t)("Merriweather",700,"italic",{selector:"em strong, strong em"})]]])}}},S=c(C,[["__scopeId","data-v-e27c60dc"]]);export{S as default}; +import{C as i}from"./DF01ioch.js";import{C as l}from"./-_8sziUr.js";import{_ as c,r as d,j as m,z as u,u as e,p as f,w as o,k as p,y as _,o as h,a as n,b as v,d as x,t as w}from"./CjsmL4Sh.js";import{a as M}from"./LUNLrBEh.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";const g=["innerHTML"],C={__name:"TextFontA",props:{headline:{type:String,default:"Headline"},content:{type:String,default:"Text"}},setup(r){const{$getFont:t}=M(),a=d(!1);return m(()=>{a.value=!0}),(y,T)=>{const s=_("font");return u((h(),f(e(i),{class:p([{ready:a.value},"component-text-font-a"])},{default:o(()=>[n("div",null,[v(e(l),null,{default:o(()=>[x(w(r.headline),1)]),_:1}),n("div",{innerHTML:r.content},null,8,g)])]),_:1},8,["class"])),[[s,[e(t)("Merriweather",300,"normal"),e(t)("Merriweather",700,"normal",{selector:"h1,h2"}),e(t)("Merriweather",300,"italic",{selector:"em"}),e(t)("Merriweather",700,"normal",{selector:"strong"}),e(t)("Merriweather",700,"italic",{selector:"em strong, strong em"})]]])}}},S=c(C,[["__scopeId","data-v-e27c60dc"]]);export{S as default}; diff --git a/playground/_nuxt/D2EbAXB8.js b/playground/_nuxt/C937iMN_.js similarity index 53% rename from playground/_nuxt/D2EbAXB8.js rename to playground/_nuxt/C937iMN_.js index 85d3840a2e..1abb3c91c4 100644 --- a/playground/_nuxt/D2EbAXB8.js +++ b/playground/_nuxt/C937iMN_.js @@ -1 +1 @@ -import{D as l}from"./CLMwxf9V.js";import{P as i}from"./C4XEkXCj.js";import{u as p}from"./CVy7LHL-.js";import{C as s,p as n,w as o,u as a,o as m,a as r,b as c,n as f,g as d}from"./BJCUWH2W.js";import"./B9JxpZf2.js";import"./BjfvBlRB.js";import"./RYnl7rm0.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BaH-g7BJ.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";const y=["innerHTML"],k={__name:"Default",props:{youtubeUrl:{type:String,default:"https://www.youtube.com/watch?v=cLKvbhfVBUU"},title:{type:String,default:"Youtube"},autoplay:{type:Boolean,default:!1}},setup(e){p();const t=e,u=s(()=>({url:t.youtubeUrl,title:t.title,autoplay:t.autoplay}));return(b,w)=>(m(),n(a(i),null,{default:o(()=>[r("div",null,[c(a(l),f(d(u.value)),null,16)])]),title:o(()=>[r("p",{innerHTML:e.title},null,8,y)]),_:1}))}};export{k as default}; +import{D as l}from"./tsmP51g_.js";import{P as i}from"./eYyQ5PUj.js";import{u as p}from"./LUNLrBEh.js";import{C as s,p as n,w as o,u as a,o as m,a as r,b as c,n as f,g as d}from"./CjsmL4Sh.js";import"./mB1EKFO1.js";import"./BkRKQfnI.js";import"./pZgWsOJl.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./Bxz71LHV.js";import"./DF01ioch.js";import"./-_8sziUr.js";const y=["innerHTML"],k={__name:"Default",props:{youtubeUrl:{type:String,default:"https://www.youtube.com/watch?v=cLKvbhfVBUU"},title:{type:String,default:"Youtube"},autoplay:{type:Boolean,default:!1}},setup(e){p();const t=e,u=s(()=>({url:t.youtubeUrl,title:t.title,autoplay:t.autoplay}));return(b,w)=>(m(),n(a(i),null,{default:o(()=>[r("div",null,[c(a(l),f(d(u.value)),null,16)])]),title:o(()=>[r("p",{innerHTML:e.title},null,8,y)]),_:1}))}};export{k as default}; diff --git a/playground/_nuxt/CAmz8qfR.js b/playground/_nuxt/CAmz8qfR.js deleted file mode 100644 index 6af9bc31c7..0000000000 --- a/playground/_nuxt/CAmz8qfR.js +++ /dev/null @@ -1 +0,0 @@ -import{r as a,j as r,c as s,k as t,o}from"./BJCUWH2W.js";import"./BjfvBlRB.js";const u={__name:"empty-1",setup(c){const e=a(!1);return r(()=>{e.value=!0}),(n,l)=>(o(),s("div",{class:t(["empty-1",{ready:e.value}])},"EMPTY 1",2))}};export{u as default}; diff --git a/playground/_nuxt/CCGnGgRK.js b/playground/_nuxt/CCGnGgRK.js deleted file mode 100644 index 7c577c38f2..0000000000 --- a/playground/_nuxt/CCGnGgRK.js +++ /dev/null @@ -1 +0,0 @@ -import{L as s}from"./BPxgvQKP.js";import{P as i}from"./C4XEkXCj.js";import{p,w as e,u as r,o as m,b as l,a as o,d as a}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";const C={__name:"Lazy",setup(n){return(d,t)=>(m(),p(r(i),null,{default:e(()=>[l(r(s),{id:"lazyBoosterHydrate"})]),title:e(()=>t[0]||(t[0]=[o("p",null,[a("Critical"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{C as default}; diff --git a/playground/_nuxt/D0uwcCPI.js b/playground/_nuxt/CDDLWZIs.js similarity index 92% rename from playground/_nuxt/D0uwcCPI.js rename to playground/_nuxt/CDDLWZIs.js index 70103bfc4a..1941e93cb2 100644 --- a/playground/_nuxt/D0uwcCPI.js +++ b/playground/_nuxt/CDDLWZIs.js @@ -1 +1 @@ -import{_ as y}from"./Bu95GgB-.js";import{_ as x}from"./CqVbfMZk.js";import{_ as p,y as w,z as M,u as i,o as e,c as a,F as f,q as b,b as _,w as B,d as L,t as C,m as H,r as P,j as $,C as z,ah as I,Y as g,a as n,p as N,x as F,a2 as j,n as A,g as D}from"./BJCUWH2W.js";import{a as E}from"./CVy7LHL-.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";const O={__name:"LinkList",props:{items:{type:Array,default(){return[{title:"Link 1."},{title:"Link 2."},{title:"Link 3."}]}}},setup(t){const{$getFont:s}=E();return(o,d)=>{const c=x,l=w("font");return M((e(),a("ul",null,[(e(!0),a(f,null,b(t.items,(r,m)=>(e(),a("li",{key:m},[_(c,H({ref_for:!0},r),{default:B(()=>[L(C(r.title),1)]),_:2},1040)]))),128))])),[[l,i(s)("Quicksand",400,"normal")]])}}},R=p(O,[["__scopeId","data-v-5b136a90"]]),S={class:"menu"},q=["checked"],Q=["inert"],T=["aria-label"],Y={__name:"PageHeaderMenu",props:{modelValue:{type:Boolean,default:!1},lists:{type:Array,default(){return[{headline:"Preview",links:[{title:"Item",to:"/"}]}]}}},emits:["update:modelValue"],setup(t,{emit:s}){const o=t,d=P(!1);$(()=>{d.value=!0});const c=z(()=>d.value&&!o.modelValue),l=s,r=I();g(()=>o.modelValue,u=>document.documentElement.classList.toggle("js-menu-open",u)),g(()=>r.path,()=>l("update:modelValue",!1),{deep:!0,immediate:!0});const m=u=>{l("update:modelValue",u.target.checked)};return(u,v)=>(e(),a("div",S,[n("input",{id:"menuControl",type:"checkbox",name:"menuControl",checked:t.modelValue,onInput:m},null,40,q),n("div",{class:"content","aria-label":"Menu",inert:c.value},[n("label",{id:"menuButton",for:"menuControl","aria-label":`${t.modelValue?"Open":"Close"} Menu`},null,8,T),n("div",null,[n("div",null,[n("nav",null,[(e(!0),a(f,null,b(t.lists,({headline:h,links:k},V)=>(e(),a("div",{key:V},[h?(e(),N(i(y),{key:0,tag:"span",class:"headline",type:"menu",content:h},null,8,["content"])):F("",!0),_(i(R),{items:k,"aria-label":"Menu"},null,8,["items"])]))),128))])])])],8,Q),v[0]||(v[0]=j('',1))]))}},G=p(Y,[["__scopeId","data-v-eb848388"]]),J={class:"page-header"},K=Object.assign({inheritAttrs:!1},{__name:"PageHeader",setup(t){return(s,o)=>(e(),a("header",J,[_(i(G),A(D(s.$attrs)),null,16)]))}}),ae=p(K,[["__scopeId","data-v-087be47b"]]);export{ae as default}; +import{_ as y}from"./DDXAZ09w.js";import{_ as x}from"./DPGIFjId.js";import{_ as p,y as w,z as M,u as i,o as e,c as a,F as f,q as b,b as _,w as B,d as L,t as C,m as H,r as P,j as $,C as z,ah as I,Y as g,a as n,p as N,x as F,a2 as j,n as A,g as D}from"./CjsmL4Sh.js";import{a as E}from"./LUNLrBEh.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";const O={__name:"LinkList",props:{items:{type:Array,default(){return[{title:"Link 1."},{title:"Link 2."},{title:"Link 3."}]}}},setup(t){const{$getFont:s}=E();return(o,d)=>{const c=x,l=w("font");return M((e(),a("ul",null,[(e(!0),a(f,null,b(t.items,(r,m)=>(e(),a("li",{key:m},[_(c,H({ref_for:!0},r),{default:B(()=>[L(C(r.title),1)]),_:2},1040)]))),128))])),[[l,i(s)("Quicksand",400,"normal")]])}}},R=p(O,[["__scopeId","data-v-5b136a90"]]),S={class:"menu"},q=["checked"],Q=["inert"],T=["aria-label"],Y={__name:"PageHeaderMenu",props:{modelValue:{type:Boolean,default:!1},lists:{type:Array,default(){return[{headline:"Preview",links:[{title:"Item",to:"/"}]}]}}},emits:["update:modelValue"],setup(t,{emit:s}){const o=t,d=P(!1);$(()=>{d.value=!0});const c=z(()=>d.value&&!o.modelValue),l=s,r=I();g(()=>o.modelValue,u=>document.documentElement.classList.toggle("js-menu-open",u)),g(()=>r.path,()=>l("update:modelValue",!1),{deep:!0,immediate:!0});const m=u=>{l("update:modelValue",u.target.checked)};return(u,v)=>(e(),a("div",S,[n("input",{id:"menuControl",type:"checkbox",name:"menuControl",checked:t.modelValue,onInput:m},null,40,q),n("div",{class:"content","aria-label":"Menu",inert:c.value},[n("label",{id:"menuButton",for:"menuControl","aria-label":`${t.modelValue?"Open":"Close"} Menu`},null,8,T),n("div",null,[n("div",null,[n("nav",null,[(e(!0),a(f,null,b(t.lists,({headline:h,links:k},V)=>(e(),a("div",{key:V},[h?(e(),N(i(y),{key:0,tag:"span",class:"headline",type:"menu",content:h},null,8,["content"])):F("",!0),_(i(R),{items:k,"aria-label":"Menu"},null,8,["items"])]))),128))])])])],8,Q),v[0]||(v[0]=j('',1))]))}},G=p(Y,[["__scopeId","data-v-eb848388"]]),J={class:"page-header"},K=Object.assign({inheritAttrs:!1},{__name:"PageHeader",setup(t){return(s,o)=>(e(),a("header",J,[_(i(G),A(D(s.$attrs)),null,16)]))}}),ae=p(K,[["__scopeId","data-v-087be47b"]]);export{ae as default}; diff --git a/playground/_nuxt/CJSAzHnX.js b/playground/_nuxt/CJSAzHnX.js deleted file mode 100644 index af6151abe9..0000000000 --- a/playground/_nuxt/CJSAzHnX.js +++ /dev/null @@ -1 +0,0 @@ -import{L as s}from"./BPxgvQKP.js";import{P as i}from"./C4XEkXCj.js";import{p,w as t,u as r,o as m,b as d,a as o,d as a}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";const V={__name:"Media",setup(n){return(l,e)=>(m(),p(r(i),null,{default:t(()=>[d(r(s),{id:"mediaBoosterHydrate"})]),title:t(()=>e[0]||(e[0]=[o("p",null,[a("Media"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{V as default}; diff --git a/playground/_nuxt/CRLb67VT.js b/playground/_nuxt/CRLb67VT.js new file mode 100644 index 0000000000..d73d1c09a6 --- /dev/null +++ b/playground/_nuxt/CRLb67VT.js @@ -0,0 +1 @@ +import{r as a,j as r,c as s,k as t,o}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";const u={__name:"empty-2",setup(c){const e=a(!1);return r(()=>{e.value=!0}),(n,l)=>(o(),s("div",{class:t(["empty-2",{ready:e.value}])},"EMPTY 2",2))}};export{u as default}; diff --git a/playground/_nuxt/DWv9LOD6.js b/playground/_nuxt/CTEf6Xot.js similarity index 78% rename from playground/_nuxt/DWv9LOD6.js rename to playground/_nuxt/CTEf6Xot.js index 2ef44b7da4..cd11a22991 100644 --- a/playground/_nuxt/DWv9LOD6.js +++ b/playground/_nuxt/CTEf6Xot.js @@ -1 +1 @@ -import{_ as m}from"./dwf3Gt_l.js";import{P as n}from"./C4XEkXCj.js";import{r as c,o as s,p,w as r,b as i,u as t,n as u,g as _,a as v,c as w}from"./BJCUWH2W.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BjfvBlRB.js";import"./CVy7LHL-.js";import"./BaH-g7BJ.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";const x={__name:"Critical",setup(l){const a=c({title:"Critical - Image",source:{format:"jpg",src:"/img/critical.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}});return(o,e)=>(s(),p(t(n),{id:"criticalContainer"},{default:r(()=>[i(t(m),u(_(a.value)),null,16)]),title:r(()=>e[0]||(e[0]=[v("p",null,"Critical - Image",-1)])),_:1}))}},f={__name:"Lazy",setup(l){const a=c({title:"Lazy - Image",source:{src:"/img/lazy.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}});return(o,e)=>(s(),p(t(n),{id:"lazyContainer"},{default:r(()=>[i(t(m),u(_(a.value)),null,16)]),title:r(()=>e[0]||(e[0]=[v("p",null,"Lazy - Image",-1)])),_:1}))}},L={__name:"index",setup(l){return(a,o)=>(s(),w("div",null,[i(t(x),{critical:""}),i(t(f))]))}};export{L as default}; +import{_ as m}from"./BGKF9MgV.js";import{P as n}from"./eYyQ5PUj.js";import{r as c,o as s,p,w as r,b as i,u as t,n as u,g as _,a as v,c as w}from"./CjsmL4Sh.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./BkRKQfnI.js";import"./LUNLrBEh.js";import"./Bxz71LHV.js";import"./DF01ioch.js";import"./-_8sziUr.js";const x={__name:"Critical",setup(l){const a=c({title:"Critical - Image",source:{format:"jpg",src:"/img/critical.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}});return(o,e)=>(s(),p(t(n),{id:"criticalContainer"},{default:r(()=>[i(t(m),u(_(a.value)),null,16)]),title:r(()=>e[0]||(e[0]=[v("p",null,"Critical - Image",-1)])),_:1}))}},f={__name:"Lazy",setup(l){const a=c({title:"Lazy - Image",source:{src:"/img/lazy.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}});return(o,e)=>(s(),p(t(n),{id:"lazyContainer"},{default:r(()=>[i(t(m),u(_(a.value)),null,16)]),title:r(()=>e[0]||(e[0]=[v("p",null,"Lazy - Image",-1)])),_:1}))}},L={__name:"index",setup(l){return(a,o)=>(s(),w("div",null,[i(t(x),{critical:""}),i(t(f))]))}};export{L as default}; diff --git a/playground/_nuxt/BCI-yJ2H.js b/playground/_nuxt/CWGeeA7C.js similarity index 98% rename from playground/_nuxt/BCI-yJ2H.js rename to playground/_nuxt/CWGeeA7C.js index da8ed2f4b1..7243f1f743 100644 --- a/playground/_nuxt/BCI-yJ2H.js +++ b/playground/_nuxt/CWGeeA7C.js @@ -1 +1 @@ -import"./BJCUWH2W.js";import"./BjfvBlRB.js";const t=""+new URL("quicksand-v21-latin-300.C3EOjFP-.woff2",import.meta.url).href,e=""+new URL("quicksand-v21-latin-regular.OZrKFW5Z.woff2",import.meta.url).href,a=""+new URL("quicksand-v21-latin-500.Bxtlg-C0.woff2",import.meta.url).href,s=""+new URL("quicksand-v21-latin-600.DU6GnZqS.woff2",import.meta.url).href,r=""+new URL("quicksand-v21-latin-700.hqkHfJhC.woff2",import.meta.url).href,n=""+new URL("merriweather-v22-latin-300.DXnRz13L.woff2",import.meta.url).href,f=""+new URL("merriweather-v22-latin-300italic.DI_ZnzMa.woff2",import.meta.url).href,o=""+new URL("merriweather-v22-latin-regular.qP05z5WV.woff2",import.meta.url).href,i=""+new URL("merriweather-v22-latin-italic.CM8yB5El.woff2",import.meta.url).href,l=""+new URL("merriweather-v22-latin-700.DpwSabyG.woff2",import.meta.url).href,w=""+new URL("merriweather-v22-latin-700italic.UmAQDXZw.woff2",import.meta.url).href,c=""+new URL("montserrat-alternates-v12-latin-300.DB5uBoPH.woff2",import.meta.url).href,m=""+new URL("montserrat-alternates-v12-latin-300italic.D760cUfC.woff2",import.meta.url).href,v=""+new URL("montserrat-alternates-v12-latin-regular.Dm4Y2lsx.woff2",import.meta.url).href,u=""+new URL("montserrat-alternates-v12-latin-italic.BYYiWmVv.woff2",import.meta.url).href,y=""+new URL("montserrat-alternates-v12-latin-700.CzJ-ofTR.woff2",import.meta.url).href,p=""+new URL("montserrat-alternates-v12-latin-700italic.BOqWWkVu.woff2",import.meta.url).href,k=[{family:"Quicksand",locals:["Quicksand"],fallback:["sans-serif"],variances:[{style:"normal",weight:300,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-300.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-300.woff",type:"woff"}],src:t,type:"woff2"},{style:"normal",weight:400,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-regular.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-regular.woff",type:"woff"}],src:e,type:"woff2"},{style:"normal",weight:500,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-500.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-500.woff",type:"woff"}],src:a,type:"woff2"},{style:"normal",weight:600,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-600.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-600.woff",type:"woff"}],src:s,type:"woff2"},{style:"normal",weight:700,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-700.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-700.woff",type:"woff"}],src:r,type:"woff2"}]},{family:"Merriweather",locals:["Merriweather"],fallback:["Georgia","sans-serif"],variances:[{style:"normal",weight:300,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300.woff",type:"woff"}],src:n,type:"woff2"},{style:"italic",weight:300,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300italic.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300italic.woff",type:"woff"}],src:f,type:"woff2"},{style:"normal",weight:400,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-regular.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-regular.woff",type:"woff"}],src:o,type:"woff2"},{style:"italic",weight:400,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-italic.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-italic.woff",type:"woff"}],src:i,type:"woff2"},{style:"normal",weight:700,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700.woff",type:"woff"}],src:l,type:"woff2"},{style:"italic",weight:700,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700italic.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700italic.woff",type:"woff"}],src:w,type:"woff2"}]},{family:"Montserrat Alternates",locals:["Montserrat Alternates","Montserrat-Alternates"],fallback:["sans-serif"],variances:[{style:"normal",weight:300,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300.woff",type:"woff"}],src:c,type:"woff2"},{style:"italic",weight:300,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300italic.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300italic.woff",type:"woff"}],src:m,type:"woff2"},{style:"normal",weight:400,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-regular.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-regular.woff",type:"woff"}],src:v,type:"woff2"},{style:"italic",weight:400,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-italic.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-italic.woff",type:"woff"}],src:u,type:"woff2"},{style:"normal",weight:700,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700.woff",type:"woff"}],src:y,type:"woff2"},{style:"italic",weight:700,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700italic.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700italic.woff",type:"woff"}],src:p,type:"woff2"}]}];export{k as default}; +import"./CjsmL4Sh.js";import"./BkRKQfnI.js";const t=""+new URL("quicksand-v21-latin-300.C3EOjFP-.woff2",import.meta.url).href,e=""+new URL("quicksand-v21-latin-regular.OZrKFW5Z.woff2",import.meta.url).href,a=""+new URL("quicksand-v21-latin-500.Bxtlg-C0.woff2",import.meta.url).href,s=""+new URL("quicksand-v21-latin-600.DU6GnZqS.woff2",import.meta.url).href,r=""+new URL("quicksand-v21-latin-700.hqkHfJhC.woff2",import.meta.url).href,n=""+new URL("merriweather-v22-latin-300.DXnRz13L.woff2",import.meta.url).href,f=""+new URL("merriweather-v22-latin-300italic.DI_ZnzMa.woff2",import.meta.url).href,o=""+new URL("merriweather-v22-latin-regular.qP05z5WV.woff2",import.meta.url).href,i=""+new URL("merriweather-v22-latin-italic.CM8yB5El.woff2",import.meta.url).href,l=""+new URL("merriweather-v22-latin-700.DpwSabyG.woff2",import.meta.url).href,w=""+new URL("merriweather-v22-latin-700italic.UmAQDXZw.woff2",import.meta.url).href,c=""+new URL("montserrat-alternates-v12-latin-300.DB5uBoPH.woff2",import.meta.url).href,m=""+new URL("montserrat-alternates-v12-latin-300italic.D760cUfC.woff2",import.meta.url).href,v=""+new URL("montserrat-alternates-v12-latin-regular.Dm4Y2lsx.woff2",import.meta.url).href,u=""+new URL("montserrat-alternates-v12-latin-italic.BYYiWmVv.woff2",import.meta.url).href,y=""+new URL("montserrat-alternates-v12-latin-700.CzJ-ofTR.woff2",import.meta.url).href,p=""+new URL("montserrat-alternates-v12-latin-700italic.BOqWWkVu.woff2",import.meta.url).href,k=[{family:"Quicksand",locals:["Quicksand"],fallback:["sans-serif"],variances:[{style:"normal",weight:300,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-300.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-300.woff",type:"woff"}],src:t,type:"woff2"},{style:"normal",weight:400,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-regular.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-regular.woff",type:"woff"}],src:e,type:"woff2"},{style:"normal",weight:500,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-500.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-500.woff",type:"woff"}],src:a,type:"woff2"},{style:"normal",weight:600,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-600.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-600.woff",type:"woff"}],src:s,type:"woff2"},{style:"normal",weight:700,sources:[{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-700.woff2",type:"woff2"},{src:"@/assets/fonts/quicksand-v21-latin/quicksand-v21-latin-700.woff",type:"woff"}],src:r,type:"woff2"}]},{family:"Merriweather",locals:["Merriweather"],fallback:["Georgia","sans-serif"],variances:[{style:"normal",weight:300,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300.woff",type:"woff"}],src:n,type:"woff2"},{style:"italic",weight:300,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300italic.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-300italic.woff",type:"woff"}],src:f,type:"woff2"},{style:"normal",weight:400,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-regular.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-regular.woff",type:"woff"}],src:o,type:"woff2"},{style:"italic",weight:400,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-italic.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-italic.woff",type:"woff"}],src:i,type:"woff2"},{style:"normal",weight:700,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700.woff",type:"woff"}],src:l,type:"woff2"},{style:"italic",weight:700,sources:[{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700italic.woff2",type:"woff2"},{src:"@/assets/fonts/merriweather-v22-latin/merriweather-v22-latin-700italic.woff",type:"woff"}],src:w,type:"woff2"}]},{family:"Montserrat Alternates",locals:["Montserrat Alternates","Montserrat-Alternates"],fallback:["sans-serif"],variances:[{style:"normal",weight:300,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300.woff",type:"woff"}],src:c,type:"woff2"},{style:"italic",weight:300,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300italic.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-300italic.woff",type:"woff"}],src:m,type:"woff2"},{style:"normal",weight:400,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-regular.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-regular.woff",type:"woff"}],src:v,type:"woff2"},{style:"italic",weight:400,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-italic.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-italic.woff",type:"woff"}],src:u,type:"woff2"},{style:"normal",weight:700,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700.woff",type:"woff"}],src:y,type:"woff2"},{style:"italic",weight:700,sources:[{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700italic.woff2",type:"woff2"},{src:"@/assets/fonts/montserrat-alternates-v12-latin/montserrat-alternates-v12-latin-700italic.woff",type:"woff"}],src:p,type:"woff2"}]}];export{k as default}; diff --git a/playground/_nuxt/CZb4hv3n.js b/playground/_nuxt/CZb4hv3n.js deleted file mode 100644 index 9c8363b120..0000000000 --- a/playground/_nuxt/CZb4hv3n.js +++ /dev/null @@ -1 +0,0 @@ -import{r as a,j as r,c as s,k as t,o}from"./BJCUWH2W.js";import"./BjfvBlRB.js";const u={__name:"empty-2",setup(c){const e=a(!1);return r(()=>{e.value=!0}),(n,l)=>(o(),s("div",{class:t(["empty-2",{ready:e.value}])},"EMPTY 2",2))}};export{u as default}; diff --git a/playground/_nuxt/BeK-kySw.js b/playground/_nuxt/Cc6yuhr5.js similarity index 83% rename from playground/_nuxt/BeK-kySw.js rename to playground/_nuxt/Cc6yuhr5.js index 7a10201683..64fdbf312e 100644 --- a/playground/_nuxt/BeK-kySw.js +++ b/playground/_nuxt/Cc6yuhr5.js @@ -1 +1 @@ -import{g as c}from"./BRWpFFLA.js";import{B as b}from"./kIGpI0GX.js";import{B as s}from"./DVMzMYu-.js";import{_ as m,y as p,o as a,p as f,w,a as e,z as l,c as u,d as x,u as t,b as r,m as y}from"./BJCUWH2W.js";import{a as _}from"./CVy7LHL-.js";import{u as g}from"./BaH-g7BJ.js";import"./BjfvBlRB.js";const v={class:"info-layer-buttons"},B=Object.assign({inheritAttrs:!1},{__name:"InfoLayer",setup(k){const{$getFont:i}=_();return g({noscript:[c(".info-layer > div { animation-delay: initial !important; }",!0)]}),(d,o)=>{const n=p("font");return a(),f(t(b),y({class:"info-layer"},d.$attrs),{default:w(()=>[e("div",null,[l((a(),u("p",null,o[0]||(o[0]=[x(" Sorry, but you will have a limited user experience due to a… ")]))),[[n,t(i)("Quicksand",400,"normal")]]),l((a(),u("ul",null,o[1]||(o[1]=[e("li",{id:"nuxt-booster-message-nojs"},"disabled javascript",-1),e("li",{id:"nuxt-booster-message-unsupported-browser"},"outdated browser",-1),e("li",{id:"nuxt-booster-message-reduced-bandwidth"},"reduced-bandwidth",-1),e("li",{id:"nuxt-booster-message-weak-hardware"},"weak hardware",-1),e("li",{id:"nuxt-booster-message-low-battery"},"low battery",-1)]))),[[n,t(i)("Quicksand",700,"normal")]]),e("div",v,[r(t(s),{class:"nuxt-booster-button-init-nojs",for:"nuxt-booster-layer-close",label:"Yes"}),r(t(s),{class:"nuxt-booster-button-init-reduced-view",tag:"label",for:"nuxt-booster-layer-close",label:"No"}),r(t(s),{class:"nuxt-booster-button-init-app",label:"Yes"})])])]),_:1},16)}}}),F=m(B,[["__scopeId","data-v-6a656532"]]);export{F as default}; +import{g as c}from"./BRWpFFLA.js";import{B as b}from"./ei5la4Je.js";import{B as s}from"./B92XiNJi.js";import{_ as m,y as p,o as a,p as f,w,a as e,z as l,c as u,d as x,u as t,b as r,m as y}from"./CjsmL4Sh.js";import{a as _}from"./LUNLrBEh.js";import{u as g}from"./Bxz71LHV.js";import"./BkRKQfnI.js";const v={class:"info-layer-buttons"},B=Object.assign({inheritAttrs:!1},{__name:"InfoLayer",setup(k){const{$getFont:i}=_();return g({noscript:[c(".info-layer > div { animation-delay: initial !important; }",!0)]}),(d,o)=>{const n=p("font");return a(),f(t(b),y({class:"info-layer"},d.$attrs),{default:w(()=>[e("div",null,[l((a(),u("p",null,o[0]||(o[0]=[x(" Sorry, but you will have a limited user experience due to a… ")]))),[[n,t(i)("Quicksand",400,"normal")]]),l((a(),u("ul",null,o[1]||(o[1]=[e("li",{id:"nuxt-booster-message-nojs"},"disabled javascript",-1),e("li",{id:"nuxt-booster-message-unsupported-browser"},"outdated browser",-1),e("li",{id:"nuxt-booster-message-reduced-bandwidth"},"reduced-bandwidth",-1),e("li",{id:"nuxt-booster-message-weak-hardware"},"weak hardware",-1),e("li",{id:"nuxt-booster-message-low-battery"},"low battery",-1)]))),[[n,t(i)("Quicksand",700,"normal")]]),e("div",v,[r(t(s),{class:"nuxt-booster-button-init-nojs",for:"nuxt-booster-layer-close",label:"Yes"}),r(t(s),{class:"nuxt-booster-button-init-reduced-view",tag:"label",for:"nuxt-booster-layer-close",label:"No"}),r(t(s),{class:"nuxt-booster-button-init-app",label:"Yes"})])])]),_:1},16)}}}),F=m(B,[["__scopeId","data-v-6a656532"]]);export{F as default}; diff --git a/playground/_nuxt/D1dq0hvG.js b/playground/_nuxt/CdQVGgNO.js similarity index 86% rename from playground/_nuxt/D1dq0hvG.js rename to playground/_nuxt/CdQVGgNO.js index cef23c4f21..bcf3cec613 100644 --- a/playground/_nuxt/D1dq0hvG.js +++ b/playground/_nuxt/CdQVGgNO.js @@ -1 +1 @@ -import{r as i,j as y,l as v,_ as x,o as u,c as m,m as h,p,w as n,b as l,u as s,a as o,d as c}from"./BJCUWH2W.js";import{u as g}from"./CVy7LHL-.js";import{P as d}from"./C4XEkXCj.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";function w(e){const t=i(null),r=i(!1),{isCritical:a}=g();return y(async()=>{e={root:void 0,rootMargin:"0px",threshold:[0],trackVisibility:!1,delay:0,...e},a.value||await v(t.value,e).enterViewOnce(),r.value=!0}),{el:t,inView:r}}const V={props:{src:{type:String,default:null},title:{type:String,default:null},componentObserver:{type:Object,default(){return{trackVisibility:!0,delay:350}}}},emits:["load","enter"],setup(){const{el:e,inView:t}=w();return{iframe:e,inView:t}},data(){return{lazySrc:null,loaded:!1}},watch:{loaded(e){e.target.src&&this.$emit("load",e)},inView(){this.lazySrc=this.src,this.$emit("enter")}}},C=["src","title"];function S(e,t,r,a,f,B){return u(),m("iframe",h({ref:"iframe",src:f.lazySrc,class:"nuxt-booster-iframe"},e.$attrs,{title:r.title,onLoad:t[0]||(t[0]=b=>f.loaded=b)}),null,16,C)}const _=x(V,[["render",S],["__scopeId","data-v-5345b1b6"]]),$={__name:"Critical",setup(e){const t=i("https://basics.github.io/nuxt-booster/playground/");return(r,a)=>(u(),p(s(d),null,{default:n(()=>[l(s(_),{class:"test-iframe",src:t.value},null,8,["src"])]),title:n(()=>a[0]||(a[0]=[o("p",null,[c("Critical"),o("br"),c("Iframe")],-1)])),_:1}))}},z={__name:"Lazy",setup(e){const t=i("https://basics.github.io/nuxt-booster/playground/");return(r,a)=>(u(),p(s(d),{id:"lazyContainer"},{default:n(()=>[l(s(_),{class:"test-iframe",src:t.value},null,8,["src"])]),title:n(()=>a[0]||(a[0]=[o("p",null,[c("Lazy"),o("br"),c("Iframe")],-1)])),_:1}))}},E={__name:"index",setup(e){return(t,r)=>(u(),m("div",null,[l(s($),{critical:""}),l(s(z))]))}};export{E as default}; +import{r as i,j as y,l as v,_ as x,o as u,c as m,m as h,p,w as n,b as l,u as s,a as o,d as c}from"./CjsmL4Sh.js";import{u as g}from"./LUNLrBEh.js";import{P as d}from"./eYyQ5PUj.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";function w(e){const t=i(null),r=i(!1),{isCritical:a}=g();return y(async()=>{e={root:void 0,rootMargin:"0px",threshold:[0],trackVisibility:!1,delay:0,...e},a.value||await v(t.value,e).enterViewOnce(),r.value=!0}),{el:t,inView:r}}const V={props:{src:{type:String,default:null},title:{type:String,default:null},componentObserver:{type:Object,default(){return{trackVisibility:!0,delay:350}}}},emits:["load","enter"],setup(){const{el:e,inView:t}=w();return{iframe:e,inView:t}},data(){return{lazySrc:null,loaded:!1}},watch:{loaded(e){e.target.src&&this.$emit("load",e)},inView(){this.lazySrc=this.src,this.$emit("enter")}}},C=["src","title"];function S(e,t,r,a,f,B){return u(),m("iframe",h({ref:"iframe",src:f.lazySrc,class:"nuxt-booster-iframe"},e.$attrs,{title:r.title,onLoad:t[0]||(t[0]=b=>f.loaded=b)}),null,16,C)}const _=x(V,[["render",S],["__scopeId","data-v-5345b1b6"]]),$={__name:"Critical",setup(e){const t=i("https://basics.github.io/nuxt-booster/playground/");return(r,a)=>(u(),p(s(d),null,{default:n(()=>[l(s(_),{class:"test-iframe",src:t.value},null,8,["src"])]),title:n(()=>a[0]||(a[0]=[o("p",null,[c("Critical"),o("br"),c("Iframe")],-1)])),_:1}))}},z={__name:"Lazy",setup(e){const t=i("https://basics.github.io/nuxt-booster/playground/");return(r,a)=>(u(),p(s(d),{id:"lazyContainer"},{default:n(()=>[l(s(_),{class:"test-iframe",src:t.value},null,8,["src"])]),title:n(()=>a[0]||(a[0]=[o("p",null,[c("Lazy"),o("br"),c("Iframe")],-1)])),_:1}))}},E={__name:"index",setup(e){return(t,r)=>(u(),m("div",null,[l(s($),{critical:""}),l(s(z))]))}};export{E as default}; diff --git a/playground/_nuxt/Cf_m7ACg.js b/playground/_nuxt/Cf_m7ACg.js new file mode 100644 index 0000000000..8ed48b2a07 --- /dev/null +++ b/playground/_nuxt/Cf_m7ACg.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C937iMN_.js","./tsmP51g_.js","./mB1EKFO1.js","./CjsmL4Sh.js","./BkRKQfnI.js","./entry.hZzTrknk.css","./Button.Ci53V_g1.css","./pZgWsOJl.js","./EEDi2Un_.js","./BRWpFFLA.js","./LUNLrBEh.js","./Bxz71LHV.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./BoosterYoutube.CWVIT5bz.css","./eYyQ5PUj.js","./DF01ioch.js","./-_8sziUr.js","./PreviewContainer.CRgiiAeH.css"])))=>i.map(i=>d[i]); +import{_ as s}from"./BkRKQfnI.js";import{c as r,F as c,q as l,e as i,o,b as n,m as _,u as m}from"./CjsmL4Sh.js";const w={__name:"index",setup(p){const u=i()(()=>s(()=>import("./C937iMN_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url)),a=[{youtubeUrl:"https://www.youtube.com/watch?v=cLKvbhfVBUU",title:"Youtube 1"},{youtubeUrl:"https://www.youtube.com/watch?v=YE7VzlLtp-4",title:"Youtube 2",autoplay:!0}];return(y,b)=>(o(),r("div",null,[(o(),r(c,null,l(a,(t,e)=>n(m(u),_({id:`youtube-${e}`,ref_for:!0},t,{key:t.youtubeUrl,critical:e<1}),null,16,["id","critical"])),64))]))}};export{w as default}; diff --git a/playground/_nuxt/BJCUWH2W.js b/playground/_nuxt/CjsmL4Sh.js similarity index 98% rename from playground/_nuxt/BJCUWH2W.js rename to playground/_nuxt/CjsmL4Sh.js index b1265aa265..8c8c020fd4 100644 --- a/playground/_nuxt/BJCUWH2W.js +++ b/playground/_nuxt/CjsmL4Sh.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CbsJcGBg.js","./BjfvBlRB.js","./index.B9V9O8Mi.css","./BAO3UZYD.js","./B06iCxOq.js","./kIGpI0GX.js","./BRWpFFLA.js","./BoosterLayer.CjKOUvEQ.css","./DMl6P0z9.js","./D1dq0hvG.js","./CVy7LHL-.js","./C4XEkXCj.js","./BM-fWYud.js","./WYEhzYAF.js","./PreviewContainer.CRgiiAeH.css","./index.BmvpPeQG.css","./DWv9LOD6.js","./dwf3Gt_l.js","./BvEpi-l_.js","./BaH-g7BJ.js","./Base.D0rTlUzv.css","./BzYh0rsi.js","./C2hgAtg3.js","./RYnl7rm0.js","./BoosterPicture.CbYnjz_8.css","./DNCE5Gjk.js","./CqVbfMZk.js","./useBoosterHead.YOztVW83.css","./BgpTfSRx.js","./Bu95GgB-.js","./D9IkFdcV.js","./CAmz8qfR.js","./CZb4hv3n.js","./DsPoxt5G.js","./index.SD1-2h50.css","./DZ6DYBSy.js","./index.B1uFKt21.css","./tHjQOXKc.js","./index.DXptQzvR.css","./CXg4qCcD.js","./index.CG15mJDZ.css","./DsYz6WCr.js","./BUB5tvAX.js","./jBDxcIpy.js","./WeakHardwareOverlay.BDCaaWtq.css","./LYpE5lsi.js","./DE9SpmT_.js","./DEk0na8P.js","./default.BnBgbvVw.css","./BCI-yJ2H.js","./Cp8PsMOm.js","./error-404.qk7kZ34s.css","./B3rxcOoH.js","./error-500.h_F2v6QQ.css"])))=>i.map(i=>d[i]); -var ru=Object.defineProperty;var si=e=>{throw TypeError(e)};var su=(e,t,n)=>t in e?ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var oi=(e,t,n)=>su(e,typeof t!="symbol"?t+"":t,n),ii=(e,t,n)=>t.has(e)||si("Cannot "+n);var ve=(e,t,n)=>(ii(e,t,"read from private field"),n?n.call(e):t.get(e)),st=(e,t,n)=>t.has(e)?si("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),rn=(e,t,n,r)=>(ii(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);import{_ as de,D as Hs,i as ou}from"./BjfvBlRB.js";/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BE0Zwe0E.js","./BkRKQfnI.js","./index.B9V9O8Mi.css","./DH0EGWEu.js","./DtvPA-kz.js","./ei5la4Je.js","./BRWpFFLA.js","./BoosterLayer.CjKOUvEQ.css","./yaz8759Z.js","./CdQVGgNO.js","./LUNLrBEh.js","./eYyQ5PUj.js","./DF01ioch.js","./-_8sziUr.js","./PreviewContainer.CRgiiAeH.css","./index.BmvpPeQG.css","./CTEf6Xot.js","./BGKF9MgV.js","./EEDi2Un_.js","./Bxz71LHV.js","./Base.D0rTlUzv.css","./BH-WeKBU.js","./CtMXRX41.js","./pZgWsOJl.js","./BoosterPicture.CbYnjz_8.css","./B1wO8YPN.js","./DPGIFjId.js","./useBoosterHead.YOztVW83.css","./DBEAmdt0.js","./DDXAZ09w.js","./10z99Bny.js","./RvlSCH0T.js","./CRLb67VT.js","./BXO_k_1A.js","./index.SD1-2h50.css","./k3YqPxIe.js","./index.B1uFKt21.css","./B83FREsi.js","./index.DXptQzvR.css","./DDgsv3WO.js","./index.CG15mJDZ.css","./7ZPV30DW.js","./DZA1_sPZ.js","./Cn26epyG.js","./WeakHardwareOverlay.BDCaaWtq.css","./Cf_m7ACg.js","./DHU3jODt.js","./BNwfL0kl.js","./default.BnBgbvVw.css","./CWGeeA7C.js","./DY_gEAq6.js","./error-404.qk7kZ34s.css","./D1IiZhNn.js","./error-500.h_F2v6QQ.css"])))=>i.map(i=>d[i]); +var ru=Object.defineProperty;var si=e=>{throw TypeError(e)};var su=(e,t,n)=>t in e?ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var oi=(e,t,n)=>su(e,typeof t!="symbol"?t+"":t,n),ii=(e,t,n)=>t.has(e)||si("Cannot "+n);var ve=(e,t,n)=>(ii(e,t,"read from private field"),n?n.call(e):t.get(e)),st=(e,t,n)=>t.has(e)?si("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),rn=(e,t,n,r)=>(ii(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);import{_ as de,D as Hs,i as ou}from"./BkRKQfnI.js";/** * @vue/shared v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -20,7 +20,7 @@ var ru=Object.defineProperty;var si=e=>{throw TypeError(e)};var su=(e,t,n)=>t in * vue-router v4.4.5 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const an=typeof document<"u";function Dc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function og(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Dc(e.default)}const ie=Object.assign;function Ss(e,t){const n={};for(const r in t){const s=t[r];n[r]=tt(s)?s.map(e):e(s)}return n}const Nn=()=>{},tt=Array.isArray,Bc=/#/g,ig=/&/g,lg=/\//g,ag=/=/g,cg=/\?/g,Uc=/\+/g,ug=/%5B/g,fg=/%5D/g,Vc=/%5E/g,dg=/%60/g,Wc=/%7B/g,hg=/%7C/g,Kc=/%7D/g,pg=/%20/g;function Qo(e){return encodeURI(""+e).replace(hg,"|").replace(ug,"[").replace(fg,"]")}function gg(e){return Qo(e).replace(Wc,"{").replace(Kc,"}").replace(Vc,"^")}function fo(e){return Qo(e).replace(Uc,"%2B").replace(pg,"+").replace(Bc,"%23").replace(ig,"%26").replace(dg,"`").replace(Wc,"{").replace(Kc,"}").replace(Vc,"^")}function mg(e){return fo(e).replace(ag,"%3D")}function yg(e){return Qo(e).replace(Bc,"%23").replace(cg,"%3F")}function _g(e){return e==null?"":yg(e).replace(lg,"%2F")}function zn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const vg=/\/$/,bg=e=>e.replace(vg,"");function Cs(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),o=t.slice(a+1,l>-1?l:t.length),s=e(o)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Tg(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:zn(i)}}function wg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function tl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Eg(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&bn(t.matched[r],n.matched[s])&&qc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function bn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function qc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Rg(e[n],t[n]))return!1;return!0}function Rg(e,t){return tt(e)?nl(e,t):tt(t)?nl(t,e):e===t}function nl(e,t){return tt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Tg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const Qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Qn;(function(e){e.pop="pop",e.push="push"})(Qn||(Qn={}));var Fn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Fn||(Fn={}));function Sg(e){if(!e)if(an){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bg(e)}const Cg=/^[^#]+#/;function xg(e,t){return e.replace(Cg,"#")+t}function Pg(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const as=()=>({left:window.scrollX,top:window.scrollY});function Ag(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Pg(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function rl(e,t){return(history.state?history.state.position-t:-1)+e}const ho=new Map;function kg(e,t){ho.set(e,t)}function Og(e){const t=ho.get(e);return ho.delete(e),t}let Ig=()=>location.protocol+"//"+location.host;function Gc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let l=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(l);return a[0]!=="/"&&(a="/"+a),tl(a,"")}return tl(n,e)+r+s}function Hg(e,t,n,r){let s=[],o=[],i=null;const l=({state:d})=>{const p=Gc(e,location),_=n.value,E=t.value;let P=0;if(d){if(n.value=p,t.value=d,i&&i===_){i=null;return}P=E?d.position-E.position:0}else r(p);s.forEach(R=>{R(n.value,_,{delta:P,type:Qn.pop,direction:P?P>0?Fn.forward:Fn.back:Fn.unknown})})};function a(){i=n.value}function f(d){s.push(d);const p=()=>{const _=s.indexOf(d);_>-1&&s.splice(_,1)};return o.push(p),p}function c(){const{history:d}=window;d.state&&d.replaceState(ie({},d.state,{scroll:as()}),"")}function u(){for(const d of o)d();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:f,destroy:u}}function sl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?as():null}}function Mg(e){const{history:t,location:n}=window,r={value:Gc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,f,c){const u=e.indexOf("#"),d=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Ig()+e+a;try{t[c?"replaceState":"pushState"](f,"",d),s.value=f}catch(p){console.error(p),n[c?"replace":"assign"](d)}}function i(a,f){const c=ie({},t.state,sl(s.value.back,a,s.value.forward,!0),f,{position:s.value.position});o(a,c,!0),r.value=a}function l(a,f){const c=ie({},s.value,t.state,{forward:a,scroll:as()});o(c.current,c,!0);const u=ie({},sl(r.value,a,null),{position:c.position+1},f);o(a,u,!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Jc(e){e=Sg(e);const t=Mg(e),n=Hg(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=ie({location:"",base:e,go:r,createHref:xg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function Lg(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Jc(e)}function $g(e){return typeof e=="string"||e&&typeof e=="object"}function zc(e){return typeof e=="string"||typeof e=="symbol"}const Qc=Symbol("");var ol;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ol||(ol={}));function wn(e,t){return ie(new Error,{type:e,[Qc]:!0},t)}function dt(e,t){return e instanceof Error&&Qc in e&&(t==null||!!(e.type&t))}const il="[^/]+?",Ng={sensitive:!1,strict:!1,start:!0,end:!0},Fg=/[.+*?^${}()[\]/\\]/g;function jg(e,t){const n=ie({},Ng,t),r=[];let s=n.start?"^":"";const o=[];for(const f of e){const c=f.length?[]:[90];n.strict&&!f.length&&(s+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function Yc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Bg={type:0,value:""},Ug=/[a-zA-Z0-9_]/;function Vg(e){if(!e)return[[]];if(e==="/")return[[Bg]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${f}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,f="",c="";function u(){f&&(n===0?o.push({type:0,value:f}):n===1||n===2||n===3?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function d(){f+=a}for(;l{i(g)}:Nn}function i(u){if(zc(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const d=Jg(u,n);n.splice(d,0,u),u.record.name&&!ul(u)&&r.set(u.record.name,u)}function f(u,d){let p,_={},E,P;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw wn(1,{location:u});P=p.record.name,_=ie(al(d.params,p.keys.filter(g=>!g.optional).concat(p.parent?p.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),u.params&&al(u.params,p.keys.map(g=>g.name))),E=p.stringify(_)}else if(u.path!=null)E=u.path,p=n.find(g=>g.re.test(E)),p&&(_=p.parse(E),P=p.record.name);else{if(p=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!p)throw wn(1,{location:u,currentLocation:d});P=p.record.name,_=ie({},d.params,u.params),E=p.stringify(_)}const R=[];let w=p;for(;w;)R.unshift(w.record),w=w.parent;return{name:P,path:E,params:_,matched:R,meta:Gg(R)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function al(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function cl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:qg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function qg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Gg(e){return e.reduce((t,n)=>ie(t,n.meta),{})}function fl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Jg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Yc(e,t[o])<0?r=o:n=o+1}const s=zg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function zg(e){let t=e;for(;t=t.parent;)if(Xc(t)&&Yc(e,t)===0)return t}function Xc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qg(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&fo(o)):[r&&fo(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Yg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=tt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Xg=Symbol(""),hl=Symbol(""),Yo=Symbol(""),Xo=Symbol(""),po=Symbol("");function xn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ct(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,a)=>{const f=d=>{d===!1?a(wn(4,{from:n,to:t})):d instanceof Error?a(d):$g(d)?a(wn(2,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),l())},c=o(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(c);e.length<3&&(u=u.then(f)),u.catch(d=>a(d))})}function xs(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Dc(a)){const c=(a.__vccOpts||a)[t];c&&o.push(Ct(c,n,r,i,l,s))}else{let f=a();o.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const u=og(c)?c.default:c;i.mods[l]=c,i.components[l]=u;const p=(u.__vccOpts||u)[t];return p&&Ct(p,n,r,i,l,s)()}))}}return o}function pl(e){const t=Oe(Yo),n=Oe(Xo),r=Ke(()=>{const a=ue(e.to);return t.resolve(a)}),s=Ke(()=>{const{matched:a}=r.value,{length:f}=a,c=a[f-1],u=n.matched;if(!c||!u.length)return-1;const d=u.findIndex(bn.bind(null,c));if(d>-1)return d;const p=gl(a[f-2]);return f>1&&gl(c)===p&&u[u.length-1].path!==p?u.findIndex(bn.bind(null,a[f-2])):d}),o=Ke(()=>s.value>-1&&nm(n.params,r.value.params)),i=Ke(()=>s.value>-1&&s.value===n.matched.length-1&&qc(n.params,r.value.params));function l(a={}){return tm(a)?t[ue(e.replace)?"replace":"push"](ue(e.to)).catch(Nn):Promise.resolve()}return{route:r,href:Ke(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}const Zg=Lt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:pl,setup(e,{slots:t}){const n=Mt(pl(e)),{options:r}=Oe(Yo),s=Ke(()=>({[ml(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ml(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Le("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),em=Zg;function tm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function nm(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!tt(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function gl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ml=(e,t,n)=>e??t??n,rm=Lt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Oe(po),s=Ke(()=>e.route||r.value),o=Oe(hl,0),i=Ke(()=>{let f=ue(o);const{matched:c}=s.value;let u;for(;(u=c[f])&&!u.components;)f++;return f}),l=Ke(()=>s.value.matched[i.value]);Jt(hl,Ke(()=>i.value+1)),Jt(Xg,l),Jt(po,s);const a=Ze();return zt(()=>[a.value,l.value,e.name],([f,c,u],[d,p,_])=>{c&&(c.instances[u]=f,p&&p!==c&&f&&f===d&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),f&&c&&(!p||!bn(c,p)||!d)&&(c.enterCallbacks[u]||[]).forEach(E=>E(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,u=l.value,d=u&&u.components[c];if(!d)return yl(n.default,{Component:d,route:f});const p=u.props[c],_=p?p===!0?f.params:typeof p=="function"?p(f):p:null,P=Le(d,ie({},_,t,{onVnodeUnmounted:R=>{R.component.isUnmounted&&(u.instances[c]=null)},ref:a}));return yl(n.default,{Component:P,route:f})||P}}});function yl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Zc=rm;function sm(e){const t=Kg(e.routes,e),n=e.parseQuery||Qg,r=e.stringifyQuery||dl,s=e.history,o=xn(),i=xn(),l=xn(),a=Un(Qe);let f=Qe;an&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ss.bind(null,S=>""+S),u=Ss.bind(null,_g),d=Ss.bind(null,zn);function p(S,D){let F,W;return zc(S)?(F=t.getRecordMatcher(S),W=D):W=S,t.addRoute(W,F)}function _(S){const D=t.getRecordMatcher(S);D&&t.removeRoute(D)}function E(){return t.getRoutes().map(S=>S.record)}function P(S){return!!t.getRecordMatcher(S)}function R(S,D){if(D=ie({},D||a.value),typeof S=="string"){const m=Cs(n,S,D.path),v=t.resolve({path:m.path},D),x=s.createHref(m.fullPath);return ie(m,v,{params:d(v.params),hash:zn(m.hash),redirectedFrom:void 0,href:x})}let F;if(S.path!=null)F=ie({},S,{path:Cs(n,S.path,D.path).path});else{const m=ie({},S.params);for(const v in m)m[v]==null&&delete m[v];F=ie({},S,{params:u(m)}),D.params=u(D.params)}const W=t.resolve(F,D),re=S.hash||"";W.params=c(d(W.params));const he=wg(r,ie({},S,{hash:gg(re),path:W.path})),h=s.createHref(he);return ie({fullPath:he,hash:re,query:r===dl?Yg(S.query):S.query||{}},W,{redirectedFrom:void 0,href:h})}function w(S){return typeof S=="string"?Cs(n,S,a.value.path):ie({},S)}function g(S,D){if(f!==S)return wn(8,{from:D,to:S})}function y(S){return H(S)}function b(S){return y(ie(w(S),{replace:!0}))}function C(S){const D=S.matched[S.matched.length-1];if(D&&D.redirect){const{redirect:F}=D;let W=typeof F=="function"?F(S):F;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=w(W):{path:W},W.params={}),ie({query:S.query,hash:S.hash,params:W.path!=null?{}:S.params},W)}}function H(S,D){const F=f=R(S),W=a.value,re=S.state,he=S.force,h=S.replace===!0,m=C(F);if(m)return H(ie(w(m),{state:typeof m=="object"?ie({},re,m.state):re,force:he,replace:h}),D||F);const v=F;v.redirectedFrom=D;let x;return!he&&Eg(r,W,F)&&(x=wn(16,{to:v,from:W}),nt(W,W,!0,!1)),(x?Promise.resolve(x):I(v,W)).catch(T=>dt(T)?dt(T,2)?T:bt(T):V(T,v,W)).then(T=>{if(T){if(dt(T,2))return H(ie({replace:h},w(T.to),{state:typeof T.to=="object"?ie({},re,T.to.state):re,force:he}),D||v)}else T=O(v,W,!0,h,re);return K(v,W,T),T})}function U(S,D){const F=g(S,D);return F?Promise.reject(F):Promise.resolve()}function M(S){const D=nn.values().next().value;return D&&typeof D.runWithContext=="function"?D.runWithContext(S):S()}function I(S,D){let F;const[W,re,he]=om(S,D);F=xs(W.reverse(),"beforeRouteLeave",S,D);for(const m of W)m.leaveGuards.forEach(v=>{F.push(Ct(v,S,D))});const h=U.bind(null,S,D);return F.push(h),Be(F).then(()=>{F=[];for(const m of o.list())F.push(Ct(m,S,D));return F.push(h),Be(F)}).then(()=>{F=xs(re,"beforeRouteUpdate",S,D);for(const m of re)m.updateGuards.forEach(v=>{F.push(Ct(v,S,D))});return F.push(h),Be(F)}).then(()=>{F=[];for(const m of he)if(m.beforeEnter)if(tt(m.beforeEnter))for(const v of m.beforeEnter)F.push(Ct(v,S,D));else F.push(Ct(m.beforeEnter,S,D));return F.push(h),Be(F)}).then(()=>(S.matched.forEach(m=>m.enterCallbacks={}),F=xs(he,"beforeRouteEnter",S,D,M),F.push(h),Be(F))).then(()=>{F=[];for(const m of i.list())F.push(Ct(m,S,D));return F.push(h),Be(F)}).catch(m=>dt(m,8)?m:Promise.reject(m))}function K(S,D,F){l.list().forEach(W=>M(()=>W(S,D,F)))}function O(S,D,F,W,re){const he=g(S,D);if(he)return he;const h=D===Qe,m=an?history.state:{};F&&(W||h?s.replace(S.fullPath,ie({scroll:h&&m&&m.scroll},re)):s.push(S.fullPath,re)),a.value=S,nt(S,D,F,h),bt()}let q;function Z(){q||(q=s.listen((S,D,F)=>{if(!cr.listening)return;const W=R(S),re=C(W);if(re){H(ie(re,{replace:!0}),W).catch(Nn);return}f=W;const he=a.value;an&&kg(rl(he.fullPath,F.delta),as()),I(W,he).catch(h=>dt(h,12)?h:dt(h,2)?(H(h.to,W).then(m=>{dt(m,20)&&!F.delta&&F.type===Qn.pop&&s.go(-1,!1)}).catch(Nn),Promise.reject()):(F.delta&&s.go(-F.delta,!1),V(h,W,he))).then(h=>{h=h||O(W,he,!1),h&&(F.delta&&!dt(h,8)?s.go(-F.delta,!1):F.type===Qn.pop&&dt(h,20)&&s.go(-1,!1)),K(W,he,h)}).catch(Nn)}))}let ne=xn(),B=xn(),X;function V(S,D,F){bt(S);const W=B.list();return W.length?W.forEach(re=>re(S,D,F)):console.error(S),Promise.reject(S)}function _e(){return X&&a.value!==Qe?Promise.resolve():new Promise((S,D)=>{ne.add([S,D])})}function bt(S){return X||(X=!S,Z(),ne.list().forEach(([D,F])=>S?F(S):D()),ne.reset()),S}function nt(S,D,F,W){const{scrollBehavior:re}=e;if(!an||!re)return Promise.resolve();const he=!F&&Og(rl(S.fullPath,0))||(W||!F)&&history.state&&history.state.scroll||null;return Ot().then(()=>re(S,D,he)).then(h=>h&&Ag(h)).catch(h=>V(h,S,D))}const Ie=S=>s.go(S);let tn;const nn=new Set,cr={currentRoute:a,listening:!0,addRoute:p,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:E,resolve:R,options:e,push:y,replace:b,go:Ie,back:()=>Ie(-1),forward:()=>Ie(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:B.add,isReady:_e,install(S){const D=this;S.component("RouterLink",em),S.component("RouterView",Zc),S.config.globalProperties.$router=D,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>ue(a)}),an&&!tn&&a.value===Qe&&(tn=!0,y(s.location).catch(re=>{}));const F={};for(const re in Qe)Object.defineProperty(F,re,{get:()=>a.value[re],enumerable:!0});S.provide(Yo,D),S.provide(Xo,mt(F)),S.provide(po,a);const W=S.unmount;nn.add(S),S.unmount=function(){nn.delete(S),nn.size<1&&(f=Qe,q&&q(),q=null,a.value=Qe,tn=!1,X=!1),W()}}};function Be(S){return S.reduce((D,F)=>D.then(()=>M(F)),Promise.resolve())}return cr}function om(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;ibn(f,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(f=>bn(f,a))||s.push(a))}return[n,r,s]}function im(e){return Oe(Xo)}const lm=/(:\w+)\([^)]+\)/g,am=/(:\w+)[?+*]/g,cm=/:\w+/g,um=(e,t)=>t.path.replace(lm,"$1").replace(am,"$1").replace(cm,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),go=(e,t)=>{const n=e.route.matched.find(s=>{var o;return((o=s.components)==null?void 0:o.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&um(e.route,n));return typeof r=="function"?r(e.route):r},fm=(e,t)=>({default:()=>e?Le(hf,e===!0?{}:e,t):t});function Zo(e){return Array.isArray(e)?e:[e]}const dm={layout:"blank"},hm={layout:"blank"},pm={layout:"blank"},gm={layout:"blank"},br={layout:"blank"},mm={layout:"blank"},Ps=[{name:"index",path:"/",component:()=>de(()=>import("./CbsJcGBg.js"),__vite__mapDeps([0,1,2]),import.meta.url)},{name:"tests-booster-hydrate",path:"/tests/booster-hydrate",meta:dm||{},component:()=>de(()=>import("./BAO3UZYD.js"),__vite__mapDeps([3,1]),import.meta.url)},{name:"tests-booster-layer",path:"/tests/booster-layer",meta:hm||{},component:()=>de(()=>import("./B06iCxOq.js"),__vite__mapDeps([4,1,5,6,7]),import.meta.url)},{name:"tests-booster-loader",path:"/tests/booster-loader",meta:pm||{},component:()=>de(()=>import("./DMl6P0z9.js"),__vite__mapDeps([8,1]),import.meta.url)},{name:"tests-iframe",path:"/tests/iframe",component:()=>de(()=>import("./D1dq0hvG.js"),__vite__mapDeps([9,10,6,11,12,13,14,1,15]),import.meta.url)},{name:"tests-image",path:"/tests/image",component:()=>de(()=>import("./DWv9LOD6.js"),__vite__mapDeps([16,17,18,6,1,10,19,20,11,12,13,14]),import.meta.url)},{name:"tests",path:"/tests",meta:gm||{},component:()=>de(()=>import("./BzYh0rsi.js"),__vite__mapDeps([21,1]),import.meta.url)},{name:"tests-picture",path:"/tests/picture",component:()=>de(()=>import("./C2hgAtg3.js"),__vite__mapDeps([22,23,18,6,1,10,19,20,24,11,12,13,14]),import.meta.url)},{name:br==null?void 0:br.name,path:"/tests/useBoosterHead",meta:br||{},component:()=>de(()=>import("./DNCE5Gjk.js"),__vite__mapDeps([25,26,1,27]),import.meta.url),children:[{name:"tests-useBoosterHead-1",path:"1",component:()=>de(()=>import("./BgpTfSRx.js"),__vite__mapDeps([28,29,10,6,1]),import.meta.url)},{name:"tests-useBoosterHead-2",path:"2",component:()=>de(()=>import("./D9IkFdcV.js"),__vite__mapDeps([30,29,10,6,1]),import.meta.url)},{name:"tests-useBoosterHead-empty-1",path:"empty-1",component:()=>de(()=>import("./CAmz8qfR.js"),__vite__mapDeps([31,1]),import.meta.url)},{name:"tests-useBoosterHead-empty-2",path:"empty-2",component:()=>de(()=>import("./CZb4hv3n.js"),__vite__mapDeps([32,1]),import.meta.url)},{name:"tests-useBoosterHead",path:"",component:()=>de(()=>import("./DsPoxt5G.js"),__vite__mapDeps([33,29,10,6,1,34]),import.meta.url)}]},{name:"tests-v-font-media",path:"/tests/v-font-media",component:()=>de(()=>import("./DZ6DYBSy.js"),__vite__mapDeps([35,11,12,13,10,6,14,1,36]),import.meta.url)},{name:"tests-v-font-scroll",path:"/tests/v-font-scroll",component:()=>de(()=>import("./tHjQOXKc.js"),__vite__mapDeps([37,11,12,13,10,6,14,1,38]),import.meta.url)},{name:"tests-v-font",path:"/tests/v-font",component:()=>de(()=>import("./CXg4qCcD.js"),__vite__mapDeps([39,11,12,13,10,6,14,1,40]),import.meta.url)},{name:"tests-vimeo",path:"/tests/vimeo",component:()=>de(()=>import("./DsYz6WCr.js"),__vite__mapDeps([41,1]),import.meta.url)},{name:"tests-weak-hardware-overlay",path:"/tests/weak-hardware-overlay",meta:mm||{},component:()=>de(()=>import("./BUB5tvAX.js"),__vite__mapDeps([42,5,6,7,43,44,1]),import.meta.url)},{name:"tests-youtube",path:"/tests/youtube",component:()=>de(()=>import("./LYpE5lsi.js"),__vite__mapDeps([45,1]),import.meta.url)}],eu=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?Le(e,t,n):(r=n.default)==null?void 0:r.call(n)}}),ym=/(:\w+)\([^)]+\)/g,_m=/(:\w+)[?+*]/g,vm=/:\w+/g;function _l(e){const t=(e==null?void 0:e.meta.key)??e.path.replace(ym,"$1").replace(_m,"$1").replace(vm,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""});return typeof t=="function"?t(e):t}function bm(e,t){return e===t||t===Qe?!1:_l(e)!==_l(t)?!0:!e.matched.every((r,s)=>{var o,i;return r.components&&r.components.default===((i=(o=t.matched[s])==null?void 0:o.components)==null?void 0:i.default)})}const wm={scrollBehavior(e,t,n){var f;const r=me(),s=((f=Je().options)==null?void 0:f.scrollBehaviorType)??"auto";let o=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!o&&t&&e&&i!==!1&&bm(e,t)&&(o={left:0,top:0}),e.path===t.path)return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:vl(e.hash),behavior:s}:!1;const l=c=>!!(c.meta.pageTransition??to),a=l(t)&&l(e)?"page:transition:finish":"page:finish";return new Promise(c=>{r.hooks.hookOnce(a,async()=>{await new Promise(u=>setTimeout(u,0)),e.hash&&(o={el:e.hash,top:vl(e.hash),behavior:s}),c(o)})})}};function vl(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}const Em={hashMode:!1,scrollBehaviorType:"auto"},Ve={...Em,...wm},Rm=async e=>{var a;let t,n;if(!((a=e.meta)!=null&&a.validate))return;const r=me(),s=Je(),o=([t,n]=Yt(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t);if(o===!0)return;const i=is({statusCode:o&&o.statusCode||404,statusMessage:o&&o.statusMessage||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),l=s.beforeResolve(f=>{if(l(),f===e){const c=s.afterEach(async()=>{c(),await r.runWithContext(()=>un(i)),window==null||window.history.pushState({},"",e.fullPath)});return!1}})},Tm=async e=>{let t,n;const r=([t,n]=Yt(()=>zo(e.path)),t=await t,n(),t);if(r.redirect)return $t(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},Sm=[Rm,Tm],jn={};function Cm(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Ys(c,"")}const l=Ys(r,e),a=!n||hc(l,n,{trailingSlash:!0})?l:n;return a+(a.includes("?")?"":s)+o}const xm=ct({name:"nuxt:router",enforce:"pre",async setup(e){var P;let t,n,r=Rn().app.baseURL;Ve.hashMode&&!r.includes("#")&&(r+="#");const s=((P=Ve.history)==null?void 0:P.call(Ve,r))??(Ve.hashMode?Lg(r):Jc(r)),o=Ve.routes?([t,n]=Yt(()=>Ve.routes(Ps)),t=await t,n(),t??Ps):Ps;let i;const l=sm({...Ve,scrollBehavior:(R,w,g)=>{if(w===Qe){i=g;return}if(Ve.scrollBehavior){if(l.options.scrollBehavior=Ve.scrollBehavior,"scrollRestoration"in window.history){const y=l.beforeEach(()=>{y(),window.history.scrollRestoration="manual"})}return Ve.scrollBehavior(R,Qe,i||g)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Un(l.currentRoute.value);l.afterEach((R,w)=>{a.value=w}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const f=Cm(r,window.location,e.payload.path),c=Un(l.currentRoute.value),u=()=>{c.value=l.currentRoute.value};e.hook("page:finish",u),l.afterEach((R,w)=>{var g,y,b,C;((y=(g=R.matched[0])==null?void 0:g.components)==null?void 0:y.default)===((C=(b=w.matched[0])==null?void 0:b.components)==null?void 0:C.default)&&u()});const d={};for(const R in c.value)Object.defineProperty(d,R,{get:()=>c.value[R],enumerable:!0});e._route=mt(d),e._middleware=e._middleware||{global:[],named:{}};const p=os();l.afterEach(async(R,w,g)=>{delete e._processingMiddleware,!e.isHydrating&&p.value&&await e.runWithContext(tp),g&&await e.callHook("page:loading:end")});try{[t,n]=Yt(()=>l.isReady()),await t,n()}catch(R){[t,n]=Yt(()=>e.runWithContext(()=>un(R))),await t,n()}const _=f!==l.currentRoute.value.fullPath?l.resolve(f):l.currentRoute.value;u();const E=e.payload.state._layout;return l.beforeEach(async(R,w)=>{var g;await e.callHook("page:loading:start"),R.meta=Mt(R.meta),e.isHydrating&&E&&!kt(R.meta.layout)&&(R.meta.layout=E),e._processingMiddleware=!0;{const y=new Set([...Sm,...e._middleware.global]);for(const b of R.matched){const C=b.meta.middleware;if(C)for(const H of Zo(C))y.add(H)}{const b=await e.runWithContext(()=>zo(R.path));if(b.appMiddleware)for(const C in b.appMiddleware)b.appMiddleware[C]?y.add(C):y.delete(C)}for(const b of y){const C=typeof b=="string"?e._middleware.named[b]||await((g=jn[b])==null?void 0:g.call(jn).then(U=>U.default||U)):b;if(!C)throw new Error(`Unknown route middleware: '${b}'.`);const H=await e.runWithContext(()=>C(R,w));if(!e.payload.serverRendered&&e.isHydrating&&(H===!1||H instanceof Error)){const U=H||so({statusCode:404,statusMessage:`Page Not Found: ${f}`});return await e.runWithContext(()=>un(U)),!1}if(H!==!0&&(H||H===!1))return H}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(async(R,w)=>{R.matched.length===0&&await e.runWithContext(()=>un(so({statusCode:404,fatal:!1,statusMessage:`Page not found: ${R.fullPath}`,data:{path:R.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in _&&(_.name=void 0),await l.replace({..._,force:!0}),l.options.scrollBehavior=Ve.scrollBehavior}catch(R){await e.runWithContext(()=>un(R))}}),{provide:{router:l}}}}),bl=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Ny=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),ei=e=>{const t=me();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{bl(()=>e())}):bl(()=>e())},Pm=ct({name:"nuxt:payload",setup(e){Je().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await el(t.path);r&&Object.assign(e.static.data,r.data)}),ei(()=>{var t;e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await el(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(ls,1e3)})}}),Am=ct(()=>{const e=Je();ei(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),km=ct(e=>{let t;async function n(){const r=await ls();t&&clearTimeout(t),t=setTimeout(n,Ki);try{const s=await $fetch(Go("builds/latest.json")+`?${Date.now()}`);s.id!==r.id&&e.hooks.callHook("app:manifest:update",s)}catch{}}ei(()=>{t=setTimeout(n,Ki)})});function Om(e={}){const t=e.path||window.location.pathname;let n={};try{n=Nr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires){r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const l="href"in o&&o.href[0]==="#"?n.app.baseURL+o.href:ss(n.app.baseURL,o.fullPath);Om({path:l,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}}),Hm=ct({name:"nuxt:global-components"}),xt={blank:Kn(()=>de(()=>import("./DE9SpmT_.js"),__vite__mapDeps([46,1]),import.meta.url)),default:Kn(()=>de(()=>import("./DEk0na8P.js"),__vite__mapDeps([47,1,12,19,48]),import.meta.url))},Mm=ct({name:"nuxt:prefetch",setup(e){const t=Je();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var s;const r=(s=n==null?void 0:n.meta)==null?void 0:s.layout;r&&typeof xt[r]=="function"&&await xt[r]()})}),e.hooks.hook("link:prefetch",n=>{if($t(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=Zo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof jn[i]=="function"&&jn[i]();s&&typeof xt[s]=="function"&&xt[s]()})}});var mn,Vt;class Lm{constructor(t){st(this,mn);st(this,Vt,new Map);rn(this,mn,new window.IntersectionObserver(n=>this.next(n),t))}next(t){t.forEach(({target:n,isIntersecting:r})=>{ve(this,Vt).has(n)&&ve(this,Vt).get(n)(r)})}register(t,n){ve(this,Vt).set(t,n),ve(this,mn).observe(t)}unregister(t){ve(this,Vt).delete(t),ve(this,mn).unobserve(t)}}mn=new WeakMap,Vt=new WeakMap;const $m=e=>{const{node:t,key:n}=Nm(e);t.observables.has(n)||t.observables.set(n,new Lm(e));const r=t.observables.get(n);return{register:(s,o)=>r.register(s,o),unregister:(s,o)=>r.unregister(s,o)}},Nm=({root:e,...t})=>{const n=e||window.document.documentElement;return n.observables||(n.observables=new Map),{key:JSON.stringify({...t}),node:n}};var Yn,Xn,Wt,Zn,er,tr,nr;class Fm{constructor(t,n){st(this,Yn);st(this,Xn);st(this,Wt,!1);st(this,Zn,[]);st(this,er,[]);st(this,tr,new Hs);st(this,nr,new Hs);rn(this,Yn,t.register(n,this.onIntersecting.bind(this))),rn(this,Xn,()=>t.unregister(n))}get observer(){return ve(this,Yn)}get inView(){return ve(this,Wt)}onIntersecting(t){t?(ve(this,tr).resolve(),rn(this,Wt,!0),ve(this,Zn).forEach(n=>n())):ve(this,Wt)&&(ve(this,nr).resolve(),rn(this,Wt,!1),ve(this,er).forEach(n=>n()))}enterViewOnce(){return ve(this,tr).promise}enterView(t){ve(this,Zn).push(t)}leaveViewOnce(){return ve(this,nr).promise}leaveView(t){ve(this,er).push(t)}destroy(){ve(this,Xn).call(this)}}Yn=new WeakMap,Xn=new WeakMap,Wt=new WeakMap,Zn=new WeakMap,er=new WeakMap,tr=new WeakMap,nr=new WeakMap;const jm=(e,t)=>{const n=ti(e),r={...Dm(n),...t};return new Fm($m(r),e)},Dm=e=>({root:e!==window.document.documentElement&&e||void 0,threshold:[0]}),Bm=function(e){const t=ti(e)||window,n=e.getBoundingClientRect(),r="getBoundingClientRect"in t&&t.getBoundingClientRect()||{left:0,right:0,top:0},s={x:n.left+r.left,y:n.top+r.top},o={x:t.offsetWidth||t.innerWidth,y:t.offsetHeight||t.innerHeight};return n.bottom<0||n.right<0||s.x>o.x||s.y>o.y},Um=/(auto|scroll)/,As=(e,t)=>getComputedStyle(e,null).getPropertyValue(t),Vm=e=>Um.test(As(e,"overflow")+As(e,"overflow-y")+As(e,"overflow-x")),ti=(e,t=[])=>!e||e===document.body?null:(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)&&Vm(e)?e:(t.push(e),ti(e.parentNode,t)),mo="font-active",wl=new Map,Wm={install(e){e.directive("font",{created(t,n,r){var o;n.instance.fontsReady=n.instance.fontsReady||new Map;const s=[].concat(n.value);if(s.length){const{isCritical:i,fontCollection:l}=wr(s),a=s.map(({definition:c})=>c),f=l.add(a);t.setAttribute(f.name,f.value),n.instance.fontsReady.set(t,i),i&&(typeof((o=r.props)==null?void 0:o.class)=="string"&&(r.props.class=[...r.props.class.split(" "),i&&mo].filter(Boolean).join(" ")),yo(r.props,"onLoad:font",a))}},getSSRProps(t){const n=[].concat(t.value);if(n.length){const{isCritical:r,fontCollection:s}=wr(n),o=n.map(({definition:l})=>l),i=s.add(o);return{[i.name]:i.value,class:r?"font-active":void 0}}},updated(t,n,r){n.instance.fontsReady.get(t)&&(t.classList.add(mo),yo(r.props,"onLoad:font",[].concat(n.value).map(s=>s.definition)))},async mounted(t,n,r){if(wr(n.value)){const{isCritical:o,runtimeConfig:i}=wr(n.value);if(o||!Bm(t))El(t,n,r);else{const l=jm(t,{rootMargin:i.lazyOffsetAsset||"0%"});wl.set(t,l),await l.enterViewOnce(),El(t,n,r)}}},unmounted(t){wl.delete(t)}})}};function wr(e){return[].concat(e)[0]}async function El(e,t,n){const r=[].concat(t.value).map(({definition:s})=>s);await Promise.all(r.filter(s=>!s.media||window.matchMedia(s.media).matches).map(s=>s.load())),e.classList.add(mo),t.instance.fontsReady.set(e,!0),yo(n.props,"onLoad:font",r)}const yo=(e,t,n)=>{typeof(e==null?void 0:e[String(t)])=="function"&&e[String(t)](n)};function Km(e){return typeof window<"u"&&"btoa"in window?window.btoa(e):Buffer.from(e).toString("base64")}class qm{constructor(t,{src:n,type:r,fallbackFamily:s},{media:o,selector:i},l=400,a="normal"){oi(this,"rootSelector");this.family=t,this.style=a,this.weight=l,this.src=n,this.type=`font/${r}`,this.fallbackFamily=s,this.rootSelector="",this.selector=i||"",this.media=o||null,this.loaded=new Hs}toJSON(){return{family:this.family,style:this.style,weight:this.weight,src:this.src,type:this.type,fallbackFamily:this.fallbackFamily,rootSelector:this.rootSelector,selector:this.selector,media:this.media}}async load(){const t="fonts"in window.document&&await window.document.fonts.ready;t&&!t.check(`${this.style} ${this.weight} 12px '${this.family}'`)&&await Array.from(t).find(r=>Jm(r.family)===this.family&&r.style===this.style&&Sl(r.weight)===Sl(this.weight)).load()}getKey(){const t={...this};return delete t.src,delete t.rootSelector,Km(JSON.stringify(t))}getCSSText({usedFontaine:t=!1}={}){const n=Rl(this.rootSelector,this.selector),r=`"${this.family}"`;return Tl(`${n} { + */const an=typeof document<"u";function Dc(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function og(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Dc(e.default)}const ie=Object.assign;function Ss(e,t){const n={};for(const r in t){const s=t[r];n[r]=tt(s)?s.map(e):e(s)}return n}const Nn=()=>{},tt=Array.isArray,Bc=/#/g,ig=/&/g,lg=/\//g,ag=/=/g,cg=/\?/g,Uc=/\+/g,ug=/%5B/g,fg=/%5D/g,Vc=/%5E/g,dg=/%60/g,Wc=/%7B/g,hg=/%7C/g,Kc=/%7D/g,pg=/%20/g;function Qo(e){return encodeURI(""+e).replace(hg,"|").replace(ug,"[").replace(fg,"]")}function gg(e){return Qo(e).replace(Wc,"{").replace(Kc,"}").replace(Vc,"^")}function fo(e){return Qo(e).replace(Uc,"%2B").replace(pg,"+").replace(Bc,"%23").replace(ig,"%26").replace(dg,"`").replace(Wc,"{").replace(Kc,"}").replace(Vc,"^")}function mg(e){return fo(e).replace(ag,"%3D")}function yg(e){return Qo(e).replace(Bc,"%23").replace(cg,"%3F")}function _g(e){return e==null?"":yg(e).replace(lg,"%2F")}function zn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const vg=/\/$/,bg=e=>e.replace(vg,"");function Cs(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),o=t.slice(a+1,l>-1?l:t.length),s=e(o)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Tg(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:zn(i)}}function wg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function tl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Eg(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&bn(t.matched[r],n.matched[s])&&qc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function bn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function qc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Rg(e[n],t[n]))return!1;return!0}function Rg(e,t){return tt(e)?nl(e,t):tt(t)?nl(t,e):e===t}function nl(e,t){return tt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Tg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const Qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Qn;(function(e){e.pop="pop",e.push="push"})(Qn||(Qn={}));var Fn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Fn||(Fn={}));function Sg(e){if(!e)if(an){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),bg(e)}const Cg=/^[^#]+#/;function xg(e,t){return e.replace(Cg,"#")+t}function Pg(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const as=()=>({left:window.scrollX,top:window.scrollY});function Ag(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Pg(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function rl(e,t){return(history.state?history.state.position-t:-1)+e}const ho=new Map;function kg(e,t){ho.set(e,t)}function Og(e){const t=ho.get(e);return ho.delete(e),t}let Ig=()=>location.protocol+"//"+location.host;function Gc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let l=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(l);return a[0]!=="/"&&(a="/"+a),tl(a,"")}return tl(n,e)+r+s}function Hg(e,t,n,r){let s=[],o=[],i=null;const l=({state:d})=>{const p=Gc(e,location),_=n.value,E=t.value;let P=0;if(d){if(n.value=p,t.value=d,i&&i===_){i=null;return}P=E?d.position-E.position:0}else r(p);s.forEach(R=>{R(n.value,_,{delta:P,type:Qn.pop,direction:P?P>0?Fn.forward:Fn.back:Fn.unknown})})};function a(){i=n.value}function f(d){s.push(d);const p=()=>{const _=s.indexOf(d);_>-1&&s.splice(_,1)};return o.push(p),p}function c(){const{history:d}=window;d.state&&d.replaceState(ie({},d.state,{scroll:as()}),"")}function u(){for(const d of o)d();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:f,destroy:u}}function sl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?as():null}}function Mg(e){const{history:t,location:n}=window,r={value:Gc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,f,c){const u=e.indexOf("#"),d=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Ig()+e+a;try{t[c?"replaceState":"pushState"](f,"",d),s.value=f}catch(p){console.error(p),n[c?"replace":"assign"](d)}}function i(a,f){const c=ie({},t.state,sl(s.value.back,a,s.value.forward,!0),f,{position:s.value.position});o(a,c,!0),r.value=a}function l(a,f){const c=ie({},s.value,t.state,{forward:a,scroll:as()});o(c.current,c,!0);const u=ie({},sl(r.value,a,null),{position:c.position+1},f);o(a,u,!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Jc(e){e=Sg(e);const t=Mg(e),n=Hg(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=ie({location:"",base:e,go:r,createHref:xg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function Lg(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Jc(e)}function $g(e){return typeof e=="string"||e&&typeof e=="object"}function zc(e){return typeof e=="string"||typeof e=="symbol"}const Qc=Symbol("");var ol;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ol||(ol={}));function wn(e,t){return ie(new Error,{type:e,[Qc]:!0},t)}function dt(e,t){return e instanceof Error&&Qc in e&&(t==null||!!(e.type&t))}const il="[^/]+?",Ng={sensitive:!1,strict:!1,start:!0,end:!0},Fg=/[.+*?^${}()[\]/\\]/g;function jg(e,t){const n=ie({},Ng,t),r=[];let s=n.start?"^":"";const o=[];for(const f of e){const c=f.length?[]:[90];n.strict&&!f.length&&(s+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function Yc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Bg={type:0,value:""},Ug=/[a-zA-Z0-9_]/;function Vg(e){if(!e)return[[]];if(e==="/")return[[Bg]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${f}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,f="",c="";function u(){f&&(n===0?o.push({type:0,value:f}):n===1||n===2||n===3?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function d(){f+=a}for(;l{i(g)}:Nn}function i(u){if(zc(u)){const d=r.get(u);d&&(r.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const d=Jg(u,n);n.splice(d,0,u),u.record.name&&!ul(u)&&r.set(u.record.name,u)}function f(u,d){let p,_={},E,P;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw wn(1,{location:u});P=p.record.name,_=ie(al(d.params,p.keys.filter(g=>!g.optional).concat(p.parent?p.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),u.params&&al(u.params,p.keys.map(g=>g.name))),E=p.stringify(_)}else if(u.path!=null)E=u.path,p=n.find(g=>g.re.test(E)),p&&(_=p.parse(E),P=p.record.name);else{if(p=d.name?r.get(d.name):n.find(g=>g.re.test(d.path)),!p)throw wn(1,{location:u,currentLocation:d});P=p.record.name,_=ie({},d.params,u.params),E=p.stringify(_)}const R=[];let w=p;for(;w;)R.unshift(w.record),w=w.parent;return{name:P,path:E,params:_,matched:R,meta:Gg(R)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function al(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function cl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:qg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function qg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ul(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Gg(e){return e.reduce((t,n)=>ie(t,n.meta),{})}function fl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Jg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Yc(e,t[o])<0?r=o:n=o+1}const s=zg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function zg(e){let t=e;for(;t=t.parent;)if(Xc(t)&&Yc(e,t)===0)return t}function Xc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qg(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&fo(o)):[r&&fo(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Yg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=tt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Xg=Symbol(""),hl=Symbol(""),Yo=Symbol(""),Xo=Symbol(""),po=Symbol("");function xn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ct(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,a)=>{const f=d=>{d===!1?a(wn(4,{from:n,to:t})):d instanceof Error?a(d):$g(d)?a(wn(2,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),l())},c=o(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(c);e.length<3&&(u=u.then(f)),u.catch(d=>a(d))})}function xs(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Dc(a)){const c=(a.__vccOpts||a)[t];c&&o.push(Ct(c,n,r,i,l,s))}else{let f=a();o.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const u=og(c)?c.default:c;i.mods[l]=c,i.components[l]=u;const p=(u.__vccOpts||u)[t];return p&&Ct(p,n,r,i,l,s)()}))}}return o}function pl(e){const t=Oe(Yo),n=Oe(Xo),r=Ke(()=>{const a=ue(e.to);return t.resolve(a)}),s=Ke(()=>{const{matched:a}=r.value,{length:f}=a,c=a[f-1],u=n.matched;if(!c||!u.length)return-1;const d=u.findIndex(bn.bind(null,c));if(d>-1)return d;const p=gl(a[f-2]);return f>1&&gl(c)===p&&u[u.length-1].path!==p?u.findIndex(bn.bind(null,a[f-2])):d}),o=Ke(()=>s.value>-1&&nm(n.params,r.value.params)),i=Ke(()=>s.value>-1&&s.value===n.matched.length-1&&qc(n.params,r.value.params));function l(a={}){return tm(a)?t[ue(e.replace)?"replace":"push"](ue(e.to)).catch(Nn):Promise.resolve()}return{route:r,href:Ke(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}const Zg=Lt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:pl,setup(e,{slots:t}){const n=Mt(pl(e)),{options:r}=Oe(Yo),s=Ke(()=>({[ml(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ml(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Le("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),em=Zg;function tm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function nm(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!tt(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function gl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ml=(e,t,n)=>e??t??n,rm=Lt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Oe(po),s=Ke(()=>e.route||r.value),o=Oe(hl,0),i=Ke(()=>{let f=ue(o);const{matched:c}=s.value;let u;for(;(u=c[f])&&!u.components;)f++;return f}),l=Ke(()=>s.value.matched[i.value]);Jt(hl,Ke(()=>i.value+1)),Jt(Xg,l),Jt(po,s);const a=Ze();return zt(()=>[a.value,l.value,e.name],([f,c,u],[d,p,_])=>{c&&(c.instances[u]=f,p&&p!==c&&f&&f===d&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),f&&c&&(!p||!bn(c,p)||!d)&&(c.enterCallbacks[u]||[]).forEach(E=>E(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,u=l.value,d=u&&u.components[c];if(!d)return yl(n.default,{Component:d,route:f});const p=u.props[c],_=p?p===!0?f.params:typeof p=="function"?p(f):p:null,P=Le(d,ie({},_,t,{onVnodeUnmounted:R=>{R.component.isUnmounted&&(u.instances[c]=null)},ref:a}));return yl(n.default,{Component:P,route:f})||P}}});function yl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Zc=rm;function sm(e){const t=Kg(e.routes,e),n=e.parseQuery||Qg,r=e.stringifyQuery||dl,s=e.history,o=xn(),i=xn(),l=xn(),a=Un(Qe);let f=Qe;an&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ss.bind(null,S=>""+S),u=Ss.bind(null,_g),d=Ss.bind(null,zn);function p(S,D){let F,W;return zc(S)?(F=t.getRecordMatcher(S),W=D):W=S,t.addRoute(W,F)}function _(S){const D=t.getRecordMatcher(S);D&&t.removeRoute(D)}function E(){return t.getRoutes().map(S=>S.record)}function P(S){return!!t.getRecordMatcher(S)}function R(S,D){if(D=ie({},D||a.value),typeof S=="string"){const m=Cs(n,S,D.path),v=t.resolve({path:m.path},D),x=s.createHref(m.fullPath);return ie(m,v,{params:d(v.params),hash:zn(m.hash),redirectedFrom:void 0,href:x})}let F;if(S.path!=null)F=ie({},S,{path:Cs(n,S.path,D.path).path});else{const m=ie({},S.params);for(const v in m)m[v]==null&&delete m[v];F=ie({},S,{params:u(m)}),D.params=u(D.params)}const W=t.resolve(F,D),re=S.hash||"";W.params=c(d(W.params));const he=wg(r,ie({},S,{hash:gg(re),path:W.path})),h=s.createHref(he);return ie({fullPath:he,hash:re,query:r===dl?Yg(S.query):S.query||{}},W,{redirectedFrom:void 0,href:h})}function w(S){return typeof S=="string"?Cs(n,S,a.value.path):ie({},S)}function g(S,D){if(f!==S)return wn(8,{from:D,to:S})}function y(S){return H(S)}function b(S){return y(ie(w(S),{replace:!0}))}function C(S){const D=S.matched[S.matched.length-1];if(D&&D.redirect){const{redirect:F}=D;let W=typeof F=="function"?F(S):F;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=w(W):{path:W},W.params={}),ie({query:S.query,hash:S.hash,params:W.path!=null?{}:S.params},W)}}function H(S,D){const F=f=R(S),W=a.value,re=S.state,he=S.force,h=S.replace===!0,m=C(F);if(m)return H(ie(w(m),{state:typeof m=="object"?ie({},re,m.state):re,force:he,replace:h}),D||F);const v=F;v.redirectedFrom=D;let x;return!he&&Eg(r,W,F)&&(x=wn(16,{to:v,from:W}),nt(W,W,!0,!1)),(x?Promise.resolve(x):I(v,W)).catch(T=>dt(T)?dt(T,2)?T:bt(T):V(T,v,W)).then(T=>{if(T){if(dt(T,2))return H(ie({replace:h},w(T.to),{state:typeof T.to=="object"?ie({},re,T.to.state):re,force:he}),D||v)}else T=O(v,W,!0,h,re);return K(v,W,T),T})}function U(S,D){const F=g(S,D);return F?Promise.reject(F):Promise.resolve()}function M(S){const D=nn.values().next().value;return D&&typeof D.runWithContext=="function"?D.runWithContext(S):S()}function I(S,D){let F;const[W,re,he]=om(S,D);F=xs(W.reverse(),"beforeRouteLeave",S,D);for(const m of W)m.leaveGuards.forEach(v=>{F.push(Ct(v,S,D))});const h=U.bind(null,S,D);return F.push(h),Be(F).then(()=>{F=[];for(const m of o.list())F.push(Ct(m,S,D));return F.push(h),Be(F)}).then(()=>{F=xs(re,"beforeRouteUpdate",S,D);for(const m of re)m.updateGuards.forEach(v=>{F.push(Ct(v,S,D))});return F.push(h),Be(F)}).then(()=>{F=[];for(const m of he)if(m.beforeEnter)if(tt(m.beforeEnter))for(const v of m.beforeEnter)F.push(Ct(v,S,D));else F.push(Ct(m.beforeEnter,S,D));return F.push(h),Be(F)}).then(()=>(S.matched.forEach(m=>m.enterCallbacks={}),F=xs(he,"beforeRouteEnter",S,D,M),F.push(h),Be(F))).then(()=>{F=[];for(const m of i.list())F.push(Ct(m,S,D));return F.push(h),Be(F)}).catch(m=>dt(m,8)?m:Promise.reject(m))}function K(S,D,F){l.list().forEach(W=>M(()=>W(S,D,F)))}function O(S,D,F,W,re){const he=g(S,D);if(he)return he;const h=D===Qe,m=an?history.state:{};F&&(W||h?s.replace(S.fullPath,ie({scroll:h&&m&&m.scroll},re)):s.push(S.fullPath,re)),a.value=S,nt(S,D,F,h),bt()}let q;function Z(){q||(q=s.listen((S,D,F)=>{if(!cr.listening)return;const W=R(S),re=C(W);if(re){H(ie(re,{replace:!0}),W).catch(Nn);return}f=W;const he=a.value;an&&kg(rl(he.fullPath,F.delta),as()),I(W,he).catch(h=>dt(h,12)?h:dt(h,2)?(H(h.to,W).then(m=>{dt(m,20)&&!F.delta&&F.type===Qn.pop&&s.go(-1,!1)}).catch(Nn),Promise.reject()):(F.delta&&s.go(-F.delta,!1),V(h,W,he))).then(h=>{h=h||O(W,he,!1),h&&(F.delta&&!dt(h,8)?s.go(-F.delta,!1):F.type===Qn.pop&&dt(h,20)&&s.go(-1,!1)),K(W,he,h)}).catch(Nn)}))}let ne=xn(),B=xn(),X;function V(S,D,F){bt(S);const W=B.list();return W.length?W.forEach(re=>re(S,D,F)):console.error(S),Promise.reject(S)}function _e(){return X&&a.value!==Qe?Promise.resolve():new Promise((S,D)=>{ne.add([S,D])})}function bt(S){return X||(X=!S,Z(),ne.list().forEach(([D,F])=>S?F(S):D()),ne.reset()),S}function nt(S,D,F,W){const{scrollBehavior:re}=e;if(!an||!re)return Promise.resolve();const he=!F&&Og(rl(S.fullPath,0))||(W||!F)&&history.state&&history.state.scroll||null;return Ot().then(()=>re(S,D,he)).then(h=>h&&Ag(h)).catch(h=>V(h,S,D))}const Ie=S=>s.go(S);let tn;const nn=new Set,cr={currentRoute:a,listening:!0,addRoute:p,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:E,resolve:R,options:e,push:y,replace:b,go:Ie,back:()=>Ie(-1),forward:()=>Ie(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:B.add,isReady:_e,install(S){const D=this;S.component("RouterLink",em),S.component("RouterView",Zc),S.config.globalProperties.$router=D,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>ue(a)}),an&&!tn&&a.value===Qe&&(tn=!0,y(s.location).catch(re=>{}));const F={};for(const re in Qe)Object.defineProperty(F,re,{get:()=>a.value[re],enumerable:!0});S.provide(Yo,D),S.provide(Xo,mt(F)),S.provide(po,a);const W=S.unmount;nn.add(S),S.unmount=function(){nn.delete(S),nn.size<1&&(f=Qe,q&&q(),q=null,a.value=Qe,tn=!1,X=!1),W()}}};function Be(S){return S.reduce((D,F)=>D.then(()=>M(F)),Promise.resolve())}return cr}function om(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;ibn(f,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(f=>bn(f,a))||s.push(a))}return[n,r,s]}function im(e){return Oe(Xo)}const lm=/(:\w+)\([^)]+\)/g,am=/(:\w+)[?+*]/g,cm=/:\w+/g,um=(e,t)=>t.path.replace(lm,"$1").replace(am,"$1").replace(cm,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),go=(e,t)=>{const n=e.route.matched.find(s=>{var o;return((o=s.components)==null?void 0:o.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&um(e.route,n));return typeof r=="function"?r(e.route):r},fm=(e,t)=>({default:()=>e?Le(hf,e===!0?{}:e,t):t});function Zo(e){return Array.isArray(e)?e:[e]}const dm={layout:"blank"},hm={layout:"blank"},pm={layout:"blank"},gm={layout:"blank"},br={layout:"blank"},mm={layout:"blank"},Ps=[{name:"index",path:"/",component:()=>de(()=>import("./BE0Zwe0E.js"),__vite__mapDeps([0,1,2]),import.meta.url)},{name:"tests-booster-hydrate",path:"/tests/booster-hydrate",meta:dm||{},component:()=>de(()=>import("./DH0EGWEu.js"),__vite__mapDeps([3,1]),import.meta.url)},{name:"tests-booster-layer",path:"/tests/booster-layer",meta:hm||{},component:()=>de(()=>import("./DtvPA-kz.js"),__vite__mapDeps([4,1,5,6,7]),import.meta.url)},{name:"tests-booster-loader",path:"/tests/booster-loader",meta:pm||{},component:()=>de(()=>import("./yaz8759Z.js"),__vite__mapDeps([8,1]),import.meta.url)},{name:"tests-iframe",path:"/tests/iframe",component:()=>de(()=>import("./CdQVGgNO.js"),__vite__mapDeps([9,10,6,11,12,13,14,1,15]),import.meta.url)},{name:"tests-image",path:"/tests/image",component:()=>de(()=>import("./CTEf6Xot.js"),__vite__mapDeps([16,17,18,6,1,10,19,20,11,12,13,14]),import.meta.url)},{name:"tests",path:"/tests",meta:gm||{},component:()=>de(()=>import("./BH-WeKBU.js"),__vite__mapDeps([21,1]),import.meta.url)},{name:"tests-picture",path:"/tests/picture",component:()=>de(()=>import("./CtMXRX41.js"),__vite__mapDeps([22,23,18,6,1,10,19,20,24,11,12,13,14]),import.meta.url)},{name:br==null?void 0:br.name,path:"/tests/useBoosterHead",meta:br||{},component:()=>de(()=>import("./B1wO8YPN.js"),__vite__mapDeps([25,26,1,27]),import.meta.url),children:[{name:"tests-useBoosterHead-1",path:"1",component:()=>de(()=>import("./DBEAmdt0.js"),__vite__mapDeps([28,29,10,6,1]),import.meta.url)},{name:"tests-useBoosterHead-2",path:"2",component:()=>de(()=>import("./10z99Bny.js"),__vite__mapDeps([30,29,10,6,1]),import.meta.url)},{name:"tests-useBoosterHead-empty-1",path:"empty-1",component:()=>de(()=>import("./RvlSCH0T.js"),__vite__mapDeps([31,1]),import.meta.url)},{name:"tests-useBoosterHead-empty-2",path:"empty-2",component:()=>de(()=>import("./CRLb67VT.js"),__vite__mapDeps([32,1]),import.meta.url)},{name:"tests-useBoosterHead",path:"",component:()=>de(()=>import("./BXO_k_1A.js"),__vite__mapDeps([33,29,10,6,1,34]),import.meta.url)}]},{name:"tests-v-font-media",path:"/tests/v-font-media",component:()=>de(()=>import("./k3YqPxIe.js"),__vite__mapDeps([35,11,12,13,10,6,14,1,36]),import.meta.url)},{name:"tests-v-font-scroll",path:"/tests/v-font-scroll",component:()=>de(()=>import("./B83FREsi.js"),__vite__mapDeps([37,11,12,13,10,6,14,1,38]),import.meta.url)},{name:"tests-v-font",path:"/tests/v-font",component:()=>de(()=>import("./DDgsv3WO.js"),__vite__mapDeps([39,11,12,13,10,6,14,1,40]),import.meta.url)},{name:"tests-vimeo",path:"/tests/vimeo",component:()=>de(()=>import("./7ZPV30DW.js"),__vite__mapDeps([41,1]),import.meta.url)},{name:"tests-weak-hardware-overlay",path:"/tests/weak-hardware-overlay",meta:mm||{},component:()=>de(()=>import("./DZA1_sPZ.js"),__vite__mapDeps([42,5,6,7,43,44,1]),import.meta.url)},{name:"tests-youtube",path:"/tests/youtube",component:()=>de(()=>import("./Cf_m7ACg.js"),__vite__mapDeps([45,1]),import.meta.url)}],eu=(e,t,n)=>(t=t===!0?{}:t,{default:()=>{var r;return t?Le(e,t,n):(r=n.default)==null?void 0:r.call(n)}}),ym=/(:\w+)\([^)]+\)/g,_m=/(:\w+)[?+*]/g,vm=/:\w+/g;function _l(e){const t=(e==null?void 0:e.meta.key)??e.path.replace(ym,"$1").replace(_m,"$1").replace(vm,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""});return typeof t=="function"?t(e):t}function bm(e,t){return e===t||t===Qe?!1:_l(e)!==_l(t)?!0:!e.matched.every((r,s)=>{var o,i;return r.components&&r.components.default===((i=(o=t.matched[s])==null?void 0:o.components)==null?void 0:i.default)})}const wm={scrollBehavior(e,t,n){var f;const r=me(),s=((f=Je().options)==null?void 0:f.scrollBehaviorType)??"auto";let o=n||void 0;const i=typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop;if(!o&&t&&e&&i!==!1&&bm(e,t)&&(o={left:0,top:0}),e.path===t.path)return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:vl(e.hash),behavior:s}:!1;const l=c=>!!(c.meta.pageTransition??to),a=l(t)&&l(e)?"page:transition:finish":"page:finish";return new Promise(c=>{r.hooks.hookOnce(a,async()=>{await new Promise(u=>setTimeout(u,0)),e.hash&&(o={el:e.hash,top:vl(e.hash),behavior:s}),c(o)})})}};function vl(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}const Em={hashMode:!1,scrollBehaviorType:"auto"},Ve={...Em,...wm},Rm=async e=>{var a;let t,n;if(!((a=e.meta)!=null&&a.validate))return;const r=me(),s=Je(),o=([t,n]=Yt(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t);if(o===!0)return;const i=is({statusCode:o&&o.statusCode||404,statusMessage:o&&o.statusMessage||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}}),l=s.beforeResolve(f=>{if(l(),f===e){const c=s.afterEach(async()=>{c(),await r.runWithContext(()=>un(i)),window==null||window.history.pushState({},"",e.fullPath)});return!1}})},Tm=async e=>{let t,n;const r=([t,n]=Yt(()=>zo(e.path)),t=await t,n(),t);if(r.redirect)return $t(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},Sm=[Rm,Tm],jn={};function Cm(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Ys(c,"")}const l=Ys(r,e),a=!n||hc(l,n,{trailingSlash:!0})?l:n;return a+(a.includes("?")?"":s)+o}const xm=ct({name:"nuxt:router",enforce:"pre",async setup(e){var P;let t,n,r=Rn().app.baseURL;Ve.hashMode&&!r.includes("#")&&(r+="#");const s=((P=Ve.history)==null?void 0:P.call(Ve,r))??(Ve.hashMode?Lg(r):Jc(r)),o=Ve.routes?([t,n]=Yt(()=>Ve.routes(Ps)),t=await t,n(),t??Ps):Ps;let i;const l=sm({...Ve,scrollBehavior:(R,w,g)=>{if(w===Qe){i=g;return}if(Ve.scrollBehavior){if(l.options.scrollBehavior=Ve.scrollBehavior,"scrollRestoration"in window.history){const y=l.beforeEach(()=>{y(),window.history.scrollRestoration="manual"})}return Ve.scrollBehavior(R,Qe,i||g)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Un(l.currentRoute.value);l.afterEach((R,w)=>{a.value=w}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const f=Cm(r,window.location,e.payload.path),c=Un(l.currentRoute.value),u=()=>{c.value=l.currentRoute.value};e.hook("page:finish",u),l.afterEach((R,w)=>{var g,y,b,C;((y=(g=R.matched[0])==null?void 0:g.components)==null?void 0:y.default)===((C=(b=w.matched[0])==null?void 0:b.components)==null?void 0:C.default)&&u()});const d={};for(const R in c.value)Object.defineProperty(d,R,{get:()=>c.value[R],enumerable:!0});e._route=mt(d),e._middleware=e._middleware||{global:[],named:{}};const p=os();l.afterEach(async(R,w,g)=>{delete e._processingMiddleware,!e.isHydrating&&p.value&&await e.runWithContext(tp),g&&await e.callHook("page:loading:end")});try{[t,n]=Yt(()=>l.isReady()),await t,n()}catch(R){[t,n]=Yt(()=>e.runWithContext(()=>un(R))),await t,n()}const _=f!==l.currentRoute.value.fullPath?l.resolve(f):l.currentRoute.value;u();const E=e.payload.state._layout;return l.beforeEach(async(R,w)=>{var g;await e.callHook("page:loading:start"),R.meta=Mt(R.meta),e.isHydrating&&E&&!kt(R.meta.layout)&&(R.meta.layout=E),e._processingMiddleware=!0;{const y=new Set([...Sm,...e._middleware.global]);for(const b of R.matched){const C=b.meta.middleware;if(C)for(const H of Zo(C))y.add(H)}{const b=await e.runWithContext(()=>zo(R.path));if(b.appMiddleware)for(const C in b.appMiddleware)b.appMiddleware[C]?y.add(C):y.delete(C)}for(const b of y){const C=typeof b=="string"?e._middleware.named[b]||await((g=jn[b])==null?void 0:g.call(jn).then(U=>U.default||U)):b;if(!C)throw new Error(`Unknown route middleware: '${b}'.`);const H=await e.runWithContext(()=>C(R,w));if(!e.payload.serverRendered&&e.isHydrating&&(H===!1||H instanceof Error)){const U=H||so({statusCode:404,statusMessage:`Page Not Found: ${f}`});return await e.runWithContext(()=>un(U)),!1}if(H!==!0&&(H||H===!1))return H}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(async(R,w)=>{R.matched.length===0&&await e.runWithContext(()=>un(so({statusCode:404,fatal:!1,statusMessage:`Page not found: ${R.fullPath}`,data:{path:R.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in _&&(_.name=void 0),await l.replace({..._,force:!0}),l.options.scrollBehavior=Ve.scrollBehavior}catch(R){await e.runWithContext(()=>un(R))}}),{provide:{router:l}}}}),bl=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Ny=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),ei=e=>{const t=me();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{bl(()=>e())}):bl(()=>e())},Pm=ct({name:"nuxt:payload",setup(e){Je().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await el(t.path);r&&Object.assign(e.static.data,r.data)}),ei(()=>{var t;e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await el(n)}),((t=navigator.connection)==null?void 0:t.effectiveType)!=="slow-2g"&&setTimeout(ls,1e3)})}}),Am=ct(()=>{const e=Je();ei(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),km=ct(e=>{let t;async function n(){const r=await ls();t&&clearTimeout(t),t=setTimeout(n,Ki);try{const s=await $fetch(Go("builds/latest.json")+`?${Date.now()}`);s.id!==r.id&&e.hooks.callHook("app:manifest:update",s)}catch{}}ei(()=>{t=setTimeout(n,Ki)})});function Om(e={}){const t=e.path||window.location.pathname;let n={};try{n=Nr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||(n==null?void 0:n.path)!==t||(n==null?void 0:n.expires){r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const l="href"in o&&o.href[0]==="#"?n.app.baseURL+o.href:ss(n.app.baseURL,o.fullPath);Om({path:l,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}}),Hm=ct({name:"nuxt:global-components"}),xt={blank:Kn(()=>de(()=>import("./DHU3jODt.js"),__vite__mapDeps([46,1]),import.meta.url)),default:Kn(()=>de(()=>import("./BNwfL0kl.js"),__vite__mapDeps([47,1,12,19,48]),import.meta.url))},Mm=ct({name:"nuxt:prefetch",setup(e){const t=Je();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var s;const r=(s=n==null?void 0:n.meta)==null?void 0:s.layout;r&&typeof xt[r]=="function"&&await xt[r]()})}),e.hooks.hook("link:prefetch",n=>{if($t(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=Zo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof jn[i]=="function"&&jn[i]();s&&typeof xt[s]=="function"&&xt[s]()})}});var mn,Vt;class Lm{constructor(t){st(this,mn);st(this,Vt,new Map);rn(this,mn,new window.IntersectionObserver(n=>this.next(n),t))}next(t){t.forEach(({target:n,isIntersecting:r})=>{ve(this,Vt).has(n)&&ve(this,Vt).get(n)(r)})}register(t,n){ve(this,Vt).set(t,n),ve(this,mn).observe(t)}unregister(t){ve(this,Vt).delete(t),ve(this,mn).unobserve(t)}}mn=new WeakMap,Vt=new WeakMap;const $m=e=>{const{node:t,key:n}=Nm(e);t.observables.has(n)||t.observables.set(n,new Lm(e));const r=t.observables.get(n);return{register:(s,o)=>r.register(s,o),unregister:(s,o)=>r.unregister(s,o)}},Nm=({root:e,...t})=>{const n=e||window.document.documentElement;return n.observables||(n.observables=new Map),{key:JSON.stringify({...t}),node:n}};var Yn,Xn,Wt,Zn,er,tr,nr;class Fm{constructor(t,n){st(this,Yn);st(this,Xn);st(this,Wt,!1);st(this,Zn,[]);st(this,er,[]);st(this,tr,new Hs);st(this,nr,new Hs);rn(this,Yn,t.register(n,this.onIntersecting.bind(this))),rn(this,Xn,()=>t.unregister(n))}get observer(){return ve(this,Yn)}get inView(){return ve(this,Wt)}onIntersecting(t){t?(ve(this,tr).resolve(),rn(this,Wt,!0),ve(this,Zn).forEach(n=>n())):ve(this,Wt)&&(ve(this,nr).resolve(),rn(this,Wt,!1),ve(this,er).forEach(n=>n()))}enterViewOnce(){return ve(this,tr).promise}enterView(t){ve(this,Zn).push(t)}leaveViewOnce(){return ve(this,nr).promise}leaveView(t){ve(this,er).push(t)}destroy(){ve(this,Xn).call(this)}}Yn=new WeakMap,Xn=new WeakMap,Wt=new WeakMap,Zn=new WeakMap,er=new WeakMap,tr=new WeakMap,nr=new WeakMap;const jm=(e,t)=>{const n=ti(e),r={...Dm(n),...t};return new Fm($m(r),e)},Dm=e=>({root:e!==window.document.documentElement&&e||void 0,threshold:[0]}),Bm=function(e){const t=ti(e)||window,n=e.getBoundingClientRect(),r="getBoundingClientRect"in t&&t.getBoundingClientRect()||{left:0,right:0,top:0},s={x:n.left+r.left,y:n.top+r.top},o={x:t.offsetWidth||t.innerWidth,y:t.offsetHeight||t.innerHeight};return n.bottom<0||n.right<0||s.x>o.x||s.y>o.y},Um=/(auto|scroll)/,As=(e,t)=>getComputedStyle(e,null).getPropertyValue(t),Vm=e=>Um.test(As(e,"overflow")+As(e,"overflow-y")+As(e,"overflow-x")),ti=(e,t=[])=>!e||e===document.body?null:(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)&&Vm(e)?e:(t.push(e),ti(e.parentNode,t)),mo="font-active",wl=new Map,Wm={install(e){e.directive("font",{created(t,n,r){var o;n.instance.fontsReady=n.instance.fontsReady||new Map;const s=[].concat(n.value);if(s.length){const{isCritical:i,fontCollection:l}=wr(s),a=s.map(({definition:c})=>c),f=l.add(a);t.setAttribute(f.name,f.value),n.instance.fontsReady.set(t,i),i&&(typeof((o=r.props)==null?void 0:o.class)=="string"&&(r.props.class=[...r.props.class.split(" "),i&&mo].filter(Boolean).join(" ")),yo(r.props,"onLoad:font",a))}},getSSRProps(t){const n=[].concat(t.value);if(n.length){const{isCritical:r,fontCollection:s}=wr(n),o=n.map(({definition:l})=>l),i=s.add(o);return{[i.name]:i.value,class:r?"font-active":void 0}}},updated(t,n,r){n.instance.fontsReady.get(t)&&(t.classList.add(mo),yo(r.props,"onLoad:font",[].concat(n.value).map(s=>s.definition)))},async mounted(t,n,r){if(wr(n.value)){const{isCritical:o,runtimeConfig:i}=wr(n.value);if(o||!Bm(t))El(t,n,r);else{const l=jm(t,{rootMargin:i.lazyOffsetAsset||"0%"});wl.set(t,l),await l.enterViewOnce(),El(t,n,r)}}},unmounted(t){wl.delete(t)}})}};function wr(e){return[].concat(e)[0]}async function El(e,t,n){const r=[].concat(t.value).map(({definition:s})=>s);await Promise.all(r.filter(s=>!s.media||window.matchMedia(s.media).matches).map(s=>s.load())),e.classList.add(mo),t.instance.fontsReady.set(e,!0),yo(n.props,"onLoad:font",r)}const yo=(e,t,n)=>{typeof(e==null?void 0:e[String(t)])=="function"&&e[String(t)](n)};function Km(e){return typeof window<"u"&&"btoa"in window?window.btoa(e):Buffer.from(e).toString("base64")}class qm{constructor(t,{src:n,type:r,fallbackFamily:s},{media:o,selector:i},l=400,a="normal"){oi(this,"rootSelector");this.family=t,this.style=a,this.weight=l,this.src=n,this.type=`font/${r}`,this.fallbackFamily=s,this.rootSelector="",this.selector=i||"",this.media=o||null,this.loaded=new Hs}toJSON(){return{family:this.family,style:this.style,weight:this.weight,src:this.src,type:this.type,fallbackFamily:this.fallbackFamily,rootSelector:this.rootSelector,selector:this.selector,media:this.media}}async load(){const t="fonts"in window.document&&await window.document.fonts.ready;t&&!t.check(`${this.style} ${this.weight} 12px '${this.family}'`)&&await Array.from(t).find(r=>Jm(r.family)===this.family&&r.style===this.style&&Sl(r.weight)===Sl(this.weight)).load()}getKey(){const t={...this};return delete t.src,delete t.rootSelector,Km(JSON.stringify(t))}getCSSText({usedFontaine:t=!1}={}){const n=Rl(this.rootSelector,this.selector),r=`"${this.family}"`;return Tl(`${n} { font-family: ${[zm(this.family,t)].filter(Boolean).concat(this.fallbackFamily.join(", "))}; font-weight: ${this.weight}; font-style: ${this.style}; @@ -31,6 +31,6 @@ var ru=Object.defineProperty;var si=e=>{throw TypeError(e)};var su=(e,t,n)=>t in font-family: ${[n].concat(this.fallbackFamily).join(", ")}; font-weight: ${this.weight}; font-style: ${this.style}; - }`,this.media)}setRootSelector(t){this.rootSelector=`${t.name}="${t.value}"`}}function Rl(e,t){return nu(tu(t).map(n=>`[${e}] ${n}`))}function Gm(e){return nu(tu(e).map(t=>`.font-active${t}`))}function tu(e){return e.split(",").map(t=>t.trim())}function nu(e){return e.join(", ").trim()}function Tl(e,t){return t&&`@media ${t} { ${e} }`||e}function Jm(e){return e.replace(/"(.*)"/,"$1")}function Sl(e){switch(e=String(e),e){case"400":return"normal";case"700":return"bold";default:return e}}function zm(e,t){return t?`"${e} fallback"`:""}class Qm{constructor(t=[]){this.list=t.map(n=>(n.variances=n.variances.map(r=>({style:"normal",weight:400,...r})),n))}getFont(t,n=400,r="normal",s={selector:null,media:null}){const o=this.list.find(i=>i.family===t);if(!o)throw new Error(`font family ${t} not found, please define in module options`);return Ym(o,n,r,s)}}function Ym(e,t,n,r={selector:null,media:null}){const s=e.variances.find(l=>l.weight===t&&l.style===n);if(!s)throw new Error(`font variance with ${t} and ${n} for font-family ${e.family} not found`);const{src:o,type:i}=s;return new qm(e.family,{src:o,type:i,fallbackFamily:e.fallback},r,t,n)}function Xm(){return Zm}const Zm=e=>{const t=Rn();let n;return typeof e=="function"&&(n=uf({rootMargin:t.public.booster.lazyOffsetComponent||"0%"})),Kn({loader:e,hydrate:n})},ey=(...e)=>{console.log("[DEBUG][BOOSTER]:",...e)};var Cl={};function ty(){const e=zp(),t=me(),{public:{booster:{debug:n}}}=Rn(),r=Ze(new Os);let s;zt(()=>r.value,l=>{const a=ny(l,n);s==null||s.dispose(),Ot(()=>{s=e.push(()=>a)})}),t.$router.beforeEach(()=>{Ot(()=>{r.value=new Os(r.value.list.filter(l=>!o.value.includes(l))),o.value=[]})});let o=Ze([]);return{push:(l,a,f)=>{if(!r)throw new Error("pushFontCollection must be called before setupHead");const c=!l.list.length;let u;return c&&(u={fontCollection:l,isCritical:a,options:f},r.value=new Os([...r.value.list,u]),u=r.value.list[r.value.list.length-1]),{dispose:()=>c&&o.value.push(u)}},collection:r}}const ny=(e,t)=>{t&&ey("Head Font Collections:",e.toJSON());const n=e.list.filter(({fontCollection:r})=>r.size);return{link:Cl.prerender&&ks(n.filter(({fontCollection:r})=>r.size).map(({fontCollection:r,isCritical:s})=>r.getPreloadDescriptions(s)).flat()),style:ks(n.map(({fontCollection:r,options:s})=>r.getStyleDescriptions(s)).flat()),noscript:Cl.prerender&&ks(n.map(({fontCollection:r})=>r.getNoScriptStyleDescriptions()).flat())}},ks=e=>Array.from(new Map(e.map(t=>[t.key,{...t,key:void 0}])).values());class Os{constructor(t=[]){this.list=t}get size(){return this.list.length}toJSON(){return{list:this.list.map(t=>({...t,fontCollection:t.fontCollection.toJSON()}))}}}const ry=ct({name:"booster-plugin",enforce:"post",async setup(e){let t,n;const r=Xm(),s=([t,n]=Yt(()=>de(()=>import("./BCI-yJ2H.js"),__vite__mapDeps([49,1]),import.meta.url).then(l=>l.default||l)),t=await t,n(),t),o=new Qm(s),i=ty();e.provide("booster",{head:i,getImageSize:sy,hydrate:r,getFont:o.getFont.bind(o),crossorigin:"anonymous",isBrowserSupported:()=>ou({regex:new RegExp(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([6-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[5-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/)}),targetFormats:["webp","avif","jpg|jpeg|png|gif"],densities:"x1 x2"})},hooks:{"app:created"(){const{vueApp:e}=me();e.use(Wm)}}}),Is=new Map;async function sy(e){if(!Is.has(e)){const{width:t,height:n}=await new Promise(r=>{let s=new globalThis.Image;s.onload=()=>{const o={width:s.naturalWidth,height:s.naturalHeight};s=null,r(o)},s.src=e});Is.set(e,{width:t,height:n})}return Is.get(e)}const oy=[ng,sg,xm,Pm,Am,km,Im,Hm,Mm,ry],iy=Lt({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const s in e.route)Object.defineProperty(r,s,{get:()=>t===e.renderKey?e.route[s]:n[s],enumerable:!0});return Jt(ar,mt(r)),()=>Le(e.vnode,{ref:e.vnodeRef})}}),ly=Lt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=me(),o=Ze(),i=Oe(ar,null);let l;r({pageRef:o});const a=Oe(xc,null);let f;const c=s.deferHydration();if(s.isHydrating){const u=s.hooks.hookOnce("app:error",c);Je().beforeEach(u)}return e.pageKey&&zt(()=>e.pageKey,(u,d)=>{u!==d&&s.callHook("page:loading:start")}),()=>Le(Zc,{name:e.name,route:e.route,...t},{default:u=>{const d=cy(i,u.route,u.Component),p=i&&i.matched.length===u.route.matched.length;if(!u.Component){if(f&&!p)return f;c();return}if(f&&a&&!a.isCurrent(u.route))return f;if(d&&i&&(!a||a!=null&&a.isCurrent(i)))return p?f:null;const _=go(u,e.pageKey);!s.isHydrating&&!uy(i,u.route,u.Component)&&l===_&&s.callHook("page:loading:end"),l=_;const E=!!(e.transition??u.route.meta.pageTransition??to),P=E&&ay([e.transition,u.route.meta.pageTransition,to,{onAfterLeave:()=>{s.callHook("page:transition:finish",u.Component)}}].filter(Boolean)),R=e.keepalive??u.route.meta.keepalive??Lh;return f=eu(Qa,E&&P,fm(R,Le(Bo,{suspensible:!0,onPending:()=>s.callHook("page:start",u.Component),onResolve:()=>{Ot(()=>s.callHook("page:finish",u.Component).then(()=>s.callHook("page:loading:end")).finally(c))}},{default:()=>{const w=Le(iy,{key:_||void 0,vnode:n.default?Le(Pe,void 0,n.default(u)):u.Component,route:u.route,renderKey:_||void 0,trackRootNodes:E,vnodeRef:o});return R&&(w.type.name=u.Component.type.name||u.Component.type.__name||"RouteProvider"),w}}))).default(),f}})}});function ay(e){const t=e.map(n=>({...n,onAfterLeave:n.onAfterLeave?Zo(n.onAfterLeave):void 0}));return Sc(...t)}function cy(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>{var o;return((o=s.components)==null?void 0:o.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>{var i,l,a;return((i=s.components)==null?void 0:i.default)!==((a=(l=e.matched[o])==null?void 0:l.components)==null?void 0:a.default)})||n&&go({route:t,Component:n})!==go({route:e,Component:n})}function uy(e,t,n){return e?t.matched.findIndex(s=>{var o;return((o=s.components)==null?void 0:o.default)===(n==null?void 0:n.type)})Le(xt[e.name],e.layoutProps,t.slots)}}),dy=Lt({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(e,t){const n=me(),r=Oe(ar),s=r===Jo()?im():r,o=Ke(()=>{let a=ue(e.name)??s.meta.layout??"default";return a&&!(a in xt)&&e.fallback&&(a=ue(e.fallback)),a}),i=Ze();t.expose({layoutRef:i});const l=n.deferHydration();if(n.isHydrating){const a=n.hooks.hookOnce("app:error",l);Je().beforeEach(a)}return()=>{const a=o.value&&o.value in xt,f=s.meta.layoutTransition??Mh;return eu(Qa,a&&f,{default:()=>Le(Bo,{suspensible:!0,onResolve:()=>{Ot(l)}},{default:()=>Le(hy,{layoutProps:Va(t.attrs,{ref:i}),key:o.value||void 0,name:o.value,shouldProvide:!e.name,hasTransition:!!f},t.slots)})}).default()}}}),hy=Lt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(e,t){const n=e.name;return e.shouldProvide&&Jt(xc,{isCurrent:r=>n===(r.meta.layout??"default")}),()=>{var r,s;return!n||typeof n=="string"&&!(n in xt)?(s=(r=t.slots).default)==null?void 0:s.call(r):Le(fy,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}}),py=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},gy={};function my(e,t){const n=ly,r=dy;return We(),lt(r,null,{default:Io(()=>[ge(n)]),_:1})}const yy=py(gy,[["render",my]]),_y={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;n.stack&&n.stack.split(` + }`,this.media)}setRootSelector(t){this.rootSelector=`${t.name}="${t.value}"`}}function Rl(e,t){return nu(tu(t).map(n=>`[${e}] ${n}`))}function Gm(e){return nu(tu(e).map(t=>`.font-active${t}`))}function tu(e){return e.split(",").map(t=>t.trim())}function nu(e){return e.join(", ").trim()}function Tl(e,t){return t&&`@media ${t} { ${e} }`||e}function Jm(e){return e.replace(/"(.*)"/,"$1")}function Sl(e){switch(e=String(e),e){case"400":return"normal";case"700":return"bold";default:return e}}function zm(e,t){return t?`"${e} fallback"`:""}class Qm{constructor(t=[]){this.list=t.map(n=>(n.variances=n.variances.map(r=>({style:"normal",weight:400,...r})),n))}getFont(t,n=400,r="normal",s={selector:null,media:null}){const o=this.list.find(i=>i.family===t);if(!o)throw new Error(`font family ${t} not found, please define in module options`);return Ym(o,n,r,s)}}function Ym(e,t,n,r={selector:null,media:null}){const s=e.variances.find(l=>l.weight===t&&l.style===n);if(!s)throw new Error(`font variance with ${t} and ${n} for font-family ${e.family} not found`);const{src:o,type:i}=s;return new qm(e.family,{src:o,type:i,fallbackFamily:e.fallback},r,t,n)}function Xm(){return Zm}const Zm=e=>{const t=Rn();let n;return typeof e=="function"&&(n=uf({rootMargin:t.public.booster.lazyOffsetComponent||"0%"})),Kn({loader:e,hydrate:n})},ey=(...e)=>{console.log("[DEBUG][BOOSTER]:",...e)};var Cl={};function ty(){const e=zp(),t=me(),{public:{booster:{debug:n}}}=Rn(),r=Ze(new Os);let s;zt(()=>r.value,l=>{const a=ny(l,n);s==null||s.dispose(),Ot(()=>{s=e.push(()=>a)})}),t.$router.beforeEach(()=>{Ot(()=>{r.value=new Os(r.value.list.filter(l=>!o.value.includes(l))),o.value=[]})});let o=Ze([]);return{push:(l,a,f)=>{if(!r)throw new Error("pushFontCollection must be called before setupHead");const c=!l.list.length;let u;return c&&(u={fontCollection:l,isCritical:a,options:f},r.value=new Os([...r.value.list,u]),u=r.value.list[r.value.list.length-1]),{dispose:()=>c&&o.value.push(u)}},collection:r}}const ny=(e,t)=>{t&&ey("Head Font Collections:",e.toJSON());const n=e.list.filter(({fontCollection:r})=>r.size);return{link:Cl.prerender&&ks(n.filter(({fontCollection:r})=>r.size).map(({fontCollection:r,isCritical:s})=>r.getPreloadDescriptions(s)).flat()),style:ks(n.map(({fontCollection:r,options:s})=>r.getStyleDescriptions(s)).flat()),noscript:Cl.prerender&&ks(n.map(({fontCollection:r})=>r.getNoScriptStyleDescriptions()).flat())}},ks=e=>Array.from(new Map(e.map(t=>[t.key,{...t,key:void 0}])).values());class Os{constructor(t=[]){this.list=t}get size(){return this.list.length}toJSON(){return{list:this.list.map(t=>({...t,fontCollection:t.fontCollection.toJSON()}))}}}const ry=ct({name:"booster-plugin",enforce:"post",async setup(e){let t,n;const r=Xm(),s=([t,n]=Yt(()=>de(()=>import("./CWGeeA7C.js"),__vite__mapDeps([49,1]),import.meta.url).then(l=>l.default||l)),t=await t,n(),t),o=new Qm(s),i=ty();e.provide("booster",{head:i,getImageSize:sy,hydrate:r,getFont:o.getFont.bind(o),crossorigin:"anonymous",isBrowserSupported:()=>ou({regex:new RegExp(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([6-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[5-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/)}),targetFormats:["webp","avif","jpg|jpeg|png|gif"],densities:"x1 x2"})},hooks:{"app:created"(){const{vueApp:e}=me();e.use(Wm)}}}),Is=new Map;async function sy(e){if(!Is.has(e)){const{width:t,height:n}=await new Promise(r=>{let s=new globalThis.Image;s.onload=()=>{const o={width:s.naturalWidth,height:s.naturalHeight};s=null,r(o)},s.src=e});Is.set(e,{width:t,height:n})}return Is.get(e)}const oy=[ng,sg,xm,Pm,Am,km,Im,Hm,Mm,ry],iy=Lt({props:{vnode:{type:Object,required:!0},route:{type:Object,required:!0},vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(e){const t=e.renderKey,n=e.route,r={};for(const s in e.route)Object.defineProperty(r,s,{get:()=>t===e.renderKey?e.route[s]:n[s],enumerable:!0});return Jt(ar,mt(r)),()=>Le(e.vnode,{ref:e.vnodeRef})}}),ly=Lt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=me(),o=Ze(),i=Oe(ar,null);let l;r({pageRef:o});const a=Oe(xc,null);let f;const c=s.deferHydration();if(s.isHydrating){const u=s.hooks.hookOnce("app:error",c);Je().beforeEach(u)}return e.pageKey&&zt(()=>e.pageKey,(u,d)=>{u!==d&&s.callHook("page:loading:start")}),()=>Le(Zc,{name:e.name,route:e.route,...t},{default:u=>{const d=cy(i,u.route,u.Component),p=i&&i.matched.length===u.route.matched.length;if(!u.Component){if(f&&!p)return f;c();return}if(f&&a&&!a.isCurrent(u.route))return f;if(d&&i&&(!a||a!=null&&a.isCurrent(i)))return p?f:null;const _=go(u,e.pageKey);!s.isHydrating&&!uy(i,u.route,u.Component)&&l===_&&s.callHook("page:loading:end"),l=_;const E=!!(e.transition??u.route.meta.pageTransition??to),P=E&&ay([e.transition,u.route.meta.pageTransition,to,{onAfterLeave:()=>{s.callHook("page:transition:finish",u.Component)}}].filter(Boolean)),R=e.keepalive??u.route.meta.keepalive??Lh;return f=eu(Qa,E&&P,fm(R,Le(Bo,{suspensible:!0,onPending:()=>s.callHook("page:start",u.Component),onResolve:()=>{Ot(()=>s.callHook("page:finish",u.Component).then(()=>s.callHook("page:loading:end")).finally(c))}},{default:()=>{const w=Le(iy,{key:_||void 0,vnode:n.default?Le(Pe,void 0,n.default(u)):u.Component,route:u.route,renderKey:_||void 0,trackRootNodes:E,vnodeRef:o});return R&&(w.type.name=u.Component.type.name||u.Component.type.__name||"RouteProvider"),w}}))).default(),f}})}});function ay(e){const t=e.map(n=>({...n,onAfterLeave:n.onAfterLeave?Zo(n.onAfterLeave):void 0}));return Sc(...t)}function cy(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>{var o;return((o=s.components)==null?void 0:o.default)===(n==null?void 0:n.type)});return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>{var i,l,a;return((i=s.components)==null?void 0:i.default)!==((a=(l=e.matched[o])==null?void 0:l.components)==null?void 0:a.default)})||n&&go({route:t,Component:n})!==go({route:e,Component:n})}function uy(e,t,n){return e?t.matched.findIndex(s=>{var o;return((o=s.components)==null?void 0:o.default)===(n==null?void 0:n.type)})Le(xt[e.name],e.layoutProps,t.slots)}}),dy=Lt({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},setup(e,t){const n=me(),r=Oe(ar),s=r===Jo()?im():r,o=Ke(()=>{let a=ue(e.name)??s.meta.layout??"default";return a&&!(a in xt)&&e.fallback&&(a=ue(e.fallback)),a}),i=Ze();t.expose({layoutRef:i});const l=n.deferHydration();if(n.isHydrating){const a=n.hooks.hookOnce("app:error",l);Je().beforeEach(a)}return()=>{const a=o.value&&o.value in xt,f=s.meta.layoutTransition??Mh;return eu(Qa,a&&f,{default:()=>Le(Bo,{suspensible:!0,onResolve:()=>{Ot(l)}},{default:()=>Le(hy,{layoutProps:Va(t.attrs,{ref:i}),key:o.value||void 0,name:o.value,shouldProvide:!e.name,hasTransition:!!f},t.slots)})}).default()}}}),hy=Lt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean}},setup(e,t){const n=e.name;return e.shouldProvide&&Jt(xc,{isCurrent:r=>n===(r.meta.layout??"default")}),()=>{var r,s;return!n||typeof n=="string"&&!(n in xt)?(s=(r=t.slots).default)==null?void 0:s.call(r):Le(fy,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}}),py=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},gy={};function my(e,t){const n=ly,r=dy;return We(),lt(r,null,{default:Io(()=>[ge(n)]),_:1})}const yy=py(gy,[["render",my]]),_y={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;n.stack&&n.stack.split(` `).splice(1).map(u=>({text:u.replace("webpack:/","").replace(".vue",".js").trim(),internal:u.includes("node_modules")&&!u.includes(".cache")||u.includes("internal")||u.includes("new Promise")})).map(u=>`${u.text}`).join(` -`);const r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?Kn(()=>de(()=>import("./Cp8PsMOm.js"),__vite__mapDeps([50,26,19,1,51]),import.meta.url)):Kn(()=>de(()=>import("./B3rxcOoH.js"),__vite__mapDeps([52,19,1,53]),import.meta.url));return(u,d)=>(We(),lt(ue(c),yu(Ba({statusCode:ue(r),statusMessage:ue(o),description:ue(i),stack:ue(l)})),null,16))}},vy={key:0},xl={__name:"nuxt-root",setup(e){const t=()=>null,n=me(),r=n.deferHydration();if(n.isHydrating){const a=n.hooks.hookOnce("app:error",r);Je().beforeEach(a)}const s=!1;Jt(ar,Jo()),n.hooks.callHookWith(a=>a.map(f=>f()),"vue:setup");const o=os(),i=!1;pa((a,f,c)=>{if(n.hooks.callHook("vue:error",a,f,c).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),np(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>un(a)),!1});const l=!1;return(a,f)=>(We(),lt(Bo,{onResolve:ue(r)},{default:Io(()=>[ue(i)?(We(),rd("div",vy)):ue(o)?(We(),lt(ue(_y),{key:1,error:ue(o)},null,8,["error"])):ue(l)?(We(),lt(ue(t),{key:2,context:ue(l)},null,8,["context"])):ue(s)?(We(),lt(Rf(ue(s)),{key:3})):(We(),lt(ue(yy),{key:4}))]),_:1},8,["onResolve"]))}};let _o;{let e;_o=async function(){var i,l;if(e)return e;const r=!!(((i=window.__NUXT__)==null?void 0:i.serverRendered)??((l=document.getElementById("__NUXT_DATA__"))==null?void 0:l.dataset.ssr)==="true")?Dd(xl):jd(xl),s=Dh({vueApp:r});async function o(a){await s.callHook("app:error",a),s.payload.error=s.payload.error||is(a)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)});try{await Vh(s,oy)}catch(a){o(a)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Nh),await s.hooks.callHook("app:mounted",r),await Ot()}catch(a){o(a)}return r},e=_o().catch(t=>{throw console.error("Error while mounting app:",t),t})}const by=e=>_o(e),Fy=Object.freeze(Object.defineProperty({__proto__:null,default:by},Symbol.toStringTag,{value:"Module"}));export{pf as $,Py as A,Jo as B,Ke as C,Kn as D,Le as E,Pe as F,Lt as G,me as H,ei as I,bl as J,Lo as K,Ny as L,Sy as M,ic as N,Ly as O,$t as P,ep as Q,ss as R,$y as S,Qa as T,Dr as U,rs as V,zp as W,Oy as X,zt as Y,gf as Z,py as _,Da as a,ao as a0,lr as a1,Iy as a2,Oe as a3,Jt as a4,Ay as a5,Mt as a6,Ot as a7,fc as a8,gc as a9,Qs as aa,Sc as ab,rc as ac,Zd as ad,Bu as ae,ky as af,Rf as ag,im as ah,My as ai,Fy as aj,ge as b,rd as c,Ua as d,Xm as e,Je as f,Ba as g,Ty as h,uf as i,Mo as j,Qr as k,jm as l,Va as m,yu as n,We as o,lt as p,xy as q,Ze as r,Rn as s,bu as t,ue as u,ly as v,Io as w,Hy as x,Cy as y,Ry as z}; +`);const r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?Kn(()=>de(()=>import("./DY_gEAq6.js"),__vite__mapDeps([50,26,19,1,51]),import.meta.url)):Kn(()=>de(()=>import("./D1IiZhNn.js"),__vite__mapDeps([52,19,1,53]),import.meta.url));return(u,d)=>(We(),lt(ue(c),yu(Ba({statusCode:ue(r),statusMessage:ue(o),description:ue(i),stack:ue(l)})),null,16))}},vy={key:0},xl={__name:"nuxt-root",setup(e){const t=()=>null,n=me(),r=n.deferHydration();if(n.isHydrating){const a=n.hooks.hookOnce("app:error",r);Je().beforeEach(a)}const s=!1;Jt(ar,Jo()),n.hooks.callHookWith(a=>a.map(f=>f()),"vue:setup");const o=os(),i=!1;pa((a,f,c)=>{if(n.hooks.callHook("vue:error",a,f,c).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),np(a)&&(a.fatal||a.unhandled))return n.runWithContext(()=>un(a)),!1});const l=!1;return(a,f)=>(We(),lt(Bo,{onResolve:ue(r)},{default:Io(()=>[ue(i)?(We(),rd("div",vy)):ue(o)?(We(),lt(ue(_y),{key:1,error:ue(o)},null,8,["error"])):ue(l)?(We(),lt(ue(t),{key:2,context:ue(l)},null,8,["context"])):ue(s)?(We(),lt(Rf(ue(s)),{key:3})):(We(),lt(ue(yy),{key:4}))]),_:1},8,["onResolve"]))}};let _o;{let e;_o=async function(){var i,l;if(e)return e;const r=!!(((i=window.__NUXT__)==null?void 0:i.serverRendered)??((l=document.getElementById("__NUXT_DATA__"))==null?void 0:l.dataset.ssr)==="true")?Dd(xl):jd(xl),s=Dh({vueApp:r});async function o(a){await s.callHook("app:error",a),s.payload.error=s.payload.error||is(a)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)});try{await Vh(s,oy)}catch(a){o(a)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Nh),await s.hooks.callHook("app:mounted",r),await Ot()}catch(a){o(a)}return r},e=_o().catch(t=>{throw console.error("Error while mounting app:",t),t})}const by=e=>_o(e),Fy=Object.freeze(Object.defineProperty({__proto__:null,default:by},Symbol.toStringTag,{value:"Module"}));export{pf as $,Py as A,Jo as B,Ke as C,Kn as D,Le as E,Pe as F,Lt as G,me as H,ei as I,bl as J,Lo as K,Ny as L,Sy as M,ic as N,Ly as O,$t as P,ep as Q,ss as R,$y as S,Qa as T,Dr as U,rs as V,zp as W,Oy as X,zt as Y,gf as Z,py as _,Da as a,ao as a0,lr as a1,Iy as a2,Oe as a3,Jt as a4,Ay as a5,Mt as a6,Ot as a7,fc as a8,gc as a9,Qs as aa,Sc as ab,rc as ac,Zd as ad,Bu as ae,ky as af,Rf as ag,im as ah,My as ai,Fy as aj,ge as b,rd as c,Ua as d,Xm as e,Je as f,Ba as g,Ty as h,uf as i,Mo as j,Qr as k,jm as l,Va as m,yu as n,We as o,lt as p,xy as q,Ze as r,Rn as s,bu as t,ue as u,ly as v,Io as w,Hy as x,Cy as y,Ry as z}; diff --git a/playground/_nuxt/jBDxcIpy.js b/playground/_nuxt/Cn26epyG.js similarity index 77% rename from playground/_nuxt/jBDxcIpy.js rename to playground/_nuxt/Cn26epyG.js index fc2ab67d8c..cf5ca05307 100644 --- a/playground/_nuxt/jBDxcIpy.js +++ b/playground/_nuxt/Cn26epyG.js @@ -1 +1 @@ -import{_ as o,o as s,c as a,A as n,x as d,d as i,a as t}from"./BJCUWH2W.js";const l={data:function(){return{isServer:!0}},mounted(){this.isServer=!1}},u={key:0,class:"nuxt-booster-weak-hardware-overlay"};function p(r,e,c,f,m,v){return r.isServer?(s(),a("div",u,[n(r.$slots,"default",{},()=>[e[0]||(e[0]=i(" Area is disabled for performance reasons.")),e[1]||(e[1]=t("br",null,null,-1)),e[2]||(e[2]=t("button",{class:"nuxt-booster-button-init-app"},"Click for activation",-1))],!0)])):d("",!0)}const k=o(l,[["render",p],["__scopeId","data-v-d93e0c67"]]);export{k as B}; +import{_ as o,o as s,c as a,A as n,x as d,d as i,a as t}from"./CjsmL4Sh.js";const l={data:function(){return{isServer:!0}},mounted(){this.isServer=!1}},u={key:0,class:"nuxt-booster-weak-hardware-overlay"};function p(r,e,c,f,m,v){return r.isServer?(s(),a("div",u,[n(r.$slots,"default",{},()=>[e[0]||(e[0]=i(" Area is disabled for performance reasons.")),e[1]||(e[1]=t("br",null,null,-1)),e[2]||(e[2]=t("button",{class:"nuxt-booster-button-init-app"},"Click for activation",-1))],!0)])):d("",!0)}const k=o(l,[["render",p],["__scopeId","data-v-d93e0c67"]]);export{k as B}; diff --git a/playground/_nuxt/C2hgAtg3.js b/playground/_nuxt/CtMXRX41.js similarity index 77% rename from playground/_nuxt/C2hgAtg3.js rename to playground/_nuxt/CtMXRX41.js index 5ae18a8808..33bc6ce5ed 100644 --- a/playground/_nuxt/C2hgAtg3.js +++ b/playground/_nuxt/CtMXRX41.js @@ -1 +1 @@ -import{_ as c}from"./RYnl7rm0.js";import{P as n}from"./C4XEkXCj.js";import{r as p,o as s,p as u,w as a,b as i,u as t,n as m,g as _,a as v,c as w}from"./BJCUWH2W.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BjfvBlRB.js";import"./CVy7LHL-.js";import"./BaH-g7BJ.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";const x={__name:"Critical",setup(l){const e=p({title:"Critical",sources:[{src:"/img/critical.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]});return(o,r)=>(s(),u(t(n),{id:"criticalContainer"},{default:a(()=>[i(t(c),m(_(e.value)),null,16)]),title:a(()=>r[0]||(r[0]=[v("p",null,"Critical - Picture",-1)])),_:1}))}},d={__name:"Lazy",setup(l){const e=p({title:"Lazy",sources:[{src:"/img/lazy.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]});return(o,r)=>(s(),u(t(n),{id:"lazyContainer"},{default:a(()=>[i(t(c),m(_(e.value)),null,16)]),title:a(()=>r[0]||(r[0]=[v("p",null,"Lazy - Picture",-1)])),_:1}))}},j={__name:"index",setup(l){return(e,o)=>(s(),w("div",null,[i(t(x),{critical:""}),i(t(d))]))}};export{j as default}; +import{_ as c}from"./pZgWsOJl.js";import{P as n}from"./eYyQ5PUj.js";import{r as p,o as s,p as u,w as a,b as i,u as t,n as m,g as _,a as v,c as w}from"./CjsmL4Sh.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./BkRKQfnI.js";import"./LUNLrBEh.js";import"./Bxz71LHV.js";import"./DF01ioch.js";import"./-_8sziUr.js";const x={__name:"Critical",setup(l){const e=p({title:"Critical",sources:[{src:"/img/critical.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]});return(o,r)=>(s(),u(t(n),{id:"criticalContainer"},{default:a(()=>[i(t(c),m(_(e.value)),null,16)]),title:a(()=>r[0]||(r[0]=[v("p",null,"Critical - Picture",-1)])),_:1}))}},d={__name:"Lazy",setup(l){const e=p({title:"Lazy",sources:[{src:"/img/lazy.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]});return(o,r)=>(s(),u(t(n),{id:"lazyContainer"},{default:a(()=>[i(t(c),m(_(e.value)),null,16)]),title:a(()=>r[0]||(r[0]=[v("p",null,"Lazy - Picture",-1)])),_:1}))}},j={__name:"index",setup(l){return(e,o)=>(s(),w("div",null,[i(t(x),{critical:""}),i(t(d))]))}};export{j as default}; diff --git a/playground/_nuxt/B3rxcOoH.js b/playground/_nuxt/D1IiZhNn.js similarity index 96% rename from playground/_nuxt/B3rxcOoH.js rename to playground/_nuxt/D1IiZhNn.js index ba871e428b..bddda41f04 100644 --- a/playground/_nuxt/B3rxcOoH.js +++ b/playground/_nuxt/D1IiZhNn.js @@ -1 +1 @@ -import{_ as s,o as a,c as i,a as e,t as o}from"./BJCUWH2W.js";import{u}from"./BaH-g7BJ.js";import"./BjfvBlRB.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return u({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(a(),i("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.statusCode)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},x=s(f,[["__scopeId","data-v-d6cbdfc0"]]);export{x as default}; +import{_ as s,o as a,c as i,a as e,t as o}from"./CjsmL4Sh.js";import{u}from"./Bxz71LHV.js";import"./BkRKQfnI.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return u({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(a(),i("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.statusCode)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},x=s(f,[["__scopeId","data-v-d6cbdfc0"]]);export{x as default}; diff --git a/playground/_nuxt/CHFZb6Qu.js b/playground/_nuxt/D8NEurQR.js similarity index 56% rename from playground/_nuxt/CHFZb6Qu.js rename to playground/_nuxt/D8NEurQR.js index c6aef464bc..b33da431c9 100644 --- a/playground/_nuxt/CHFZb6Qu.js +++ b/playground/_nuxt/D8NEurQR.js @@ -1 +1 @@ -import{D as n}from"./BGVK_AWX.js";import{W as p}from"./Cz3YY00M.js";import{C as m}from"./BM-fWYud.js";import{_ as c,z as d,u as e,p as _,w as t,y as l,o as f,b as r,a as u,n as v,g as V}from"./BJCUWH2W.js";import{a as h}from"./CVy7LHL-.js";import"./BjfvBlRB.js";import"./B9JxpZf2.js";import"./RYnl7rm0.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BaH-g7BJ.js";import"./jBDxcIpy.js";import"./DVMzMYu-.js";const w=["innerHTML"],g={__name:"VideoVimeo",props:{text:{type:String,default:null}},setup(x){const{$getFont:a}=h();return(s,y)=>{const i=l("font");return d((f(),_(e(m),{class:"video-vimeo"},{default:t(()=>[r(e(n),v(V(s.$attrs)),{default:t(({videoData:o})=>[u("div",{class:"description",innerHTML:o&&o.description},null,8,w)]),afterPlayer:t(()=>[r(e(p))]),_:1},16)]),_:1})),[[i,[e(a)("Merriweather",400)]]])}}},W=c(g,[["__scopeId","data-v-83b0858d"]]);export{W as default}; +import{D as n}from"./y5GrT0-i.js";import{W as p}from"./B2q3ibDH.js";import{C as m}from"./DF01ioch.js";import{_ as c,z as d,u as e,p as _,w as t,y as l,o as f,b as r,a as u,n as v,g as V}from"./CjsmL4Sh.js";import{a as h}from"./LUNLrBEh.js";import"./BkRKQfnI.js";import"./mB1EKFO1.js";import"./pZgWsOJl.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./Bxz71LHV.js";import"./Cn26epyG.js";import"./B92XiNJi.js";const w=["innerHTML"],g={__name:"VideoVimeo",props:{text:{type:String,default:null}},setup(x){const{$getFont:a}=h();return(s,y)=>{const i=l("font");return d((f(),_(e(m),{class:"video-vimeo"},{default:t(()=>[r(e(n),v(V(s.$attrs)),{default:t(({videoData:o})=>[u("div",{class:"description",innerHTML:o&&o.description},null,8,w)]),afterPlayer:t(()=>[r(e(p))]),_:1},16)]),_:1})),[[i,[e(a)("Merriweather",400)]]])}}},W=c(g,[["__scopeId","data-v-83b0858d"]]);export{W as default}; diff --git a/playground/_nuxt/BgpTfSRx.js b/playground/_nuxt/DBEAmdt0.js similarity index 73% rename from playground/_nuxt/BgpTfSRx.js rename to playground/_nuxt/DBEAmdt0.js index a3fc7060e5..268d7416fc 100644 --- a/playground/_nuxt/BgpTfSRx.js +++ b/playground/_nuxt/DBEAmdt0.js @@ -1 +1 @@ -import{_ as e}from"./Bu95GgB-.js";import{c as l,b as t,w as a,u as i,o as n,d as o}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BjfvBlRB.js";const M={__name:"1",setup(m){return(f,r)=>(n(),l("div",null,[t(i(e),{font:["Merriweather",400,"normal"]},{default:a(()=>r[0]||(r[0]=[o(" Merriweather - 400 - normal ")])),_:1}),t(i(e),{font:["Merriweather",700,"normal"]},{default:a(()=>r[1]||(r[1]=[o(" Merriweather - 700 - normal ")])),_:1}),t(i(e),{font:["Merriweather",400,"italic"]},{default:a(()=>r[2]||(r[2]=[o(" Merriweather - 400 - italic ")])),_:1}),t(i(e),{font:["Merriweather",700,"italic"]},{default:a(()=>r[3]||(r[3]=[o(" Merriweather - 700 - italic ")])),_:1})]))}};export{M as default}; +import{_ as e}from"./DDXAZ09w.js";import{c as l,b as t,w as a,u as i,o as n,d as o}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./BkRKQfnI.js";const M={__name:"1",setup(m){return(f,r)=>(n(),l("div",null,[t(i(e),{font:["Merriweather",400,"normal"]},{default:a(()=>r[0]||(r[0]=[o(" Merriweather - 400 - normal ")])),_:1}),t(i(e),{font:["Merriweather",700,"normal"]},{default:a(()=>r[1]||(r[1]=[o(" Merriweather - 700 - normal ")])),_:1}),t(i(e),{font:["Merriweather",400,"italic"]},{default:a(()=>r[2]||(r[2]=[o(" Merriweather - 400 - italic ")])),_:1}),t(i(e),{font:["Merriweather",700,"italic"]},{default:a(()=>r[3]||(r[3]=[o(" Merriweather - 700 - italic ")])),_:1})]))}};export{M as default}; diff --git a/playground/_nuxt/CoYLIKWQ.js b/playground/_nuxt/DCpMjhK3.js similarity index 74% rename from playground/_nuxt/CoYLIKWQ.js rename to playground/_nuxt/DCpMjhK3.js index 56e384c334..4841e82326 100644 --- a/playground/_nuxt/CoYLIKWQ.js +++ b/playground/_nuxt/DCpMjhK3.js @@ -1 +1 @@ -import{_ as s}from"./RYnl7rm0.js";import{C as c}from"./BM-fWYud.js";import{C as l}from"./WYEhzYAF.js";import{_ as d,z as u,u as t,p as m,w as r,k as f,y as h,o as p,a,b as n,d as g,t as x}from"./BJCUWH2W.js";import{a as y}from"./CVy7LHL-.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BjfvBlRB.js";import"./BaH-g7BJ.js";const _={class:"image"},v={class:"text"},C=["innerHTML"],T={__name:"ImageText",props:{alignRight:{type:Boolean,default:!1},picture:{type:Object,required:!0},headline:{type:String,default:"Headline"},content:{type:String,default:"Text"}},setup(e){const{$getFont:i}=y();return(B,w)=>{const o=h("font");return u((p(),m(t(c),{class:f(["component-image-text",{"component-image-text-right":e.alignRight}])},{default:r(()=>[a("div",null,[a("div",_,[n(t(s),{title:e.picture.title,alt:e.picture.alt,sources:e.picture.sources,hydrate:e.picture.hydrate!==void 0?e.picture.hydrate:!0},null,8,["title","alt","sources","hydrate"])]),a("div",v,[n(t(l),null,{default:r(()=>[g(x(e.headline),1)]),_:1}),a("div",{innerHTML:e.content},null,8,C)])])]),_:1},8,["class"])),[[o,[t(i)("Merriweather",300,"normal"),t(i)("Montserrat Alternates",700,"normal",{selector:"h2"})]]])}}},z=d(T,[["__scopeId","data-v-41dacbec"]]);export{z as default}; +import{_ as s}from"./pZgWsOJl.js";import{C as c}from"./DF01ioch.js";import{C as l}from"./-_8sziUr.js";import{_ as d,z as u,u as t,p as m,w as r,k as f,y as h,o as p,a,b as n,d as g,t as x}from"./CjsmL4Sh.js";import{a as y}from"./LUNLrBEh.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./BkRKQfnI.js";import"./Bxz71LHV.js";const _={class:"image"},v={class:"text"},C=["innerHTML"],T={__name:"ImageText",props:{alignRight:{type:Boolean,default:!1},picture:{type:Object,required:!0},headline:{type:String,default:"Headline"},content:{type:String,default:"Text"}},setup(e){const{$getFont:i}=y();return(B,w)=>{const o=h("font");return u((p(),m(t(c),{class:f(["component-image-text",{"component-image-text-right":e.alignRight}])},{default:r(()=>[a("div",null,[a("div",_,[n(t(s),{title:e.picture.title,alt:e.picture.alt,sources:e.picture.sources,hydrate:e.picture.hydrate!==void 0?e.picture.hydrate:!0},null,8,["title","alt","sources","hydrate"])]),a("div",v,[n(t(l),null,{default:r(()=>[g(x(e.headline),1)]),_:1}),a("div",{innerHTML:e.content},null,8,C)])])]),_:1},8,["class"])),[[o,[t(i)("Merriweather",300,"normal"),t(i)("Montserrat Alternates",700,"normal",{selector:"h2"})]]])}}},z=d(T,[["__scopeId","data-v-41dacbec"]]);export{z as default}; diff --git a/playground/_nuxt/Bu95GgB-.js b/playground/_nuxt/DDXAZ09w.js similarity index 82% rename from playground/_nuxt/Bu95GgB-.js rename to playground/_nuxt/DDXAZ09w.js index 31314a0d71..29b303d9a4 100644 --- a/playground/_nuxt/Bu95GgB-.js +++ b/playground/_nuxt/DDXAZ09w.js @@ -1 +1 @@ -import{a as i}from"./CVy7LHL-.js";import{C as c,y as l,z as d,o as p,p as u,w as y,A as m,d as f,t as g,ag as A}from"./BJCUWH2W.js";const _={__name:"Headline",props:{tag:{type:String,default:"h1"},content:{type:String,default:"Headline"},font:{type:Object,default:void 0}},setup(a){const{$getFont:r}=i(),s=a,n=c(()=>{let t=s.font;return t?(Array.isArray(t)&&Array.isArray(t[0])||(t=[t]),[].concat(t).map(e=>(!Array.isArray(e)&&typeof e=="object"&&(e=[e.name,e.weight,e.style,e.selector]),r(...e)))):r("Quicksand",700,"normal")});return(t,e)=>{const o=l("font");return d((p(),u(A(a.tag),{class:"element-headline"},{default:y(()=>[m(t.$slots,"default",{},()=>[f(g(a.content),1)])]),_:3})),[[o,n.value]])}}};export{_}; +import{a as i}from"./LUNLrBEh.js";import{C as c,y as l,z as d,o as p,p as u,w as y,A as m,d as f,t as g,ag as A}from"./CjsmL4Sh.js";const _={__name:"Headline",props:{tag:{type:String,default:"h1"},content:{type:String,default:"Headline"},font:{type:Object,default:void 0}},setup(a){const{$getFont:r}=i(),s=a,n=c(()=>{let t=s.font;return t?(Array.isArray(t)&&Array.isArray(t[0])||(t=[t]),[].concat(t).map(e=>(!Array.isArray(e)&&typeof e=="object"&&(e=[e.name,e.weight,e.style,e.selector]),r(...e)))):r("Quicksand",700,"normal")});return(t,e)=>{const o=l("font");return d((p(),u(A(a.tag),{class:"element-headline"},{default:y(()=>[m(t.$slots,"default",{},()=>[f(g(a.content),1)])]),_:3})),[[o,n.value]])}}};export{_}; diff --git a/playground/_nuxt/CXg4qCcD.js b/playground/_nuxt/DDgsv3WO.js similarity index 94% rename from playground/_nuxt/CXg4qCcD.js rename to playground/_nuxt/DDgsv3WO.js index 241f3c552f..9da10b74e6 100644 --- a/playground/_nuxt/CXg4qCcD.js +++ b/playground/_nuxt/DDgsv3WO.js @@ -1 +1 @@ -import{P as d}from"./C4XEkXCj.js";import{_ as f,y as M,o as r,p as y,w as u,a as l,z as a,c as o,d as n,u as s,b as g}from"./BJCUWH2W.js";import{a as A}from"./CVy7LHL-.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";const w={class:"list"},v={id:"criticalFontAssignSimple"},B={id:"criticalFontAssignBySingleSelector"},F={id:"criticalFontAssignByMultipleVariances"},b={id:"criticalFontAssignByMultipleSelectors"},_={id:"criticalFontAssignByDeepSelector"},S={__name:"Critical",setup(p){const{$getFont:e}=A();return(m,t)=>{const i=M("font");return r(),y(s(d),null,{default:u(()=>[l("ul",w,[l("li",null,[t[1]||(t[1]=l("ul",null,[l("li",null,"Merriweather - 400 - normal")],-1)),a((r(),o("span",v,t[0]||(t[0]=[n("font assign simple")]))),[[i,s(e)("Merriweather",400,"normal")]])]),l("li",null,[t[3]||(t[3]=l("ul",null,[l("li",null,"Merriweather - 700 - normal - strong")],-1)),a((r(),o("span",B,t[2]||(t[2]=[n("font assign by "),l("strong",null,"single selector",-1)]))),[[i,s(e)("Merriweather",700,"normal",{selector:"strong"})]])]),l("li",null,[t[5]||(t[5]=l("ul",null,[l("li",null,"Merriweather - 700 - normal - strong"),l("li",null,"Merriweather - 400 - italic - em")],-1)),a((r(),o("span",F,t[4]||(t[4]=[n(" font assign by "),l("strong",null,"multiple",-1),n(),l("em",null,"variances",-1)]))),[[i,[s(e)("Merriweather",700,"normal",{selector:"strong"}),s(e)("Merriweather",400,"italic",{selector:"em"})]]])]),l("li",null,[t[7]||(t[7]=l("ul",null,[l("li",null,"Merriweather - 400 - italic - em, span")],-1)),a((r(),o("span",b,t[6]||(t[6]=[n("font assign by "),l("em",null,"multiple",-1),n(),l("span",null,"selectors",-1)]))),[[i,s(e)("Merriweather",400,"italic",{selector:"em, span"})]])]),l("li",null,[t[9]||(t[9]=l("ul",null,[l("li",null,"Merriweather - 700 - italic - strong > em")],-1)),a((r(),o("span",_,t[8]||(t[8]=[n("font assign by "),l("strong",null,[l("em",null,"deep")],-1),n(" selector")]))),[[i,s(e)("Merriweather",700,"italic",{selector:"strong > em"})]])])])]),title:u(()=>t[10]||(t[10]=[l("p",null,"Critical - v-font",-1)])),_:1})}}},$=f(S,[["__scopeId","data-v-8cb77886"]]),z={class:"list"},x={id:"lazyFontAssignSimple"},c={id:"lazyFontAssignBySingleSelector"},C={id:"lazyFontAssignByMultipleVariances"},V={id:"lazyFontAssignByMultipleSelectors"},D={id:"lazyFontAssignByDeepSelector"},k={__name:"Lazy",setup(p){const{$getFont:e}=A();return(m,t)=>{const i=M("font");return r(),y(s(d),null,{default:u(()=>[l("ul",z,[l("li",null,[t[1]||(t[1]=l("ul",null,[l("li",null,"Montserrat Alternates - 400 - normal")],-1)),a((r(),o("span",x,t[0]||(t[0]=[n("font assign simple")]))),[[i,s(e)("Montserrat Alternates",400,"normal")]])]),t[10]||(t[10]=l("hr",null,null,-1)),l("li",null,[t[3]||(t[3]=l("ul",null,[l("li",null,"Montserrat Alternates - 700 - normal")],-1)),a((r(),o("span",c,t[2]||(t[2]=[n("font assign by "),l("strong",null,"single selector",-1)]))),[[i,s(e)("Montserrat Alternates",700,"normal",{selector:"strong"})]])]),l("li",null,[t[5]||(t[5]=l("ul",null,[l("li",null,"Montserrat Alternates - 700 - normal - strong"),l("li",null,"Montserrat Alternates - 400 - italic - em")],-1)),a((r(),o("span",C,t[4]||(t[4]=[n("font assign by "),l("strong",null,"multiple",-1),n(),l("em",null,"variances",-1)]))),[[i,[s(e)("Montserrat Alternates",700,"normal",{selector:"strong"}),s(e)("Montserrat Alternates",400,"italic",{selector:"em"})]]])]),t[11]||(t[11]=l("hr",null,null,-1)),l("li",null,[t[7]||(t[7]=l("ul",null,[l("li",null,"Montserrat Alternates - 400 - italic - em, span")],-1)),a((r(),o("span",V,t[6]||(t[6]=[n("font assign by "),l("em",null,"multiple",-1),n(),l("span",null,"selectors",-1)]))),[[i,s(e)("Montserrat Alternates",400,"italic",{selector:"em, span"})]])]),t[12]||(t[12]=l("hr",null,null,-1)),l("li",null,[t[9]||(t[9]=l("ul",null,[l("li",null,"Montserrat Alternates - 700 - italic - strong > em")],-1)),a((r(),o("span",D,t[8]||(t[8]=[n("font assign by "),l("strong",null,[l("em",null,"deep")],-1),n(" selector")]))),[[i,s(e)("Montserrat Alternates",700,"italic",{selector:"strong > em"})]])])])]),title:u(()=>t[13]||(t[13]=[l("p",null,"Lazy - v-font",-1)])),_:1})}}},L=f(k,[["__scopeId","data-v-fbd4166e"]]),G={__name:"index",setup(p){return(e,m)=>(r(),o("div",null,[g(s($),{critical:""}),g(s(L))]))}};export{G as default}; +import{P as d}from"./eYyQ5PUj.js";import{_ as f,y as M,o as r,p as y,w as u,a as l,z as a,c as o,d as n,u as s,b as g}from"./CjsmL4Sh.js";import{a as A}from"./LUNLrBEh.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";const w={class:"list"},v={id:"criticalFontAssignSimple"},B={id:"criticalFontAssignBySingleSelector"},F={id:"criticalFontAssignByMultipleVariances"},b={id:"criticalFontAssignByMultipleSelectors"},_={id:"criticalFontAssignByDeepSelector"},S={__name:"Critical",setup(p){const{$getFont:e}=A();return(m,t)=>{const i=M("font");return r(),y(s(d),null,{default:u(()=>[l("ul",w,[l("li",null,[t[1]||(t[1]=l("ul",null,[l("li",null,"Merriweather - 400 - normal")],-1)),a((r(),o("span",v,t[0]||(t[0]=[n("font assign simple")]))),[[i,s(e)("Merriweather",400,"normal")]])]),l("li",null,[t[3]||(t[3]=l("ul",null,[l("li",null,"Merriweather - 700 - normal - strong")],-1)),a((r(),o("span",B,t[2]||(t[2]=[n("font assign by "),l("strong",null,"single selector",-1)]))),[[i,s(e)("Merriweather",700,"normal",{selector:"strong"})]])]),l("li",null,[t[5]||(t[5]=l("ul",null,[l("li",null,"Merriweather - 700 - normal - strong"),l("li",null,"Merriweather - 400 - italic - em")],-1)),a((r(),o("span",F,t[4]||(t[4]=[n(" font assign by "),l("strong",null,"multiple",-1),n(),l("em",null,"variances",-1)]))),[[i,[s(e)("Merriweather",700,"normal",{selector:"strong"}),s(e)("Merriweather",400,"italic",{selector:"em"})]]])]),l("li",null,[t[7]||(t[7]=l("ul",null,[l("li",null,"Merriweather - 400 - italic - em, span")],-1)),a((r(),o("span",b,t[6]||(t[6]=[n("font assign by "),l("em",null,"multiple",-1),n(),l("span",null,"selectors",-1)]))),[[i,s(e)("Merriweather",400,"italic",{selector:"em, span"})]])]),l("li",null,[t[9]||(t[9]=l("ul",null,[l("li",null,"Merriweather - 700 - italic - strong > em")],-1)),a((r(),o("span",_,t[8]||(t[8]=[n("font assign by "),l("strong",null,[l("em",null,"deep")],-1),n(" selector")]))),[[i,s(e)("Merriweather",700,"italic",{selector:"strong > em"})]])])])]),title:u(()=>t[10]||(t[10]=[l("p",null,"Critical - v-font",-1)])),_:1})}}},$=f(S,[["__scopeId","data-v-8cb77886"]]),z={class:"list"},x={id:"lazyFontAssignSimple"},c={id:"lazyFontAssignBySingleSelector"},C={id:"lazyFontAssignByMultipleVariances"},V={id:"lazyFontAssignByMultipleSelectors"},D={id:"lazyFontAssignByDeepSelector"},k={__name:"Lazy",setup(p){const{$getFont:e}=A();return(m,t)=>{const i=M("font");return r(),y(s(d),null,{default:u(()=>[l("ul",z,[l("li",null,[t[1]||(t[1]=l("ul",null,[l("li",null,"Montserrat Alternates - 400 - normal")],-1)),a((r(),o("span",x,t[0]||(t[0]=[n("font assign simple")]))),[[i,s(e)("Montserrat Alternates",400,"normal")]])]),t[10]||(t[10]=l("hr",null,null,-1)),l("li",null,[t[3]||(t[3]=l("ul",null,[l("li",null,"Montserrat Alternates - 700 - normal")],-1)),a((r(),o("span",c,t[2]||(t[2]=[n("font assign by "),l("strong",null,"single selector",-1)]))),[[i,s(e)("Montserrat Alternates",700,"normal",{selector:"strong"})]])]),l("li",null,[t[5]||(t[5]=l("ul",null,[l("li",null,"Montserrat Alternates - 700 - normal - strong"),l("li",null,"Montserrat Alternates - 400 - italic - em")],-1)),a((r(),o("span",C,t[4]||(t[4]=[n("font assign by "),l("strong",null,"multiple",-1),n(),l("em",null,"variances",-1)]))),[[i,[s(e)("Montserrat Alternates",700,"normal",{selector:"strong"}),s(e)("Montserrat Alternates",400,"italic",{selector:"em"})]]])]),t[11]||(t[11]=l("hr",null,null,-1)),l("li",null,[t[7]||(t[7]=l("ul",null,[l("li",null,"Montserrat Alternates - 400 - italic - em, span")],-1)),a((r(),o("span",V,t[6]||(t[6]=[n("font assign by "),l("em",null,"multiple",-1),n(),l("span",null,"selectors",-1)]))),[[i,s(e)("Montserrat Alternates",400,"italic",{selector:"em, span"})]])]),t[12]||(t[12]=l("hr",null,null,-1)),l("li",null,[t[9]||(t[9]=l("ul",null,[l("li",null,"Montserrat Alternates - 700 - italic - strong > em")],-1)),a((r(),o("span",D,t[8]||(t[8]=[n("font assign by "),l("strong",null,[l("em",null,"deep")],-1),n(" selector")]))),[[i,s(e)("Montserrat Alternates",700,"italic",{selector:"strong > em"})]])])])]),title:u(()=>t[13]||(t[13]=[l("p",null,"Lazy - v-font",-1)])),_:1})}}},L=f(k,[["__scopeId","data-v-fbd4166e"]]),G={__name:"index",setup(p){return(e,m)=>(r(),o("div",null,[g(s($),{critical:""}),g(s(L))]))}};export{G as default}; diff --git a/playground/_nuxt/DE9SpmT_.js b/playground/_nuxt/DE9SpmT_.js deleted file mode 100644 index 088736d256..0000000000 --- a/playground/_nuxt/DE9SpmT_.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,o as r,c as t,A as n}from"./BJCUWH2W.js";import"./BjfvBlRB.js";const c={};function s(e,a){return r(),t("div",null,[n(e.$slots,"default")])}const f=o(c,[["render",s]]);export{f as default}; diff --git a/playground/_nuxt/BM-fWYud.js b/playground/_nuxt/DF01ioch.js similarity index 95% rename from playground/_nuxt/BM-fWYud.js rename to playground/_nuxt/DF01ioch.js index b45480455e..ec8846d395 100644 --- a/playground/_nuxt/BM-fWYud.js +++ b/playground/_nuxt/DF01ioch.js @@ -1 +1 @@ -import{a3 as u,a4 as a,C as s,E as d}from"./BJCUWH2W.js";function o({tag:e,contentTags:r,rootTags:t,level:n}={}){e=e||null,t=t||u("semanticStructure_rootTags",["main"]),r=r||u("semanticStructure_contentTags",["article","section"]),n=n||void 0,a("semanticStructure_rootTags",t),a("semanticStructure_contentTags",r);const c=u("semanticStructure_parentLevel",0),i=s(()=>n!==void 0?n:c+1),l=s(()=>e||(Number(c)in t?t[Number(c)]:r[i.value%r.length]));return a("semanticStructure_rootLevel",t.length),a("semanticStructure_parentLevel",i.value),{parentLevel:c,currentLevel:i,currentTag:l}}const f={name:"ContentContainer",props:{tag:{type:String,default:null},rootTags:{type:Array,default(){return u("semanticStructure_rootTags",["main"])}},contentTags:{type:Array,default(){return u("semanticStructure_contentTags",["article","section"])}},level:{type:Number,default:void 0},debug:{type:Boolean,default(){return u("semanticStructure_debug",!1)}}},setup(e){const{parentLevel:r,currentLevel:t,currentTag:n}=o(e);return a("semanticStructure_debug",e.debug),{parentLevel:r,currentLevel:t,currentTag:n}},render(){const{currentTag:e,parentLevel:r,currentLevel:t}=this;return d(e,{...this.$attrs,...m(this)},{default:()=>this.$slots.default({currentTag:e,parentLevel:r,currentLevel:t})})}},m=e=>e.debug?{"data-current-tag":e.currentTag,"data-current-level":e.currentLevel,"data-parent-level":e.parentLevel}:{};export{f as C}; +import{a3 as u,a4 as a,C as s,E as d}from"./CjsmL4Sh.js";function o({tag:e,contentTags:r,rootTags:t,level:n}={}){e=e||null,t=t||u("semanticStructure_rootTags",["main"]),r=r||u("semanticStructure_contentTags",["article","section"]),n=n||void 0,a("semanticStructure_rootTags",t),a("semanticStructure_contentTags",r);const c=u("semanticStructure_parentLevel",0),i=s(()=>n!==void 0?n:c+1),l=s(()=>e||(Number(c)in t?t[Number(c)]:r[i.value%r.length]));return a("semanticStructure_rootLevel",t.length),a("semanticStructure_parentLevel",i.value),{parentLevel:c,currentLevel:i,currentTag:l}}const f={name:"ContentContainer",props:{tag:{type:String,default:null},rootTags:{type:Array,default(){return u("semanticStructure_rootTags",["main"])}},contentTags:{type:Array,default(){return u("semanticStructure_contentTags",["article","section"])}},level:{type:Number,default:void 0},debug:{type:Boolean,default(){return u("semanticStructure_debug",!1)}}},setup(e){const{parentLevel:r,currentLevel:t,currentTag:n}=o(e);return a("semanticStructure_debug",e.debug),{parentLevel:r,currentLevel:t,currentTag:n}},render(){const{currentTag:e,parentLevel:r,currentLevel:t}=this;return d(e,{...this.$attrs,...m(this)},{default:()=>this.$slots.default({currentTag:e,parentLevel:r,currentLevel:t})})}},m=e=>e.debug?{"data-current-tag":e.currentTag,"data-current-level":e.currentLevel,"data-parent-level":e.parentLevel}:{};export{f as C}; diff --git a/playground/_nuxt/DH0EGWEu.js b/playground/_nuxt/DH0EGWEu.js new file mode 100644 index 0000000000..0a20c86532 --- /dev/null +++ b/playground/_nuxt/DH0EGWEu.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BmKYK86_.js","./BFcHoi9x.js","./CjsmL4Sh.js","./BkRKQfnI.js","./entry.hZzTrknk.css","./LUNLrBEh.js","./BRWpFFLA.js","./LoaderTest.Bnvg-rrK.css","./eYyQ5PUj.js","./DF01ioch.js","./-_8sziUr.js","./PreviewContainer.CRgiiAeH.css","./Wm2qH5-n.js","./C6x8OFMT.js","./DPhHKILc.js"])))=>i.map(i=>d[i]); +import{_ as e}from"./BkRKQfnI.js";import{f as l,h as p,c as E,b as r,u as o,e as f,i as h,o as y}from"./CjsmL4Sh.js";const V={__name:"index",setup(v){const t=f(),s=l(),_=i=>(a,d)=>{if(["tests-booster-hydrate","booster-hydrate"].includes(s.currentRoute.value))return h(i)(a,d);a()},u=t(()=>e(()=>import("./BmKYK86_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url),()=>_()),c=t(()=>e(()=>import("./Wm2qH5-n.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),n=t(()=>e(()=>import("./C6x8OFMT.js"),__vite__mapDeps([13,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),m=t(()=>e(()=>import("./DPhHKILc.js"),__vite__mapDeps([14,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url),()=>p("(max-width:500px)"));return(i,a)=>(y(),E("div",null,[r(o(c),{critical:""}),r(o(n)),r(o(m)),r(o(u))]))}};export{V as default}; diff --git a/playground/_nuxt/DHU3jODt.js b/playground/_nuxt/DHU3jODt.js new file mode 100644 index 0000000000..371d0d658e --- /dev/null +++ b/playground/_nuxt/DHU3jODt.js @@ -0,0 +1 @@ +import{_ as o,o as r,c as t,A as n}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";const c={};function s(e,a){return r(),t("div",null,[n(e.$slots,"default")])}const f=o(c,[["render",s]]);export{f as default}; diff --git a/playground/_nuxt/DLcEIDAw.js b/playground/_nuxt/DLcEIDAw.js new file mode 100644 index 0000000000..3122997762 --- /dev/null +++ b/playground/_nuxt/DLcEIDAw.js @@ -0,0 +1 @@ +import{L as i}from"./BFcHoi9x.js";import{P as s}from"./eYyQ5PUj.js";import{p,w as r,u as e,o as m,b as l,a as o,d as a}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";const N={__name:"Critical",setup(c){return(n,t)=>(m(),p(e(s),null,{default:r(()=>[l(e(i),{id:"criticalBoosterHydrate"})]),title:r(()=>t[0]||(t[0]=[o("p",null,[a("Critical"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{N as default}; diff --git a/playground/_nuxt/DMl6P0z9.js b/playground/_nuxt/DMl6P0z9.js deleted file mode 100644 index ee6e57c021..0000000000 --- a/playground/_nuxt/DMl6P0z9.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dt_B63mg.js","./BPxgvQKP.js","./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css","./CVy7LHL-.js","./BRWpFFLA.js","./LoaderTest.Bnvg-rrK.css","./C4XEkXCj.js","./BM-fWYud.js","./WYEhzYAF.js","./PreviewContainer.CRgiiAeH.css","./CCGnGgRK.js"])))=>i.map(i=>d[i]); -import{_ as e}from"./BjfvBlRB.js";import{c,b as r,u as o,e as i,o as s}from"./BJCUWH2W.js";const d={__name:"index",setup(m){const t=i(),a=t(()=>e(()=>import("./Dt_B63mg.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),_=t(()=>e(()=>import("./CCGnGgRK.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url));return(n,u)=>(s(),c("div",null,[r(o(a),{critical:""}),r(o(_))]))}};export{d as default}; diff --git a/playground/_nuxt/CqVbfMZk.js b/playground/_nuxt/DPGIFjId.js similarity index 98% rename from playground/_nuxt/CqVbfMZk.js rename to playground/_nuxt/DPGIFjId.js index d19d004b05..a2a1dc4feb 100644 --- a/playground/_nuxt/CqVbfMZk.js +++ b/playground/_nuxt/DPGIFjId.js @@ -1 +1 @@ -import{f as R,G as N,r as q,H as S,j as E,I as U,J as B,K as T,L as I,E as w,M as A,N as V,O as F,C as x,P as k,Q as L,R as D,S as H,s as z,U as M,V as G}from"./BJCUWH2W.js";async function j(t,r=R()){const{path:f,matched:y}=r.resolve(t);if(!y.length||(r._routePreloaded||(r._routePreloaded=new Set),r._routePreloaded.has(f)))return;const e=r._preloadPromises=r._preloadPromises||[];if(e.length>4)return Promise.all(e).then(()=>j(t,r));r._routePreloaded.add(f);const a=y.map(s=>{var n;return(n=s.components)==null?void 0:n.default}).filter(s=>typeof s=="function");for(const s of a){const n=Promise.resolve(s()).catch(()=>{}).finally(()=>e.splice(e.indexOf(n)));e.push(n)}await Promise.all(e)}const Q=(...t)=>t.find(r=>r!==void 0);function $(t){const r=t.componentName||"NuxtLink";function f(e,a){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return O(e,t.trailingSlash);const s="path"in e&&e.path!==void 0?e.path:a(e).path;return{...e,name:void 0,path:O(s,t.trailingSlash)}}function y(e){const a=R(),s=z(),n=x(()=>!!e.target&&e.target!=="_self"),v=x(()=>{const d=e.to||e.href||"";return typeof d=="string"&&k(d,{acceptRelative:!0})}),b=A("RouterLink"),g=b&&typeof b!="string"?b.useLink:void 0,m=x(()=>{if(e.external)return!0;const d=e.to||e.href||"";return typeof d=="object"?!1:d===""||v.value}),u=x(()=>{const d=e.to||e.href||"";return m.value?d:f(d,a.resolve)}),c=m.value||g==null?void 0:g({...e,to:u}),p=x(()=>{var d;if(!u.value||v.value)return u.value;if(m.value){const P=typeof u.value=="object"&&"path"in u.value?L(u.value):u.value,C=typeof P=="object"?a.resolve(P).href:P;return f(C,a.resolve)}return typeof u.value=="object"?((d=a.resolve(u.value))==null?void 0:d.href)??null:f(D(s.app.baseURL,u.value),a.resolve)});return{to:u,hasTarget:n,isAbsoluteUrl:v,isExternal:m,href:p,isActive:(c==null?void 0:c.isActive)??x(()=>u.value===a.currentRoute.value.path),isExactActive:(c==null?void 0:c.isExactActive)??x(()=>u.value===a.currentRoute.value.path),route:(c==null?void 0:c.route)??x(()=>a.resolve(u.value)),async navigate(){await H(p.value,{replace:e.replace,external:m.value||n.value})}}}return N({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:y,setup(e,{slots:a}){const s=R(),{to:n,href:v,navigate:b,isExternal:g,hasTarget:m,isAbsoluteUrl:u}=y(e),c=q(!1),p=q(null),d=l=>{var o;p.value=e.custom?(o=l==null?void 0:l.$el)==null?void 0:o.nextElementSibling:l==null?void 0:l.$el};function P(l){var o,i;return!c.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===l:((o=e.prefetchOn)==null?void 0:o[l])??((i=t.prefetchOn)==null?void 0:i[l]))&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!W()}async function C(l=S()){if(c.value)return;c.value=!0;const o=typeof n.value=="string"?n.value:g.value?L(n.value):s.resolve(n.value).fullPath,i=g.value?new URL(o,window.location.href).href:o;await Promise.all([l.hooks.callHook("link:prefetch",i).catch(()=>{}),!g.value&&!m.value&&j(n.value,s).catch(()=>{})])}if(P("visibility")){const l=S();let o,i=null;E(()=>{const h=J();U(()=>{o=B(()=>{var _;(_=p==null?void 0:p.value)!=null&&_.tagName&&(i=h.observe(p.value,async()=>{i==null||i(),i=null,await C(l)}))})})}),T(()=>{o&&I(o),i==null||i(),i=null})}return()=>{var i;if(!g.value&&!m.value){const h={ref:d,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(P("interaction")&&(h.onPointerenter=C.bind(null,void 0),h.onFocus=C.bind(null,void 0)),c.value&&(h.class=e.prefetchedClass||t.prefetchedClass),h.rel=e.rel||void 0),w(A("RouterLink"),h,a.default)}const l=e.target||null,o=Q(e.noRel?"":e.rel,t.externalRelAttribute,u.value||m.value?"noopener noreferrer":"")||null;return e.custom?a.default?a.default({href:v.value,navigate:b,prefetch:C,get route(){if(!v.value)return;const h=new URL(v.value,window.location.href);return{path:h.pathname,fullPath:h.pathname,get query(){return V(h.search)},hash:h.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:v.value}},rel:o,target:l,isExternal:g.value||m.value,isActive:!1,isExactActive:!1}):null:w("a",{ref:p,href:v.value||null,rel:o,target:l},(i=a.default)==null?void 0:i.call(a))}}})}const Y=$(F);function O(t,r){const f=r==="append"?M:G;return k(t)&&!t.startsWith("http")?t:f(t,!0)}function J(){const t=S();if(t._observer)return t._observer;let r=null;const f=new Map,y=(a,s)=>(r||(r=new IntersectionObserver(n=>{for(const v of n){const b=f.get(v.target);(v.isIntersecting||v.intersectionRatio>0)&&b&&b()}})),f.set(a,s),r.observe(a),()=>{f.delete(a),r.unobserve(a),f.size===0&&(r.disconnect(),r=null)});return t._observer={observe:y}}const K=/2g/;function W(){const t=navigator.connection;return!!(t&&(t.saveData||K.test(t.effectiveType)))}export{Y as _}; +import{f as R,G as N,r as q,H as S,j as E,I as U,J as B,K as T,L as I,E as w,M as A,N as V,O as F,C as x,P as k,Q as L,R as D,S as H,s as z,U as M,V as G}from"./CjsmL4Sh.js";async function j(t,r=R()){const{path:f,matched:y}=r.resolve(t);if(!y.length||(r._routePreloaded||(r._routePreloaded=new Set),r._routePreloaded.has(f)))return;const e=r._preloadPromises=r._preloadPromises||[];if(e.length>4)return Promise.all(e).then(()=>j(t,r));r._routePreloaded.add(f);const a=y.map(s=>{var n;return(n=s.components)==null?void 0:n.default}).filter(s=>typeof s=="function");for(const s of a){const n=Promise.resolve(s()).catch(()=>{}).finally(()=>e.splice(e.indexOf(n)));e.push(n)}await Promise.all(e)}const Q=(...t)=>t.find(r=>r!==void 0);function $(t){const r=t.componentName||"NuxtLink";function f(e,a){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return O(e,t.trailingSlash);const s="path"in e&&e.path!==void 0?e.path:a(e).path;return{...e,name:void 0,path:O(s,t.trailingSlash)}}function y(e){const a=R(),s=z(),n=x(()=>!!e.target&&e.target!=="_self"),v=x(()=>{const d=e.to||e.href||"";return typeof d=="string"&&k(d,{acceptRelative:!0})}),b=A("RouterLink"),g=b&&typeof b!="string"?b.useLink:void 0,m=x(()=>{if(e.external)return!0;const d=e.to||e.href||"";return typeof d=="object"?!1:d===""||v.value}),u=x(()=>{const d=e.to||e.href||"";return m.value?d:f(d,a.resolve)}),c=m.value||g==null?void 0:g({...e,to:u}),p=x(()=>{var d;if(!u.value||v.value)return u.value;if(m.value){const P=typeof u.value=="object"&&"path"in u.value?L(u.value):u.value,C=typeof P=="object"?a.resolve(P).href:P;return f(C,a.resolve)}return typeof u.value=="object"?((d=a.resolve(u.value))==null?void 0:d.href)??null:f(D(s.app.baseURL,u.value),a.resolve)});return{to:u,hasTarget:n,isAbsoluteUrl:v,isExternal:m,href:p,isActive:(c==null?void 0:c.isActive)??x(()=>u.value===a.currentRoute.value.path),isExactActive:(c==null?void 0:c.isExactActive)??x(()=>u.value===a.currentRoute.value.path),route:(c==null?void 0:c.route)??x(()=>a.resolve(u.value)),async navigate(){await H(p.value,{replace:e.replace,external:m.value||n.value})}}}return N({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:y,setup(e,{slots:a}){const s=R(),{to:n,href:v,navigate:b,isExternal:g,hasTarget:m,isAbsoluteUrl:u}=y(e),c=q(!1),p=q(null),d=l=>{var o;p.value=e.custom?(o=l==null?void 0:l.$el)==null?void 0:o.nextElementSibling:l==null?void 0:l.$el};function P(l){var o,i;return!c.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===l:((o=e.prefetchOn)==null?void 0:o[l])??((i=t.prefetchOn)==null?void 0:i[l]))&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!W()}async function C(l=S()){if(c.value)return;c.value=!0;const o=typeof n.value=="string"?n.value:g.value?L(n.value):s.resolve(n.value).fullPath,i=g.value?new URL(o,window.location.href).href:o;await Promise.all([l.hooks.callHook("link:prefetch",i).catch(()=>{}),!g.value&&!m.value&&j(n.value,s).catch(()=>{})])}if(P("visibility")){const l=S();let o,i=null;E(()=>{const h=J();U(()=>{o=B(()=>{var _;(_=p==null?void 0:p.value)!=null&&_.tagName&&(i=h.observe(p.value,async()=>{i==null||i(),i=null,await C(l)}))})})}),T(()=>{o&&I(o),i==null||i(),i=null})}return()=>{var i;if(!g.value&&!m.value){const h={ref:d,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(P("interaction")&&(h.onPointerenter=C.bind(null,void 0),h.onFocus=C.bind(null,void 0)),c.value&&(h.class=e.prefetchedClass||t.prefetchedClass),h.rel=e.rel||void 0),w(A("RouterLink"),h,a.default)}const l=e.target||null,o=Q(e.noRel?"":e.rel,t.externalRelAttribute,u.value||m.value?"noopener noreferrer":"")||null;return e.custom?a.default?a.default({href:v.value,navigate:b,prefetch:C,get route(){if(!v.value)return;const h=new URL(v.value,window.location.href);return{path:h.pathname,fullPath:h.pathname,get query(){return V(h.search)},hash:h.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:v.value}},rel:o,target:l,isExternal:g.value||m.value,isActive:!1,isExactActive:!1}):null:w("a",{ref:p,href:v.value||null,rel:o,target:l},(i=a.default)==null?void 0:i.call(a))}}})}const Y=$(F);function O(t,r){const f=r==="append"?M:G;return k(t)&&!t.startsWith("http")?t:f(t,!0)}function J(){const t=S();if(t._observer)return t._observer;let r=null;const f=new Map,y=(a,s)=>(r||(r=new IntersectionObserver(n=>{for(const v of n){const b=f.get(v.target);(v.isIntersecting||v.intersectionRatio>0)&&b&&b()}})),f.set(a,s),r.observe(a),()=>{f.delete(a),r.unobserve(a),f.size===0&&(r.disconnect(),r=null)});return t._observer={observe:y}}const K=/2g/;function W(){const t=navigator.connection;return!!(t&&(t.saveData||K.test(t.effectiveType)))}export{Y as _}; diff --git a/playground/_nuxt/DPhHKILc.js b/playground/_nuxt/DPhHKILc.js new file mode 100644 index 0000000000..ae25f172db --- /dev/null +++ b/playground/_nuxt/DPhHKILc.js @@ -0,0 +1 @@ +import{L as s}from"./BFcHoi9x.js";import{P as i}from"./eYyQ5PUj.js";import{p,w as t,u as r,o as m,b as d,a as o,d as a}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";const V={__name:"Media",setup(n){return(l,e)=>(m(),p(r(i),null,{default:t(()=>[d(r(s),{id:"mediaBoosterHydrate"})]),title:t(()=>e[0]||(e[0]=[o("p",null,[a("Media"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{V as default}; diff --git a/playground/_nuxt/Cp8PsMOm.js b/playground/_nuxt/DY_gEAq6.js similarity index 94% rename from playground/_nuxt/Cp8PsMOm.js rename to playground/_nuxt/DY_gEAq6.js index e2c689ea91..4f5e2a694f 100644 --- a/playground/_nuxt/Cp8PsMOm.js +++ b/playground/_nuxt/DY_gEAq6.js @@ -1 +1 @@ -import{_ as a}from"./CqVbfMZk.js";import{_ as i,o as u,c,a as e,t as r,b as l,w as d,d as p}from"./BJCUWH2W.js";import{u as f}from"./BaH-g7BJ.js";import"./BjfvBlRB.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},h=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return f({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return u(),c("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.statusCode)},null,8,h),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,b),e("div",x,[l(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:d(()=>[p(r(t.backHome),1)]),_:1})])])])}}},N=i(y,[["__scopeId","data-v-28c488d2"]]);export{N as default}; +import{_ as a}from"./DPGIFjId.js";import{_ as i,o as u,c,a as e,t as r,b as l,w as d,d as p}from"./CjsmL4Sh.js";import{u as f}from"./Bxz71LHV.js";import"./BkRKQfnI.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},h=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return f({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return u(),c("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.statusCode)},null,8,h),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,b),e("div",x,[l(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:d(()=>[p(r(t.backHome),1)]),_:1})])])])}}},N=i(y,[["__scopeId","data-v-28c488d2"]]);export{N as default}; diff --git a/playground/_nuxt/BUB5tvAX.js b/playground/_nuxt/DZA1_sPZ.js similarity index 55% rename from playground/_nuxt/BUB5tvAX.js rename to playground/_nuxt/DZA1_sPZ.js index 534991808d..e03a62264a 100644 --- a/playground/_nuxt/BUB5tvAX.js +++ b/playground/_nuxt/DZA1_sPZ.js @@ -1 +1 @@ -import{B as s}from"./kIGpI0GX.js";import{B as t}from"./jBDxcIpy.js";import{r as n,j as l,c as m,a as d,d as u,b as r,u as o,k as c,o as i}from"./BJCUWH2W.js";import"./BRWpFFLA.js";import"./BjfvBlRB.js";const y={__name:"index",setup(p){const e=n(!1);return l(()=>{e.value=!0}),(f,a)=>(i(),m("div",{class:c({mounted:e.value})},[d("div",null,[a[0]||(a[0]=u(" WeakHardwareOverlay ")),r(o(t))]),r(o(s))],2))}};export{y as default}; +import{B as s}from"./ei5la4Je.js";import{B as t}from"./Cn26epyG.js";import{r as n,j as l,c as m,a as d,d as u,b as r,u as o,k as c,o as i}from"./CjsmL4Sh.js";import"./BRWpFFLA.js";import"./BkRKQfnI.js";const y={__name:"index",setup(p){const e=n(!1);return l(()=>{e.value=!0}),(f,a)=>(i(),m("div",{class:c({mounted:e.value})},[d("div",null,[a[0]||(a[0]=u(" WeakHardwareOverlay ")),r(o(t))]),r(o(s))],2))}};export{y as default}; diff --git a/playground/_nuxt/CfXz8K5-.js b/playground/_nuxt/D_wwBEHp.js similarity index 55% rename from playground/_nuxt/CfXz8K5-.js rename to playground/_nuxt/D_wwBEHp.js index 79514ddc70..b0f740c778 100644 --- a/playground/_nuxt/CfXz8K5-.js +++ b/playground/_nuxt/D_wwBEHp.js @@ -1 +1 @@ -import{D as m}from"./CLMwxf9V.js";import{W as c}from"./Cz3YY00M.js";import{C as p}from"./BM-fWYud.js";import{_ as u,z as l,u as e,p as f,w as o,y as d,o as r,b as a,n as _,g as v,c as x,x as y}from"./BJCUWH2W.js";import{a as b}from"./CVy7LHL-.js";import"./B9JxpZf2.js";import"./BjfvBlRB.js";import"./RYnl7rm0.js";import"./BvEpi-l_.js";import"./BRWpFFLA.js";import"./BaH-g7BJ.js";import"./jBDxcIpy.js";import"./DVMzMYu-.js";const h=["innerHTML"],k={__name:"VideoYoutube",props:{text:{type:String,default:null}},setup(t){const{$getFont:s}=b();return(i,w)=>{const n=d("font");return l((r(),f(e(p),{class:"video-youtube"},{default:o(()=>[a(e(m),_(v(i.$attrs)),{afterPlayer:o(()=>[a(e(c))]),_:1},16),t.text?(r(),x("p",{key:0,innerHTML:t.text},null,8,h)):y("",!0)]),_:1})),[[n,[e(s)("Merriweather",400)]]])}}},T=u(k,[["__scopeId","data-v-7585e50a"]]);export{T as default}; +import{D as m}from"./tsmP51g_.js";import{W as c}from"./B2q3ibDH.js";import{C as p}from"./DF01ioch.js";import{_ as u,z as l,u as e,p as f,w as o,y as d,o as r,b as a,n as _,g as v,c as x,x as y}from"./CjsmL4Sh.js";import{a as b}from"./LUNLrBEh.js";import"./mB1EKFO1.js";import"./BkRKQfnI.js";import"./pZgWsOJl.js";import"./EEDi2Un_.js";import"./BRWpFFLA.js";import"./Bxz71LHV.js";import"./Cn26epyG.js";import"./B92XiNJi.js";const h=["innerHTML"],k={__name:"VideoYoutube",props:{text:{type:String,default:null}},setup(t){const{$getFont:s}=b();return(i,w)=>{const n=d("font");return l((r(),f(e(p),{class:"video-youtube"},{default:o(()=>[a(e(m),_(v(i.$attrs)),{afterPlayer:o(()=>[a(e(c))]),_:1},16),t.text?(r(),x("p",{key:0,innerHTML:t.text},null,8,h)):y("",!0)]),_:1})),[[n,[e(s)("Merriweather",400)]]])}}},T=u(k,[["__scopeId","data-v-7585e50a"]]);export{T as default}; diff --git a/playground/_nuxt/C_OwKSm0.js b/playground/_nuxt/DilIEfEF.js similarity index 91% rename from playground/_nuxt/C_OwKSm0.js rename to playground/_nuxt/DilIEfEF.js index aa531c8872..27ec396387 100644 --- a/playground/_nuxt/C_OwKSm0.js +++ b/playground/_nuxt/DilIEfEF.js @@ -1 +1 @@ -import{_ as a,o,c as l,a as e}from"./BJCUWH2W.js";import"./BjfvBlRB.js";const i=["href","aria-label","title","target"],n={__name:"GithubCorner",props:{title:{type:String,default:"View source on GitHub"},target:{type:String,default:"_blank"},url:{type:String,default:"https://your-url"}},setup(t){return(s,r)=>(o(),l("a",{class:"atom-github-corner",href:t.url,"aria-label":t.title,title:t.title,target:t.target,rel:"noopener"},r[0]||(r[0]=[e("svg",{width:"80",height:"80",viewBox:"0 0 250 250","aria-hidden":"true"},[e("path",{d:"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"}),e("path",{d:"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2",fill:"currentColor",style:{"transform-origin":"130px 106px"},class:"octo-arm"}),e("path",{d:"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z",fill:"currentColor",class:"octo-body"})],-1)]),8,i))}},u=a(n,[["__scopeId","data-v-6e295ab9"]]);export{u as default}; +import{_ as a,o,c as l,a as e}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";const i=["href","aria-label","title","target"],n={__name:"GithubCorner",props:{title:{type:String,default:"View source on GitHub"},target:{type:String,default:"_blank"},url:{type:String,default:"https://your-url"}},setup(t){return(s,r)=>(o(),l("a",{class:"atom-github-corner",href:t.url,"aria-label":t.title,title:t.title,target:t.target,rel:"noopener"},r[0]||(r[0]=[e("svg",{width:"80",height:"80",viewBox:"0 0 250 250","aria-hidden":"true"},[e("path",{d:"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"}),e("path",{d:"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2",fill:"currentColor",style:{"transform-origin":"130px 106px"},class:"octo-arm"}),e("path",{d:"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z",fill:"currentColor",class:"octo-body"})],-1)]),8,i))}},u=a(n,[["__scopeId","data-v-6e295ab9"]]);export{u as default}; diff --git a/playground/_nuxt/DsYz6WCr.js b/playground/_nuxt/DsYz6WCr.js deleted file mode 100644 index 02125efbf5..0000000000 --- a/playground/_nuxt/DsYz6WCr.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CzeOdz-d.js","./BGVK_AWX.js","./BjfvBlRB.js","./B9JxpZf2.js","./BJCUWH2W.js","./entry.hZzTrknk.css","./Button.Ci53V_g1.css","./RYnl7rm0.js","./BvEpi-l_.js","./BRWpFFLA.js","./CVy7LHL-.js","./BaH-g7BJ.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./BoosterVimeo.DNsFb9an.css","./C4XEkXCj.js","./BM-fWYud.js","./WYEhzYAF.js","./PreviewContainer.CRgiiAeH.css"])))=>i.map(i=>d[i]); -import{_ as s}from"./BjfvBlRB.js";import{c as r,F as m,q as l,e as c,o,b as n,m as u,u as _}from"./BJCUWH2W.js";const V={__name:"index",setup(p){const a=c()(()=>s(()=>import("./CzeOdz-d.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url)),i=[{vimeoUrl:"https://vimeo.com/288344114",title:"Vimeo 1"},{vimeoUrl:"https://vimeo.com/288344114",title:"Vimeo 2",autoplay:!0}];return(v,f)=>(o(),r("div",null,[(o(),r(m,null,l(i,(e,t)=>n(_(a),u({id:`vimeo-${t}`,ref_for:!0},e,{key:e.vimeoUrl,critical:t<1}),null,16,["id","critical"])),64))]))}};export{V as default}; diff --git a/playground/_nuxt/Dt_B63mg.js b/playground/_nuxt/Dt_B63mg.js deleted file mode 100644 index ea9ee92a28..0000000000 --- a/playground/_nuxt/Dt_B63mg.js +++ /dev/null @@ -1 +0,0 @@ -import{L as i}from"./BPxgvQKP.js";import{P as s}from"./C4XEkXCj.js";import{p,w as r,u as e,o as m,b as l,a as o,d as a}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";const N={__name:"Critical",setup(c){return(n,t)=>(m(),p(e(s),null,{default:r(()=>[l(e(i),{id:"criticalBoosterHydrate"})]),title:r(()=>t[0]||(t[0]=[o("p",null,[a("Critical"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{N as default}; diff --git a/playground/_nuxt/B06iCxOq.js b/playground/_nuxt/DtvPA-kz.js similarity index 73% rename from playground/_nuxt/B06iCxOq.js rename to playground/_nuxt/DtvPA-kz.js index 746b35bbf3..46849f1045 100644 --- a/playground/_nuxt/B06iCxOq.js +++ b/playground/_nuxt/DtvPA-kz.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CoYLIKWQ.js","./RYnl7rm0.js","./BvEpi-l_.js","./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css","./BRWpFFLA.js","./CVy7LHL-.js","./BaH-g7BJ.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./BM-fWYud.js","./WYEhzYAF.js","./ImageText.v-qTdL46.css"])))=>i.map(i=>d[i]); -import{_ as o}from"./BjfvBlRB.js";import{B as u}from"./kIGpI0GX.js";import{r as n,j as l,c,b as a,n as m,g as p,u as s,k as d,e as v,o as g}from"./BJCUWH2W.js";import"./BRWpFFLA.js";const B={__name:"index",setup(_){const t=v(),e=n(!1);l(()=>e.value=!0);const i=t(()=>o(()=>import("./CoYLIKWQ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),r={headline:"BoosterLayer Test",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

",picture:{title:"BoosterLayer Test",sources:[{src:"/img/image-text-a.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]}};return(f,b)=>(g(),c("div",{class:d({ready:e.value})},[a(s(i),m(p(r)),null,16),a(s(u),{"max-idle-duration":0})],2))}};export{B as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DCpMjhK3.js","./pZgWsOJl.js","./EEDi2Un_.js","./CjsmL4Sh.js","./BkRKQfnI.js","./entry.hZzTrknk.css","./BRWpFFLA.js","./LUNLrBEh.js","./Bxz71LHV.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./DF01ioch.js","./-_8sziUr.js","./ImageText.v-qTdL46.css"])))=>i.map(i=>d[i]); +import{_ as o}from"./BkRKQfnI.js";import{B as u}from"./ei5la4Je.js";import{r as n,j as l,c,b as a,n as m,g as p,u as s,k as d,e as v,o as g}from"./CjsmL4Sh.js";import"./BRWpFFLA.js";const B={__name:"index",setup(_){const t=v(),e=n(!1);l(()=>e.value=!0);const i=t(()=>o(()=>import("./DCpMjhK3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),r={headline:"BoosterLayer Test",content:"

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

",picture:{title:"BoosterLayer Test",sources:[{src:"/img/image-text-a.jpg",sizes:{default:"100vw",xxs:"100vw",xs:"100vw",sm:"100vw",md:"100vw",lg:"100vw",xl:"100vw",xxl:"100vw"}}]}};return(f,b)=>(g(),c("div",{class:d({ready:e.value})},[a(s(i),m(p(r)),null,16),a(s(u),{"max-idle-duration":0})],2))}};export{B as default}; diff --git a/playground/_nuxt/Dyi8jvlC.js b/playground/_nuxt/Dyi8jvlC.js deleted file mode 100644 index 0dd05c1e96..0000000000 --- a/playground/_nuxt/Dyi8jvlC.js +++ /dev/null @@ -1 +0,0 @@ -import{L as s}from"./BPxgvQKP.js";import{P as m}from"./C4XEkXCj.js";import{p,w as e,u as o,o as i,b as u,a as r,d as a}from"./BJCUWH2W.js";import"./CVy7LHL-.js";import"./BRWpFFLA.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";const N={__name:"Custom",setup(n){return(d,t)=>(i(),p(o(m),null,{default:e(()=>[u(o(s),{id:"customBoosterHydrate"})]),title:e(()=>t[0]||(t[0]=[r("p",null,[a("Custom"),r("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{N as default}; diff --git a/playground/_nuxt/BvEpi-l_.js b/playground/_nuxt/EEDi2Un_.js similarity index 98% rename from playground/_nuxt/BvEpi-l_.js rename to playground/_nuxt/EEDi2Un_.js index 93455c7421..4b5b0d8b05 100644 --- a/playground/_nuxt/BvEpi-l_.js +++ b/playground/_nuxt/EEDi2Un_.js @@ -1,4 +1,4 @@ -var F=Object.defineProperty;var J=(t,e,s)=>e in t?F(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var m=(t,e,s)=>J(t,typeof e!="symbol"?e+"":e,s);import{G as T,P as I,a8 as G,a9 as C,aa as V,R as O,ab as L,ac as Q,ad as N,H as E,s as X,_ as Y,a5 as Z,r as y,C as _,ae as R,af as K,o as ee,c as te,m as ie,u as se}from"./BJCUWH2W.js";import{t as A,b as re}from"./BRWpFFLA.js";import{g as ne}from"./BjfvBlRB.js";import{u as oe}from"./CVy7LHL-.js";import{u as ae}from"./BaH-g7BJ.js";function ce(t){return new URL(window.location.href)}const Je=T({name:"HydrationWrapper",setup(t,{slots:e}){return()=>de(e.default())}}),de=t=>t.length===1?t[0]:t,ue=["avif","webp","png","jpg","gif"],le="jpg",he=t=>{const{pathname:e}=C(t),s=/[.]/.exec(e)&&/[^.]+$/.exec(e)[0];return ue.includes(s)?s:le};async function fe(t,e,s){window.Image?t=t.modify({src:e}):t=t.modify({src:I(e)?e:G(e,ce().origin)});const{width:i,height:r}=await s.getImageSize(t.src);return t.modify({width:i,height:r})}class ${constructor({src:e,sizes:s,width:i,height:r,media:n="all",quality:o=70,format:a=null,preload:c=!1,modifiers:d={},provider:g=void 0,preset:h=void 0,densities:u=void 0}){m(this,"src",null);m(this,"sizes",null);m(this,"media",null);m(this,"width",null);m(this,"height",null);m(this,"format",null);m(this,"quality",null);m(this,"preload",!1);m(this,"modifiers",{});m(this,"provider");m(this,"preset");m(this,"densities");this.src=e,this.sizes=s,this.media=n,this.width=i,this.height=r,this.format=me(e,a),this.quality=o,this.preload=c,this.modifiers=d,this.provider=g,this.preset=h,this.densities=u}get key(){return A(JSON.stringify(this.toJSON()))}get ratio(){return this.width/this.height}get className(){return`image-${A(ge(this.src))}`}get style(){return` +var F=Object.defineProperty;var J=(t,e,s)=>e in t?F(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var m=(t,e,s)=>J(t,typeof e!="symbol"?e+"":e,s);import{G as T,P as I,a8 as G,a9 as C,aa as V,R as O,ab as L,ac as Q,ad as N,H as E,s as X,_ as Y,a5 as Z,r as y,C as _,ae as R,af as K,o as ee,c as te,m as ie,u as se}from"./CjsmL4Sh.js";import{t as A,b as re}from"./BRWpFFLA.js";import{g as ne}from"./BkRKQfnI.js";import{u as oe}from"./LUNLrBEh.js";import{u as ae}from"./Bxz71LHV.js";function ce(t){return new URL(window.location.href)}const Je=T({name:"HydrationWrapper",setup(t,{slots:e}){return()=>de(e.default())}}),de=t=>t.length===1?t[0]:t,ue=["avif","webp","png","jpg","gif"],le="jpg",he=t=>{const{pathname:e}=C(t),s=/[.]/.exec(e)&&/[^.]+$/.exec(e)[0];return ue.includes(s)?s:le};async function fe(t,e,s){window.Image?t=t.modify({src:e}):t=t.modify({src:I(e)?e:G(e,ce().origin)});const{width:i,height:r}=await s.getImageSize(t.src);return t.modify({width:i,height:r})}class ${constructor({src:e,sizes:s,width:i,height:r,media:n="all",quality:o=70,format:a=null,preload:c=!1,modifiers:d={},provider:g=void 0,preset:h=void 0,densities:u=void 0}){m(this,"src",null);m(this,"sizes",null);m(this,"media",null);m(this,"width",null);m(this,"height",null);m(this,"format",null);m(this,"quality",null);m(this,"preload",!1);m(this,"modifiers",{});m(this,"provider");m(this,"preset");m(this,"densities");this.src=e,this.sizes=s,this.media=n,this.width=i,this.height=r,this.format=me(e,a),this.quality=o,this.preload=c,this.modifiers=d,this.provider=g,this.preset=h,this.densities=u}get key(){return A(JSON.stringify(this.toJSON()))}get ratio(){return this.width/this.height}get className(){return`image-${A(ge(this.src))}`}get style(){return` @supports (aspect-ratio: 1) { @media ${this.media} { .${this.className} { aspect-ratio: ${this.width} / ${this.height}; } } } diff --git a/playground/_nuxt/DSniyKa7.js b/playground/_nuxt/JTE3c8T4.js similarity index 82% rename from playground/_nuxt/DSniyKa7.js rename to playground/_nuxt/JTE3c8T4.js index a641b11745..669718fe3c 100644 --- a/playground/_nuxt/DSniyKa7.js +++ b/playground/_nuxt/JTE3c8T4.js @@ -1 +1 @@ -import{C as l}from"./BM-fWYud.js";import{C as c}from"./WYEhzYAF.js";import{_ as i,r as d,j as m,p as u,w as o,k as f,u as e,y as p,o as r,z as _,c as v,b as x,d as M,t as g,a as h}from"./BJCUWH2W.js";import{a as B}from"./CVy7LHL-.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";const C=["innerHTML"],y={__name:"TextFontB",props:{headline:{type:String,default:"Headline"},content:{type:String,default:"Text"}},setup(a){const{$getFont:t}=B(),n=d(!1);return m(()=>{n.value=!0}),(T,A)=>{const s=p("font");return r(),u(e(l),{class:f([{ready:n.value},"component-text-font-b"])},{default:o(()=>[_((r(),v("div",null,[x(e(c),null,{default:o(()=>[M(g(a.headline),1)]),_:1}),h("div",{innerHTML:a.content},null,8,C)])),[[s,[e(t)("Montserrat Alternates",300,"normal"),e(t)("Montserrat Alternates",700,"normal",{selector:"h2"}),e(t)("Montserrat Alternates",300,"italic",{selector:"em"}),e(t)("Montserrat Alternates",700,"normal",{selector:"strong"}),e(t)("Montserrat Alternates",700,"italic",{selector:"em strong, strong em"})]]])]),_:1},8,["class"])}}},N=i(y,[["__scopeId","data-v-38b9be3e"]]);export{N as default}; +import{C as l}from"./DF01ioch.js";import{C as c}from"./-_8sziUr.js";import{_ as i,r as d,j as m,p as u,w as o,k as f,u as e,y as p,o as r,z as _,c as v,b as x,d as M,t as g,a as h}from"./CjsmL4Sh.js";import{a as B}from"./LUNLrBEh.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";const C=["innerHTML"],y={__name:"TextFontB",props:{headline:{type:String,default:"Headline"},content:{type:String,default:"Text"}},setup(a){const{$getFont:t}=B(),n=d(!1);return m(()=>{n.value=!0}),(T,A)=>{const s=p("font");return r(),u(e(l),{class:f([{ready:n.value},"component-text-font-b"])},{default:o(()=>[_((r(),v("div",null,[x(e(c),null,{default:o(()=>[M(g(a.headline),1)]),_:1}),h("div",{innerHTML:a.content},null,8,C)])),[[s,[e(t)("Montserrat Alternates",300,"normal"),e(t)("Montserrat Alternates",700,"normal",{selector:"h2"}),e(t)("Montserrat Alternates",300,"italic",{selector:"em"}),e(t)("Montserrat Alternates",700,"normal",{selector:"strong"}),e(t)("Montserrat Alternates",700,"italic",{selector:"em strong, strong em"})]]])]),_:1},8,["class"])}}},N=i(y,[["__scopeId","data-v-38b9be3e"]]);export{N as default}; diff --git a/playground/_nuxt/CVy7LHL-.js b/playground/_nuxt/LUNLrBEh.js similarity index 95% rename from playground/_nuxt/CVy7LHL-.js rename to playground/_nuxt/LUNLrBEh.js index 1945fe6d12..a31da38ef3 100644 --- a/playground/_nuxt/CVy7LHL-.js +++ b/playground/_nuxt/LUNLrBEh.js @@ -1 +1 @@ -import{g as c,t as g}from"./BRWpFFLA.js";import{a5 as f,r as m,a3 as d,C as y,a4 as S,s as h,H as C,a6 as v,K as x,a7 as F}from"./BJCUWH2W.js";const l=Symbol("criticalContext");function D({critical:i}={}){const t=f(),o=m("critical"in t?t.critical===""||String(t.critical)==="true":i),e=d(l,o.value||!1),r=y(()=>typeof o.value=="boolean"?o.value:e);return S(l,r.value||i),{isCritical:r,critical:e}}class K{constructor(){this.list=[]}getKey(){return u(JSON.stringify(this.list.map(t=>t.getKey())))}add(t){const o={name:"data-font",value:`${u(JSON.stringify(t.map(e=>e.getKey())))}`};return this.list=[...this.list,...t.map(e=>(e.setRootSelector(o),e))],o}getPreloadDescriptions(t,o="anonymous"){return Array.from(this.list.reduce((e,r)=>e,new Map).values())}getStyleDescriptions(t){return p([c(this.list.map(o=>o.getCSSText(t)).join(" "),!1,this.getKey())])}getNoScriptStyleDescriptions(){return p([c(this.list.map(t=>t.getNoScriptCSSText()).join(" "),!0,this.getKey())])}get size(){return this.list.length}toJSON(){return{list:this.list.map(t=>t.toJSON())}}}function u(i,t){return g(`${i}_${t}`).padStart(9,"-")}function p(i){return i.filter(t=>t.key!=="0")}function N(){const{booster:i}=h().public;return i}function A(i){const{isCritical:t,critical:o}=D(i),e=N(),r=C(),n=v(new K),a={usedFontaine:e.usedFontaine};try{const s=r.$booster.head.push(n,t.value,a);x(()=>F(()=>s.dispose()))}catch(s){console.error(s)}return{isCritical:t,critical:o,$getFont:(...s)=>({runtimeConfig:e,isCritical:t.value,fontCollection:n,definition:r.$booster.getFont(...s)})}}export{A as a,D as u}; +import{g as c,t as g}from"./BRWpFFLA.js";import{a5 as f,r as m,a3 as d,C as y,a4 as S,s as h,H as C,a6 as v,K as x,a7 as F}from"./CjsmL4Sh.js";const l=Symbol("criticalContext");function D({critical:i}={}){const t=f(),o=m("critical"in t?t.critical===""||String(t.critical)==="true":i),e=d(l,o.value||!1),r=y(()=>typeof o.value=="boolean"?o.value:e);return S(l,r.value||i),{isCritical:r,critical:e}}class K{constructor(){this.list=[]}getKey(){return u(JSON.stringify(this.list.map(t=>t.getKey())))}add(t){const o={name:"data-font",value:`${u(JSON.stringify(t.map(e=>e.getKey())))}`};return this.list=[...this.list,...t.map(e=>(e.setRootSelector(o),e))],o}getPreloadDescriptions(t,o="anonymous"){return Array.from(this.list.reduce((e,r)=>e,new Map).values())}getStyleDescriptions(t){return p([c(this.list.map(o=>o.getCSSText(t)).join(" "),!1,this.getKey())])}getNoScriptStyleDescriptions(){return p([c(this.list.map(t=>t.getNoScriptCSSText()).join(" "),!0,this.getKey())])}get size(){return this.list.length}toJSON(){return{list:this.list.map(t=>t.toJSON())}}}function u(i,t){return g(`${i}_${t}`).padStart(9,"-")}function p(i){return i.filter(t=>t.key!=="0")}function N(){const{booster:i}=h().public;return i}function A(i){const{isCritical:t,critical:o}=D(i),e=N(),r=C(),n=v(new K),a={usedFontaine:e.usedFontaine};try{const s=r.$booster.head.push(n,t.value,a);x(()=>F(()=>s.dispose()))}catch(s){console.error(s)}return{isCritical:t,critical:o,$getFont:(...s)=>({runtimeConfig:e,isCritical:t.value,fontCollection:n,definition:r.$booster.getFont(...s)})}}export{A as a,D as u}; diff --git a/playground/_nuxt/LYpE5lsi.js b/playground/_nuxt/LYpE5lsi.js deleted file mode 100644 index b9dbcb04ce..0000000000 --- a/playground/_nuxt/LYpE5lsi.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./D2EbAXB8.js","./CLMwxf9V.js","./B9JxpZf2.js","./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css","./Button.Ci53V_g1.css","./RYnl7rm0.js","./BvEpi-l_.js","./BRWpFFLA.js","./CVy7LHL-.js","./BaH-g7BJ.js","./Base.D0rTlUzv.css","./BoosterPicture.CbYnjz_8.css","./BoosterYoutube.CWVIT5bz.css","./C4XEkXCj.js","./BM-fWYud.js","./WYEhzYAF.js","./PreviewContainer.CRgiiAeH.css"])))=>i.map(i=>d[i]); -import{_ as s}from"./BjfvBlRB.js";import{c as r,F as c,q as l,e as i,o,b as n,m as _,u as m}from"./BJCUWH2W.js";const w={__name:"index",setup(p){const u=i()(()=>s(()=>import("./D2EbAXB8.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url)),a=[{youtubeUrl:"https://www.youtube.com/watch?v=cLKvbhfVBUU",title:"Youtube 1"},{youtubeUrl:"https://www.youtube.com/watch?v=YE7VzlLtp-4",title:"Youtube 2",autoplay:!0}];return(y,b)=>(o(),r("div",null,[(o(),r(c,null,l(a,(t,e)=>n(m(u),_({id:`youtube-${e}`,ref_for:!0},t,{key:t.youtubeUrl,critical:e<1}),null,16,["id","critical"])),64))]))}};export{w as default}; diff --git a/playground/_nuxt/RvlSCH0T.js b/playground/_nuxt/RvlSCH0T.js new file mode 100644 index 0000000000..b8c3e329a2 --- /dev/null +++ b/playground/_nuxt/RvlSCH0T.js @@ -0,0 +1 @@ +import{r as a,j as r,c as s,k as t,o}from"./CjsmL4Sh.js";import"./BkRKQfnI.js";const u={__name:"empty-1",setup(c){const e=a(!1);return r(()=>{e.value=!0}),(n,l)=>(o(),s("div",{class:t(["empty-1",{ready:e.value}])},"EMPTY 1",2))}};export{u as default}; diff --git a/playground/_nuxt/Wm2qH5-n.js b/playground/_nuxt/Wm2qH5-n.js new file mode 100644 index 0000000000..3122997762 --- /dev/null +++ b/playground/_nuxt/Wm2qH5-n.js @@ -0,0 +1 @@ +import{L as i}from"./BFcHoi9x.js";import{P as s}from"./eYyQ5PUj.js";import{p,w as r,u as e,o as m,b as l,a as o,d as a}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";const N={__name:"Critical",setup(c){return(n,t)=>(m(),p(e(s),null,{default:r(()=>[l(e(i),{id:"criticalBoosterHydrate"})]),title:r(()=>t[0]||(t[0]=[o("p",null,[a("Critical"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{N as default}; diff --git a/playground/_nuxt/builds/latest.json b/playground/_nuxt/builds/latest.json index 1357d2cead..e977040e9f 100644 --- a/playground/_nuxt/builds/latest.json +++ b/playground/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"bced70a2-a93f-465f-8910-524ab8e2ad79","timestamp":1734373521284} \ No newline at end of file +{"id":"9533357d-5be0-4bc6-b253-804a43ddeb9f","timestamp":1734710748148} \ No newline at end of file diff --git a/playground/_nuxt/builds/meta/bced70a2-a93f-465f-8910-524ab8e2ad79.json b/playground/_nuxt/builds/meta/9533357d-5be0-4bc6-b253-804a43ddeb9f.json similarity index 52% rename from playground/_nuxt/builds/meta/bced70a2-a93f-465f-8910-524ab8e2ad79.json rename to playground/_nuxt/builds/meta/9533357d-5be0-4bc6-b253-804a43ddeb9f.json index b58168beb1..84180c829f 100644 --- a/playground/_nuxt/builds/meta/bced70a2-a93f-465f-8910-524ab8e2ad79.json +++ b/playground/_nuxt/builds/meta/9533357d-5be0-4bc6-b253-804a43ddeb9f.json @@ -1 +1 @@ -{"id":"bced70a2-a93f-465f-8910-524ab8e2ad79","timestamp":1734373521284,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/","/tests","/tests/booster-layer","/tests/youtube","/tests/image","/tests/vimeo","/tests/picture","/tests/iframe","/tests/v-font","/tests/v-font-media","/tests/booster-loader","/tests/booster-hydrate","/tests/v-font-scroll","/tests/useBoosterHead/1","/tests/useBoosterHead","/tests/useBoosterHead/2","/tests/useBoosterHead/empty-1","/tests/useBoosterHead/empty-2","/tests/weak-hardware-overlay"]} \ No newline at end of file +{"id":"9533357d-5be0-4bc6-b253-804a43ddeb9f","timestamp":1734710748148,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/","/tests","/tests/booster-layer","/tests/youtube","/tests/picture","/tests/vimeo","/tests/image","/tests/iframe","/tests/v-font-media","/tests/booster-loader","/tests/v-font","/tests/booster-hydrate","/tests/v-font-scroll","/tests/useBoosterHead/1","/tests/useBoosterHead","/tests/useBoosterHead/2","/tests/useBoosterHead/empty-1","/tests/useBoosterHead/empty-2","/tests/weak-hardware-overlay"]} \ No newline at end of file diff --git a/playground/_nuxt/C4XEkXCj.js b/playground/_nuxt/eYyQ5PUj.js similarity index 72% rename from playground/_nuxt/C4XEkXCj.js rename to playground/_nuxt/eYyQ5PUj.js index bc90364867..dcf7c8a1c0 100644 --- a/playground/_nuxt/C4XEkXCj.js +++ b/playground/_nuxt/eYyQ5PUj.js @@ -1 +1 @@ -import{C as c}from"./BM-fWYud.js";import{C as d}from"./WYEhzYAF.js";import{_ as p,y as u,o as a,p as f,w as n,a as e,A as r,b as _,u as t,z as m,c as v}from"./BJCUWH2W.js";import{a as w}from"./CVy7LHL-.js";const C={class:"preview"},B={__name:"PreviewContainer",setup(k){const{$getFont:i}=w();return(o,s)=>{const l=u("font");return a(),f(t(c),{class:"preview-container"},{default:n(()=>[e("div",C,[e("div",null,[r(o.$slots,"default",{},void 0,!0)])]),_(t(d),{class:"info"},{default:n(()=>[m((a(),v("span",null,[r(o.$slots,"title",{},()=>[s[0]||(s[0]=e("p",null,"Preview Info",-1))],!0)])),[[l,t(i)("Quicksand",400,"normal")]])]),_:3})]),_:3})}}},D=p(B,[["__scopeId","data-v-861695da"]]);export{D as P}; +import{C as c}from"./DF01ioch.js";import{C as d}from"./-_8sziUr.js";import{_ as p,y as u,o as a,p as f,w as n,a as e,A as r,b as _,u as t,z as m,c as v}from"./CjsmL4Sh.js";import{a as w}from"./LUNLrBEh.js";const C={class:"preview"},B={__name:"PreviewContainer",setup(k){const{$getFont:i}=w();return(o,s)=>{const l=u("font");return a(),f(t(c),{class:"preview-container"},{default:n(()=>[e("div",C,[e("div",null,[r(o.$slots,"default",{},void 0,!0)])]),_(t(d),{class:"info"},{default:n(()=>[m((a(),v("span",null,[r(o.$slots,"title",{},()=>[s[0]||(s[0]=e("p",null,"Preview Info",-1))],!0)])),[[l,t(i)("Quicksand",400,"normal")]])]),_:3})]),_:3})}}},D=p(B,[["__scopeId","data-v-861695da"]]);export{D as P}; diff --git a/playground/_nuxt/kIGpI0GX.js b/playground/_nuxt/ei5la4Je.js similarity index 96% rename from playground/_nuxt/kIGpI0GX.js rename to playground/_nuxt/ei5la4Je.js index 378e075144..91de1ab8a5 100644 --- a/playground/_nuxt/kIGpI0GX.js +++ b/playground/_nuxt/ei5la4Je.js @@ -1 +1 @@ -import{g as s}from"./BRWpFFLA.js";import{_ as n,o as r,c as i,a as o,A as a,x as l,a2 as u}from"./BJCUWH2W.js";const b={data:function(){return{isServer:!0}},head(){return{noscript:[s(["#nuxt-booster-layer button:not(.nuxt-booster-button-init-nojs) { display: none !important; } .nuxt-booster-button-nojs, .nuxt-booster-button-init-nojs, #nuxt-booster-message-nojs { display: initial !important; }","#nuxt-booster-layer button:not(#nuxt-booster-button-init-nojs) { display: none !important; } #nuxt-booster-button-nojs, #nuxt-booster-button-init-nojs, #nuxt-booster-message-nojs { display: initial !important; }"].join(" "),!0,"booster-layer")]}},mounted(){this.isServer=!1},methods:{closeLayer(){document.getElementById("nuxt-booster-layer-close").checked=!1}}},d={key:0,id:"nuxt-booster-layer"},p={id:"nuxt-booster-layer-content"};function c(e,t,x,y,m,w){return e.isServer?(r(),i("div",d,[t[1]||(t[1]=o("input",{id:"nuxt-booster-layer-close",name:"close",type:"checkbox"},null,-1)),o("div",p,[a(e.$slots,"default",{},()=>[t[0]||(t[0]=u('

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • slow connection
  • weak hardware
  • low battery
',1))])])])):l("",!0)}const g=n(b,[["render",c]]);export{g as B}; +import{g as s}from"./BRWpFFLA.js";import{_ as n,o as r,c as i,a as o,A as a,x as l,a2 as u}from"./CjsmL4Sh.js";const b={data:function(){return{isServer:!0}},head(){return{noscript:[s(["#nuxt-booster-layer button:not(.nuxt-booster-button-init-nojs) { display: none !important; } .nuxt-booster-button-nojs, .nuxt-booster-button-init-nojs, #nuxt-booster-message-nojs { display: initial !important; }","#nuxt-booster-layer button:not(#nuxt-booster-button-init-nojs) { display: none !important; } #nuxt-booster-button-nojs, #nuxt-booster-button-init-nojs, #nuxt-booster-message-nojs { display: initial !important; }"].join(" "),!0,"booster-layer")]}},mounted(){this.isServer=!1},methods:{closeLayer(){document.getElementById("nuxt-booster-layer-close").checked=!1}}},d={key:0,id:"nuxt-booster-layer"},p={id:"nuxt-booster-layer-content"};function c(e,t,x,y,m,w){return e.isServer?(r(),i("div",d,[t[1]||(t[1]=o("input",{id:"nuxt-booster-layer-close",name:"close",type:"checkbox"},null,-1)),o("div",p,[a(e.$slots,"default",{},()=>[t[0]||(t[0]=u('

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • slow connection
  • weak hardware
  • low battery
',1))])])])):l("",!0)}const g=n(b,[["render",c]]);export{g as B}; diff --git a/playground/_nuxt/DZ6DYBSy.js b/playground/_nuxt/k3YqPxIe.js similarity index 94% rename from playground/_nuxt/DZ6DYBSy.js rename to playground/_nuxt/k3YqPxIe.js index 8b2dac3a12..419846aef0 100644 --- a/playground/_nuxt/DZ6DYBSy.js +++ b/playground/_nuxt/k3YqPxIe.js @@ -1 +1 @@ -import{P as x}from"./C4XEkXCj.js";import{_ as w,y,o as l,p as g,w as p,a as i,z as o,c as e,d as a,u as n,b as u}from"./BJCUWH2W.js";import{a as f}from"./CVy7LHL-.js";import"./BM-fWYud.js";import"./WYEhzYAF.js";import"./BjfvBlRB.js";import"./BRWpFFLA.js";const M={class:"list"},A={id:"criticalFontAssignSimpleByOrientationPortrait"},B={id:"criticalFontAssignSimpleByOrientationLandscape"},F={id:"criticalFontAssignSimpleByMax479"},S={id:"criticalFontAssignSimpleBy480"},b={id:"criticalFontAssignSimpleBy960"},_={id:"criticalFontBySingleSelectorBy1440"},v={__name:"Critical",setup(d){const{$getFont:s}=f();return(m,t)=>{const r=y("font");return l(),g(n(x),null,{default:p(()=>[i("ul",M,[i("li",null,[t[1]||(t[1]=i("ul",null,[i("li",null,"Merriweather - 300 - normal - (orientation: portrait)")],-1)),o((l(),e("span",A,t[0]||(t[0]=[a("font assign simple by portrait")]))),[[r,n(s)("Merriweather",300,"normal",{media:"(orientation: portrait)"})]])]),i("li",null,[t[3]||(t[3]=i("ul",null,[i("li",null,"Merriweather - 300 - italic - (orientation: landscape)")],-1)),o((l(),e("span",B,t[2]||(t[2]=[a("font assign simple by landscape")]))),[[r,n(s)("Merriweather",300,"italic",{media:"(orientation: landscape)"})]])]),i("li",null,[t[5]||(t[5]=i("ul",null,[i("li",null,"Merriweather - 700 - italic - (max-width: 479px)")],-1)),o((l(),e("span",F,t[4]||(t[4]=[a("font assign simple by max 479px")]))),[[r,n(s)("Merriweather",700,"italic",{media:"(max-width: 479px)"})]])]),i("li",null,[t[7]||(t[7]=i("ul",null,[i("li",null,"Merriweather - 400 - normal - (min-width: 480px)")],-1)),o((l(),e("span",S,t[6]||(t[6]=[a("font assign simple by 480px")]))),[[r,n(s)("Merriweather",400,"normal",{media:"(min-width: 480px)"})]])]),i("li",null,[t[9]||(t[9]=i("ul",null,[i("li",null,"Merriweather - 400 - italic - (min-width: 960px)")],-1)),o((l(),e("span",b,t[8]||(t[8]=[a("font assign simple by 960px")]))),[[r,n(s)("Merriweather",400,"italic",{media:"(min-width: 960px)"})]])]),i("li",null,[t[11]||(t[11]=i("ul",null,[i("li",null,"Merriweather - 700 - normal - strong - (min-width: 1440px)")],-1)),o((l(),e("span",_,t[10]||(t[10]=[a("font assign with "),i("strong",null,"selector by 1440px",-1)]))),[[r,n(s)("Merriweather",700,"normal",{selector:"strong",media:"(min-width: 1440px)"})]])])])]),title:p(()=>t[12]||(t[12]=[i("p",null,"Critical - v-font with media",-1)])),_:1})}}},$=w(v,[["__scopeId","data-v-4d297aea"]]),z={class:"list"},C={id:"lazyFontAssignSimpleByOrientationPortrait"},L={id:"lazyFontAssignSimpleByOrientationLandscape"},O={id:"lazyFontAssignSimpleByMax479"},P={id:"lazyFontAssignSimpleBy480"},k={id:"lazyFontAssignSimpleBy960"},N={id:"lazyFontBySingleSelectorBy1440"},V={__name:"Lazy",setup(d){const{$getFont:s}=f();return(m,t)=>{const r=y("font");return l(),g(n(x),null,{default:p(()=>[i("ul",z,[i("li",null,[t[1]||(t[1]=i("ul",null,[i("li",null," Montserrat Alternates - 300 - normal - (orientation: portrait) ")],-1)),o((l(),e("span",C,t[0]||(t[0]=[a("font assign simple by portrait")]))),[[r,n(s)("Montserrat Alternates",300,"normal",{media:"(orientation: portrait)"})]])]),i("li",null,[t[3]||(t[3]=i("ul",null,[i("li",null," Montserrat Alternates - 300 - italic - (orientation: landscape) ")],-1)),o((l(),e("span",L,t[2]||(t[2]=[a("font assign simple by landscape")]))),[[r,n(s)("Montserrat Alternates",300,"italic",{media:"(orientation: landscape)"})]])]),i("li",null,[t[5]||(t[5]=i("ul",null,[i("li",null,"Montserrat Alternates - 700 - italic - (max-width: 479px)")],-1)),o((l(),e("span",O,t[4]||(t[4]=[a("font assign simple by max 479px")]))),[[r,n(s)("Montserrat Alternates",700,"italic",{media:"(max-width: 479px)"})]])]),i("li",null,[t[7]||(t[7]=i("ul",null,[i("li",null,"Montserrat Alternates - 400 - normal - (min-width: 480px)")],-1)),o((l(),e("span",P,t[6]||(t[6]=[a("font assign simple by 480px")]))),[[r,n(s)("Montserrat Alternates",400,"normal",{media:"(min-width: 480px)"})]])]),i("li",null,[t[9]||(t[9]=i("ul",null,[i("li",null,"Montserrat Alternates - 400 - italic - (min-width: 960px)")],-1)),o((l(),e("span",k,t[8]||(t[8]=[a("font assign simple by 960px")]))),[[r,n(s)("Montserrat Alternates",400,"italic",{media:"(min-width: 960px)"})]])]),i("li",null,[t[11]||(t[11]=i("ul",null,[i("li",null," Montserrat Alternates - 700 - normal - strong - (min-width: 1440px) ")],-1)),o((l(),e("span",N,t[10]||(t[10]=[a("font assign with "),i("strong",null,"selector by 1440px",-1)]))),[[r,n(s)("Montserrat Alternates",700,"normal",{selector:"strong",media:"(min-width: 1440px)"})]])])])]),title:p(()=>t[12]||(t[12]=[i("p",null,"Lazy - v-font with media",-1)])),_:1})}}},D=w(V,[["__scopeId","data-v-d3a6104f"]]),J={__name:"index",setup(d){return(s,m)=>(l(),e("div",null,[u(n($),{critical:""}),u(n(D))]))}};export{J as default}; +import{P as x}from"./eYyQ5PUj.js";import{_ as w,y,o as l,p as g,w as p,a as i,z as o,c as e,d as a,u as n,b as u}from"./CjsmL4Sh.js";import{a as f}from"./LUNLrBEh.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";import"./BRWpFFLA.js";const M={class:"list"},A={id:"criticalFontAssignSimpleByOrientationPortrait"},B={id:"criticalFontAssignSimpleByOrientationLandscape"},F={id:"criticalFontAssignSimpleByMax479"},S={id:"criticalFontAssignSimpleBy480"},b={id:"criticalFontAssignSimpleBy960"},_={id:"criticalFontBySingleSelectorBy1440"},v={__name:"Critical",setup(d){const{$getFont:s}=f();return(m,t)=>{const r=y("font");return l(),g(n(x),null,{default:p(()=>[i("ul",M,[i("li",null,[t[1]||(t[1]=i("ul",null,[i("li",null,"Merriweather - 300 - normal - (orientation: portrait)")],-1)),o((l(),e("span",A,t[0]||(t[0]=[a("font assign simple by portrait")]))),[[r,n(s)("Merriweather",300,"normal",{media:"(orientation: portrait)"})]])]),i("li",null,[t[3]||(t[3]=i("ul",null,[i("li",null,"Merriweather - 300 - italic - (orientation: landscape)")],-1)),o((l(),e("span",B,t[2]||(t[2]=[a("font assign simple by landscape")]))),[[r,n(s)("Merriweather",300,"italic",{media:"(orientation: landscape)"})]])]),i("li",null,[t[5]||(t[5]=i("ul",null,[i("li",null,"Merriweather - 700 - italic - (max-width: 479px)")],-1)),o((l(),e("span",F,t[4]||(t[4]=[a("font assign simple by max 479px")]))),[[r,n(s)("Merriweather",700,"italic",{media:"(max-width: 479px)"})]])]),i("li",null,[t[7]||(t[7]=i("ul",null,[i("li",null,"Merriweather - 400 - normal - (min-width: 480px)")],-1)),o((l(),e("span",S,t[6]||(t[6]=[a("font assign simple by 480px")]))),[[r,n(s)("Merriweather",400,"normal",{media:"(min-width: 480px)"})]])]),i("li",null,[t[9]||(t[9]=i("ul",null,[i("li",null,"Merriweather - 400 - italic - (min-width: 960px)")],-1)),o((l(),e("span",b,t[8]||(t[8]=[a("font assign simple by 960px")]))),[[r,n(s)("Merriweather",400,"italic",{media:"(min-width: 960px)"})]])]),i("li",null,[t[11]||(t[11]=i("ul",null,[i("li",null,"Merriweather - 700 - normal - strong - (min-width: 1440px)")],-1)),o((l(),e("span",_,t[10]||(t[10]=[a("font assign with "),i("strong",null,"selector by 1440px",-1)]))),[[r,n(s)("Merriweather",700,"normal",{selector:"strong",media:"(min-width: 1440px)"})]])])])]),title:p(()=>t[12]||(t[12]=[i("p",null,"Critical - v-font with media",-1)])),_:1})}}},$=w(v,[["__scopeId","data-v-4d297aea"]]),z={class:"list"},C={id:"lazyFontAssignSimpleByOrientationPortrait"},L={id:"lazyFontAssignSimpleByOrientationLandscape"},O={id:"lazyFontAssignSimpleByMax479"},P={id:"lazyFontAssignSimpleBy480"},k={id:"lazyFontAssignSimpleBy960"},N={id:"lazyFontBySingleSelectorBy1440"},V={__name:"Lazy",setup(d){const{$getFont:s}=f();return(m,t)=>{const r=y("font");return l(),g(n(x),null,{default:p(()=>[i("ul",z,[i("li",null,[t[1]||(t[1]=i("ul",null,[i("li",null," Montserrat Alternates - 300 - normal - (orientation: portrait) ")],-1)),o((l(),e("span",C,t[0]||(t[0]=[a("font assign simple by portrait")]))),[[r,n(s)("Montserrat Alternates",300,"normal",{media:"(orientation: portrait)"})]])]),i("li",null,[t[3]||(t[3]=i("ul",null,[i("li",null," Montserrat Alternates - 300 - italic - (orientation: landscape) ")],-1)),o((l(),e("span",L,t[2]||(t[2]=[a("font assign simple by landscape")]))),[[r,n(s)("Montserrat Alternates",300,"italic",{media:"(orientation: landscape)"})]])]),i("li",null,[t[5]||(t[5]=i("ul",null,[i("li",null,"Montserrat Alternates - 700 - italic - (max-width: 479px)")],-1)),o((l(),e("span",O,t[4]||(t[4]=[a("font assign simple by max 479px")]))),[[r,n(s)("Montserrat Alternates",700,"italic",{media:"(max-width: 479px)"})]])]),i("li",null,[t[7]||(t[7]=i("ul",null,[i("li",null,"Montserrat Alternates - 400 - normal - (min-width: 480px)")],-1)),o((l(),e("span",P,t[6]||(t[6]=[a("font assign simple by 480px")]))),[[r,n(s)("Montserrat Alternates",400,"normal",{media:"(min-width: 480px)"})]])]),i("li",null,[t[9]||(t[9]=i("ul",null,[i("li",null,"Montserrat Alternates - 400 - italic - (min-width: 960px)")],-1)),o((l(),e("span",k,t[8]||(t[8]=[a("font assign simple by 960px")]))),[[r,n(s)("Montserrat Alternates",400,"italic",{media:"(min-width: 960px)"})]])]),i("li",null,[t[11]||(t[11]=i("ul",null,[i("li",null," Montserrat Alternates - 700 - normal - strong - (min-width: 1440px) ")],-1)),o((l(),e("span",N,t[10]||(t[10]=[a("font assign with "),i("strong",null,"selector by 1440px",-1)]))),[[r,n(s)("Montserrat Alternates",700,"normal",{selector:"strong",media:"(min-width: 1440px)"})]])])])]),title:p(()=>t[12]||(t[12]=[i("p",null,"Lazy - v-font with media",-1)])),_:1})}}},D=w(V,[["__scopeId","data-v-d3a6104f"]]),J={__name:"index",setup(d){return(s,m)=>(l(),e("div",null,[u(n($),{critical:""}),u(n(D))]))}};export{J as default}; diff --git a/playground/_nuxt/m0A1K_mY.js b/playground/_nuxt/m0A1K_mY.js new file mode 100644 index 0000000000..91bc59997e --- /dev/null +++ b/playground/_nuxt/m0A1K_mY.js @@ -0,0 +1 @@ +import{L as s}from"./BFcHoi9x.js";import{P as i}from"./eYyQ5PUj.js";import{p,w as e,u as r,o as m,b as l,a as o,d as a}from"./CjsmL4Sh.js";import"./LUNLrBEh.js";import"./BRWpFFLA.js";import"./DF01ioch.js";import"./-_8sziUr.js";import"./BkRKQfnI.js";const C={__name:"Lazy",setup(n){return(d,t)=>(m(),p(r(i),null,{default:e(()=>[l(r(s),{id:"lazyBoosterHydrate"})]),title:e(()=>t[0]||(t[0]=[o("p",null,[a("Critical"),o("br"),a("BoosterHydrate")],-1)])),_:1}))}};export{C as default}; diff --git a/playground/_nuxt/B9JxpZf2.js b/playground/_nuxt/mB1EKFO1.js similarity index 76% rename from playground/_nuxt/B9JxpZf2.js rename to playground/_nuxt/mB1EKFO1.js index a267c7881c..4784c6d45b 100644 --- a/playground/_nuxt/B9JxpZf2.js +++ b/playground/_nuxt/mB1EKFO1.js @@ -1 +1 @@ -import{_ as t,o as s,c as o,A as r,n as a,g as n}from"./BJCUWH2W.js";const c={inheritAttrs:!1};function d(e,p,f,u,i,l){return s(),o("button",a(n(e.$attrs)),[r(e.$slots,"default",{},void 0,!0)],16)}const $=t(c,[["render",d],["__scopeId","data-v-cb973d3f"]]);export{$ as D}; +import{_ as t,o as s,c as o,A as r,n as a,g as n}from"./CjsmL4Sh.js";const c={inheritAttrs:!1};function d(e,p,f,u,i,l){return s(),o("button",a(n(e.$attrs)),[r(e.$slots,"default",{},void 0,!0)],16)}const $=t(c,[["render",d],["__scopeId","data-v-cb973d3f"]]);export{$ as D}; diff --git a/playground/_nuxt/RYnl7rm0.js b/playground/_nuxt/pZgWsOJl.js similarity index 96% rename from playground/_nuxt/RYnl7rm0.js rename to playground/_nuxt/pZgWsOJl.js index 8996ca8d45..c31979e8a6 100644 --- a/playground/_nuxt/RYnl7rm0.js +++ b/playground/_nuxt/pZgWsOJl.js @@ -1,4 +1,4 @@ -var q=Object.defineProperty;var K=(i,e,t)=>e in i?q(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var M=(i,e,t)=>K(i,typeof e!="symbol"?e+"":e,t);import{S as C,n as Z,u as W,c as b,B as tt,H as et}from"./BvEpi-l_.js";import{t as st,c as rt}from"./BRWpFFLA.js";import{g as it}from"./BjfvBlRB.js";import{H as j,r as y,o as $,c as F,u as P,_ as nt,C as ot,af as at,F as ct,q as lt,p as ut,b as mt,k as z,E as _}from"./BJCUWH2W.js";import{u as T}from"./BaH-g7BJ.js";import{u as E}from"./CVy7LHL-.js";const R=/(!?\(\s*min(-device)?-width)(.|\n)+\(\s*max(-device)?-width|\(\s*width\s*>(=)?(.|\n)+\(\s*width\s*<(=)?|(!?\(.*<(=)?\s*width\s*<(=)?)/i,dt=/\(\s*min(-device)?-width|\(\s*width\s*>(=)?/i,Q=/(!?\(\s*max(-device)?-width)(.|\n)+\(\s*min(-device)?-width|\(\s*width\s*<(=)?(.|\n)+\(\s*width\s*>(=)?|(!?\(.*>(=)?\s*width\s*>(=)?)/i,ht=/\(\s*max(-device)?-width|\(\s*width\s*<(=)?/i,p=B(R,Q,dt),x=B(Q,R,ht),V=/(!?\(\s*min(-device)?-height)(.|\n)+\(\s*max(-device)?-height|\(\s*height\s*>(=)?(.|\n)+\(\s*height\s*<(=)?|(!?\(.*<(=)?\s*height\s*<(=)?)/i,ft=/\(\s*min(-device)?-height|\(\s*height\s*>(=)?/i,U=/(!?\(\s*max(-device)?-height)(.|\n)+\(\s*min(-device)?-height|\(\s*height\s*<(=)?(.|\n)+\(\s*height\s*>(=)?|(!?\(.*>(=)?\s*height\s*>(=)?)/i,pt=/\(\s*max(-device)?-height|\(\s*height\s*<(=)?/i,g=B(V,U,ft),w=B(U,V,pt),H=/print/i,I=/^print$/i,f=Number.MAX_VALUE;function S(i){let e=/(-?\d*\.?\d+)(ch|em|ex|px|rem)/.exec(i);if(e===null&&(p(i)||g(i))&&(e=/(\d)/.exec(i)),e==="0")return 0;if(e===null)return f;let t=e[1];switch(e[2]){case"ch":t=parseFloat(t)*8.8984375;break;case"em":case"rem":t=parseFloat(t)*16;break;case"ex":t=parseFloat(t)*8.296875;break;case"px":t=parseFloat(t);break}return+t}function B(i,e,t){return function(n){return i.test(n)?!0:e.test(n)?!1:t.test(n)}}function L(i,e){const t=H.test(i),n=I.test(i),s=H.test(e),r=I.test(e);return t&&s?!n&&r?1:n&&!r?-1:i.localeCompare(e):t?1:s?-1:null}function gt(i){const t={}.unitlessMqAlwaysFirst;function n(s,r){const u=L(s,r);if(u!==null)return u;const h=p(s)||g(s),c=x(s)||w(s),l=p(r)||g(r),m=x(r)||w(r);if(t&&(!h&&!c||!l&&!m))return!h&&!c&&!l&&!m?s.localeCompare(r):!l&&!m?1:-1;{if(h&&m)return-1;if(c&&l)return 1;const o=S(s),d=S(r);return o===f&&d===f?s.localeCompare(r):o===f?1:d===f?-1:o>d?c?-1:1:od?c?-1:1:onew C(n)))}get length(){return this.list.length}[Symbol.iterator](){return this.list.values()}get key(){return this.list.map(e=>e.key).join("-")}get sorted(){return this.sort?this.list.sort((e,t)=>yt(e.media,t.media)):this.list}get style(){return this.list.map(({media:e,width:t,height:n,style:s})=>` +var q=Object.defineProperty;var K=(i,e,t)=>e in i?q(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var M=(i,e,t)=>K(i,typeof e!="symbol"?e+"":e,t);import{S as C,n as Z,u as W,c as b,B as tt,H as et}from"./EEDi2Un_.js";import{t as st,c as rt}from"./BRWpFFLA.js";import{g as it}from"./BkRKQfnI.js";import{H as j,r as y,o as $,c as F,u as P,_ as nt,C as ot,af as at,F as ct,q as lt,p as ut,b as mt,k as z,E as _}from"./CjsmL4Sh.js";import{u as T}from"./Bxz71LHV.js";import{u as E}from"./LUNLrBEh.js";const R=/(!?\(\s*min(-device)?-width)(.|\n)+\(\s*max(-device)?-width|\(\s*width\s*>(=)?(.|\n)+\(\s*width\s*<(=)?|(!?\(.*<(=)?\s*width\s*<(=)?)/i,dt=/\(\s*min(-device)?-width|\(\s*width\s*>(=)?/i,Q=/(!?\(\s*max(-device)?-width)(.|\n)+\(\s*min(-device)?-width|\(\s*width\s*<(=)?(.|\n)+\(\s*width\s*>(=)?|(!?\(.*>(=)?\s*width\s*>(=)?)/i,ht=/\(\s*max(-device)?-width|\(\s*width\s*<(=)?/i,p=B(R,Q,dt),x=B(Q,R,ht),V=/(!?\(\s*min(-device)?-height)(.|\n)+\(\s*max(-device)?-height|\(\s*height\s*>(=)?(.|\n)+\(\s*height\s*<(=)?|(!?\(.*<(=)?\s*height\s*<(=)?)/i,ft=/\(\s*min(-device)?-height|\(\s*height\s*>(=)?/i,U=/(!?\(\s*max(-device)?-height)(.|\n)+\(\s*min(-device)?-height|\(\s*height\s*<(=)?(.|\n)+\(\s*height\s*>(=)?|(!?\(.*>(=)?\s*height\s*>(=)?)/i,pt=/\(\s*max(-device)?-height|\(\s*height\s*<(=)?/i,g=B(V,U,ft),w=B(U,V,pt),H=/print/i,I=/^print$/i,f=Number.MAX_VALUE;function S(i){let e=/(-?\d*\.?\d+)(ch|em|ex|px|rem)/.exec(i);if(e===null&&(p(i)||g(i))&&(e=/(\d)/.exec(i)),e==="0")return 0;if(e===null)return f;let t=e[1];switch(e[2]){case"ch":t=parseFloat(t)*8.8984375;break;case"em":case"rem":t=parseFloat(t)*16;break;case"ex":t=parseFloat(t)*8.296875;break;case"px":t=parseFloat(t);break}return+t}function B(i,e,t){return function(n){return i.test(n)?!0:e.test(n)?!1:t.test(n)}}function L(i,e){const t=H.test(i),n=I.test(i),s=H.test(e),r=I.test(e);return t&&s?!n&&r?1:n&&!r?-1:i.localeCompare(e):t?1:s?-1:null}function gt(i){const t={}.unitlessMqAlwaysFirst;function n(s,r){const u=L(s,r);if(u!==null)return u;const h=p(s)||g(s),c=x(s)||w(s),l=p(r)||g(r),m=x(r)||w(r);if(t&&(!h&&!c||!l&&!m))return!h&&!c&&!l&&!m?s.localeCompare(r):!l&&!m?1:-1;{if(h&&m)return-1;if(c&&l)return 1;const o=S(s),d=S(r);return o===f&&d===f?s.localeCompare(r):o===f?1:d===f?-1:o>d?c?-1:1:od?c?-1:1:onew C(n)))}get length(){return this.list.length}[Symbol.iterator](){return this.list.values()}get key(){return this.list.map(e=>e.key).join("-")}get sorted(){return this.sort?this.list.sort((e,t)=>yt(e.media,t.media)):this.list}get style(){return this.list.map(({media:e,width:t,height:n,style:s})=>` @media ${e} { .${this.className}::before { padding-top: calc((1 / (${t} / ${n})) * 100%); } } @supports (aspect-ratio: 1) { @media ${e} { .${this.className} { aspect-ratio: ${t} / ${n}; } } diff --git a/playground/_nuxt/CLMwxf9V.js b/playground/_nuxt/tsmP51g_.js similarity index 93% rename from playground/_nuxt/CLMwxf9V.js rename to playground/_nuxt/tsmP51g_.js index e66c171a0c..161d850f72 100644 --- a/playground/_nuxt/CLMwxf9V.js +++ b/playground/_nuxt/tsmP51g_.js @@ -1 +1 @@ -var _=Object.defineProperty;var C=(e,t,s)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var d=(e,t,s)=>C(e,typeof t!="symbol"?t+"":t,s);import{D as $}from"./B9JxpZf2.js";import{D as I,a as k}from"./BjfvBlRB.js";import{_ as D}from"./RYnl7rm0.js";import{_ as g,r as B,C as N,ae as A,M as c,o as f,c as m,A as a,x as y,b as h,w as n,m as b,k as L,p as E,a as o}from"./BJCUWH2W.js";import{u as Y}from"./BaH-g7BJ.js";import{u as j}from"./CVy7LHL-.js";const w=new I;typeof window<"u"&&(window.onYouTubeIframeAPIReady=()=>{w.resolve(window.YT)});const V=()=>({key:"youtube",src:"https://www.youtube.com/iframe_api",async:!0,defer:!0}),M=()=>w.promise;class R{constructor(){d(this,"api");d(this,"players",new Map)}play(t){return this.pausePlayers(),t.playVideo()}pausePlayers(t){Array.from(this.players.values()).filter(s=>!t||t&&s!==t).filter(s=>s.getPlayerState).forEach(s=>{s.getPlayerState()===this.api.PlayerState.PLAYING&&s.pauseVideo()})}async createPlayer(...t){this.api=await M();const s=new this.api.Player(...t);return s.addEventListener("onStateChange",({data:u})=>{this.api.PlayerState.PLAYING===u&&this.pausePlayers(s)}),this.add(s),s}add(t){this.players.set(t.id,t)}remove(t){this.players.delete(t.id),t.destroy()}}const v={autoplay:{type:Boolean,default:!1},mute:{type:Boolean,default:void 0},url:{type:String,required:!0},title:{type:String,required:!0},host:{type:String,default:"https://www.youtube-nocookie.com"},options:{type:Object,default(){return{}}},posterSources:{type:Array,default(){return[{src:void 0,media:"all",sizes:{default:"100vw"}}]}}},l=new R,T={components:{BoosterPicture:D,DefaultButton:$},props:v,emits:["ready","playing"],setup(){j();const e=B([]);return Y({script:N(()=>e.value)}),{script:e}},data(){return{src:null,videoId:new URL(this.url).searchParams.get("v"),player:null,ready:!1,loading:!1,playing:!1,landscape:!1,isTouchDevice:k()}},computed:{pictureDataset(){return{formats:this.$booster.targetFormats,title:this.title,sources:this.posterSources.map(e=>({...e,src:e.src||`/youtube/vi/${this.videoId}/maxresdefault.jpg`}))}}},mounted(){this.autoplay&&this.onInit()},unmounted(){this.player&&l.remove(this.player)},methods:{reset(){this.src=null,this.ready=!1,this.playing=!1},onInit(){this.loading=!0;const e={rel:0,enablejsapi:1,autoplay:0,modestbranding:1,showinfo:0,iv_load_policy:3,...this.options,playsinline:1,mute:Number(this.isTouchDevice)||Number(this.mute)};this.src=`${this.host}/embed/${this.videoId}?`+Object.entries(e).map(([t,s])=>`${t}=${s}`).join("&"),this.script=[V()]},async onLoad(){this.player=A(await l.createPlayer(this.$refs.player,{videoId:this.videoId,host:this.host,events:{onReady:e=>{e.target.mute(),l.play(e.target),this.loading=!1,this.ready=!0,this.$emit("ready",{iframe:e.target.getIframe(),player:this.player})},onStateChange:e=>this.onPlayerStateChange(l.api,e.data)}}))},onPlayerStateChange(e,t){t===e.PlayerState.PLAYING?this.playing=!0:(t===e.PlayerState.ENDED||t===e.PlayerState.PAUSED)&&(this.playing=!1),this.$emit("playing",this.playing)}}},z=["title","src"];function G(e,t,s,u,r,i){const p=c("booster-picture"),P=c("default-button");return f(),m("div",{class:L({ready:r.ready,playing:r.playing})},[a(e.$slots,"beforePlayer",{},void 0,!0),r.src?(f(),m("iframe",{key:0,ref:"player",title:e.title,class:"player",src:r.src,allow:"accelerometer; fullscreen; clipboard-write; encrypted-media; gyroscope; picture-in-picture",onLoad:t[0]||(t[0]=(...S)=>i.onLoad&&i.onLoad(...S))},null,40,z)):y("",!0),h(P,{onClick:i.onInit},{default:n(()=>[h(p,b({class:"poster"},i.pictureDataset,{title:e.title}),null,16,["title"]),r.loading?a(e.$slots,"loading-spinner",{key:0},void 0,!0):y("",!0),!r.ready&&!r.loading?a(e.$slots,"play",{key:1},void 0,!0):y("",!0)]),_:3},8,["onClick"]),a(e.$slots,"afterPlayer",{},void 0,!0)],2)}const q=g(T,[["render",G],["__scopeId","data-v-b7e5562e"]]),O={components:{BaseYoutube:q},props:v};function U(e,t,s,u,r,i){const p=c("base-youtube");return f(),E(p,b({class:"nuxt-booster-youtube"},e.$props),{beforePlayer:n(()=>[a(e.$slots,"beforePlayer",{},void 0,!0)]),"loading-spinner":n(()=>[a(e.$slots,"loading-spinner",{},()=>[t[0]||(t[0]=o("svg",{class:"loader loading-spinner",viewBox:"0 0 64 64",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},[o("circle",{cx:"32",cy:"32",r:"29",fill:"transparent",stroke:"#ddd","stroke-width":"2"},[o("animateTransform",{attributeName:"transform",type:"rotate",from:"0 32 32",to:"360 32 32",begin:"0s",dur:"1.555s",repeatCount:"indefinite"})])],-1))],!0)]),play:n(()=>[a(e.$slots,"play",{},()=>[t[1]||(t[1]=o("svg",{class:"play",version:"1.1",viewBox:"0 0 68 48"},[o("path",{d:"M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z",fill:"#f00"}),o("path",{d:"M 45,24 27,14 27,34",fill:"#fff"})],-1))],!0)]),afterPlayer:n(()=>[a(e.$slots,"afterPlayer",{},void 0,!0)]),_:3},16)}const X=g(O,[["render",U],["__scopeId","data-v-91ee9453"]]);export{X as D}; +var _=Object.defineProperty;var C=(e,t,s)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var d=(e,t,s)=>C(e,typeof t!="symbol"?t+"":t,s);import{D as $}from"./mB1EKFO1.js";import{D as I,a as k}from"./BkRKQfnI.js";import{_ as D}from"./pZgWsOJl.js";import{_ as g,r as B,C as N,ae as A,M as c,o as f,c as m,A as a,x as y,b as h,w as n,m as b,k as L,p as E,a as o}from"./CjsmL4Sh.js";import{u as Y}from"./Bxz71LHV.js";import{u as j}from"./LUNLrBEh.js";const w=new I;typeof window<"u"&&(window.onYouTubeIframeAPIReady=()=>{w.resolve(window.YT)});const V=()=>({key:"youtube",src:"https://www.youtube.com/iframe_api",async:!0,defer:!0}),M=()=>w.promise;class R{constructor(){d(this,"api");d(this,"players",new Map)}play(t){return this.pausePlayers(),t.playVideo()}pausePlayers(t){Array.from(this.players.values()).filter(s=>!t||t&&s!==t).filter(s=>s.getPlayerState).forEach(s=>{s.getPlayerState()===this.api.PlayerState.PLAYING&&s.pauseVideo()})}async createPlayer(...t){this.api=await M();const s=new this.api.Player(...t);return s.addEventListener("onStateChange",({data:u})=>{this.api.PlayerState.PLAYING===u&&this.pausePlayers(s)}),this.add(s),s}add(t){this.players.set(t.id,t)}remove(t){this.players.delete(t.id),t.destroy()}}const v={autoplay:{type:Boolean,default:!1},mute:{type:Boolean,default:void 0},url:{type:String,required:!0},title:{type:String,required:!0},host:{type:String,default:"https://www.youtube-nocookie.com"},options:{type:Object,default(){return{}}},posterSources:{type:Array,default(){return[{src:void 0,media:"all",sizes:{default:"100vw"}}]}}},l=new R,T={components:{BoosterPicture:D,DefaultButton:$},props:v,emits:["ready","playing"],setup(){j();const e=B([]);return Y({script:N(()=>e.value)}),{script:e}},data(){return{src:null,videoId:new URL(this.url).searchParams.get("v"),player:null,ready:!1,loading:!1,playing:!1,landscape:!1,isTouchDevice:k()}},computed:{pictureDataset(){return{formats:this.$booster.targetFormats,title:this.title,sources:this.posterSources.map(e=>({...e,src:e.src||`/youtube/vi/${this.videoId}/maxresdefault.jpg`}))}}},mounted(){this.autoplay&&this.onInit()},unmounted(){this.player&&l.remove(this.player)},methods:{reset(){this.src=null,this.ready=!1,this.playing=!1},onInit(){this.loading=!0;const e={rel:0,enablejsapi:1,autoplay:0,modestbranding:1,showinfo:0,iv_load_policy:3,...this.options,playsinline:1,mute:Number(this.isTouchDevice)||Number(this.mute)};this.src=`${this.host}/embed/${this.videoId}?`+Object.entries(e).map(([t,s])=>`${t}=${s}`).join("&"),this.script=[V()]},async onLoad(){this.player=A(await l.createPlayer(this.$refs.player,{videoId:this.videoId,host:this.host,events:{onReady:e=>{e.target.mute(),l.play(e.target),this.loading=!1,this.ready=!0,this.$emit("ready",{iframe:e.target.getIframe(),player:this.player})},onStateChange:e=>this.onPlayerStateChange(l.api,e.data)}}))},onPlayerStateChange(e,t){t===e.PlayerState.PLAYING?this.playing=!0:(t===e.PlayerState.ENDED||t===e.PlayerState.PAUSED)&&(this.playing=!1),this.$emit("playing",this.playing)}}},z=["title","src"];function G(e,t,s,u,r,i){const p=c("booster-picture"),P=c("default-button");return f(),m("div",{class:L({ready:r.ready,playing:r.playing})},[a(e.$slots,"beforePlayer",{},void 0,!0),r.src?(f(),m("iframe",{key:0,ref:"player",title:e.title,class:"player",src:r.src,allow:"accelerometer; fullscreen; clipboard-write; encrypted-media; gyroscope; picture-in-picture",onLoad:t[0]||(t[0]=(...S)=>i.onLoad&&i.onLoad(...S))},null,40,z)):y("",!0),h(P,{onClick:i.onInit},{default:n(()=>[h(p,b({class:"poster"},i.pictureDataset,{title:e.title}),null,16,["title"]),r.loading?a(e.$slots,"loading-spinner",{key:0},void 0,!0):y("",!0),!r.ready&&!r.loading?a(e.$slots,"play",{key:1},void 0,!0):y("",!0)]),_:3},8,["onClick"]),a(e.$slots,"afterPlayer",{},void 0,!0)],2)}const q=g(T,[["render",G],["__scopeId","data-v-b7e5562e"]]),O={components:{BaseYoutube:q},props:v};function U(e,t,s,u,r,i){const p=c("base-youtube");return f(),E(p,b({class:"nuxt-booster-youtube"},e.$props),{beforePlayer:n(()=>[a(e.$slots,"beforePlayer",{},void 0,!0)]),"loading-spinner":n(()=>[a(e.$slots,"loading-spinner",{},()=>[t[0]||(t[0]=o("svg",{class:"loader loading-spinner",viewBox:"0 0 64 64",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},[o("circle",{cx:"32",cy:"32",r:"29",fill:"transparent",stroke:"#ddd","stroke-width":"2"},[o("animateTransform",{attributeName:"transform",type:"rotate",from:"0 32 32",to:"360 32 32",begin:"0s",dur:"1.555s",repeatCount:"indefinite"})])],-1))],!0)]),play:n(()=>[a(e.$slots,"play",{},()=>[t[1]||(t[1]=o("svg",{class:"play",version:"1.1",viewBox:"0 0 68 48"},[o("path",{d:"M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z",fill:"#f00"}),o("path",{d:"M 45,24 27,14 27,34",fill:"#fff"})],-1))],!0)]),afterPlayer:n(()=>[a(e.$slots,"afterPlayer",{},void 0,!0)]),_:3},16)}const X=g(O,[["render",U],["__scopeId","data-v-91ee9453"]]);export{X as D}; diff --git a/playground/_nuxt/BGVK_AWX.js b/playground/_nuxt/y5GrT0-i.js similarity index 92% rename from playground/_nuxt/BGVK_AWX.js rename to playground/_nuxt/y5GrT0-i.js index 1bd9827bbf..17175e0f92 100644 --- a/playground/_nuxt/BGVK_AWX.js +++ b/playground/_nuxt/y5GrT0-i.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BJCUWH2W.js","./BjfvBlRB.js","./entry.hZzTrknk.css"])))=>i.map(i=>d[i]); -var $=Object.defineProperty;var I=(e,t,a)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var y=(e,t,a)=>I(e,typeof t!="symbol"?t+"":t,a);import{D as V,_ as T,a as M}from"./BjfvBlRB.js";import{D as L}from"./B9JxpZf2.js";import{_ as A}from"./RYnl7rm0.js";import{_ as D,r as c,C as w,ae as R,M as f,o as h,c as _,A as o,n as v,g,a as i,b as P,w as u,m as k,x as b,k as j,p as N}from"./BJCUWH2W.js";import{u as O}from"./BaH-g7BJ.js";import{u as z}from"./CVy7LHL-.js";const C=new V,E=()=>({key:"vimeo",src:"https://player.vimeo.com/api/player.js",async:!0,defer:!0,onload:()=>{C.resolve(window.Vimeo)}}),S=()=>C.promise;class q{constructor(){y(this,"api");y(this,"players",[])}play(t){return this.pausePlayers(t),t.play()}pausePlayers(t){return Promise.all(this.players.filter(a=>!t||t&&a!==t).map(async a=>{!await a.getPaused()&&a.pause()}))}async createPlayer(...t){this.api=await S();const a=new this.api.Player(...t);return a.on("playing",()=>this.pausePlayers(a)),this.add(a),a}add(t){this.players.push(t)}remove(t){this.players=this.players.filter(a=>a!==t),t.destroy()}}const B={autoplay:{type:Boolean,default:!1},mute:{type:Boolean,default:void 0},url:{type:String,required:!0},title:{type:String,required:!1,default:null},options:{type:Object,default(){return{}}},posterSources:{type:Array,default(){return[{src:void 0,media:"all",sizes:{default:"100vw"}}]}}};var Q={};const m=new q,F={components:{BoosterPicture:A,DefaultButton:L},props:B,emits:["playing","ready"],async setup(e){z();const t=c([]);Q.prerender||O({script:w(()=>t.value)});const{withQuery:a}=await T(async()=>{const{withQuery:s}=await import("./BJCUWH2W.js").then(d=>d.ai);return{withQuery:s}},__vite__mapDeps([0,1,2]),import.meta.url),l=c(null),r=c(!1),n=c(null),p=w(()=>{var s;return((s=l.value)==null?void 0:s.html.replace(/.*src="([^"]*)".*/,"$1").replace(/&/g,"&"))||`https://player.vimeo.com/video/${e.videoId}`});try{const s=a("https://vimeo.com/api/oembed.json",{url:e.url,width:1920,height:1080,...e.playerOptions}),d=await fetch(s);l.value=await d.json()}catch(s){console.error(s),r.value=!0,n.value=p.value}return{playerSrc:p,videoId:new URL(e.url).pathname.replace("/",""),iframeMode:r,src:n,script:t,videoData:l}},data(){return{inert:!1,player:null,ready:!1,loading:!1,playing:!1,isTouchDevice:M()}},computed:{playerTitle(){return this.title||this.videoData&&this.videoData.title},playerOptions(){return{dnt:!0,autopause:!1,...this.options,playsinline:!0,autoplay:this.autoplay,muted:this.isTouchDevice||this.mute}},pictureDataset(){return{formats:this.$booster.targetFormats,title:this.title,sources:this.posterSources.map(e=>{var t,a;return{...e,src:e.src||((a=(t=this.videoData)==null?void 0:t.thumbnail_url)==null?void 0:a.replace("https://i.vimeocdn.com","vimeo"))}})}}},watch:{videoData(e){e&&this.autoplay&&this.onInit()},ready(){this.inert=!1}},mounted(){this.inert=!0},unmounted(){this.player&&m.remove(this.player)},methods:{onInit(){this.loading=!0,this.src=this.playerSrc,this.script=[E()],this.iframeMode&&(this.$refs.player.src=String(this.$refs.player.src))},onPlayerStateChange(e){e.playing?this.playing=!0:(e.ended||e.pause)&&(this.playing=!1),this.$emit("playing",this.playing)},async onLoad(e){!e.target.src||!this.script.length||(await S(),this.player=R(await m.createPlayer(this.$refs.player)),this.player.on("playing",()=>this.onPlayerStateChange({playing:!0})),this.player.on("pause",()=>this.onPlayerStateChange({pause:!0})),this.player.on("ended",()=>this.onPlayerStateChange({ended:!0})),await this.player.ready(),m.play(this.player),this.loading=!1,this.ready=!0,this.$emit("ready",{iframe:this.player.element,player:this.player}))}}},H={class:"player"},U=["inert","title","src"];function Y(e,t,a,l,r,n){const p=f("booster-picture"),s=f("default-button");return h(),_("div",{class:j({ready:r.ready,playing:r.playing,"iframe-mode":l.iframeMode})},[o(e.$slots,"background",v(g({playing:r.playing,videoData:l.videoData})),void 0,!0),i("div",H,[o(e.$slots,"beforePlayer",{},void 0,!0),(h(),_("iframe",{ref:"player",key:l.src,inert:r.inert,title:n.playerTitle,src:l.src,allow:"autoplay; fullscreen; picture-in-picture",onLoad:t[0]||(t[0]=(...d)=>n.onLoad&&n.onLoad(...d))},null,40,U)),P(s,{"aria-label":"Play Video",onClick:n.onInit},{default:u(()=>[P(p,k({class:"poster"},n.pictureDataset,{title:n.playerTitle}),null,16,["title"]),r.loading?o(e.$slots,"loading-spinner",{key:0},void 0,!0):b("",!0),!r.ready&&!r.loading?o(e.$slots,"play",{key:1},void 0,!0):b("",!0)]),_:3},8,["onClick"]),o(e.$slots,"afterPlayer",{},void 0,!0)]),o(e.$slots,"default",v(g({playing:r.playing,videoData:l.videoData})),void 0,!0)],2)}const x=D(F,[["render",Y],["__scopeId","data-v-a7b12ddf"]]),G={components:{BaseVimeo:x},props:B};function J(e,t,a,l,r,n){const p=f("base-vimeo");return h(),N(p,k({class:"nuxt-booster-vimeo"},e.$props),{beforePlayer:u(()=>[o(e.$slots,"beforePlayer",{},void 0,!0)]),"loading-spinner":u(()=>[o(e.$slots,"loading-spinner",{},()=>[t[0]||(t[0]=i("div",{class:"loading-spinner"},[i("svg",{viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:"#fff"},[i("g",{fill:"none","fill-rule":"evenodd"},[i("g",{transform:"translate(1 1)","stroke-width":"2"},[i("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),i("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[i("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])])])],-1))],!0)]),play:u(()=>[o(e.$slots,"play",{},()=>[t[1]||(t[1]=i("div",{class:"play"},[i("span",null,[i("svg",{viewBox:"0 0 20 20",preserveAspectRatio:"xMidYMid",focusable:"false"},[i("polygon",{class:"fill",points:"1,0 20,10 1,20"})])])],-1))],!0)]),default:u(s=>[o(e.$slots,"default",v(g(s)),void 0,!0)]),afterPlayer:u(()=>[o(e.$slots,"afterPlayer",{},void 0,!0)]),_:3},16)}const re=D(G,[["render",J],["__scopeId","data-v-540459c3"]]);export{re as D}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CjsmL4Sh.js","./BkRKQfnI.js","./entry.hZzTrknk.css"])))=>i.map(i=>d[i]); +var $=Object.defineProperty;var I=(e,t,a)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var y=(e,t,a)=>I(e,typeof t!="symbol"?t+"":t,a);import{D as V,_ as T,a as M}from"./BkRKQfnI.js";import{D as L}from"./mB1EKFO1.js";import{_ as A}from"./pZgWsOJl.js";import{_ as D,r as c,C as w,ae as R,M as f,o as h,c as _,A as o,n as v,g,a as i,b as P,w as u,m as k,x as b,k as j,p as N}from"./CjsmL4Sh.js";import{u as O}from"./Bxz71LHV.js";import{u as z}from"./LUNLrBEh.js";const C=new V,E=()=>({key:"vimeo",src:"https://player.vimeo.com/api/player.js",async:!0,defer:!0,onload:()=>{C.resolve(window.Vimeo)}}),S=()=>C.promise;class q{constructor(){y(this,"api");y(this,"players",[])}play(t){return this.pausePlayers(t),t.play()}pausePlayers(t){return Promise.all(this.players.filter(a=>!t||t&&a!==t).map(async a=>{!await a.getPaused()&&a.pause()}))}async createPlayer(...t){this.api=await S();const a=new this.api.Player(...t);return a.on("playing",()=>this.pausePlayers(a)),this.add(a),a}add(t){this.players.push(t)}remove(t){this.players=this.players.filter(a=>a!==t),t.destroy()}}const B={autoplay:{type:Boolean,default:!1},mute:{type:Boolean,default:void 0},url:{type:String,required:!0},title:{type:String,required:!1,default:null},options:{type:Object,default(){return{}}},posterSources:{type:Array,default(){return[{src:void 0,media:"all",sizes:{default:"100vw"}}]}}};var Q={};const m=new q,F={components:{BoosterPicture:A,DefaultButton:L},props:B,emits:["playing","ready"],async setup(e){z();const t=c([]);Q.prerender||O({script:w(()=>t.value)});const{withQuery:a}=await T(async()=>{const{withQuery:s}=await import("./CjsmL4Sh.js").then(d=>d.ai);return{withQuery:s}},__vite__mapDeps([0,1,2]),import.meta.url),l=c(null),r=c(!1),n=c(null),p=w(()=>{var s;return((s=l.value)==null?void 0:s.html.replace(/.*src="([^"]*)".*/,"$1").replace(/&/g,"&"))||`https://player.vimeo.com/video/${e.videoId}`});try{const s=a("https://vimeo.com/api/oembed.json",{url:e.url,width:1920,height:1080,...e.playerOptions}),d=await fetch(s);l.value=await d.json()}catch(s){console.error(s),r.value=!0,n.value=p.value}return{playerSrc:p,videoId:new URL(e.url).pathname.replace("/",""),iframeMode:r,src:n,script:t,videoData:l}},data(){return{inert:!1,player:null,ready:!1,loading:!1,playing:!1,isTouchDevice:M()}},computed:{playerTitle(){return this.title||this.videoData&&this.videoData.title},playerOptions(){return{dnt:!0,autopause:!1,...this.options,playsinline:!0,autoplay:this.autoplay,muted:this.isTouchDevice||this.mute}},pictureDataset(){return{formats:this.$booster.targetFormats,title:this.title,sources:this.posterSources.map(e=>{var t,a;return{...e,src:e.src||((a=(t=this.videoData)==null?void 0:t.thumbnail_url)==null?void 0:a.replace("https://i.vimeocdn.com","vimeo"))}})}}},watch:{videoData(e){e&&this.autoplay&&this.onInit()},ready(){this.inert=!1}},mounted(){this.inert=!0},unmounted(){this.player&&m.remove(this.player)},methods:{onInit(){this.loading=!0,this.src=this.playerSrc,this.script=[E()],this.iframeMode&&(this.$refs.player.src=String(this.$refs.player.src))},onPlayerStateChange(e){e.playing?this.playing=!0:(e.ended||e.pause)&&(this.playing=!1),this.$emit("playing",this.playing)},async onLoad(e){!e.target.src||!this.script.length||(await S(),this.player=R(await m.createPlayer(this.$refs.player)),this.player.on("playing",()=>this.onPlayerStateChange({playing:!0})),this.player.on("pause",()=>this.onPlayerStateChange({pause:!0})),this.player.on("ended",()=>this.onPlayerStateChange({ended:!0})),await this.player.ready(),m.play(this.player),this.loading=!1,this.ready=!0,this.$emit("ready",{iframe:this.player.element,player:this.player}))}}},H={class:"player"},U=["inert","title","src"];function Y(e,t,a,l,r,n){const p=f("booster-picture"),s=f("default-button");return h(),_("div",{class:j({ready:r.ready,playing:r.playing,"iframe-mode":l.iframeMode})},[o(e.$slots,"background",v(g({playing:r.playing,videoData:l.videoData})),void 0,!0),i("div",H,[o(e.$slots,"beforePlayer",{},void 0,!0),(h(),_("iframe",{ref:"player",key:l.src,inert:r.inert,title:n.playerTitle,src:l.src,allow:"autoplay; fullscreen; picture-in-picture",onLoad:t[0]||(t[0]=(...d)=>n.onLoad&&n.onLoad(...d))},null,40,U)),P(s,{"aria-label":"Play Video",onClick:n.onInit},{default:u(()=>[P(p,k({class:"poster"},n.pictureDataset,{title:n.playerTitle}),null,16,["title"]),r.loading?o(e.$slots,"loading-spinner",{key:0},void 0,!0):b("",!0),!r.ready&&!r.loading?o(e.$slots,"play",{key:1},void 0,!0):b("",!0)]),_:3},8,["onClick"]),o(e.$slots,"afterPlayer",{},void 0,!0)]),o(e.$slots,"default",v(g({playing:r.playing,videoData:l.videoData})),void 0,!0)],2)}const x=D(F,[["render",Y],["__scopeId","data-v-a7b12ddf"]]),G={components:{BaseVimeo:x},props:B};function J(e,t,a,l,r,n){const p=f("base-vimeo");return h(),N(p,k({class:"nuxt-booster-vimeo"},e.$props),{beforePlayer:u(()=>[o(e.$slots,"beforePlayer",{},void 0,!0)]),"loading-spinner":u(()=>[o(e.$slots,"loading-spinner",{},()=>[t[0]||(t[0]=i("div",{class:"loading-spinner"},[i("svg",{viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",stroke:"#fff"},[i("g",{fill:"none","fill-rule":"evenodd"},[i("g",{transform:"translate(1 1)","stroke-width":"2"},[i("circle",{"stroke-opacity":".5",cx:"18",cy:"18",r:"18"}),i("path",{d:"M36 18c0-9.94-8.06-18-18-18"},[i("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})])])])])],-1))],!0)]),play:u(()=>[o(e.$slots,"play",{},()=>[t[1]||(t[1]=i("div",{class:"play"},[i("span",null,[i("svg",{viewBox:"0 0 20 20",preserveAspectRatio:"xMidYMid",focusable:"false"},[i("polygon",{class:"fill",points:"1,0 20,10 1,20"})])])],-1))],!0)]),default:u(s=>[o(e.$slots,"default",v(g(s)),void 0,!0)]),afterPlayer:u(()=>[o(e.$slots,"afterPlayer",{},void 0,!0)]),_:3},16)}const re=D(G,[["render",J],["__scopeId","data-v-540459c3"]]);export{re as D}; diff --git a/playground/_nuxt/yaz8759Z.js b/playground/_nuxt/yaz8759Z.js new file mode 100644 index 0000000000..385f6ae6c6 --- /dev/null +++ b/playground/_nuxt/yaz8759Z.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DLcEIDAw.js","./BFcHoi9x.js","./CjsmL4Sh.js","./BkRKQfnI.js","./entry.hZzTrknk.css","./LUNLrBEh.js","./BRWpFFLA.js","./LoaderTest.Bnvg-rrK.css","./eYyQ5PUj.js","./DF01ioch.js","./-_8sziUr.js","./PreviewContainer.CRgiiAeH.css","./m0A1K_mY.js"])))=>i.map(i=>d[i]); +import{_ as e}from"./BkRKQfnI.js";import{c,b as r,u as o,e as i,o as s}from"./CjsmL4Sh.js";const d={__name:"index",setup(m){const t=i(),a=t(()=>e(()=>import("./DLcEIDAw.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url)),_=t(()=>e(()=>import("./m0A1K_mY.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,9,10,11]),import.meta.url));return(n,u)=>(s(),c("div",null,[r(o(a),{critical:""}),r(o(_))]))}};export{d as default}; diff --git a/playground/_payload.json b/playground/_payload.json index 286bbd0bf1..7e7e90124d 100644 --- a/playground/_payload.json +++ b/playground/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373531413] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710758613] \ No newline at end of file diff --git a/playground/index.html b/playground/index.html index ebc9ae1e2c..61a6cc3a96 100644 --- a/playground/index.html +++ b/playground/index.html @@ -128,7 +128,7 @@ - -
inactive

Critical
BoosterHydrate

inactive

Lazy
BoosterHydrate

inactive

Media
BoosterHydrate

inactive

Custom
BoosterHydrate

- \ No newline at end of file +
inactive

Critical
BoosterHydrate

inactive

Lazy
BoosterHydrate

inactive

Media
BoosterHydrate

inactive

Custom
BoosterHydrate

+ \ No newline at end of file diff --git a/playground/tests/booster-layer/_payload.json b/playground/tests/booster-layer/_payload.json index 4489df97a0..c26d40e607 100644 --- a/playground/tests/booster-layer/_payload.json +++ b/playground/tests/booster-layer/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373531415] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710758615] \ No newline at end of file diff --git a/playground/tests/booster-layer/index.html b/playground/tests/booster-layer/index.html index 34ca2b1020..5d72547fa3 100644 --- a/playground/tests/booster-layer/index.html +++ b/playground/tests/booster-layer/index.html @@ -36,9 +36,9 @@ -
BoosterLayer Test

BoosterLayer Test

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • slow connection
  • weak hardware
  • low battery
- \ No newline at end of file +
BoosterLayer Test

BoosterLayer Test

Aliqua odit anim vehicula varius eget feugiat beatae. Fringilla cumque, nulla pulvinar necessitatibus pharetra vehicula ultricies egestas rhoncus justo occaecati amet, fames quod. Similique! Ornare nesciunt inventore nulla, montes doloribus, erat, parturient! Accumsan omnis doloribus perspiciatis, blanditiis ullamcorper adipisicing quisquam. Nobis placerat. Eget do sagittis elit wisi voluptates, facilisis veritatis.

Laboriosam recusandae blandit nunc tempor urna veniam? Etiam perferendis, quisquam class ea eos habitasse quis tempora nulla? Non, facilis consectetuer suspendisse tortor, etiam dolor? Blanditiis suspendisse, massa. Tempus consequatur bibendum magnam? Praesentium, posuere consequuntur, tenetur tempus quod suscipit nibh? Voluptate ratione justo! Ullamcorper! Cursus auctor magna. Beatae corporis. Inceptos nisi.

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • slow connection
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/booster-loader/_payload.json b/playground/tests/booster-loader/_payload.json index 4489df97a0..c26d40e607 100644 --- a/playground/tests/booster-loader/_payload.json +++ b/playground/tests/booster-loader/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373531415] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710758615] \ No newline at end of file diff --git a/playground/tests/booster-loader/index.html b/playground/tests/booster-loader/index.html index 85eefab73c..4f12cd752c 100644 --- a/playground/tests/booster-loader/index.html +++ b/playground/tests/booster-loader/index.html @@ -23,8 +23,8 @@ -
inactive

Critical
BoosterHydrate

inactive

Critical
BoosterHydrate

- \ No newline at end of file +
inactive

Critical
BoosterHydrate

inactive

Critical
BoosterHydrate

+ \ No newline at end of file diff --git a/playground/tests/iframe/_payload.json b/playground/tests/iframe/_payload.json index 8d16c5b40f..c26d40e607 100644 --- a/playground/tests/iframe/_payload.json +++ b/playground/tests/iframe/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373531416] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710758615] \ No newline at end of file diff --git a/playground/tests/iframe/index.html b/playground/tests/iframe/index.html index caee4536a3..bac6863721 100644 --- a/playground/tests/iframe/index.html +++ b/playground/tests/iframe/index.html @@ -51,10 +51,10 @@ -

Critical
Iframe

Lazy
Iframe

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +

Critical
Iframe

Lazy
Iframe

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/image/_payload.json b/playground/tests/image/_payload.json index 8d16c5b40f..c26d40e607 100644 --- a/playground/tests/image/_payload.json +++ b/playground/tests/image/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373531416] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710758615] \ No newline at end of file diff --git a/playground/tests/image/index.html b/playground/tests/image/index.html index 822d9f3242..7eeabd48fe 100644 --- a/playground/tests/image/index.html +++ b/playground/tests/image/index.html @@ -60,10 +60,10 @@ -
Critical - Image

Critical - Image

Lazy - Image

Lazy - Image

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +
Critical - Image

Critical - Image

Lazy - Image

Lazy - Image

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/index.html b/playground/tests/index.html index 4812167b5d..4bce52615f 100644 --- a/playground/tests/index.html +++ b/playground/tests/index.html @@ -8,6 +8,6 @@ -
blank
- \ No newline at end of file +
blank
+ \ No newline at end of file diff --git a/playground/tests/picture/_payload.json b/playground/tests/picture/_payload.json index 8d16c5b40f..c26d40e607 100644 --- a/playground/tests/picture/_payload.json +++ b/playground/tests/picture/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373531416] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710758615] \ No newline at end of file diff --git a/playground/tests/picture/index.html b/playground/tests/picture/index.html index 89c2c29f72..3660c1f3a9 100644 --- a/playground/tests/picture/index.html +++ b/playground/tests/picture/index.html @@ -64,11 +64,11 @@ -
Critical

Critical - Picture

Lazy

Lazy - Picture

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
-> \ No newline at end of file +
Critical

Critical - Picture

Lazy

Lazy - Picture

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/useBoosterHead/1/_payload.json b/playground/tests/useBoosterHead/1/_payload.json index 573b8859d5..9736438082 100644 --- a/playground/tests/useBoosterHead/1/_payload.json +++ b/playground/tests/useBoosterHead/1/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373752386] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710980129] \ No newline at end of file diff --git a/playground/tests/useBoosterHead/1/index.html b/playground/tests/useBoosterHead/1/index.html index 7f689c7ac7..d425615e72 100644 --- a/playground/tests/useBoosterHead/1/index.html +++ b/playground/tests/useBoosterHead/1/index.html @@ -22,6 +22,6 @@ -

Merriweather - 400 - normal

Merriweather - 700 - normal

Merriweather - 400 - italic

Merriweather - 700 - italic

- \ No newline at end of file +

Merriweather - 400 - normal

Merriweather - 700 - normal

Merriweather - 400 - italic

Merriweather - 700 - italic

+ \ No newline at end of file diff --git a/playground/tests/useBoosterHead/2/_payload.json b/playground/tests/useBoosterHead/2/_payload.json index 7a766cfa0e..bbd38b7045 100644 --- a/playground/tests/useBoosterHead/2/_payload.json +++ b/playground/tests/useBoosterHead/2/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373752398] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710980143] \ No newline at end of file diff --git a/playground/tests/useBoosterHead/2/index.html b/playground/tests/useBoosterHead/2/index.html index bdd9789391..9c015e7682 100644 --- a/playground/tests/useBoosterHead/2/index.html +++ b/playground/tests/useBoosterHead/2/index.html @@ -24,6 +24,6 @@ -

Quicksand - 300 - normal

Quicksand - 400 - normal

Quicksand - 500 - normal

Quicksand - 600 - normal

Quicksand - 700 - normal

- \ No newline at end of file +

Quicksand - 300 - normal

Quicksand - 400 - normal

Quicksand - 500 - normal

Quicksand - 600 - normal

Quicksand - 700 - normal

+ \ No newline at end of file diff --git a/playground/tests/useBoosterHead/_payload.json b/playground/tests/useBoosterHead/_payload.json index 3ef013bb34..0094351e51 100644 --- a/playground/tests/useBoosterHead/_payload.json +++ b/playground/tests/useBoosterHead/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373752370] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710979118] \ No newline at end of file diff --git a/playground/tests/useBoosterHead/empty-1/_payload.json b/playground/tests/useBoosterHead/empty-1/_payload.json index 0914a5d586..56beaf1e8a 100644 --- a/playground/tests/useBoosterHead/empty-1/_payload.json +++ b/playground/tests/useBoosterHead/empty-1/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373752406] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710980170] \ No newline at end of file diff --git a/playground/tests/useBoosterHead/empty-1/index.html b/playground/tests/useBoosterHead/empty-1/index.html index 7507b8656d..546749541f 100644 --- a/playground/tests/useBoosterHead/empty-1/index.html +++ b/playground/tests/useBoosterHead/empty-1/index.html @@ -11,6 +11,6 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/playground/tests/useBoosterHead/empty-2/_payload.json b/playground/tests/useBoosterHead/empty-2/_payload.json index a7d949d70a..16b814254a 100644 --- a/playground/tests/useBoosterHead/empty-2/_payload.json +++ b/playground/tests/useBoosterHead/empty-2/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373752414] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710980178] \ No newline at end of file diff --git a/playground/tests/useBoosterHead/empty-2/index.html b/playground/tests/useBoosterHead/empty-2/index.html index b484ada5aa..773f71ecc5 100644 --- a/playground/tests/useBoosterHead/empty-2/index.html +++ b/playground/tests/useBoosterHead/empty-2/index.html @@ -11,6 +11,6 @@ -
- \ No newline at end of file +
+ \ No newline at end of file diff --git a/playground/tests/useBoosterHead/index.html b/playground/tests/useBoosterHead/index.html index 7d86eed9ac..fd0af7fab5 100644 --- a/playground/tests/useBoosterHead/index.html +++ b/playground/tests/useBoosterHead/index.html @@ -27,6 +27,6 @@ -

Montserrat Alternates - 400 - normal

Montserrat Alternates - 700 - normal

Montserrat Alternates - 400 - italic

Montserrat Alternates - 700 - italic

- \ No newline at end of file +

Montserrat Alternates - 400 - normal

Montserrat Alternates - 700 - normal

Montserrat Alternates - 400 - italic

Montserrat Alternates - 700 - italic

+ \ No newline at end of file diff --git a/playground/tests/v-font-media/_payload.json b/playground/tests/v-font-media/_payload.json index e973552709..6ca10cdb18 100644 --- a/playground/tests/v-font-media/_payload.json +++ b/playground/tests/v-font-media/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373651658] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710875547] \ No newline at end of file diff --git a/playground/tests/v-font-media/index.html b/playground/tests/v-font-media/index.html index 4fb859ced1..1c2b5e2778 100644 --- a/playground/tests/v-font-media/index.html +++ b/playground/tests/v-font-media/index.html @@ -62,10 +62,10 @@ -
    • Merriweather - 300 - normal - (orientation: portrait)
    font assign simple by portrait
    • Merriweather - 300 - italic - (orientation: landscape)
    font assign simple by landscape
    • Merriweather - 700 - italic - (max-width: 479px)
    font assign simple by max 479px
    • Merriweather - 400 - normal - (min-width: 480px)
    font assign simple by 480px
    • Merriweather - 400 - italic - (min-width: 960px)
    font assign simple by 960px
    • Merriweather - 700 - normal - strong - (min-width: 1440px)
    font assign with selector by 1440px

Critical - v-font with media

    • Montserrat Alternates - 300 - normal - (orientation: portrait)
    font assign simple by portrait
    • Montserrat Alternates - 300 - italic - (orientation: landscape)
    font assign simple by landscape
    • Montserrat Alternates - 700 - italic - (max-width: 479px)
    font assign simple by max 479px
    • Montserrat Alternates - 400 - normal - (min-width: 480px)
    font assign simple by 480px
    • Montserrat Alternates - 400 - italic - (min-width: 960px)
    font assign simple by 960px
    • Montserrat Alternates - 700 - normal - strong - (min-width: 1440px)
    font assign with selector by 1440px

Lazy - v-font with media

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +
    • Merriweather - 300 - normal - (orientation: portrait)
    font assign simple by portrait
    • Merriweather - 300 - italic - (orientation: landscape)
    font assign simple by landscape
    • Merriweather - 700 - italic - (max-width: 479px)
    font assign simple by max 479px
    • Merriweather - 400 - normal - (min-width: 480px)
    font assign simple by 480px
    • Merriweather - 400 - italic - (min-width: 960px)
    font assign simple by 960px
    • Merriweather - 700 - normal - strong - (min-width: 1440px)
    font assign with selector by 1440px

Critical - v-font with media

    • Montserrat Alternates - 300 - normal - (orientation: portrait)
    font assign simple by portrait
    • Montserrat Alternates - 300 - italic - (orientation: landscape)
    font assign simple by landscape
    • Montserrat Alternates - 700 - italic - (max-width: 479px)
    font assign simple by max 479px
    • Montserrat Alternates - 400 - normal - (min-width: 480px)
    font assign simple by 480px
    • Montserrat Alternates - 400 - italic - (min-width: 960px)
    font assign simple by 960px
    • Montserrat Alternates - 700 - normal - strong - (min-width: 1440px)
    font assign with selector by 1440px

Lazy - v-font with media

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/v-font-scroll/_payload.json b/playground/tests/v-font-scroll/_payload.json index 5d72c3b04f..00fcd2d7fc 100644 --- a/playground/tests/v-font-scroll/_payload.json +++ b/playground/tests/v-font-scroll/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373651765] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710875637] \ No newline at end of file diff --git a/playground/tests/v-font-scroll/index.html b/playground/tests/v-font-scroll/index.html index 315c597dc8..0416579813 100644 --- a/playground/tests/v-font-scroll/index.html +++ b/playground/tests/v-font-scroll/index.html @@ -76,10 +76,10 @@ -
Merriweather - 300 - normal
Merriweather - 300 - italic
Merriweather - 400 - normal
Merriweather - 400 - italic
Merriweather - 700 - normal
Merriweather - 700 - italic

Horizontal Scroll - v-font

Montserrat Alternates - 300 - normal
Montserrat Alternates - 300 - italic
Montserrat Alternates - 400 - normal
Montserrat Alternates - 400 - italic
Montserrat Alternates - 700 - normal
Montserrat Alternates - 700 - italic

Vertical Scroll - v-font

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +
Merriweather - 300 - normal
Merriweather - 300 - italic
Merriweather - 400 - normal
Merriweather - 400 - italic
Merriweather - 700 - normal
Merriweather - 700 - italic

Horizontal Scroll - v-font

Montserrat Alternates - 300 - normal
Montserrat Alternates - 300 - italic
Montserrat Alternates - 400 - normal
Montserrat Alternates - 400 - italic
Montserrat Alternates - 700 - normal
Montserrat Alternates - 700 - italic

Vertical Scroll - v-font

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/v-font/_payload.json b/playground/tests/v-font/_payload.json index 512525f6e8..abd4862351 100644 --- a/playground/tests/v-font/_payload.json +++ b/playground/tests/v-font/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373651807] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710876501] \ No newline at end of file diff --git a/playground/tests/v-font/index.html b/playground/tests/v-font/index.html index bbf259d924..a2c658623b 100644 --- a/playground/tests/v-font/index.html +++ b/playground/tests/v-font/index.html @@ -60,10 +60,10 @@ -
    • Merriweather - 400 - normal
    font assign simple
    • Merriweather - 700 - normal - strong
    font assign by single selector
    • Merriweather - 700 - normal - strong
    • Merriweather - 400 - italic - em
    font assign by multiple variances
    • Merriweather - 400 - italic - em, span
    font assign by multiple selectors
    • Merriweather - 700 - italic - strong > em
    font assign by deep selector

Critical - v-font

    • Montserrat Alternates - 400 - normal
    font assign simple

    • Montserrat Alternates - 700 - normal
    font assign by single selector
    • Montserrat Alternates - 700 - normal - strong
    • Montserrat Alternates - 400 - italic - em
    font assign by multiple variances

    • Montserrat Alternates - 400 - italic - em, span
    font assign by multiple selectors

    • Montserrat Alternates - 700 - italic - strong > em
    font assign by deep selector

Lazy - v-font

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +
    • Merriweather - 400 - normal
    font assign simple
    • Merriweather - 700 - normal - strong
    font assign by single selector
    • Merriweather - 700 - normal - strong
    • Merriweather - 400 - italic - em
    font assign by multiple variances
    • Merriweather - 400 - italic - em, span
    font assign by multiple selectors
    • Merriweather - 700 - italic - strong > em
    font assign by deep selector

Critical - v-font

    • Montserrat Alternates - 400 - normal
    font assign simple

    • Montserrat Alternates - 700 - normal
    font assign by single selector
    • Montserrat Alternates - 700 - normal - strong
    • Montserrat Alternates - 400 - italic - em
    font assign by multiple variances

    • Montserrat Alternates - 400 - italic - em, span
    font assign by multiple selectors

    • Montserrat Alternates - 700 - italic - strong > em
    font assign by deep selector

Lazy - v-font

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/vimeo/_payload.json b/playground/tests/vimeo/_payload.json index 13b8b14463..29aeb493aa 100644 --- a/playground/tests/vimeo/_payload.json +++ b/playground/tests/vimeo/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373651855] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710876548] \ No newline at end of file diff --git a/playground/tests/vimeo/index.html b/playground/tests/vimeo/index.html index 052d04ce92..8eb5e75ea5 100644 --- a/playground/tests/vimeo/index.html +++ b/playground/tests/vimeo/index.html @@ -77,7 +77,7 @@ -

Vimeo 1

Vimeo 2

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +

Vimeo 1

Vimeo 2

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/weak-hardware-overlay/_payload.json b/playground/tests/weak-hardware-overlay/_payload.json index 86d3f62ca5..dfa35fef1c 100644 --- a/playground/tests/weak-hardware-overlay/_payload.json +++ b/playground/tests/weak-hardware-overlay/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373651910] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710876599] \ No newline at end of file diff --git a/playground/tests/weak-hardware-overlay/index.html b/playground/tests/weak-hardware-overlay/index.html index 85d5594101..97d1215cc7 100644 --- a/playground/tests/weak-hardware-overlay/index.html +++ b/playground/tests/weak-hardware-overlay/index.html @@ -21,8 +21,8 @@ -
WeakHardwareOverlay
Area is disabled for performance reasons.

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • slow connection
  • weak hardware
  • low battery
- \ No newline at end of file +
WeakHardwareOverlay
Area is disabled for performance reasons.

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • slow connection
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/playground/tests/youtube/_payload.json b/playground/tests/youtube/_payload.json index 007820b516..b4070e42d4 100644 --- a/playground/tests/youtube/_payload.json +++ b/playground/tests/youtube/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734373651942] \ No newline at end of file +[{"data":1,"prerenderedAt":3},["ShallowReactive",2],{},1734710876605] \ No newline at end of file diff --git a/playground/tests/youtube/index.html b/playground/tests/youtube/index.html index af01036963..a39bd01745 100644 --- a/playground/tests/youtube/index.html +++ b/playground/tests/youtube/index.html @@ -78,7 +78,7 @@ -

Youtube 1

Youtube 2

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
- \ No newline at end of file +

Youtube 1

Youtube 2

Sorry, but you will have a limited user experience due to a…

  • disabled javascript
  • outdated browser
  • reduced-bandwidth
  • weak hardware
  • low battery
+ \ No newline at end of file diff --git a/v2/classes/loading-spinner.html b/v2/classes/loading-spinner.html index 7de59d31c9..21bd422124 100644 --- a/v2/classes/loading-spinner.html +++ b/v2/classes/loading-spinner.html @@ -19,7 +19,7 @@
Skip to content

LoadingSpinner

Path: #booster/components/BoosterImage/classes/LoadingSpinner.js

The LoadingSpinner instance describes the visual appearance of the loading state in the BoosterImage. This can be defined globally via the module settings or at the specific components.

js
new LoadingSpinner({dataUri, size, backgroundColor});

dataUri

  • Type: String

Defines the source of the loader. (e.g. @/assets/spinner/three-circles.svg)

size

  • Type: String

Defines the size of the loader. Use css background-size definition. (e.g. 100px)

backgroundColor

  • Type: String

Defines the background color of the loader. Use css color definition. (e.g. #fff)

- + \ No newline at end of file diff --git a/v2/components/booster-iframe.html b/v2/components/booster-iframe.html index c0a39f1ef1..b205f4aa0f 100644 --- a/v2/components/booster-iframe.html +++ b/v2/components/booster-iframe.html @@ -40,7 +40,7 @@ @load="console.log('Iframe Loaded!')" @enter="console.log('Iframe enter viewport!')" />
NameDescription
loadTriggered when Iframe has finished loading.
enterTriggered when component has reached the viewport.
- + \ No newline at end of file diff --git a/v2/components/booster-image.html b/v2/components/booster-image.html index 89c4617e80..f7afab8506 100644 --- a/v2/components/booster-image.html +++ b/v2/components/booster-image.html @@ -60,7 +60,7 @@ ]

modifiers

  • Type: Object

You can give separate modifiers to each source. This overwrites the global ones of the preset if available.

Learn more about modifiers:

preset

  • Type: Object

If a preset is set on a source, the globally defined one is ignored.

This means that a separate preset can be specified for each source.

Learn more about preset:

provider

  • Type: String

If a provider is set on a source, the globally defined one is ignored.

This means that a separate provider can be specified for each source.

Learn more about provider:

loadingSpinner

Sets a loading spinner definition of type LoadingSpinner, this describes the visual appearance of the loading state.

alt

  • Type: String

Image alternative Text.

MDN - HTMLImageElement.alt

title

  • Type: String

Image Title.

MDN - HTMLElement.title

crossorigin

  • Type: String, Boolean

If not set, the global crossorigin is used this.$booster.crossorigin.

Learn more about crossorigin option

MDN - HTML.Attributes.crossorigin

critical

  • Type: Boolean
    • Default: $parent.isCritical

Set component as critical component.

Learn more about critical components

Events

html
<booster-image 
   @load="console.log('Image Loaded!')" 
 />
NameDescription
loadTriggered when the image resource has been completely loaded.
- + \ No newline at end of file diff --git a/v2/components/booster-layer.html b/v2/components/booster-layer.html index edb5bd7fd1..e147e2ad89 100644 --- a/v2/components/booster-layer.html +++ b/v2/components/booster-layer.html @@ -71,7 +71,7 @@ </button> </div> </booster-layer>

Force App initialization

For Unsupported-Browser and Insufficient Hardware events, an onclick event must also be set with the id.

In the event, the global variable __NUXT_BOOSTER_AUTO_INIT__ must be set to true.

These are needed if the user has already reacted before the initial Javascript has been loaded. After the javascript has been successfully loaded, the app is automatically initialised.

VariableTypeDescriptionDefault
__NUXT_BOOSTER_AUTO_INIT__BooleanIf set, initialisation continues after the javascript has been fully loaded.false
- + \ No newline at end of file diff --git a/v2/components/booster-picture.html b/v2/components/booster-picture.html index a233bc8468..3390fa602d 100644 --- a/v2/components/booster-picture.html +++ b/v2/components/booster-picture.html @@ -58,7 +58,7 @@ ]

formats

  • Type: Array
    • Default: ['webp', 'avif', 'jpg|jpeg|png|gif']

Overrides the pictureFormats property defined in the module options.

Defines the formats that are to be generated and provided as source in the Picture.
Is used to offer the correct image type for the browser.

WARNING

Formats can also be specified as OR condition (jpg|jpeg|png|gif). This is important when using JPGs and PNGs with the same format configuration.

loadingSpinner

Sets a loading spinner definition of type LoadingSpinner, this describes the visual appearance of the loading state of the BoosterImage contained in the BoosterPicture.

alt

  • Type: String

Image alternative Text.

MDN - HTMLImageElement.alt

title

  • Type: String

Image Title.

MDN - HTMLElement.title

crossorigin

  • Type: String, Boolean

If not set, the global crossorigin is used this.$booster.crossorigin.

Learn more about crossorigin option

MDN - HTML.Attributes.crossorigin

sortSources

  • Type: Boolean
    • Default: true

If set, the sources are sorted by the media properties.

This is made possible by sort-css-media-queries.

critical

  • Type: Boolean
    • Default: $parent.isCritical

Set component as critical component.

Learn more about critical components

Events

html
<booster-picture 
   @load="console.log('Loaded!')" 
 />
NameDescription
loadTriggered when the image resource has been completely loaded.
- + \ No newline at end of file diff --git a/v2/components/booster-vimeo.html b/v2/components/booster-vimeo.html index c31f23e59f..7d67e97a49 100644 --- a/v2/components/booster-vimeo.html +++ b/v2/components/booster-vimeo.html @@ -71,7 +71,7 @@ @ready="console.log('Player Ready!')" @playing="console.log('Player Playing!')" />
NameDescription
readyTriggered when Vimeo Player-SDK is completely loaded.
playingTriggered when video is finished loading and playing.
- + \ No newline at end of file diff --git a/v2/components/booster-youtube.html b/v2/components/booster-youtube.html index 1101011fea..a766213544 100644 --- a/v2/components/booster-youtube.html +++ b/v2/components/booster-youtube.html @@ -68,7 +68,7 @@ @ready="console.log('Player Ready!')" @playing="console.log('Player Playing!')" />
NameDescription
readyTriggered when Youtube-API is completely loaded.
playingTriggered when video is finished loading and playing.
- + \ No newline at end of file diff --git a/v2/concept.html b/v2/concept.html index d51f0641c2..65a4f92598 100644 --- a/v2/concept.html +++ b/v2/concept.html @@ -19,7 +19,7 @@
Skip to content

Concept

Current Situation

The loading behavior of webpages based on NuxtJS is designed in such a way that all necessary Javascript resources are preloaded and directly initialized with the initial load of the page. However, this behavior creates a negative impact on the Lighthouse Performance Score (TTI) for larger pages that have an increased initial load of additional resources, such as fonts, images, plugins, modules (@nuxtjs/i18n, ...).

Excursus

The Lighthouse Test is not a tool to make a general statement about the quality of a website programming. Lighthouse rather tries to map a metric for the usability of a page from the user's point of view. This includes accessibility, best practices, SEO and of course performance.

This last point is often misinterpreted by developers. If you want to implement features that increase usability for the user (interactions/more complex animations, ...), this will always have an impact on performance in the Lighthouse Test for larger website projects, as the corresponding Javascript must be loaded for this. Finally, Lighthouse does also not rate the design, but the accessibility (size of click areas, etc.) of a website. You should therefore not ask yourself the following question: "How can I fully optimize my JavaScript to achieve a Lighthouse score of 100/100?". You have to ask yourself much more the question: "What is especially important to a user with low bandwidth or weak hardware on my site?".

The answer to this is relatively simple: the content must be accessible and you must be able to get to the information you need quickly.

No more and no less.

The user doesn't need any fancy slider animations and parallax effects that can only be implemented with certain libraries. Or a softload mechanism to get to more pages in a more elegant and animated way, but which initially needs an increased amount of javascript logic. All he wants is that information is retrievable reasonably fast and he can click through the presence.

Problem

The good news is that the NuxtJS SSR build provides the right foundation. The content is already in the form of HTML and CSS and can be used without Javascript. But what is missing

  • is a fully automated preload logic that allows component and viewport based handling and prioritization of the individual resources (FCP, LCP, CLS)
  • is a logic that enables a perfomance-oriented initialization of the javascript (TTI, TBT)

These two central points are handled by Nuxt Booster and enable a fast and resource-saving loading behavior of the website.

Approach

Over a longer period of time, we analyzed the Google Lighthouse test in more detail and approached the topic with the help of use cases. We did not start with the best case for page content (one image, one font, minimal javascript), but with the worst case (many images, many fonts, large Javascript files, ...). So we avoided to develop only a solution for simple SinglePages. Our claim was much more to create a generalistic, performant solution even with a CMS connection and dynamic component compositions per page. All our thoughts are based on HTTP/2 request prioritization and the lazy hydration approach. Initial resources are prioritized by preload and all further data is reloaded viewport-based.

Insights & Solutions

During the tests, we gained the following insights, which we would like to share with you, but which also allow us to draw conclusions regarding the performance optimization of the initial loading process and which have been incorporated into the Nuxt Booster solution.

Critical Render Path

The critical render path is the core of a high-performance and efficient loading and rendering behavior of a website. It is important that components and resources in the viewport are loaded and executed with priority so that the user can be provided with a functioning page as quickly as possible. A browser is not able to recognize this fully automatically to dynamically adapt the loading behavior. Some attempts have been made in the past to systematically identify the critical render path.However, this has the consequence that every generated page in a virtual browser has to be analyzed in given viewport sizes, which slows down the deployment process and makes it more error-prone. For this reason, we (the developers) will be forced to provide the build process with appropriate hints in the form of a Critical Attribute on the affected component, so that an automated optimization by preloads, lazy hydration, etc. can be performed in response.

Font Loading

Fonts are the great mystery on the Internet. For more complex designs it is not uncommon that more than 6 font files have to be loaded. It would be desirable if there were many more variable fonts, but the reality is usually different. Often, developers are forced to register tons of fonts with different font styles. So it can happen that the website needs a total count of 12 font files, which have to be loaded initially to achieve the right visual result on the whole page.

This is a real performance problem. If you look for solutions, you like to hear

  • don't use WebFonts that have to be loaded
  • use another optimized font
  • reduce the number of used fonts
  • embed the fonts via Base64

You will find some articles about font loading. But most of them are more than 3 years old. Summary: not much happened here. A nice and recommendable list of different strategies can be found at web-font-loading-recipes or comprehensive-webfonts. From this it can be deduced that there is still no universal solution to the problem. However, it is possible to approach the issue very efficiently by using a preload strategy and setting classes accordingly. However, this does not make the handling of the fonts any easier. On the one hand, the preloads have to be defined per page and on the other hand, the CSS in the respective component has to be activated with the corresponding font declaration per class on demand. This is manageable for smaller projects in a 1 person team. But if several people are working in parallel, it can quickly become a nightmare. This will inevitably lead to the fact that the approach will not be accepted by the team and the optimization will be optimized out of the project in the long run.

INFO

A few words about Google Fonts: If possible, the FontFaces should always be included directly as Woff/Woff2 files via inline style. The loading mechanism via external CSS file, as it is the case with Google Fonts, creates an additional network roundtrip, which delays the loading of the actual font files.

The strategy mentioned above makes sense, but is hardly implementable with the current tools. For this reason, we are introducing Directive v-font, which takes care of the outlined behavior in a fully automated way and thus represents a truly relevant solution even on larger projects. Combined with the lazy hydration approach, the relevant fonts can be declared and loaded per component. The preloads are controlled via the critical attribute. With the help of this loading strategy, a FOUT (flash of unstyled text) and CLS can be massively reduced or eliminated. If no javascript is activated on the end device, all fonts are automatically activated via CSS.

Image Loading

For image compression and different image formats, the module nuxt-optimized-images was popularly used in the nuxt world in the past. The downside, however, is that this approach is not particularly CMS and deployment friendly. With each image change, a full build process had to be initiated. For this reason, we use the nuxt-image module, as this takes advantage of a change in NuxtJS as of version 2.13.0. In this version update, the build was split into two separate processes (javascript compilation + page generation). With nuxt-optimized-images the full build process had to be run for every image change. This is no longer the case with nuxt-image. Here only the page generation process is necessary. As a result, deployment times for all content changes can be massively reduced.

We use the module in its complete form. However, we have redeveloped the nuxt-image and nuxt-picture components, as the current version does not fully meet our requirements. For example, we lacked an appropriate preloading and lazy hydration strategy. Although there is a native loading attribute on the image element that allows prioritization, the use for websites with a lot of images is still not optimal, because the distance-from-viewport threshold is still too generous and the loading performance can deteriorate unintentionally. For this we have implemented a corresponding SEO-compliant alternative, which loads the images only when the viewport is reached, but also provides the image sources for search engines via no-script tag. This way all relevant images can be displayed even if Javascript is disabled. Furthermore you can also define multiple image sources in the picture, so it is possible to display an image in portait mode with a 9/16 aspect-ratio (multiple renditions) and in landscape mode with a 16/9 aspect-ratio (multiple renditions).

Javascript Loading

NuxtJS follows the approach to load the core files (page, app, payload, vendor, state, etc.) as fast and efficient as possible via (module-)preload from the client. This also makes total sense if you want to deliver an SPA. For the SSR build, however, we modified the delivery a bit. The many parallel downloads (fonts, images, js, ...) have a negative impact from a performance perspective. This effect increases when the javascript files grow in size due to modules and plugins. It would make sense if the initial package is kept small and only the absolutely necessary resources that can trigger the further initialization process are transferred via dynamic import. This leaves enough bandwidth to load the remaining resources (fonts, images).

This loading behavior only makes sense with an SSR build, since the full page-related static content can already be delivered and rendered with the HTML and the included CSS. This means that the user does not notice any time lags and the page is still usable. Another advantage: If the bandwidth is low, a basic functionality of the page (links, ...) can be ensured thanks to the SSR build.

RequestIdleCallback

The TimeRemaining function of the IdleDeadline object continuously returns a value <= 10 in the Lighthouse Test (simulated Motorola G4). This can be seen as an indicator for weak hardware on the end device and allows the following conclusion. If there are not enough hardware resources available to execute the JavaScript quickly, this process is suppressed. Who needs optional functionality that takes a long time to initialize and possibly leads to a temporary freeze in the browser.

We use this effect by executing the intial javascript process and the component initialization in the RequestIdleCallback, if we get a time slot >10ms from the device. Hereby we achieve a massive reduction of the TTI/TBT in the Lighthouse Test and on weak hardware, because the javascript execution is simply paused in the worst case until sufficient resources are available. This also prevents blocking of the MainThread.

Side effect: The timeslots in the Google Lighthouse Test are always <= 10ms, so no javascript will be initialized.

BoosterLayer

With the solutions described above, the user gets a functioning webpage displayed very quickly. However, the following situation can also occur on the end device:

  • no Javascript enabled
  • reduced bandwidth
  • weak hardware
  • unsupported browser

The reduced bandwidth or weak hardware should get a focus especially when larger amounts of data have to be transferred and executed, e.g. a ThreeJS component with more complex 3D objects. In this case, we should inform the user that the experience will be negatively affected and that there may be waiting times.

For this purpose, we provide an InfoLayer that is displayed when a minimum FCP time is exceeded, when the number of available CPU cores falls below a minimum level, when javascript is disabled or the users opens the page by an unsupported browser. The user can decide in this dialog box whether he wants to load the remaining resources despite the restrictions. If the user declines this dialog, only the fonts and images for the page will be loaded and no further javascript will be loaded or executed.

Conclusion

The findings and solutions described above have been incorporated and systematized in the Nuxt Booster module. Only in combination can they unfold their full functionality and ensure an overall optimization of the loading behavior. Overall we have reduced the following timing metrics ...

  • FCP
  • LCP
  • TTI
  • TBT

With this module we enable every developer in the NuxtJS context to achieve a Lighthouse Performance Score 100/100 and drastically reduce the development time for website performance optimization.

- + \ No newline at end of file diff --git a/v2/directives/v-font.html b/v2/directives/v-font.html index 3d9fe48dc5..adde5dec59 100644 --- a/v2/directives/v-font.html +++ b/v2/directives/v-font.html @@ -58,7 +58,7 @@ <div v-html="…" /> </div> </template> - + \ No newline at end of file diff --git a/v2/guide/caveats.html b/v2/guide/caveats.html index d5e747fa40..7e91704f0d 100644 --- a/v2/guide/caveats.html +++ b/v2/guide/caveats.html @@ -13,7 +13,7 @@ - + @@ -37,7 +37,7 @@ }); } } -</script>

Issues

Browser compatibility

You can use nuxt-booster with Internet Explorer 11 browser.

INFO

Note that there is no optimization based on preloads in IE 11.

You need the following polyfills:

The PostCSS Plugin postcss-object-fit-images and following build.transpile entries for @nuxt/image:

  • @nuxt/image
  • image-meta

For the polyfills, it is recommended to integrate them as a plugin, polyfills loading must follow a specific order.

You can see a example with live demo at Nuxt Booster Example.

Example

js
async function polyfills (){
+</script>

Issues

Browser compatibility

You can use nuxt-booster with Internet Explorer 11 browser.

INFO

Note that there is no optimization based on preloads in IE 11.

You need the following polyfills:

The PostCSS Plugin postcss-object-fit-images and following build.transpile entries for @nuxt/image:

  • @nuxt/image
  • image-meta

For the polyfills, it is recommended to integrate them as a plugin, polyfills loading must follow a specific order.

You can see a example with live demo at Nuxt Booster Example.

Example

js
async function polyfills (){
 
   if (!('IntersectionObserver' in global)) {
     await import('intersection-observer');
@@ -54,7 +54,7 @@
 
 }
 
-polyfills ();

js
{
+polyfills ();

js
{
   build: {
     
     transpile: ['@nuxt/image', 'image-meta'],
@@ -98,7 +98,7 @@
     }
   };
 </script>
- + \ No newline at end of file diff --git a/v2/guide/options.html b/v2/guide/options.html index 0540bd37cc..77f6875346 100644 --- a/v2/guide/options.html +++ b/v2/guide/options.html @@ -76,7 +76,7 @@ size: '100px', backgroundColor: 'grey' }
KeyTypeRequiredDescriptionDefault
dataUriStringnoDefines the source of the loader. (e.g. @/assets/spinner/three-circles.svg)undefined
sizeStringnoDefines the size of the loader. Use css background-size definition.100px
backgroundColorStringnoDefines the background color of the loader. Use css color definition.grey

disableNuxtImage

  • Type: Boolean
    • Default: false

If set, @nuxt/image will not be integrated.

DANGER

Note that the use of BoosterImage, BoosterPicture, BoosterVimeo and BoosterYoutube is not supported if @nuxt/image is not integrated.

- + \ No newline at end of file diff --git a/v2/guide/setup.html b/v2/guide/setup.html index 10bef26fb0..f3e9afb626 100644 --- a/v2/guide/setup.html +++ b/v2/guide/setup.html @@ -13,18 +13,18 @@ - + -
Skip to content

Setup

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster@2
bash
npm install nuxt-booster@2

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
+    
Skip to content

Setup

Check the Nuxt.js documentation for more information about installing and using modules in Nuxt.js.

Installation

Install nuxt-booster as a dependency to your project:

bash
yarn add nuxt-booster@2
bash
npm install nuxt-booster@2

Add nuxt-booster to the modules section of nuxt.config.js:

@nuxt/image

Nuxt Booster uses the module @nuxt/image, if this is not already present, it will be integrated automatically.

It is necessary for the use of the components BoosterYoutube and BoosterVimeo to add aliases and domains to the @nuxt/image options. These are needed to retrieve the images from Youtube and Vimeo.

js
{
   domains: ['img.youtube.com', 'i.vimeocdn.com'],
   alias: {
     youtube: 'https://img.youtube.com',
     vimeo: 'https://i.vimeocdn.com',
   }
-}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
+}

More about @nuxt/image module options can be found here.

Example Configuration

js
{
   modules: [
     'nuxt-booster'
   ],
@@ -119,7 +119,7 @@
     }
   }
 }

See module options.

- + \ No newline at end of file diff --git a/v2/guide/usage.html b/v2/guide/usage.html index 581ef7a396..4c9d35e6aa 100644 --- a/v2/guide/usage.html +++ b/v2/guide/usage.html @@ -36,7 +36,7 @@ } } </script>

INFO

The booster components will be expanded in the future. If you have explicit wishes, please send us a feature request or directly a pull request with the corresponding feature 😃

- + \ No newline at end of file diff --git a/v2/index.html b/v2/index.html index b41322017c..0ba3357f7d 100644 --- a/v2/index.html +++ b/v2/index.html @@ -20,7 +20,7 @@
Skip to content
nuxt boosternuxt booster

Module for NuxtJS.

WARNING

You are reading Nuxt Booster v2 docs. For Nuxt 3 go to the v3 docs

Nuxt Booster takes over the lighthouse performance optimization of your generated website.

In order to achieve a performance score of 100/100, only the necessary resources located in the current viewport may be initialized when the page is loaded. This includes images, fonts and the js-modules. Until now, there has been no practical and usable concept to help developers maintain an overview and enable accurate targeting in NuxtJS projects.

This module addresses this problem and provides a holistic approach to intelligently load the necessary viewport related resources to reduce FCP, DCL, TTI, TBT and CLS.

We didn't reinvent the whole wheel. We adapt the lazy hydration concept of Markus Oberlehner to load js components in an efficient way, use the nuxt/image module as a base to retrieve optimized image resolutions for our picture and image components and add some new stuff to obtain a holistic solution.

Requirements

  • NodeJS >= 12.x.x
  • NuxtJS >= 2.15.0

Features

We provide the following CMS-friendly features:

  • dynamic loading of viewport based page resources like fonts, components, pictures, images and iframes
  • optional blocking of javascript execution by initial performance measuring
  • optimized initial load of javascript files by eliminating of unnecessary javascript files
  • prevents the loading of unnecessary resources (including components) that are outside the current viewport.
  • optional info layer concept to inform users about a reduced UX when bandwidth or hardware is compromised.
  • completely new approach of font declaration
  • optimized picture component (supports viewport based sources e.g. landscape/portrait)
  • optimized image component
  • supports SEO-friendly lazy hydration mode (picture + image)
  • optimized youtube/vimeo component (auto generated poster image in different resolutions)

Results

  • delivery of the minimum required resources based on the current viewport
  • if you use the tools as specified you will get a lighthouse performance score of 100/100
- + \ No newline at end of file