nuxt-og-image 2.2.4 → 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +2 -2
  2. package/dist/client/200.html +8 -8
  3. package/dist/client/404.html +8 -8
  4. package/dist/client/_nuxt/IconCSS.8f429b14.css +1 -0
  5. package/dist/client/_nuxt/IconCSS.ac398b56.js +1 -0
  6. package/dist/client/_nuxt/builds/latest.json +1 -1
  7. package/dist/client/_nuxt/builds/meta/d1d517c3-4927-4803-bbb0-d94e9d3e9581.json +1 -0
  8. package/dist/client/_nuxt/entry.434c2c45.css +1 -0
  9. package/dist/client/_nuxt/entry.bdb8a8d5.js +137 -0
  10. package/dist/client/_nuxt/{error-404.407d76a3.js → error-404.f37119e7.js} +1 -1
  11. package/dist/client/_nuxt/{error-500.531c4147.js → error-500.74b0a30f.js} +1 -1
  12. package/dist/client/grid.png +0 -0
  13. package/dist/client/index.html +8 -8
  14. package/dist/module.d.mts +43 -39
  15. package/dist/module.d.ts +43 -39
  16. package/dist/module.json +1 -1
  17. package/dist/module.mjs +341 -667
  18. package/dist/runtime/cache.d.ts +4 -4
  19. package/dist/runtime/cache.mjs +2 -1
  20. package/dist/runtime/components/OgImage/Cached.mjs +1 -1
  21. package/dist/runtime/components/OgImage/Dynamic.mjs +1 -1
  22. package/dist/runtime/components/OgImage/Screenshot.mjs +1 -1
  23. package/dist/runtime/components/OgImage/Static.mjs +1 -1
  24. package/dist/runtime/components/OgImage/WithoutCache.mjs +1 -1
  25. package/dist/runtime/components/OgImage/index.mjs +1 -1
  26. package/dist/runtime/components/Templates/Community/Nuxt.vue +183 -0
  27. package/dist/runtime/components/Templates/Official/BrandedLogo.vue +28 -0
  28. package/dist/runtime/components/Templates/Official/Fallback.vue +147 -0
  29. package/dist/runtime/components/Templates/Official/SimpleBlog.vue +33 -0
  30. package/dist/runtime/components/Templates/Official/Wave.vue +33 -0
  31. package/dist/runtime/components/Templates/Official/WithEmoji.vue +27 -0
  32. package/dist/runtime/composables/defineOgImage.d.ts +10 -6
  33. package/dist/runtime/composables/defineOgImage.mjs +21 -9
  34. package/dist/runtime/core/bindings/chromium/node.d.ts +2 -0
  35. package/dist/runtime/{nitro/providers/browser/universal.mjs → core/bindings/chromium/node.mjs} +3 -3
  36. package/dist/runtime/core/bindings/resvg/node.d.ts +6 -0
  37. package/dist/runtime/core/bindings/resvg/node.mjs +5 -0
  38. package/dist/runtime/core/bindings/resvg/wasm.d.ts +40 -0
  39. package/dist/runtime/core/bindings/resvg/wasm.mjs +7 -0
  40. package/dist/runtime/core/bindings/satori/node.d.ts +6 -0
  41. package/dist/runtime/core/bindings/satori/node.mjs +5 -0
  42. package/dist/runtime/core/bindings/satori/yoga-wasm.d.ts +6 -0
  43. package/dist/runtime/core/bindings/satori/yoga-wasm.mjs +7 -0
  44. package/dist/runtime/core/bindings/sharp/node.d.ts +2 -0
  45. package/dist/runtime/core/bindings/sharp/node.mjs +2 -0
  46. package/dist/runtime/core/bindings/sharp/wasm.d.ts +2 -0
  47. package/dist/runtime/core/bindings/sharp/wasm.mjs +2 -0
  48. package/dist/runtime/core/cache/prerender.d.ts +6 -0
  49. package/dist/runtime/core/cache/prerender.mjs +6 -0
  50. package/dist/runtime/core/env/assets.d.ts +2 -0
  51. package/dist/runtime/core/env/assets.mjs +15 -0
  52. package/dist/runtime/core/font/cache.d.ts +1 -0
  53. package/dist/runtime/core/font/cache.mjs +1 -0
  54. package/dist/runtime/core/font/fetch.d.ts +3 -0
  55. package/dist/runtime/core/font/fetch.mjs +29 -0
  56. package/dist/runtime/core/html/fetch.d.ts +3 -0
  57. package/dist/runtime/core/html/fetch.mjs +117 -0
  58. package/dist/runtime/core/options/extract.d.ts +3 -0
  59. package/dist/runtime/{nitro/utils-pure.mjs → core/options/extract.mjs} +23 -21
  60. package/dist/runtime/core/options/fetch.d.ts +3 -0
  61. package/dist/runtime/core/options/fetch.mjs +21 -0
  62. package/dist/runtime/core/options/normalise.d.ts +2 -0
  63. package/dist/runtime/{composables/util.mjs → core/options/normalise.mjs} +9 -6
  64. package/dist/runtime/core/renderers/chromium/index.d.ts +3 -0
  65. package/dist/runtime/core/renderers/chromium/index.mjs +26 -0
  66. package/dist/runtime/core/renderers/chromium/screenshot.d.ts +6 -0
  67. package/dist/runtime/core/renderers/chromium/screenshot.mjs +47 -0
  68. package/dist/runtime/core/renderers/satori/fonts.d.ts +3 -0
  69. package/dist/runtime/core/renderers/satori/fonts.mjs +8 -0
  70. package/dist/runtime/core/renderers/satori/index.d.ts +5 -0
  71. package/dist/runtime/core/renderers/satori/index.mjs +53 -0
  72. package/dist/runtime/core/renderers/satori/instances.d.ts +39 -0
  73. package/dist/runtime/core/renderers/satori/instances.mjs +17 -0
  74. package/dist/runtime/{nitro → core}/renderers/satori/plugins/encoding.mjs +1 -1
  75. package/dist/runtime/{nitro → core}/renderers/satori/plugins/imageSrc.mjs +9 -14
  76. package/dist/runtime/{nitro → core}/renderers/satori/plugins/twClasses.mjs +1 -0
  77. package/dist/runtime/core/renderers/satori/utils.d.ts +4 -0
  78. package/dist/runtime/core/renderers/satori/utils.mjs +20 -0
  79. package/dist/runtime/core/renderers/satori/vnodes.d.ts +3 -0
  80. package/dist/runtime/core/renderers/satori/vnodes.mjs +21 -0
  81. package/dist/runtime/core/utils/resolveRendererContext.d.ts +7 -0
  82. package/dist/runtime/core/utils/resolveRendererContext.mjs +76 -0
  83. package/dist/runtime/nitro/plugins/nuxt-content.d.ts +2 -0
  84. package/dist/runtime/nitro/plugins/nuxt-content.mjs +50 -0
  85. package/dist/runtime/nitro/plugins/prerender.d.ts +2 -3
  86. package/dist/runtime/nitro/plugins/prerender.mjs +25 -33
  87. package/dist/runtime/nuxt/plugins/nuxt-content-canonical-urls.mjs +29 -0
  88. package/dist/runtime/nuxt/plugins/route-rule-og-image.server.d.ts +2 -0
  89. package/dist/runtime/nuxt/plugins/route-rule-og-image.server.mjs +72 -0
  90. package/dist/runtime/{nitro/routes/debug.d.ts → server/routes/__og-image__/debug.json.d.ts} +1 -1
  91. package/dist/runtime/{nitro/routes/debug.mjs → server/routes/__og-image__/debug.json.mjs} +3 -2
  92. package/dist/runtime/server/routes/__og-image__/font-[name]-[weight].[extension].mjs +30 -0
  93. package/dist/runtime/server/routes/__og-image__/image-[path]-og.[extension].mjs +44 -0
  94. package/dist/runtime/types.d.ts +29 -24
  95. package/dist/runtime/utilts.d.ts +2 -0
  96. package/dist/runtime/utilts.mjs +8 -0
  97. package/dist/types.d.mts +3 -2
  98. package/dist/types.d.ts +3 -2
  99. package/package.json +37 -22
  100. package/dist/client/_nuxt/IconCSS.4a9d43d0.css +0 -1
  101. package/dist/client/_nuxt/IconCSS.9c30257a.js +0 -1
  102. package/dist/client/_nuxt/ImageLoader.752b0c7a.js +0 -1
  103. package/dist/client/_nuxt/ImageLoader.7571516f.css +0 -1
  104. package/dist/client/_nuxt/builds/meta/bb64bb30-cf6f-4625-97ba-06e6a0d3f8d1.json +0 -1
  105. package/dist/client/_nuxt/entry.39e39f51.css +0 -1
  106. package/dist/client/_nuxt/entry.ac864471.js +0 -135
  107. package/dist/client/_nuxt/index.dc1538d5.js +0 -1
  108. package/dist/client/_nuxt/index.ffbea0a9.css +0 -1
  109. package/dist/client/_nuxt/options.a77f5921.js +0 -1
  110. package/dist/client/_nuxt/png.41e0b446.js +0 -1
  111. package/dist/client/_nuxt/shiki.d4e62362.js +0 -7
  112. package/dist/client/_nuxt/svg.b8198280.js +0 -1
  113. package/dist/client/_nuxt/vnodes.67720126.js +0 -1
  114. package/dist/client/options/index.html +0 -15
  115. package/dist/client/png/index.html +0 -15
  116. package/dist/client/svg/index.html +0 -15
  117. package/dist/client/vnodes/index.html +0 -15
  118. package/dist/runtime/browserUtil.d.ts +0 -5
  119. package/dist/runtime/browserUtil.mjs +0 -41
  120. package/dist/runtime/components/OgImageTemplate/Fallback.vue +0 -161
  121. package/dist/runtime/composables/util.d.ts +0 -2
  122. package/dist/runtime/nitro/middleware/og.png.mjs +0 -69
  123. package/dist/runtime/nitro/middleware/playground.d.ts +0 -2
  124. package/dist/runtime/nitro/middleware/playground.mjs +0 -27
  125. package/dist/runtime/nitro/providers/browser/lambda.d.ts +0 -1
  126. package/dist/runtime/nitro/providers/browser/lambda.mjs +0 -9
  127. package/dist/runtime/nitro/providers/browser/playwright.d.ts +0 -1
  128. package/dist/runtime/nitro/providers/browser/playwright.mjs +0 -22
  129. package/dist/runtime/nitro/providers/browser/universal.d.ts +0 -2
  130. package/dist/runtime/nitro/providers/png/resvg-node.d.ts +0 -4
  131. package/dist/runtime/nitro/providers/png/resvg-node.mjs +0 -6
  132. package/dist/runtime/nitro/providers/png/resvg-wasm.d.ts +0 -3
  133. package/dist/runtime/nitro/providers/png/resvg-wasm.mjs +0 -11
  134. package/dist/runtime/nitro/providers/png/svg2png.d.ts +0 -3
  135. package/dist/runtime/nitro/providers/png/svg2png.mjs +0 -11
  136. package/dist/runtime/nitro/providers/satori/default.d.ts +0 -2
  137. package/dist/runtime/nitro/providers/satori/default.mjs +0 -4
  138. package/dist/runtime/nitro/providers/satori/yoga-wasm.d.ts +0 -3
  139. package/dist/runtime/nitro/providers/satori/yoga-wasm.mjs +0 -10
  140. package/dist/runtime/nitro/renderers/browser.d.ts +0 -3
  141. package/dist/runtime/nitro/renderers/browser.mjs +0 -36
  142. package/dist/runtime/nitro/renderers/satori/index.d.ts +0 -3
  143. package/dist/runtime/nitro/renderers/satori/index.mjs +0 -58
  144. package/dist/runtime/nitro/renderers/satori/utils.d.ts +0 -4
  145. package/dist/runtime/nitro/renderers/satori/utils.mjs +0 -60
  146. package/dist/runtime/nitro/routes/font.mjs +0 -22
  147. package/dist/runtime/nitro/routes/html.d.ts +0 -2
  148. package/dist/runtime/nitro/routes/html.mjs +0 -178
  149. package/dist/runtime/nitro/routes/options.d.ts +0 -3
  150. package/dist/runtime/nitro/routes/options.mjs +0 -35
  151. package/dist/runtime/nitro/routes/svg.mjs +0 -19
  152. package/dist/runtime/nitro/routes/vnode.d.ts +0 -2
  153. package/dist/runtime/nitro/routes/vnode.mjs +0 -19
  154. package/dist/runtime/nitro/utils-pure.d.ts +0 -3
  155. package/dist/runtime/nitro/utils.d.ts +0 -18
  156. package/dist/runtime/nitro/utils.mjs +0 -108
  157. package/dist/runtime/public-assets-optional/resvg/resvg.wasm +0 -0
  158. package/dist/runtime/public-assets-optional/svg2png/svg2png.wasm +0 -0
  159. package/dist/runtime/public-assets-optional/yoga/yoga.wasm +0 -0
  160. /package/dist/runtime/{nitro/providers → core/bindings}/css-inline/mock.d.ts +0 -0
  161. /package/dist/runtime/{nitro/providers → core/bindings}/css-inline/mock.mjs +0 -0
  162. /package/dist/runtime/{nitro/providers/css-inline/css-inline.d.ts → core/bindings/css-inline/node.d.ts} +0 -0
  163. /package/dist/runtime/{nitro/providers/css-inline/css-inline.mjs → core/bindings/css-inline/node.mjs} +0 -0
  164. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/emojis.d.ts +0 -0
  165. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/emojis.mjs +0 -0
  166. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/encoding.d.ts +0 -0
  167. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/flex.d.ts +0 -0
  168. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/flex.mjs +0 -0
  169. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/imageSrc.d.ts +0 -0
  170. /package/dist/runtime/{nitro → core}/renderers/satori/plugins/twClasses.d.ts +0 -0
  171. /package/dist/runtime/{nitro/routes/font.d.ts → nuxt/plugins/nuxt-content-canonical-urls.d.ts} +0 -0
  172. /package/dist/runtime/{nitro/middleware/og.png.d.ts → server/routes/__og-image__/font-[name]-[weight].[extension].d.ts} +0 -0
  173. /package/dist/runtime/{nitro/routes/svg.d.ts → server/routes/__og-image__/image-[path]-og.[extension].d.ts} +0 -0
