@absolutejs/absolute 0.19.0-beta.212 → 0.19.0-beta.214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.absolutejs/cache/angular-linker/03f269392dcdbe53b0482927caa1ff17.js +33 -0
- package/.absolutejs/cache/angular-linker/341d75bd709b8e3da5e0191e3ae7ff34.js +2029 -0
- package/.absolutejs/cache/angular-linker/54161bce55bb149350556317e341619b.js +2872 -0
- package/.absolutejs/cache/angular-linker/58ef0a50d4370cda2b180a0e28ccc9a0.js +381 -0
- package/.absolutejs/cache/angular-linker/6d5602e0777a6bf3dc286d1418e37eeb.js +593 -0
- package/.absolutejs/cache/angular-linker/73f3352125fe12196d76075dab653b06.js +2836 -0
- package/.absolutejs/cache/angular-linker/8d0343b38de78de9075d2b7aaef4a0d6.js +693 -0
- package/.absolutejs/cache/angular-linker/cd4015dfcb0e8b06d279f929ba472d70.js +122 -0
- package/.absolutejs/cache/angular-linker/d7949b8b530e790ee1d7c5f4d9f4e561.js +314 -0
- package/.absolutejs/cache/angular-linker/e1bf85e34581dfb0ed6555e030c158e2.js +1351 -0
- package/.absolutejs/prettier.cache.json +236 -0
- package/.absolutejs/tsc.tsbuildinfo +1 -0
- package/.absolutejs/tsconfig.tsbuildinfo +1 -1
- package/.absolutejs/tsconfig.vue-check.json +6 -0
- package/.absolutejs/vue-tsc.tsbuildinfo +1 -1
- package/build/.cache/images/47f6059ee156360b7a041933b4978cbcb2011a1c9a67d833558d233472be079b.data +0 -0
- package/build/.cache/images/47f6059ee156360b7a041933b4978cbcb2011a1c9a67d833558d233472be079b.meta +1 -0
- package/build/.cache/images/5099ad2f32e4636aa812b97dd0dff1d1b439e24b5e97b2d55fe4f77367f461a4.data +0 -0
- package/build/.cache/images/5099ad2f32e4636aa812b97dd0dff1d1b439e24b5e97b2d55fe4f77367f461a4.meta +1 -0
- package/build/.cache/images/6ee00034d791ddd8b7f3ec800a222632adaf1e8c9fcedc480c773466fc10d1d5.data +0 -0
- package/build/.cache/images/6ee00034d791ddd8b7f3ec800a222632adaf1e8c9fcedc480c773466fc10d1d5.meta +1 -0
- package/build/.cache/images/70714161d457f1df2ede250334bd6060a38a652f10f043791c77d853f3005930.data +0 -0
- package/build/.cache/images/70714161d457f1df2ede250334bd6060a38a652f10f043791c77d853f3005930.meta +1 -0
- package/build/.cache/images/7eda684ed9d49b20bd3f8a52c1d2567c7c01a8b73fd7f880a103c0ec3c14f475.data +0 -0
- package/build/.cache/images/7eda684ed9d49b20bd3f8a52c1d2567c7c01a8b73fd7f880a103c0ec3c14f475.meta +1 -0
- package/build/.cache/images/926071f8d8f974eb91ccf882b478526c5926bc6693d663cdd304c57e7b3e0746.data +0 -0
- package/build/.cache/images/926071f8d8f974eb91ccf882b478526c5926bc6693d663cdd304c57e7b3e0746.meta +1 -0
- package/build/.cache/images/99fa4c4518e49ec0b205f2c67f9d535672053b80c8637540f9ce759ae5f6bbce.data +0 -0
- package/build/.cache/images/99fa4c4518e49ec0b205f2c67f9d535672053b80c8637540f9ce759ae5f6bbce.meta +1 -0
- package/build/.cache/images/d6ecd32c804dc52e56da07bd7d05876ff7f02e2e193baa94e15d1cf9022404d7.data +0 -0
- package/build/.cache/images/d6ecd32c804dc52e56da07bd7d05876ff7f02e2e193baa94e15d1cf9022404d7.meta +1 -0
- package/build/.cache/images/e68219762a1b21ec08ddaf67023cbd689c7f23ab406efa076007b36e4d5844d4.data +0 -0
- package/build/.cache/images/e68219762a1b21ec08ddaf67023cbd689c7f23ab406efa076007b36e4d5844d4.meta +1 -0
- package/build/.cache/images/e6c1d2e1ea4f97ba38de446e595eb7e0a54f50e282f4d3e02d94d9fd17057066.data +0 -0
- package/build/.cache/images/e6c1d2e1ea4f97ba38de446e595eb7e0a54f50e282f4d3e02d94d9fd17057066.meta +1 -0
- package/build/.cache/images/f422de3006871f116d1e262ada57671fd9a77d6922b565de81cdc7c574fdccb2.data +0 -0
- package/build/.cache/images/f422de3006871f116d1e262ada57671fd9a77d6922b565de81cdc7c574fdccb2.meta +1 -0
- package/build/assets/jpg/test.jpg +0 -0
- package/build/sitemap.xml +3 -0
- package/dist/{Image-599vc5xz.vue → Image-k52pzpdh.vue} +71 -37
- package/dist/angular/components/image.component.js +27 -19
- package/dist/angular/index.js.map +2 -2
- package/dist/build.js +6 -12
- package/dist/build.js.map +5 -5
- package/dist/cli/index.js +53 -11
- package/dist/image-client/imageClient.js +1 -10
- package/dist/index.js +6 -12
- package/dist/index.js.map +6 -6
- package/dist/react/components/browser/index.js +1 -10
- package/dist/react/components/index.js +6 -12
- package/dist/react/components/index.js.map +4 -4
- package/dist/svelte/components/Image.svelte +8 -5
- package/dist/vue/components/Image.vue +71 -37
- package/dist/vue/components/index.js +1 -1
- package/package.json +1 -1
- package/scripts/build.ts +308 -295
- package/types/metadata.ts +7 -1
|
@@ -541,16 +541,7 @@ var DEFAULT_DEVICE_SIZES = [
|
|
|
541
541
|
2048,
|
|
542
542
|
3840
|
|
543
543
|
];
|
|
544
|
-
var DEFAULT_IMAGE_SIZES = [
|
|
545
|
-
16,
|
|
546
|
-
32,
|
|
547
|
-
48,
|
|
548
|
-
64,
|
|
549
|
-
96,
|
|
550
|
-
128,
|
|
551
|
-
256,
|
|
552
|
-
384
|
|
553
|
-
];
|
|
544
|
+
var DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];
|
|
554
545
|
var DEFAULT_QUALITY = 75;
|
|
555
546
|
var OPTIMIZATION_ENDPOINT = "/_absolute/image";
|
|
556
547
|
var BLUR_DEVIATION = 20;
|
|
@@ -162,7 +162,10 @@ var DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, DEFAULT_QUALITY = 75, OPTIMIZATIO
|
|
|
162
162
|
const pipeline = callSharp(sharp, toBuffer(buffer)).rotate().resize(width, undefined, { withoutEnlargement: true });
|
|
163
163
|
switch (format) {
|
|
164
164
|
case "avif":
|
|
165
|
-
return pipeline.avif({
|
|
165
|
+
return pipeline.avif({
|
|
166
|
+
effort: AVIF_EFFORT,
|
|
167
|
+
quality: Math.max(1, quality - AVIF_QUALITY_OFFSET)
|
|
168
|
+
}).toBuffer();
|
|
166
169
|
case "jpeg":
|
|
167
170
|
return pipeline.jpeg({ mozjpeg: true, quality }).toBuffer();
|
|
168
171
|
case "png":
|
|
@@ -217,16 +220,7 @@ var init_imageProcessing = __esm(() => {
|
|
|
217
220
|
2048,
|
|
218
221
|
3840
|
|
219
222
|
];
|
|
220
|
-
DEFAULT_IMAGE_SIZES = [
|
|
221
|
-
16,
|
|
222
|
-
32,
|
|
223
|
-
48,
|
|
224
|
-
64,
|
|
225
|
-
96,
|
|
226
|
-
128,
|
|
227
|
-
256,
|
|
228
|
-
384
|
|
229
|
-
];
|
|
223
|
+
DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];
|
|
230
224
|
MIME_MAP = {
|
|
231
225
|
avif: "image/avif",
|
|
232
226
|
jpeg: "image/jpeg",
|
|
@@ -591,5 +585,5 @@ export {
|
|
|
591
585
|
Head
|
|
592
586
|
};
|
|
593
587
|
|
|
594
|
-
//# debugId=
|
|
588
|
+
//# debugId=4A4D01CF9B7AE3F064756E2164756E21
|
|
595
589
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/utils/imageProcessing.ts", "../src/react/components/Head.tsx", "../src/react/components/Image.tsx", "../src/react/components/JsonLd.tsx"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\nimport type {
|
|
5
|
+
"import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\nimport type {\n\tImageConfig,\n\tImageFormat,\n\tRemotePattern\n} from '../../types/image';\n\n// ── Constants ──────────────────────────────────────────────────────\n\n/* eslint-disable no-magic-numbers */\nexport const DEFAULT_DEVICE_SIZES = [\n\t640, 750, 828, 1080, 1200, 1920, 2048, 3840\n];\n\nexport const DEFAULT_IMAGE_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];\n\nexport const DEFAULT_QUALITY = 75;\n/* eslint-enable no-magic-numbers */\n\nexport const OPTIMIZATION_ENDPOINT = '/_absolute/image';\n\n// ── Blur Placeholder ───────────────────────────────────────────────\n\nconst BLUR_SIZE = 8;\nconst BLUR_QUALITY = 70;\nconst BLUR_DEVIATION = 20;\n\n// ── Sharp Loading ──────────────────────────────────────────────────\n\nlet sharpModule: unknown = undefined;\nlet sharpLoaded = false;\nlet sharpWarned = false;\n\n// ── Shared Internals ───────────────────────────────────────────────\n\n/** Snap a target width UP to the nearest configured size */\nconst snapToSize = (target: number, sizes: number[]) => {\n\tfor (const size of sizes) {\n\t\tif (size >= target) return size;\n\t}\n\n\treturn sizes[sizes.length - 1] ?? target;\n};\n\n/** Match hostname with wildcard support: \"*.example.com\" matches \"cdn.example.com\" */\nconst matchHostname = (actual: string, pattern: string) => {\n\tif (pattern === actual) return true;\n\n\tif (pattern.startsWith('*.')) {\n\t\tconst suffix = pattern.slice(1); // \".example.com\"\n\n\t\treturn actual.endsWith(suffix) && actual.length > suffix.length;\n\t}\n\n\treturn false;\n};\n\n/** Match pathname with glob prefix: \"/images/**\" matches \"/images/photo.jpg\" */\nconst matchPathname = (actual: string, pattern: string) => {\n\tif (pattern.endsWith('/**')) {\n\t\tconst prefix = pattern.slice(0, -2); // eslint-disable-line no-magic-numbers\n\n\t\treturn actual.startsWith(prefix);\n\t}\n\n\treturn actual === pattern;\n};\n\nconst MIME_MAP: Record<ImageFormat, string> = {\n\tavif: 'image/avif',\n\tjpeg: 'image/jpeg',\n\tpng: 'image/png',\n\twebp: 'image/webp'\n};\n\n/** Convert sharp dynamic import result to a callable factory */\nconst callSharp = (sharpRef: unknown, input: Buffer) => {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/consistent-type-assertions -- sharp is dynamically imported\n\tconst factory = sharpRef as any;\n\n\treturn factory(input);\n};\n\nconst toBuffer = (input: Buffer | ArrayBuffer) => {\n\tif (Buffer.isBuffer(input)) return input;\n\n\treturn Buffer.from(input);\n};\n\n// ── Exports (alphabetically sorted) ────────────────────────────────\n\nexport const buildOptimizedUrl = (\n\tsrc: string,\n\twidth: number,\n\tquality: number,\n\tbasePath = OPTIMIZATION_ENDPOINT\n) => `${basePath}?url=${encodeURIComponent(src)}&w=${width}&q=${quality}`;\n\nexport type CacheMeta = {\n\tcontentType: string;\n\tetag: string;\n\texpireAt: number;\n\tupstreamEtag?: string;\n};\n\nexport const formatToMime = (format: ImageFormat) => MIME_MAP[format];\n\nexport const generateBlurDataURL = async (buffer: Buffer | ArrayBuffer) => {\n\tconst sharp = await tryLoadSharp();\n\n\tif (!sharp) return '';\n\n\tconst tiny: Buffer = await callSharp(sharp, toBuffer(buffer))\n\t\t.resize(BLUR_SIZE, BLUR_SIZE, { fit: 'inside' })\n\t\t.webp({ quality: BLUR_QUALITY })\n\t\t.toBuffer();\n\n\treturn `data:image/webp;base64,${tiny.toString('base64')}`;\n};\n\nexport const generateBlurSvg = (base64Thumbnail: string) => {\n\t// Match Next.js: wrap tiny thumbnail in SVG with Gaussian blur\n\tconst svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 320\"><filter id=\"b\" color-interpolation-filters=\"sRGB\"><feGaussianBlur stdDeviation=\"${BLUR_DEVIATION}\"/><feColorMatrix values=\"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1\"/></filter><image filter=\"url(#b)\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" href=\"${base64Thumbnail}\"/></svg>`;\n\n\tconst encoded = encodeURIComponent(svg);\n\n\treturn `url(\"data:image/svg+xml,${encoded}\")`;\n};\n\nexport const generateSrcSet = (\n\tsrc: string,\n\twidth: number | undefined,\n\tsizes: string | undefined,\n\tconfig?: ImageConfig,\n\tloader?: (params: { quality: number; src: string; width: number }) => string\n) => {\n\tconst quality = config?.quality ?? DEFAULT_QUALITY;\n\n\tconst basePath = config?.path ?? OPTIMIZATION_ENDPOINT;\n\n\tconst buildUrl =\n\t\tloader ??\n\t\t((params: { quality: number; src: string; width: number }) =>\n\t\t\tbuildOptimizedUrl(\n\t\t\t\tparams.src,\n\t\t\t\tparams.width,\n\t\t\t\tparams.quality,\n\t\t\t\tbasePath\n\t\t\t));\n\n\tif (sizes) {\n\t\t// With sizes: use all breakpoints with w descriptors\n\t\tconst allSizes = getAllSizes(config);\n\n\t\treturn allSizes\n\t\t\t.map(\n\t\t\t\t(sizeWidth) =>\n\t\t\t\t\t`${buildUrl({ quality, src, width: sizeWidth })} ${sizeWidth}w`\n\t\t\t)\n\t\t\t.join(', ');\n\t}\n\n\tif (width) {\n\t\t// Without sizes: generate 1x and 2x density descriptors\n\t\tconst allSizes = getAllSizes(config);\n\n\t\tconst w1x = snapToSize(width, allSizes);\n\n\t\tconst w2x = snapToSize(width * 2, allSizes);\n\n\t\treturn `${buildUrl({ quality, src, width: w1x })} 1x, ${buildUrl({ quality, src, width: w2x })} 2x`;\n\t}\n\n\t// No width or sizes — use device sizes with w descriptors\n\tconst deviceSizes = config?.deviceSizes ?? DEFAULT_DEVICE_SIZES;\n\n\treturn deviceSizes\n\t\t.map(\n\t\t\t(sizeWidth) =>\n\t\t\t\t`${buildUrl({ quality, src, width: sizeWidth })} ${sizeWidth}w`\n\t\t)\n\t\t.join(', ');\n};\n\nexport const getAllSizes = (config?: ImageConfig) => {\n\tconst device = config?.deviceSizes ?? DEFAULT_DEVICE_SIZES;\n\n\tconst image = config?.imageSizes ?? DEFAULT_IMAGE_SIZES;\n\n\treturn [...device, ...image].sort((left, right) => left - right);\n};\n\nexport const getCacheDir = (buildDir: string) => {\n\tconst dir = join(buildDir, '.cache', 'images');\n\n\tif (!existsSync(dir)) mkdirSync(dir, { recursive: true });\n\n\treturn dir;\n};\n\nexport const getCacheKey = (\n\turl: string,\n\twidth: number,\n\tquality: number,\n\tformat: string\n) => {\n\tconst hasher = new Bun.CryptoHasher('sha256');\n\n\thasher.update(`${url}|${width}|${quality}|${format}`);\n\n\treturn hasher.digest('hex');\n};\n\nexport const isCacheStale = (meta: CacheMeta) => Date.now() > meta.expireAt;\n\nexport const matchRemotePattern = (\n\turlString: string,\n\tpatterns: RemotePattern[]\n) => {\n\tlet parsed: URL;\n\n\ttry {\n\t\tparsed = new URL(urlString);\n\t} catch {\n\t\treturn false;\n\t}\n\n\treturn patterns.some((pattern) => {\n\t\tif (pattern.protocol && parsed.protocol !== `${pattern.protocol}:`)\n\t\t\treturn false;\n\n\t\tif (!matchHostname(parsed.hostname, pattern.hostname)) return false;\n\n\t\tif (pattern.port && parsed.port !== pattern.port) return false;\n\n\t\tif (\n\t\t\tpattern.pathname &&\n\t\t\t!matchPathname(parsed.pathname, pattern.pathname)\n\t\t)\n\t\t\treturn false;\n\n\t\treturn true;\n\t});\n};\n\nexport const negotiateFormat = (\n\tacceptHeader: string,\n\tconfiguredFormats: ImageFormat[]\n) => {\n\t// Check configured formats in preference order against Accept header\n\tfor (const format of configuredFormats) {\n\t\tconst mime = MIME_MAP[format];\n\n\t\tif (mime && acceptHeader.includes(mime)) return format;\n\t}\n\n\t// Fallback: if webp is configured and accepted, use it\n\tif (\n\t\tconfiguredFormats.includes('webp') &&\n\t\tacceptHeader.includes('image/webp')\n\t) {\n\t\treturn 'webp';\n\t}\n\n\t// Final fallback to jpeg\n\treturn 'jpeg';\n};\n\nconst AVIF_QUALITY_OFFSET = 20;\nconst AVIF_EFFORT = 3;\n\nexport const optimizeImage = async (\n\tbuffer: Buffer | ArrayBuffer,\n\twidth: number,\n\tquality: number,\n\tformat: ImageFormat\n) => {\n\tconst sharp = await tryLoadSharp();\n\n\tif (!sharp) return toBuffer(buffer);\n\n\tconst pipeline = callSharp(sharp, toBuffer(buffer))\n\t\t.rotate()\n\t\t.resize(width, undefined, { withoutEnlargement: true });\n\n\tswitch (format) {\n\t\tcase 'avif':\n\t\t\treturn pipeline\n\t\t\t\t.avif({\n\t\t\t\t\teffort: AVIF_EFFORT,\n\t\t\t\t\tquality: Math.max(1, quality - AVIF_QUALITY_OFFSET)\n\t\t\t\t})\n\t\t\t\t.toBuffer();\n\t\tcase 'jpeg':\n\t\t\treturn pipeline.jpeg({ mozjpeg: true, quality }).toBuffer();\n\t\tcase 'png':\n\t\t\treturn pipeline.png({ quality }).toBuffer();\n\t\tcase 'webp':\n\t\t\treturn pipeline.webp({ quality }).toBuffer();\n\t\tdefault:\n\t\t\treturn toBuffer(buffer);\n\t}\n};\n\nexport const readFromCache = (cacheDir: string, cacheKey: string) => {\n\tconst metaPath = join(cacheDir, `${cacheKey}.meta`);\n\n\tconst dataPath = join(cacheDir, `${cacheKey}.data`);\n\n\tif (!existsSync(metaPath) || !existsSync(dataPath)) return null;\n\n\ttry {\n\t\tconst meta: CacheMeta = JSON.parse(readFileSync(metaPath, 'utf-8'));\n\n\t\tconst buffer = readFileSync(dataPath);\n\n\t\treturn { buffer, meta };\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nexport const tryLoadSharp = async () => {\n\tif (sharpLoaded) return sharpModule;\n\n\tsharpLoaded = true;\n\n\ttry {\n\t\t// Resolve sharp from the user's project root (not from absolutejs source,\n\t\t// which is baked into import.meta paths at bundle time)\n\t\tconst sharpPath = resolve(process.cwd(), 'node_modules/sharp');\n\n\t\tconst mod = await import(sharpPath);\n\n\t\tsharpModule = mod.default ?? mod;\n\n\t\treturn sharpModule;\n\t} catch {\n\t\tif (sharpWarned) return null;\n\n\t\tsharpWarned = true;\n\n\t\tconsole.warn(\n\t\t\t'[image] sharp not installed — serving unoptimized images. Install with: bun add sharp'\n\t\t);\n\n\t\treturn null;\n\t}\n};\n\nexport const writeToCache = (\n\tcacheDir: string,\n\tcacheKey: string,\n\tbuffer: Buffer,\n\tmeta: CacheMeta\n) => {\n\tconst metaPath = join(cacheDir, `${cacheKey}.meta`);\n\n\tconst dataPath = join(cacheDir, `${cacheKey}.data`);\n\n\twriteFileSync(dataPath, buffer);\n\n\twriteFileSync(metaPath, JSON.stringify(meta));\n};\n",
|
|
6
6
|
"import type {\n\tMetadata,\n\tMetaTag,\n\tOpenGraph,\n\tTwitterCard,\n\tRobotsDirective\n} from '../../../types/metadata';\n\nconst RobotsContent = ({ robots }: { robots: RobotsDirective }) => {\n\tconst directives: string[] = [];\n\tif (robots.index === false) directives.push('noindex');\n\tif (robots.index === true) directives.push('index');\n\tif (robots.follow === false) directives.push('nofollow');\n\tif (robots.follow === true) directives.push('follow');\n\tif (robots.noarchive) directives.push('noarchive');\n\tif (robots.nosnippet) directives.push('nosnippet');\n\tif (robots.noimageindex) directives.push('noimageindex');\n\tif (robots.maxSnippet !== undefined)\n\t\tdirectives.push(`max-snippet:${robots.maxSnippet}`);\n\tif (robots.maxImagePreview)\n\t\tdirectives.push(`max-image-preview:${robots.maxImagePreview}`);\n\tif (robots.maxVideoPreview !== undefined)\n\t\tdirectives.push(`max-video-preview:${robots.maxVideoPreview}`);\n\n\tconst content = directives.join(', ');\n\n\treturn content ? <meta content={content} name=\"robots\" /> : null;\n};\n\nconst OpenGraphTags = ({\n\topenGraph,\n\ttitle,\n\tdescription\n}: {\n\topenGraph: OpenGraph;\n\ttitle: string;\n\tdescription: string;\n}) => (\n\t<>\n\t\t<meta content={openGraph.title ?? title} property=\"og:title\" />\n\t\t<meta\n\t\t\tcontent={openGraph.description ?? description}\n\t\t\tproperty=\"og:description\"\n\t\t/>\n\t\t{openGraph.url && <meta content={openGraph.url} property=\"og:url\" />}\n\t\t{openGraph.image && (\n\t\t\t<meta content={openGraph.image} property=\"og:image\" />\n\t\t)}\n\t\t{openGraph.imageAlt && (\n\t\t\t<meta content={openGraph.imageAlt} property=\"og:image:alt\" />\n\t\t)}\n\t\t{openGraph.imageWidth && (\n\t\t\t<meta\n\t\t\t\tcontent={String(openGraph.imageWidth)}\n\t\t\t\tproperty=\"og:image:width\"\n\t\t\t/>\n\t\t)}\n\t\t{openGraph.imageHeight && (\n\t\t\t<meta\n\t\t\t\tcontent={String(openGraph.imageHeight)}\n\t\t\t\tproperty=\"og:image:height\"\n\t\t\t/>\n\t\t)}\n\t\t{openGraph.type && <meta content={openGraph.type} property=\"og:type\" />}\n\t\t{openGraph.siteName && (\n\t\t\t<meta content={openGraph.siteName} property=\"og:site_name\" />\n\t\t)}\n\t\t{openGraph.locale && (\n\t\t\t<meta content={openGraph.locale} property=\"og:locale\" />\n\t\t)}\n\t</>\n);\n\nconst TwitterTags = ({\n\ttwitter,\n\ttitle,\n\tdescription\n}: {\n\ttwitter: TwitterCard;\n\ttitle: string;\n\tdescription: string;\n}) => (\n\t<>\n\t\t{twitter.card && <meta content={twitter.card} name=\"twitter:card\" />}\n\t\t<meta content={twitter.title ?? title} name=\"twitter:title\" />\n\t\t<meta\n\t\t\tcontent={twitter.description ?? description}\n\t\t\tname=\"twitter:description\"\n\t\t/>\n\t\t{twitter.image && <meta content={twitter.image} name=\"twitter:image\" />}\n\t\t{twitter.imageAlt && (\n\t\t\t<meta content={twitter.imageAlt} name=\"twitter:image:alt\" />\n\t\t)}\n\t\t{twitter.site && <meta content={twitter.site} name=\"twitter:site\" />}\n\t\t{twitter.creator && (\n\t\t\t<meta content={twitter.creator} name=\"twitter:creator\" />\n\t\t)}\n\t</>\n);\n\nconst CustomMetaTag = ({ tag }: { tag: MetaTag }) => {\n\tif (tag.property)\n\t\treturn <meta content={tag.content} property={tag.property} />;\n\n\tif (tag.httpEquiv)\n\t\treturn <meta content={tag.content} httpEquiv={tag.httpEquiv} />;\n\n\treturn <meta content={tag.content} name={tag.name} />;\n};\n\nexport const Head = ({\n\ttitle = 'AbsoluteJS',\n\tdescription = 'A page created using AbsoluteJS',\n\ticon = '/assets/ico/favicon.ico',\n\tfont,\n\tcssPath,\n\tcanonical,\n\topenGraph,\n\ttwitter,\n\trobots,\n\tmeta\n}: Metadata = {}) => (\n\t<head suppressHydrationWarning>\n\t\t<meta charSet=\"utf-8\" />\n\t\t<title>{title}</title>\n\t\t<meta content={description} name=\"description\" />\n\t\t<meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n\t\t<link href={icon} rel=\"icon\" />\n\t\t{canonical && <link href={canonical} rel=\"canonical\" />}\n\t\t{openGraph && (\n\t\t\t<OpenGraphTags\n\t\t\t\tdescription={description}\n\t\t\t\topenGraph={openGraph}\n\t\t\t\ttitle={title}\n\t\t\t/>\n\t\t)}\n\t\t{twitter && (\n\t\t\t<TwitterTags\n\t\t\t\tdescription={description}\n\t\t\t\ttitle={title}\n\t\t\t\ttwitter={twitter}\n\t\t\t/>\n\t\t)}\n\t\t{robots && <RobotsContent robots={robots} />}\n\t\t{meta?.map((tag, i) => <CustomMetaTag key={i} tag={tag} />)}\n\t\t{font && (\n\t\t\t<>\n\t\t\t\t<link href=\"https://fonts.googleapis.com\" rel=\"preconnect\" />\n\t\t\t\t<link\n\t\t\t\t\tcrossOrigin=\"anonymous\"\n\t\t\t\t\thref=\"https://fonts.gstatic.com\"\n\t\t\t\t\trel=\"preconnect\"\n\t\t\t\t\tsuppressHydrationWarning\n\t\t\t\t/>\n\t\t\t\t<link\n\t\t\t\t\thref={`https://fonts.googleapis.com/css2?family=${font}:wght@100..900&display=swap`}\n\t\t\t\t\trel=\"stylesheet\"\n\t\t\t\t\tsuppressHydrationWarning\n\t\t\t\t/>\n\t\t\t</>\n\t\t)}\n\t\t{cssPath &&\n\t\t\t[cssPath]\n\t\t\t\t.flat()\n\t\t\t\t.map((path) => (\n\t\t\t\t\t<link\n\t\t\t\t\t\thref={path}\n\t\t\t\t\t\tkey={path}\n\t\t\t\t\t\trel=\"stylesheet\"\n\t\t\t\t\t\tsuppressHydrationWarning\n\t\t\t\t\t\ttype=\"text/css\"\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t</head>\n);\n",
|
|
7
|
-
"import type { ImageProps } from '../../../types/image';\nimport {\n\tDEFAULT_QUALITY,\n\tbuildOptimizedUrl,\n\tgenerateBlurSvg,\n\tgenerateSrcSet\n} from '../../utils/imageProcessing';\n\nconst resolveSource = (\n\tsrc: string,\n\toverrideSrc: ImageProps['overrideSrc'],\n\tunoptimized: ImageProps['unoptimized'],\n\tloader: ImageProps['loader'],\n\twidth: ImageProps['width'],\n\tquality: number\n) => {\n\tif (overrideSrc) return overrideSrc;\n\tif (unoptimized) return src;\n\tif (loader) return loader({ quality, src, width: width ?? 0 });\n\tif (!width) return buildOptimizedUrl(src, 0, quality);\n\n\treturn buildOptimizedUrl(src, width, quality);\n};\n\nconst resolveBlurBackground = (\n\thasBlur: boolean,\n\tplaceholder: ImageProps['placeholder'],\n\tblurDataURL: ImageProps['blurDataURL']\n) => {\n\tif (!hasBlur) return undefined;\n\n\tif (\n\t\ttypeof placeholder === 'string' &&\n\t\tplaceholder !== 'blur' &&\n\t\tplaceholder.startsWith('data:')\n\t) {\n\t\treturn generateBlurSvg(placeholder);\n\t}\n\n\tif (blurDataURL) return generateBlurSvg(blurDataURL);\n\n\treturn undefined;\n};\n\nexport const Image = ({\n\talt,\n\tblurDataURL,\n\tclassName,\n\tcrossOrigin,\n\tfetchPriority,\n\tfill,\n\theight,\n\tloader,\n\tloading,\n\tonError,\n\tonLoad,\n\toverrideSrc,\n\tplaceholder,\n\tpriority,\n\tquality = DEFAULT_QUALITY,\n\treferrerPolicy,\n\tsizes,\n\tsrc,\n\tstyle,\n\tunoptimized,\n\twidth\n}: ImageProps) => {\n\t// ── Resolve src ─────────────────────────────────────────────\n\tconst resolvedSrc = resolveSource(
|
|
7
|
+
"import type { ImageProps } from '../../../types/image';\nimport {\n\tDEFAULT_QUALITY,\n\tbuildOptimizedUrl,\n\tgenerateBlurSvg,\n\tgenerateSrcSet\n} from '../../utils/imageProcessing';\n\nconst resolveSource = (\n\tsrc: string,\n\toverrideSrc: ImageProps['overrideSrc'],\n\tunoptimized: ImageProps['unoptimized'],\n\tloader: ImageProps['loader'],\n\twidth: ImageProps['width'],\n\tquality: number\n) => {\n\tif (overrideSrc) return overrideSrc;\n\tif (unoptimized) return src;\n\tif (loader) return loader({ quality, src, width: width ?? 0 });\n\tif (!width) return buildOptimizedUrl(src, 0, quality);\n\n\treturn buildOptimizedUrl(src, width, quality);\n};\n\nconst resolveBlurBackground = (\n\thasBlur: boolean,\n\tplaceholder: ImageProps['placeholder'],\n\tblurDataURL: ImageProps['blurDataURL']\n) => {\n\tif (!hasBlur) return undefined;\n\n\tif (\n\t\ttypeof placeholder === 'string' &&\n\t\tplaceholder !== 'blur' &&\n\t\tplaceholder.startsWith('data:')\n\t) {\n\t\treturn generateBlurSvg(placeholder);\n\t}\n\n\tif (blurDataURL) return generateBlurSvg(blurDataURL);\n\n\treturn undefined;\n};\n\nexport const Image = ({\n\talt,\n\tblurDataURL,\n\tclassName,\n\tcrossOrigin,\n\tfetchPriority,\n\tfill,\n\theight,\n\tloader,\n\tloading,\n\tonError,\n\tonLoad,\n\toverrideSrc,\n\tplaceholder,\n\tpriority,\n\tquality = DEFAULT_QUALITY,\n\treferrerPolicy,\n\tsizes,\n\tsrc,\n\tstyle,\n\tunoptimized,\n\twidth\n}: ImageProps) => {\n\t// ── Resolve src ─────────────────────────────────────────────\n\tconst resolvedSrc = resolveSource(\n\t\tsrc,\n\t\toverrideSrc,\n\t\tunoptimized,\n\t\tloader,\n\t\twidth,\n\t\tquality\n\t);\n\n\t// ── srcSet ──────────────────────────────────────────────────\n\tconst srcSet = unoptimized\n\t\t? undefined\n\t\t: generateSrcSet(src, width, sizes, undefined, loader ?? undefined);\n\n\t// ── Sizes ───────────────────────────────────────────────────\n\tconst resolvedSizes = sizes ?? (fill ? '100vw' : undefined);\n\n\t// ── Loading behavior ────────────────────────────────────────\n\tconst resolvedLoading = priority ? 'eager' : (loading ?? 'lazy');\n\tconst resolvedFetchPriority = priority ? 'high' : fetchPriority;\n\n\t// ── Blur placeholder ────────────────────────────────────────\n\tconst hasBlur =\n\t\tplaceholder === 'blur' ||\n\t\t(typeof placeholder === 'string' &&\n\t\t\tplaceholder !== 'empty' &&\n\t\t\tplaceholder.startsWith('data:'));\n\n\tconst blurBackground = resolveBlurBackground(\n\t\thasBlur,\n\t\tplaceholder,\n\t\tblurDataURL\n\t);\n\n\t// ── Styles ──────────────────────────────────────────────────\n\tconst imgStyle: Record<string, string | number> = {\n\t\t...(style ?? {}),\n\t\t...(blurBackground\n\t\t\t? {\n\t\t\t\t\tbackgroundImage: blurBackground,\n\t\t\t\t\tbackgroundPosition: 'center',\n\t\t\t\t\tbackgroundRepeat: 'no-repeat',\n\t\t\t\t\tbackgroundSize: 'cover'\n\t\t\t\t}\n\t\t\t: {}),\n\t\t...(fill\n\t\t\t? {\n\t\t\t\t\tcolor: 'transparent',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tinset: 0,\n\t\t\t\t\tobjectFit: 'cover',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: '100%'\n\t\t\t\t}\n\t\t\t: { color: 'transparent' })\n\t};\n\n\t// ── Preload link for priority images ────────────────────────\n\tconst preloadLink = priority ? (\n\t\t<link\n\t\t\tas=\"image\"\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\thref={resolvedSrc}\n\t\t\timageSizes={resolvedSizes}\n\t\t\timageSrcSet={srcSet}\n\t\t\trel=\"preload\"\n\t\t/>\n\t) : null;\n\n\t// ── Fill mode wrapper ───────────────────────────────────────\n\tconst imgElement = (\n\t\t<img\n\t\t\talt={alt}\n\t\t\tclassName={className}\n\t\t\tcrossOrigin={crossOrigin}\n\t\t\tdecoding=\"async\"\n\t\t\tfetchPriority={resolvedFetchPriority}\n\t\t\theight={fill ? undefined : height}\n\t\t\tloading={resolvedLoading}\n\t\t\tonError={\n\t\t\t\tonError ? (event) => onError(event.nativeEvent) : undefined\n\t\t\t}\n\t\t\tonLoad={(event) => {\n\t\t\t\tconst { target } = event;\n\n\t\t\t\tif (blurBackground && target instanceof HTMLImageElement) {\n\t\t\t\t\ttarget.style.backgroundImage = 'none';\n\t\t\t\t}\n\n\t\t\t\tif (onLoad) onLoad(event.nativeEvent);\n\t\t\t}}\n\t\t\treferrerPolicy={referrerPolicy}\n\t\t\tsizes={resolvedSizes}\n\t\t\tsrc={resolvedSrc}\n\t\t\tsrcSet={srcSet}\n\t\t\tstyle={imgStyle}\n\t\t\twidth={fill ? undefined : width}\n\t\t/>\n\t);\n\n\tif (fill) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{preloadLink}\n\t\t\t\t<span\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\twidth: '100%'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{imgElement}\n\t\t\t\t</span>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{preloadLink}\n\t\t\t{imgElement}\n\t\t</>\n\t);\n};\n",
|
|
8
8
|
"import type { JsonLdSchema, WithContext } from '../../../types/jsonLd';\n\nexport const JsonLd = ({\n\tschema\n}: {\n\tschema: JsonLdSchema | JsonLdSchema[];\n}) => {\n\tconst data: WithContext<JsonLdSchema> | WithContext<JsonLdSchema>[] =\n\t\tArray.isArray(schema)\n\t\t\t? schema.map((s) => ({\n\t\t\t\t\t'@context': 'https://schema.org' as const,\n\t\t\t\t\t...s\n\t\t\t\t}))\n\t\t\t: { '@context': 'https://schema.org' as const, ...schema };\n\n\treturn (\n\t\t<script\n\t\t\tdangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}\n\t\t\ttype=\"application/ld+json\"\n\t\t/>\n\t);\n};\n"
|
|
9
9
|
],
|
|
10
|
-
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "4A4D01CF9B7AE3F064756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
|
@@ -40,9 +40,7 @@
|
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
const srcSet = $derived(
|
|
43
|
-
unoptimized
|
|
44
|
-
? undefined
|
|
45
|
-
: generateSrcSet(src, width, sizes)
|
|
43
|
+
unoptimized ? undefined : generateSrcSet(src, width, sizes)
|
|
46
44
|
);
|
|
47
45
|
|
|
48
46
|
const resolvedSizes = $derived(sizes ?? (fill ? '100vw' : undefined));
|
|
@@ -90,7 +88,10 @@
|
|
|
90
88
|
base.objectFit = 'cover';
|
|
91
89
|
}
|
|
92
90
|
return Object.entries(base)
|
|
93
|
-
.map(
|
|
91
|
+
.map(
|
|
92
|
+
([k, v]) =>
|
|
93
|
+
`${k.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`)}:${v}`
|
|
94
|
+
)
|
|
94
95
|
.join(';');
|
|
95
96
|
});
|
|
96
97
|
|
|
@@ -120,7 +121,9 @@
|
|
|
120
121
|
</svelte:head>
|
|
121
122
|
|
|
122
123
|
{#if fill}
|
|
123
|
-
<span
|
|
124
|
+
<span
|
|
125
|
+
style="position:relative;overflow:hidden;display:block;width:100%;height:100%"
|
|
126
|
+
>
|
|
124
127
|
<img
|
|
125
128
|
{alt}
|
|
126
129
|
src={resolvedSrc}
|
|
@@ -7,41 +7,62 @@ import {
|
|
|
7
7
|
generateSrcSet
|
|
8
8
|
} from '@absolutejs/absolute/image';
|
|
9
9
|
|
|
10
|
-
type ImageLoader = (params: {
|
|
11
|
-
|
|
12
|
-
const props = withDefaults(defineProps<{
|
|
10
|
+
type ImageLoader = (params: {
|
|
13
11
|
src: string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
12
|
+
width: number;
|
|
13
|
+
quality: number;
|
|
14
|
+
}) => string;
|
|
15
|
+
|
|
16
|
+
const props = withDefaults(
|
|
17
|
+
defineProps<{
|
|
18
|
+
src: string;
|
|
19
|
+
alt: string;
|
|
20
|
+
width?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
fill?: boolean;
|
|
23
|
+
quality?: number;
|
|
24
|
+
sizes?: string;
|
|
25
|
+
loader?: ImageLoader;
|
|
26
|
+
unoptimized?: boolean;
|
|
27
|
+
loading?: 'lazy' | 'eager';
|
|
28
|
+
priority?: boolean;
|
|
29
|
+
placeholder?: 'blur' | 'empty' | string;
|
|
30
|
+
blurDataURL?: string;
|
|
31
|
+
className?: string;
|
|
32
|
+
style?: Record<string, string | number>;
|
|
33
|
+
onLoad?: (() => void) | ((event: Event) => void);
|
|
34
|
+
onError?: (() => void) | ((event: Event) => void);
|
|
35
|
+
crossOrigin?: 'anonymous' | 'use-credentials' | '';
|
|
36
|
+
referrerPolicy?:
|
|
37
|
+
| ''
|
|
38
|
+
| 'no-referrer'
|
|
39
|
+
| 'no-referrer-when-downgrade'
|
|
40
|
+
| 'origin'
|
|
41
|
+
| 'origin-when-cross-origin'
|
|
42
|
+
| 'same-origin'
|
|
43
|
+
| 'strict-origin'
|
|
44
|
+
| 'strict-origin-when-cross-origin'
|
|
45
|
+
| 'unsafe-url';
|
|
46
|
+
fetchPriority?: 'high' | 'low' | 'auto';
|
|
47
|
+
overrideSrc?: string;
|
|
48
|
+
}>(),
|
|
49
|
+
{
|
|
50
|
+
quality: DEFAULT_QUALITY,
|
|
51
|
+
loading: 'lazy'
|
|
52
|
+
}
|
|
53
|
+
);
|
|
38
54
|
|
|
39
55
|
const blurRemoved = ref(false);
|
|
40
56
|
|
|
41
57
|
const resolvedSrc = computed(() => {
|
|
42
58
|
if (props.overrideSrc) return props.overrideSrc;
|
|
43
59
|
if (props.unoptimized) return props.src;
|
|
44
|
-
if (props.loader)
|
|
60
|
+
if (props.loader)
|
|
61
|
+
return props.loader({
|
|
62
|
+
src: props.src,
|
|
63
|
+
width: props.width ?? 0,
|
|
64
|
+
quality: props.quality
|
|
65
|
+
});
|
|
45
66
|
if (!props.width) return buildOptimizedUrl(props.src, 0, props.quality);
|
|
46
67
|
return buildOptimizedUrl(props.src, props.width, props.quality);
|
|
47
68
|
});
|
|
@@ -52,17 +73,24 @@ const srcSet = computed(() =>
|
|
|
52
73
|
: generateSrcSet(props.src, props.width, props.sizes)
|
|
53
74
|
);
|
|
54
75
|
|
|
55
|
-
const resolvedSizes = computed(
|
|
76
|
+
const resolvedSizes = computed(
|
|
77
|
+
() => props.sizes ?? (props.fill ? '100vw' : undefined)
|
|
78
|
+
);
|
|
56
79
|
|
|
57
|
-
const resolvedLoading = computed(() =>
|
|
80
|
+
const resolvedLoading = computed(() =>
|
|
81
|
+
props.priority ? 'eager' : props.loading
|
|
82
|
+
);
|
|
58
83
|
|
|
59
|
-
const resolvedFetchPriority = computed(() =>
|
|
84
|
+
const resolvedFetchPriority = computed(() =>
|
|
85
|
+
props.priority ? 'high' : props.fetchPriority
|
|
86
|
+
);
|
|
60
87
|
|
|
61
|
-
const hasBlur = computed(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
props.placeholder
|
|
65
|
-
|
|
88
|
+
const hasBlur = computed(
|
|
89
|
+
() =>
|
|
90
|
+
props.placeholder === 'blur' ||
|
|
91
|
+
(typeof props.placeholder === 'string' &&
|
|
92
|
+
props.placeholder !== 'empty' &&
|
|
93
|
+
props.placeholder.startsWith('data:'))
|
|
66
94
|
);
|
|
67
95
|
|
|
68
96
|
const blurBackground = computed(() => {
|
|
@@ -123,7 +151,13 @@ const handleError = (e: Event) => {
|
|
|
123
151
|
|
|
124
152
|
<span
|
|
125
153
|
v-if="fill"
|
|
126
|
-
style="
|
|
154
|
+
style="
|
|
155
|
+
position: relative;
|
|
156
|
+
overflow: hidden;
|
|
157
|
+
display: block;
|
|
158
|
+
width: 100%;
|
|
159
|
+
height: 100%;
|
|
160
|
+
"
|
|
127
161
|
>
|
|
128
162
|
<img
|
|
129
163
|
:alt="alt"
|
|
@@ -65,7 +65,7 @@ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
|
65
65
|
var __require = import.meta.require;
|
|
66
66
|
|
|
67
67
|
// src/vue/components/Image.vue
|
|
68
|
-
var Image_default = "../../Image-
|
|
68
|
+
var Image_default = "../../Image-k52pzpdh.vue";
|
|
69
69
|
export {
|
|
70
70
|
Image_default as Image
|
|
71
71
|
};
|
package/package.json
CHANGED