@@ -1,7 +1,17 @@
1
1
  /// <reference types="node" />
2
2
  import type { Buffer } from 'node:buffer';
3
3
  import type { html } from 'satori-html';
4
- import type { ModuleOptions } from '../module';
4
+ import type { H3Error, H3Event } from 'h3';
5
+ import type { ResvgRenderOptions } from '@resvg/resvg-js';
6
+ import type { SatoriOptions } from 'satori';
7
+ export interface OgImageComponent {
8
+ path?: string;
9
+ pascalName: string;
10
+ kebabName: string;
11
+ hash: string;
12
+ category: 'app' | 'official' | 'community' | 'pro';
13
+ credits?: string;
14
+ }
5
15
  export interface ScreenshotOptions {
6
16
  colorScheme?: 'dark' | 'light';
7
17
  selector?: string;
@@ -24,53 +34,48 @@ export interface ScreenshotOptions {
24
34
  delay?: number;
25
35
  }
26
36
  export interface OgImageOptions extends Partial<ScreenshotOptions> {
37
+ component?: string;
38
+ renderer?: 'chromium' | 'satori';
39
+ extension?: 'png' | 'jpeg' | 'jpg';
40
+ /**
41
+ * @deprecated use renderer. Replace `browser` with `chromium`
42
+ */
27
43
  provider?: 'browser' | 'satori';
28
44
  /**
29
45
  * Provide a static HTML template to render the OG Image instead of a component.
30
46
  */
31
47
  html?: string;
32
- title?: string;
33
- description?: string;
34
- component?: string | null;
35
- alt?: string;
36
48
  cache?: boolean;
37
49
  cacheKey?: string;
50
+ resvg?: ResvgRenderOptions;
51
+ satori?: SatoriOptions;
38
52
  /**
39
53
  * The time to live of the cache in milliseconds.
40
54
  */
41
55
  cacheTtl?: number;
42
- /**
43
- * @deprecated Use `cache` instead
44
- */
45
- static?: boolean;
46
56
  [key: string]: any;
47
57
  }
48
- export interface RuntimeOgImageOptions extends OgImageOptions {
58
+ export interface RuntimeOgImageOptions extends Omit<OgImageOptions, 'extension'> {
59
+ extension: 'png' | 'jpeg' | 'jpg' | 'svg' | 'json' | 'html';
49
60
  path: string;
50
- requestOrigin: string;
51
61
  }
52
62
  export interface FontConfig {
53
63
  name: string;
54
- weight: number;
64
+ weight: string | number;
55
65
  path?: string;
56
66
  }
57
67
  export type InputFontConfig = (`${string}:${number}` | FontConfig);
68
+ export type RendererOptions = Omit<RuntimeOgImageOptions, 'extension'> & {
69
+ extension: Omit<RuntimeOgImageOptions['extension'], 'html'>;
70
+ };
58
71
  export interface Renderer {
59
- name: 'browser' | 'satori';
60
- createSvg: (options: RuntimeOgImageOptions) => Promise<string>;
61
- createPng: (options: RuntimeOgImageOptions) => Promise<Buffer>;
62
- createVNode: (options: RuntimeOgImageOptions) => Promise<VNode>;
72
+ name: 'chromium' | 'satori';
73
+ supportedFormats: Partial<RendererOptions['extension']>[];
74
+ createImage: (e: H3Event, options: RendererOptions) => Promise<H3Error | Buffer>;
63
75
  }
64
76
  export type OgImageScreenshotOptions = Omit<OgImageOptions, 'component'>;
65
- export interface PlaygroundServerFunctions {
66
- openInEditor(filepath: string): void;
67
- getConfig(): ModuleOptions;
68
- }
69
- export interface PlaygroundClientFunctions {
70
- refresh(type: string): void;
71
- }
72
77
  export type VNode = ReturnType<typeof html>;
73
78
  export interface SatoriTransformer {
74
79
  filter: (node: VNode) => boolean;
75
- transform: (node: VNode, props: RuntimeOgImageOptions) => Promise<void>;
80
+ transform: (node: VNode, e: H3Event) => Promise<void>;
76
81
  }
@@ -0,0 +1,2 @@
1
+ export declare function getOgImagePath(pagePath: string, extension?: string): string;
2
+ export declare function isInternalRoute(path: string): boolean;
@@ -0,0 +1,8 @@
1
+ import { joinURL } from "ufo";
2
+ export function getOgImagePath(pagePath, extension = "png") {
3
+ return joinURL("/__og-image__/image", pagePath, `og.${extension}`);
4
+ }
5
+ export function isInternalRoute(path) {
6
+ const lastSegment = path.split("/").pop() || path;
7
+ return lastSegment.includes(".") || path.startsWith("/__") || path.startsWith("@");
8
+ }
package/dist/types.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
 
2
- import { ModuleOptions, ModuleHooks } from './module'
2
+ import type { ModuleOptions, ModuleHooks } from './module'
3
+
3
4
 
4
5
  declare module '@nuxt/schema' {
5
6
  interface NuxtConfig { ['ogImage']?: Partial<ModuleOptions> }
@@ -14,4 +15,4 @@ declare module 'nuxt/schema' {
14
15
  }
15
16
 
16
17
 
17
- export { ModuleHooks, ModuleOptions, default } from './module'
18
+ export type { ModuleHooks, ModuleOptions, default } from './module'
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
 
2
- import { ModuleOptions, ModuleHooks } from './module'
2
+ import type { ModuleOptions, ModuleHooks } from './module'
3
+
3
4
 
4
5
  declare module '@nuxt/schema' {
5
6
  interface NuxtConfig { ['ogImage']?: Partial<ModuleOptions> }
@@ -14,4 +15,4 @@ declare module 'nuxt/schema' {
14
15
  }
15
16
 
16
17
 
17
- export { ModuleHooks, ModuleOptions, default } from './module'
18
+ export type { ModuleHooks, ModuleOptions, default } from './module'
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nuxt-og-image",
3
3
  "type": "module",
4
- "version": "2.2.4",
5
- "packageManager": "pnpm@8.10.2",
4
+ "version": "3.0.0-beta.1",
5
+ "packageManager": "pnpm@8.11.0",
6
6
  "description": "Enlightened OG Image generation for Nuxt.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/harlan-zw",
@@ -27,11 +27,14 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
- "@nuxt/kit": "^3.8.1",
30
+ "@img/sharp-libvips-dev": "^1.0.0",
31
+ "@img/sharp-wasm32": "0.33.0-rc.2",
32
+ "@nuxt/devtools-kit": "^1.0.4",
33
+ "@nuxt/kit": "^3.8.2",
31
34
  "@resvg/resvg-js": "^2.6.0",
32
35
  "@resvg/resvg-wasm": "^2.6.0",
33
36
  "@twemoji/api": "^14.1.2",
34
- "@types/fs-extra": "^11.0.3",
37
+ "@types/fs-extra": "^11.0.4",
35
38
  "birpc": "0.2.14",
36
39
  "chalk": "^5.3.0",
37
40
  "chrome-launcher": "^1.1.0",
@@ -40,55 +43,67 @@
40
43
  "execa": "^8.0.1",
41
44
  "fast-glob": "^3.3.2",
42
45
  "flatted": "^3.2.9",
43
- "fs-extra": "^11.1.1",
44
- "globby": "^13.2.2",
46
+ "floating-vue": "2.0.0-beta.24",
47
+ "fs-extra": "^11.2.0",
48
+ "globby": "^14.0.0",
45
49
  "image-size": "^1.0.2",
46
50
  "launch-editor": "^2.6.1",
47
- "nuxt-site-config": "^1.5.5",
48
- "nuxt-site-config-kit": "^1.5.5",
51
+ "nuxt-site-config": "^1.6.6",
52
+ "nuxt-site-config-kit": "^1.6.6",
49
53
  "nypm": "^0.3.3",
50
54
  "ofetch": "^1.3.3",
51
55
  "ohash": "^1.1.3",
52
56
  "pathe": "^1.1.1",
53
- "playwright-core": "^1.39.0",
57
+ "playwright-core": "^1.40.0",
54
58
  "radix3": "^1.1.0",
55
- "satori": "0.10.9",
59
+ "satori": "0.10.11",
56
60
  "satori-html": "^0.3.2",
61
+ "sharp": "0.33.0-rc.2",
57
62
  "sirv": "^2.0.3",
58
- "std-env": "^3.4.3",
63
+ "std-env": "^3.5.0",
59
64
  "svg2png-wasm": "^1.4.1",
60
65
  "terminate": "^2.6.1",
61
66
  "tinyws": "^0.1.0",
62
67
  "twemoji": "^14.0.2",
63
- "ufo": "^1.3.1",
68
+ "ufo": "^1.3.2",
69
+ "vue-component-meta": "^1.8.22",
64
70
  "ws": "^8.14.2",
65
71
  "yoga-wasm-web": "^0.3.3"
66
72
  },
67
73
  "devDependencies": {
68
- "@antfu/eslint-config": "1.1.0",
69
- "@nuxt/devtools": "1.0.0",
70
- "@nuxt/module-builder": "^0.5.3",
74
+ "@antfu/eslint-config": "2.1.1",
75
+ "@img/sharp-linux-x64": "0.33.0-rc.2",
76
+ "@nuxt/content": "^2.9.0",
77
+ "@nuxt/devtools": "1.0.4",
78
+ "@nuxt/module-builder": "^0.5.4",
71
79
  "@nuxt/test-utils": "3.8.1",
72
80
  "@nuxtjs/eslint-config-typescript": "^12.1.0",
73
- "@types/ws": "^8.5.8",
81
+ "@nuxtjs/i18n": "8.0.0-rc.5",
82
+ "@types/ws": "^8.5.10",
74
83
  "bumpp": "^9.2.0",
75
- "eslint": "8.53.0",
84
+ "eslint": "8.54.0",
76
85
  "jest-image-snapshot": "^6.2.0",
77
- "nuxt": "^3.8.1",
78
- "nuxt-icon": "0.6.2",
79
- "playwright": "^1.39.0",
86
+ "nuxt": "^3.8.2",
87
+ "nuxt-icon": "0.6.6",
88
+ "playwright": "^1.40.0",
80
89
  "sass": "^1.69.5",
81
90
  "vitest": "^0.34.6"
82
91
  },
92
+ "build": {
93
+ "externals": [
94
+ "h3",
95
+ "nitropack"
96
+ ]
97
+ },
83
98
  "scripts": {
84
99
  "build": "pnpm dev:prepare && pnpm build:module && pnpm build:client",
85
100
  "build:client": "nuxi generate client",
86
- "build:module": "nuxt-build-module",
101
+ "build:module": "nuxt-build-module build",
87
102
  "lint": "eslint . --fix",
88
103
  "dev": "nuxi dev .playground",
89
104
  "dev:build": "nuxi build .playground",
90
105
  "dev:prepare": "nuxt-module-build build --stub && nuxi prepare .playground",
91
106
  "release": "bumpp package.json --commit --push --tag",
92
- "test": "vitest build"
107
+ "test": "vitest"
93
108
  }
94
109
  }
@@ -1 +0,0 @@
1
- span[data-v-afe4b8e2]{background-color:currentColor;display:inline-block;-webkit-mask-image:var(--07cb5749);mask-image:var(--07cb5749);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle}
@@ -1 +0,0 @@
1
- import{g as p,H as _,I as f,n as c,J as m,o as I,c as x,s as d,_ as S}from"./entry.ac864471.js";const v=p({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(u){_(e=>({"07cb5749":l.value}));const s=f(),a=u,r=c(()=>{var t,n;let e=a.name;return(n=(t=s.nuxtIcon)==null?void 0:t.aliases)!=null&&n[e]&&(e=s.nuxtIcon.aliases[e]),m(e)}),l=c(()=>{var n,o;const e=(o=(n=s.nuxtIcon)==null?void 0:n.iconifyApiOptions)==null?void 0:o.url;if(e)try{new URL(e)}catch{console.warn("Nuxt IconCSS: Invalid custom Iconify API URL");return}return`url('${e||"https://api.iconify.design"}/${r.value.prefix}/${r.value.name}.svg')`}),i=c(()=>{var t,n,o;if(!a.size&&typeof((t=s.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((n=s.nuxtIcon)!=null&&n.size))return;const e=a.size||((o=s.nuxtIcon)==null?void 0:o.size)||"1em";return String(Number(e))===e?`${e}px`:e});return(e,t)=>(I(),x("span",{style:d({width:i.value,height:i.value})},null,4))}});const z=S(v,[["__scopeId","data-v-afe4b8e2"]]);export{z as default};
@@ -1 +0,0 @@
1
- import{g as p,r as c,k as m,l as r,n as u,q as d,o as g,c as f,s as y,_ as v}from"./entry.ac864471.js";const x=p({__name:"ImageLoader",props:{src:String,aspectRatio:Number,description:String},setup(a){const s=a,n=c(),o=c(0);function i(e){const t=n.value,_=Date.now();t.src="",o.value=0,t.style.opacity="0",t.onload=()=>{t.style.opacity="1",o.value=Date.now()-_},t.src=e}m(()=>{r(()=>s.src,e=>{i(e)},{immediate:!0})});const l=u(()=>s.description.replace("%s",o.value.toString()));return r(l,e=>{d.value=e}),(e,t)=>(g(),f("img",{ref_key:"image",ref:n,class:"max-h-full border-1 border-light-500 rounded",style:y({aspectRatio:a.aspectRatio})},null,4))}});const S=v(x,[["__scopeId","data-v-23ec6856"]]);export{S as _};
@@ -1 +0,0 @@
1
- img[data-v-23ec6856]{height:auto!important;margin:0 auto;max-width:100%;transition:.4s ease-in-out;width:auto!important}
@@ -1 +0,0 @@
1
- {"id":"bb64bb30-cf6f-4625-97ba-06e6a0d3f8d1","timestamp":1699276912172,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -1 +0,0 @@
1
- :root{--nui-c-context: 125,125,125}html{background-color:#fff}html.dark{background-color:#151515;color:#fff;color-scheme:dark}::-moz-selection{background:#8884}::selection{background:#8884}.shiki .line{display:inline-block;position:relative;width:100%}.shiki.diff .line>span{filter:saturate(.75);opacity:.75}.shiki.diff .line-added,.shiki.diff .line-removed{scroll-margin:5em}.shiki.diff .line-added>span,.shiki.diff .line-removed>span{opacity:1!important;position:inherit;scroll-margin:20px;z-index:100}.shiki.diff .line-added>span{color:#218c3b!important}.shiki.diff .line-removed>span{color:#d15547!important}.shiki .line-added:after{background-color:#43885420;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.shiki .line-removed:after{background-color:#8f4c3926;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2147483646}.dark::view-transition-old(root){z-index:2147483646}.dark::view-transition-new(root){z-index:1}*,:after,:before{border-color:var(--un-default-border-color, #e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,: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: }::backdrop{--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: }.carbon-sun{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6ZM5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:ibm-cloud-pak-manta-automated-data-lineage{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 11V5h-6v2H14V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2V9a3.003 3.003 0 0 1 3 3v9h-6v-2H5v6h6v-2h6v2a2.002 2.002 0 0 0 2 2h5v2h6v-6h-6v2h-5v-7h5v2h6v-6h-6v2h-5v-4a4.952 4.952 0 0 0-1.025-3H24v2ZM4 12V4h8v8Zm5 11H7v-2h2Zm17 2h2v2h-2Zm0-9h2v2h-2Zm0-9h2v2h-2Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:image-search{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24 14a5.99 5.99 0 0 0-4.885 9.471L14 28.586L15.414 30l5.115-5.115A5.997 5.997 0 1 0 24 14zm0 10a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4zm-7-12a3 3 0 1 0-3-3a3.003 3.003 0 0 0 3 3zm0-4a1 1 0 1 1-1 1a1 1 0 0 1 1-1z'/%3E%3Cpath fill='currentColor' d='M12 24H4v-6.003L9 13l5.586 5.586L16 17.168l-5.586-5.585a2 2 0 0 0-2.828 0L4 15.168V4h20v6h2V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v20a2.002 2.002 0 0 0 2 2h8Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:laptop{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 24.005H6a2.002 2.002 0 0 1-2-2v-14a2.002 2.002 0 0 1 2-2h20a2.002 2.002 0 0 1 2 2v14a2.003 2.003 0 0 1-2 2Zm-20-16v14h20v-14Zm-4 18h28v2H2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:mobile{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M22 4H10a2.002 2.002 0 0 0-2 2v22a2.002 2.002 0 0 0 2 2h12a2.003 2.003 0 0 0 2-2V6a2.002 2.002 0 0 0-2-2Zm0 2v2H10V6ZM10 28V10h12v18Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:operations-record{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 20h10v2H20zm0 4h10v2H20zm0 4h10v2H20zm-4-8a3.912 3.912 0 0 1-4-4a3.912 3.912 0 0 1 4-4a3.912 3.912 0 0 1 4 4h2a6 6 0 1 0-6 6z'/%3E%3Cpath fill='currentColor' d='m29.305 11.044l-2.36-4.088a1.998 1.998 0 0 0-2.374-.895l-2.434.824a11.042 11.042 0 0 0-1.312-.758l-.504-2.52A2 2 0 0 0 18.36 2h-4.72a2 2 0 0 0-1.961 1.608l-.504 2.518a10.967 10.967 0 0 0-1.327.754l-2.42-.819a1.998 1.998 0 0 0-2.372.895l-2.36 4.088a2 2 0 0 0 .411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 0 0-.413 2.502l2.36 4.088a1.998 1.998 0 0 0 2.374.895l2.434-.824a10.974 10.974 0 0 0 1.312.759l.503 2.518A2 2 0 0 0 13.64 30H16v-2h-2.36l-.71-3.55a9.095 9.095 0 0 1-2.695-1.572l-3.447 1.166l-2.36-4.088l2.725-2.395a8.926 8.926 0 0 1-.007-3.128l-2.718-2.39l2.36-4.087l3.427 1.16A9.03 9.03 0 0 1 12.93 7.55L13.64 4h4.72l.71 3.55a9.098 9.098 0 0 1 2.695 1.572l3.447-1.166l2.36 4.088l-2.798 2.452L26.092 16l2.8-2.454a2 2 0 0 0 .413-2.502Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:png{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zm-12-4L14.32 9H12v14h2V13l3.68 10H20V9h-2v10zM4 23H2V9h6a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4zm0-7h4v-5H4z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:svg{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zM18 9l-2 13l-2-13h-2l2.52 14h2.96L20 9h-2zM8 23H2v-2h6v-4H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h6v2H4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.dark .dark\:carbon-moon{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.n-button-icon{font-size:1.1em;margin-left:-.2em;margin-right:.2em}.n-button-base{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));align-items:center;border-color:#9ca3af33;border-radius:.25rem;border-width:1px;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);display:inline-flex;gap:.25rem;opacity:.8;outline:2px solid transparent!important;outline-offset:2px!important;padding:.25em 1em;touch-action:manipulation}.n-icon{flex:none}.n-border-base{border-color:#9ca3af33}[n~=borderless]{--un-shadow:0 0 var(--un-shadow-color, transparent) !important;border-color:transparent!important;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)!important}.hover\:n-button-hover:hover{border-color:rgba(var(--nui-c-context),1)!important;color:rgba(var(--nui-c-context),1);opacity:1}.dark .n-bg-base{--un-bg-opacity:1;background-color:rgba(21,21,21,var(--un-bg-opacity))}.n-bg-base{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.active\:n-button-active:active{--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.1);background-color:rgba(var(--nui-c-context),.05);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus-within\:n-focus-base:focus-within{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.5);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus-visible\:n-focus-base:focus-visible{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.5);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.n-transition{transition-duration:.15s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-bottom-1\/2{bottom:-50%}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.top-1{top:.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-5{z-index:5}.grid{display:grid}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-16{margin-bottom:4rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.3em{margin-left:.3em}.ml-0\.4em{margin-left:.4em}.ml-1{margin-left:.25rem}.mr-0\.1em{margin-right:.1em}.mr-1{margin-right:.25rem}.hover\:ml-1:hover{margin-left:.25rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-1\/2{height:50%}.h-auto{height:auto}.h-full,[h-full=""]{height:100%}.h-screen{height:100vh}.h1{height:.25rem}.h2{height:.5rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-520px{max-width:520px}.max-w-full{max-width:100%}.min-h-screen{min-height:100vh}.w-40{width:10rem}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.cursor-pointer{cursor:pointer}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-1>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(.25rem*var(--un-space-x-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(1.25rem*var(--un-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(.75rem*var(--un-space-y-reverse));margin-top:calc(.75rem*(1 - var(--un-space-y-reverse)))}.of-auto,[of-auto=""]{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.border,.border-1{border-width:1px}.border-r-1{border-right-width:1px}.border-light-400{--un-border-opacity:1;border-color:rgba(246,246,246,var(--un-border-opacity))}.border-light-500{--un-border-opacity:1;border-color:rgba(242,242,242,var(--un-border-opacity))}.dark .dark\:border-dark-400{--un-border-opacity:1;border-color:rgba(34,34,34,var(--un-border-opacity))}.focus-within\:border-context:focus-within{border-color:rgba(var(--nui-c-context),1)}.rounded{border-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.bg-black\/5{background-color:#0000000d}.bg-blue-100{--un-bg-opacity:1;background-color:rgba(219,234,254,var(--un-bg-opacity))}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-white{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.dark .dark\:bg-black{--un-bg-opacity:1;background-color:rgba(0,0,0,var(--un-bg-opacity))}.dark .dark\:bg-dark-700{--un-bg-opacity:1;background-color:rgba(27,27,27,var(--un-bg-opacity))}.dark .dark\:bg-dark-800{--un-bg-opacity:1;background-color:rgba(24,24,24,var(--un-bg-opacity))}.dark .dark\:bg-dark-900{--un-bg-opacity:1;background-color:rgba(15,15,15,var(--un-bg-opacity))}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.p-0,[p-0=""]{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-8{padding:2rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2px{padding-bottom:2px;padding-top:2px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-7{padding-bottom:1.75rem;padding-top:1.75rem}.py-9px{padding-bottom:9px;padding-top:9px}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pt-14{padding-top:3.5rem}.text-center{text-align:center}.text-1\.1em{font-size:1.1em}.text-10px{font-size:10px}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""]{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.font-sans{font-family:Avenir,Helvetica,Arial,sans-serif}.dark .dark\:text-light{--un-text-opacity:1;color:rgba(246,246,246,var(--un-text-opacity))}.dark .dark\:text-white{--un-text-opacity:1;color:rgba(255,255,255,var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgba(0,0,0,var(--un-text-opacity))}.text-blue-700{--un-text-opacity:1;color:rgba(29,78,216,var(--un-text-opacity))}.text-dark-800{--un-text-opacity:1;color:rgba(24,24,24,var(--un-text-opacity))}.text-gray-300{--un-text-opacity:1;color:rgba(209,213,219,var(--un-text-opacity))}.text-gray-400{--un-text-opacity:1;color:rgba(156,163,175,var(--un-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.op50,[op50=""]{opacity:.5}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}[n~=lg]{font-size:1.125rem}.n-disabled\:n-disabled[disabled],[disabled] .n-disabled\:n-disabled{filter:saturate(0);opacity:.6;pointer-events:none}@media (min-width:640px){.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:block{display:block}}@media (min-width:1024px){.lg\:p-5{padding:1.25rem}}.icon[data-v-d62b3d82]{display:inline-block;vertical-align:middle}.jse-theme-dark{--jse-theme: dark;--jse-theme-color: #2f6dd0;--jse-theme-color-highlight: #467cd2;--jse-background-color: #1e1e1e;--jse-text-color: #d4d4d4;--jse-main-border: 1px solid #4f4f4f;--jse-menu-color: #fff;--jse-modal-background: #2f2f2f;--jse-modal-overlay-background: rgba(0,0,0,.5);--jse-modal-code-background: #2f2f2f;--jse-tooltip-color: var(--jse-text-color);--jse-tooltip-background: #4b4b4b;--jse-tooltip-border: 1px solid #737373;--jse-tooltip-action-button-color: inherit;--jse-tooltip-action-button-background: #737373;--jse-panel-background: #333;--jse-panel-background-border: 1px solid #464646;--jse-panel-color: var(--jse-text-color);--jse-panel-color-readonly: #737373;--jse-panel-border: 1px solid #3c3c3c;--jse-panel-button-color-highlight: #e5e5e5;--jse-panel-button-background-highlight: #464646;--jse-navigation-bar-background: #656565;--jse-navigation-bar-background-highlight: #7e7e7e;--jse-navigation-bar-dropdown-color: var(--jse-text-color);--jse-context-menu-background: #4b4b4b;--jse-context-menu-background-highlight: #595959;--jse-context-menu-separator-color: #595959;--jse-context-menu-color: var(--jse-text-color);--jse-context-menu-pointer-background: #737373;--jse-context-menu-pointer-background-highlight: #818181;--jse-context-menu-pointer-color: var(--jse-context-menu-color);--jse-key-color: #9cdcfe;--jse-value-color: var(--jse-text-color);--jse-value-color-number: #b5cea8;--jse-value-color-boolean: #569cd6;--jse-value-color-null: #569cd6;--jse-value-color-string: #ce9178;--jse-value-color-url: #ce9178;--jse-delimiter-color: #949494;--jse-edit-outline: 2px solid var(--jse-text-color);--jse-selection-background-color: #464646;--jse-selection-background-inactive-color: #333;--jse-hover-background-color: #343434;--jse-active-line-background-color: hsla(0,0%,100%,.06);--jse-search-match-background-color: #343434;--jse-collapsed-items-background-color: #333;--jse-collapsed-items-selected-background-color: #565656;--jse-collapsed-items-link-color: #b2b2b2;--jse-collapsed-items-link-color-highlight: #ec8477;--jse-search-match-color: #724c27;--jse-search-match-outline: 1px solid #966535;--jse-search-match-active-color: #9f6c39;--jse-search-match-active-outline: 1px solid #bb7f43;--jse-tag-background: #444;--jse-tag-color: #bdbdbd;--jse-table-header-background: #333;--jse-table-header-background-highlight: #424242;--jse-table-row-odd-background: hsla(0,0%,100%,.1);--jse-input-background: #3d3d3d;--jse-input-border: var(--jse-main-border);--jse-button-background: grey;--jse-button-background-highlight: #7a7a7a;--jse-button-color: #e0e0e0;--jse-button-secondary-background: #494949;--jse-button-secondary-background-highlight: #5d5d5d;--jse-button-secondary-background-disabled: #9d9d9d;--jse-button-secondary-color: var(--jse-text-color);--jse-a-color: #55abff;--jse-a-color-highlight: #4387c9;--background: #3d3d3d;--border: 1px solid #4f4f4f;--list-background: #3d3d3d;--item-hover-bg: #505050;--multi-item-bg: #5b5b5b;--input-color: #d4d4d4;--multi-clear-bg: #8a8a8a;--multi-item-clear-icon-color: #d4d4d4;--multi-item-outline: 1px solid #696969;--list-shadow: 0 2px 8px 0 rgba(0,0,0,.4);--jse-color-picker-background: #656565;--jse-color-picker-border-box-shadow: #8c8c8c 0 0 0 1px}.splitpanes{display:flex;height:100%;width:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.splitpanes__pane{height:100%;overflow:hidden;width:100%}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;box-sizing:border-box;flex-shrink:0;position:relative}.splitpanes.default-theme .splitpanes__splitter:after,.splitpanes.default-theme .splitpanes__splitter:before{background-color:#00000026;content:"";left:50%;position:absolute;top:50%;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:after,.splitpanes.default-theme .splitpanes__splitter:hover:before{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;margin-left:-1px;width:7px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{height:30px;transform:translateY(-50%);width:1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{height:1px;transform:translate(-50%);width:30px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.tab-panels{width:100%}div[role=tabpanel]{display:flex;width:100%}.splitpanes.default-theme .splitpanes__pane{background-color:transparent!important}.dark .splitpanes.default-theme .splitpanes__splitter{background-color:transparent!important;background-image:linear-gradient(transparent,rgba(0,0,0,.05) 50%,transparent);border-left:1px solid rgba(156,163,175,.05)}.dark .splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{background-color:#9ca3af4d!important}