@rakun-kit/react 1.5.2 → 1.6.0

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 (111) hide show
  1. package/README.md +41 -34
  2. package/dist/cjs/Image.js +35 -34
  3. package/dist/cjs/Image.js.map +1 -1
  4. package/dist/cjs/JsonViewer.js +76 -0
  5. package/dist/cjs/JsonViewer.js.map +1 -0
  6. package/dist/cjs/ModuleRenderer.js +7 -2
  7. package/dist/cjs/ModuleRenderer.js.map +1 -1
  8. package/dist/cjs/PageInfoClientProvider.js +9 -6
  9. package/dist/cjs/PageInfoClientProvider.js.map +1 -1
  10. package/dist/cjs/PageInfoClientSync.js +3 -2
  11. package/dist/cjs/PageInfoClientSync.js.map +1 -1
  12. package/dist/cjs/PageInfoProvider.js +6 -2
  13. package/dist/cjs/PageInfoProvider.js.map +1 -1
  14. package/dist/cjs/RakunLogo.js +12 -0
  15. package/dist/cjs/RakunLogo.js.map +1 -0
  16. package/dist/cjs/ServerModuleRenderer.js +4 -0
  17. package/dist/cjs/ServerModuleRenderer.js.map +1 -1
  18. package/dist/cjs/StructuredData.js +135 -0
  19. package/dist/cjs/StructuredData.js.map +1 -0
  20. package/dist/cjs/Video.js +64 -0
  21. package/dist/cjs/Video.js.map +1 -0
  22. package/dist/cjs/builtin-modules.js +7 -0
  23. package/dist/cjs/builtin-modules.js.map +1 -0
  24. package/dist/cjs/format.js +3 -3
  25. package/dist/cjs/format.js.map +1 -1
  26. package/dist/cjs/index.js +5 -0
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/mediaUrl.js +25 -0
  29. package/dist/cjs/mediaUrl.js.map +1 -0
  30. package/dist/cjs/pageInfoStore.js +58 -14
  31. package/dist/cjs/pageInfoStore.js.map +1 -1
  32. package/dist/cjs/translation.js +2 -1
  33. package/dist/cjs/translation.js.map +1 -1
  34. package/dist/cjs/useClientT.js +2 -0
  35. package/dist/cjs/useClientT.js.map +1 -1
  36. package/dist/cjs/useT.js +2 -0
  37. package/dist/cjs/useT.js.map +1 -1
  38. package/dist/docs/index.md +43 -10
  39. package/dist/esm/Image.d.ts +2 -2
  40. package/dist/esm/Image.d.ts.map +1 -1
  41. package/dist/esm/Image.js +32 -31
  42. package/dist/esm/Image.js.map +1 -1
  43. package/dist/esm/JsonViewer.d.ts +17 -0
  44. package/dist/esm/JsonViewer.d.ts.map +1 -0
  45. package/dist/esm/JsonViewer.js +73 -0
  46. package/dist/esm/JsonViewer.js.map +1 -0
  47. package/dist/esm/ModuleRenderer.d.ts +1 -1
  48. package/dist/esm/ModuleRenderer.d.ts.map +1 -1
  49. package/dist/esm/ModuleRenderer.js +7 -2
  50. package/dist/esm/ModuleRenderer.js.map +1 -1
  51. package/dist/esm/PageInfoClientProvider.d.ts +4 -2
  52. package/dist/esm/PageInfoClientProvider.d.ts.map +1 -1
  53. package/dist/esm/PageInfoClientProvider.js +8 -6
  54. package/dist/esm/PageInfoClientProvider.js.map +1 -1
  55. package/dist/esm/PageInfoClientSync.d.ts +1 -0
  56. package/dist/esm/PageInfoClientSync.d.ts.map +1 -1
  57. package/dist/esm/PageInfoClientSync.js +3 -2
  58. package/dist/esm/PageInfoClientSync.js.map +1 -1
  59. package/dist/esm/PageInfoProvider.d.ts +1 -0
  60. package/dist/esm/PageInfoProvider.d.ts.map +1 -1
  61. package/dist/esm/PageInfoProvider.js +7 -3
  62. package/dist/esm/PageInfoProvider.js.map +1 -1
  63. package/dist/esm/RakunLogo.d.ts +6 -0
  64. package/dist/esm/RakunLogo.d.ts.map +1 -0
  65. package/dist/esm/RakunLogo.js +7 -0
  66. package/dist/esm/RakunLogo.js.map +1 -0
  67. package/dist/esm/ServerModuleRenderer.d.ts.map +1 -1
  68. package/dist/esm/ServerModuleRenderer.js +4 -0
  69. package/dist/esm/ServerModuleRenderer.js.map +1 -1
  70. package/dist/esm/StructuredData.d.ts +29 -0
  71. package/dist/esm/StructuredData.d.ts.map +1 -0
  72. package/dist/esm/StructuredData.js +129 -0
  73. package/dist/esm/StructuredData.js.map +1 -0
  74. package/dist/esm/Video.d.ts +35 -0
  75. package/dist/esm/Video.d.ts.map +1 -0
  76. package/dist/esm/Video.js +60 -0
  77. package/dist/esm/Video.js.map +1 -0
  78. package/dist/esm/builtin-modules.d.ts +3 -0
  79. package/dist/esm/builtin-modules.d.ts.map +1 -0
  80. package/dist/esm/builtin-modules.js +3 -0
  81. package/dist/esm/builtin-modules.js.map +1 -0
  82. package/dist/esm/format.d.ts +2 -0
  83. package/dist/esm/format.d.ts.map +1 -1
  84. package/dist/esm/format.js +3 -3
  85. package/dist/esm/format.js.map +1 -1
  86. package/dist/esm/index.d.ts +11 -6
  87. package/dist/esm/index.d.ts.map +1 -1
  88. package/dist/esm/index.js +11 -6
  89. package/dist/esm/index.js.map +1 -1
  90. package/dist/esm/mediaUrl.d.ts +7 -0
  91. package/dist/esm/mediaUrl.d.ts.map +1 -0
  92. package/dist/esm/mediaUrl.js +21 -0
  93. package/dist/esm/mediaUrl.js.map +1 -0
  94. package/dist/esm/pageInfoStore.d.ts +4 -1
  95. package/dist/esm/pageInfoStore.d.ts.map +1 -1
  96. package/dist/esm/pageInfoStore.js +55 -13
  97. package/dist/esm/pageInfoStore.js.map +1 -1
  98. package/dist/esm/translation.d.ts +1 -1
  99. package/dist/esm/translation.d.ts.map +1 -1
  100. package/dist/esm/translation.js +1 -1
  101. package/dist/esm/translation.js.map +1 -1
  102. package/dist/esm/useClientT.d.ts +1 -1
  103. package/dist/esm/useClientT.d.ts.map +1 -1
  104. package/dist/esm/useClientT.js +3 -1
  105. package/dist/esm/useClientT.js.map +1 -1
  106. package/dist/esm/useT.d.ts +1 -1
  107. package/dist/esm/useT.d.ts.map +1 -1
  108. package/dist/esm/useT.js +3 -1
  109. package/dist/esm/useT.js.map +1 -1
  110. package/dist/tsconfig.build.tsbuildinfo +1 -1
  111. package/package.json +68 -68
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeJsonLd = exports.buildStructuredData = void 0;
4
+ exports.StructuredData = StructuredData;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const getImageUrl = (value) => {
7
+ if (!value || typeof value !== 'object' || !('url' in value))
8
+ return undefined;
9
+ return typeof value.url === 'string' && value.url ? value.url : undefined;
10
+ };
11
+ const getDateValue = (value) => {
12
+ if (!value)
13
+ return undefined;
14
+ if (value instanceof Date)
15
+ return Number.isNaN(value.getTime()) ? undefined : value.toISOString();
16
+ const date = new Date(value);
17
+ return Number.isNaN(date.getTime()) ? value : date.toISOString();
18
+ };
19
+ const compactJsonLd = (value) => {
20
+ if (value === undefined || value === null || value === '')
21
+ return undefined;
22
+ if (Array.isArray(value)) {
23
+ const items = value.map(compactJsonLd).filter((item) => item !== undefined);
24
+ return items.length ? items : undefined;
25
+ }
26
+ if (typeof value === 'object') {
27
+ const entries = Object.entries(value).flatMap(([key, item]) => {
28
+ const compacted = compactJsonLd(item);
29
+ return compacted === undefined ? [] : [[key, compacted]];
30
+ });
31
+ return entries.length ? Object.fromEntries(entries) : undefined;
32
+ }
33
+ return value;
34
+ };
35
+ const schemaUrl = (value) => value ? `https://schema.org/${value}` : undefined;
36
+ const buildStructuredData = (props) => {
37
+ const common = {
38
+ '@context': 'https://schema.org',
39
+ '@type': props.schemaType,
40
+ name: props.name,
41
+ description: props.description,
42
+ url: props.url,
43
+ image: getImageUrl(props.image),
44
+ };
45
+ switch (props.schemaType) {
46
+ case 'Product':
47
+ return compactJsonLd({
48
+ ...common,
49
+ sku: props.sku,
50
+ brand: props.brand ? { '@type': 'Brand', name: props.brand } : undefined,
51
+ offers: props.price !== undefined ||
52
+ props.priceCurrency ||
53
+ props.availability ||
54
+ props.itemCondition
55
+ ? {
56
+ '@type': 'Offer',
57
+ url: props.url,
58
+ price: props.price,
59
+ priceCurrency: props.priceCurrency,
60
+ availability: schemaUrl(props.availability),
61
+ itemCondition: schemaUrl(props.itemCondition),
62
+ }
63
+ : undefined,
64
+ aggregateRating: props.ratingValue !== undefined || props.reviewCount !== undefined
65
+ ? {
66
+ '@type': 'AggregateRating',
67
+ ratingValue: props.ratingValue,
68
+ reviewCount: props.reviewCount,
69
+ }
70
+ : undefined,
71
+ });
72
+ case 'Article':
73
+ return compactJsonLd({
74
+ ...common,
75
+ headline: props.name,
76
+ author: props.authorName
77
+ ? { '@type': 'Person', name: props.authorName }
78
+ : undefined,
79
+ publisher: props.publisherName
80
+ ? { '@type': 'Organization', name: props.publisherName }
81
+ : undefined,
82
+ datePublished: getDateValue(props.datePublished),
83
+ dateModified: getDateValue(props.dateModified),
84
+ });
85
+ case 'Organization':
86
+ return compactJsonLd({
87
+ ...common,
88
+ logo: getImageUrl(props.logo),
89
+ });
90
+ case 'WebSite':
91
+ return compactJsonLd(common);
92
+ case 'BreadcrumbList':
93
+ return compactJsonLd({
94
+ '@context': 'https://schema.org',
95
+ '@type': 'BreadcrumbList',
96
+ itemListElement: props.breadcrumbs?.map((item, index) => ({
97
+ '@type': 'ListItem',
98
+ position: index + 1,
99
+ name: item.title,
100
+ item: item.href,
101
+ })),
102
+ });
103
+ case 'Custom':
104
+ if (!props.customJson?.trim())
105
+ return undefined;
106
+ try {
107
+ return JSON.parse(props.customJson);
108
+ }
109
+ catch {
110
+ return undefined;
111
+ }
112
+ default:
113
+ return undefined;
114
+ }
115
+ };
116
+ exports.buildStructuredData = buildStructuredData;
117
+ const serializeJsonLd = (value) => JSON.stringify(value)
118
+ .replace(/</g, '\\u003c')
119
+ .replace(/\u2028/g, '\\u2028')
120
+ .replace(/\u2029/g, '\\u2029');
121
+ exports.serializeJsonLd = serializeJsonLd;
122
+ const serializeInvalidJsonLd = (value) => value.replace(/</g, '\\u003c').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029');
123
+ function StructuredData(props) {
124
+ const data = (0, exports.buildStructuredData)(props);
125
+ const invalidCustomJson = props.schemaType === 'Custom' && props.customJson?.trim() && data === undefined
126
+ ? props.customJson
127
+ : undefined;
128
+ if (invalidCustomJson) {
129
+ return ((0, jsx_runtime_1.jsx)("script", { "data-rakun-json-ld-invalid": "", type: "application/ld+json", dangerouslySetInnerHTML: { __html: serializeInvalidJsonLd(invalidCustomJson) } }));
130
+ }
131
+ if (data === undefined)
132
+ return null;
133
+ return ((0, jsx_runtime_1.jsx)("script", { "data-rakun-json-ld": "", type: "application/ld+json", dangerouslySetInnerHTML: { __html: (0, exports.serializeJsonLd)(data) } }));
134
+ }
135
+ //# sourceMappingURL=StructuredData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StructuredData.js","sourceRoot":"","sources":["../../src/StructuredData.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Video = void 0;
4
+ exports.RakunVideo = RakunVideo;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const mediaUrl_1 = require("./mediaUrl.js");
7
+ const sourcePriority = (source) => {
8
+ const type = source.type?.toLowerCase();
9
+ if (type === 'video/webm')
10
+ return 0;
11
+ if (type === 'video/mp4')
12
+ return 1;
13
+ return 2;
14
+ };
15
+ const resolveVideoSources = ({ video, src, type, sources, fallbackSrc, mediaBaseUrl, mediaPublicPath, }) => {
16
+ const candidates = [
17
+ ...(sources ?? video?.sources ?? []),
18
+ ...(src
19
+ ? [{ url: src, mime: type ?? video?.mime }]
20
+ : video?.url || video?.key
21
+ ? [{ key: video.key, url: video.url, mime: video.mime }]
22
+ : []),
23
+ ...(fallbackSrc ? [{ url: fallbackSrc }] : []),
24
+ ];
25
+ const resolved = candidates.flatMap((source, index) => {
26
+ const sourceUrl = source.url ||
27
+ (0, mediaUrl_1.resolvePublicMediaUrl)({
28
+ key: source.key,
29
+ access: video?.access,
30
+ mediaBaseUrl,
31
+ mediaPublicPath: mediaPublicPath ?? '/media/public',
32
+ });
33
+ if (!sourceUrl)
34
+ return [];
35
+ return [
36
+ {
37
+ src: sourceUrl,
38
+ type: source.mime || undefined,
39
+ index,
40
+ },
41
+ ];
42
+ });
43
+ return resolved
44
+ .filter((source, index, all) => all.findIndex((candidate) => candidate.src === source.src) === index)
45
+ .sort((a, b) => sourcePriority(a) - sourcePriority(b) || a.index - b.index)
46
+ .map(({ src: sourceSrc, type: sourceType }) => ({
47
+ src: sourceSrc,
48
+ type: sourceType,
49
+ }));
50
+ };
51
+ function RakunVideo({ video, src, type, sources, fallbackSrc, title, width, height, mediaBaseUrl, mediaPublicPath = '/media/public', children, ...videoProps }) {
52
+ const resolvedSources = resolveVideoSources({
53
+ video,
54
+ src,
55
+ type,
56
+ sources,
57
+ fallbackSrc,
58
+ mediaBaseUrl,
59
+ mediaPublicPath,
60
+ });
61
+ return ((0, jsx_runtime_1.jsxs)("video", { ...videoProps, title: title ?? video?.title ?? video?.name ?? undefined, width: width ?? video?.width ?? undefined, height: height ?? video?.height ?? undefined, children: [resolvedSources.map((source) => ((0, jsx_runtime_1.jsx)("source", { src: source.src, type: source.type }, `${source.type ?? ''}:${source.src}`))), children] }));
62
+ }
63
+ exports.Video = RakunVideo;
64
+ //# sourceMappingURL=Video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Video.js","sourceRoot":"","sources":["../../src/Video.tsx"],"names":[],"mappings":";;;AAyGA,gCAqCC;;AA5ID,yCAAkD;AAyClD,MAAM,cAAc,GAAG,CAAC,MAA2B,EAAU,EAAE;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAA;IAEvC,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAA;IAClC,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,EAC3B,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,eAAe,GAIhB,EAAyB,EAAE;IAC1B,MAAM,UAAU,GAAuB;QACrC,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACpC,GAAG,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG;gBACxB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxD,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAA;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,SAAS,GACb,MAAM,CAAC,GAAG;YACV,IAAA,gCAAqB,EAAC;gBACpB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM,EAAE,KAAK,EAAE,MAAM;gBACrB,YAAY;gBACZ,eAAe,EAAE,eAAe,IAAI,eAAe;aACpD,CAAC,CAAA;QAEJ,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAA;QAEzB,OAAO;YACL;gBACE,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;gBAC9B,KAAK;aACN;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ;SACZ,MAAM,CACL,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAC7F;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SAC1E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC,CAAA;AACP,CAAC,CAAA;AAED,SAAgB,UAAU,CAAC,EACzB,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EACZ,eAAe,GAAG,eAAe,EACjC,QAAQ,EACR,GAAG,UAAU,EACG;IAChB,MAAM,eAAe,GAAG,mBAAmB,CAAC;QAC1C,KAAK;QACL,GAAG;QACH,IAAI;QACJ,OAAO;QACP,WAAW;QACX,YAAY;QACZ,eAAe;KAChB,CAAC,CAAA;IAEF,OAAO,CACL,sCACM,UAAU,EACd,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,IAAI,IAAI,SAAS,EACxD,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,SAAS,EACzC,MAAM,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,IAAI,SAAS,aAE3C,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,mCAAmD,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAxE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,CAAwC,CAC1F,CAAC,EACD,QAAQ,IACH,CACT,CAAA;AACH,CAAC;AAEY,QAAA,KAAK,GAAG,UAAU,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRakunBuiltinModuleComponent = void 0;
4
+ const StructuredData_1 = require("./StructuredData.js");
5
+ const getRakunBuiltinModuleComponent = (name) => (name === 'StructuredData' ? StructuredData_1.StructuredData : null);
6
+ exports.getRakunBuiltinModuleComponent = getRakunBuiltinModuleComponent;
7
+ //# sourceMappingURL=builtin-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-modules.js","sourceRoot":"","sources":["../../src/builtin-modules.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAE1C,MAAM,8BAA8B,GAAG,CAC5C,IAAY,EACiB,EAAE,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,+BAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAFxE,QAAA,8BAA8B,kCAE0C"}
@@ -47,10 +47,10 @@ const getLocaleFromInfo = (info) => {
47
47
  return typeof locale === 'string' && locale ? locale : 'en';
48
48
  };
49
49
  exports.getLocaleFromInfo = getLocaleFromInfo;
50
- function tFromInfo({ info, key, values, }) {
51
- const literals = (0, exports.getLiteralsFromInfo)(info);
50
+ function tFromInfo({ info, literals, key, values, }) {
51
+ const resolvedLiterals = literals ?? (0, exports.getLiteralsFromInfo)(info);
52
52
  const locale = (0, exports.getLocaleFromInfo)(info);
53
- const message = literals[key] || (0, literals_1.getLiteralDefinition)(key)?.defaultMessage || String(key);
53
+ const message = resolvedLiterals[key] || (0, literals_1.getLiteralDefinition)(key)?.defaultMessage || String(key);
54
54
  return formatIcuLike({
55
55
  message,
56
56
  locale,
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -16,10 +16,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ErrorBoundary.js"), exports);
18
18
  __exportStar(require("./Image.js"), exports);
19
+ __exportStar(require("./JsonViewer.js"), exports);
19
20
  __exportStar(require("./LazyViewport.js"), exports);
20
21
  __exportStar(require("./ModuleRenderer.js"), exports);
22
+ __exportStar(require("./RakunLogo.js"), exports);
21
23
  __exportStar(require("./ServerModuleRenderer.js"), exports);
22
24
  __exportStar(require("./registry.js"), exports);
23
25
  __exportStar(require("./translation.js"), exports);
24
26
  __exportStar(require("./plugins.js"), exports);
27
+ __exportStar(require("./StructuredData.js"), exports);
28
+ __exportStar(require("./builtin-modules.js"), exports);
29
+ __exportStar(require("./Video.js"), exports);
25
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,0CAAwB;AACxB,iDAA+B;AAC/B,mDAAiC;AACjC,yDAAsC;AACtC,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,0CAAuB;AACvB,+CAA4B;AAC5B,iDAA8B;AAC9B,mDAAgC;AAChC,8CAA2B;AAC3B,yDAAsC;AACtC,6CAA0B;AAC1B,gDAA6B;AAC7B,4CAAyB;AACzB,mDAAgC;AAChC,oDAAiC;AACjC,0CAAuB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvePublicMediaUrl = void 0;
4
+ const encodeMediaPath = (value) => value
5
+ .split('/')
6
+ .filter(Boolean)
7
+ .map((part) => encodeURIComponent(part))
8
+ .join('/');
9
+ const joinUrlPath = (baseUrl, pathname) => {
10
+ const normalizedPath = pathname.startsWith('/') ? pathname : `/${pathname}`;
11
+ if (!baseUrl)
12
+ return normalizedPath;
13
+ return `${baseUrl.replace(/\/$/, '')}${normalizedPath}`;
14
+ };
15
+ const resolvePublicMediaUrl = ({ key, access, mediaBaseUrl, mediaPublicPath, }) => {
16
+ if (!key || access === 'private')
17
+ return undefined;
18
+ const publicKey = key.startsWith('public/') ? key.slice('public/'.length) : key;
19
+ const encodedKey = encodeMediaPath(publicKey);
20
+ if (!encodedKey)
21
+ return undefined;
22
+ return joinUrlPath(mediaBaseUrl, `${mediaPublicPath}/${encodedKey}`);
23
+ };
24
+ exports.resolvePublicMediaUrl = resolvePublicMediaUrl;
25
+ //# sourceMappingURL=mediaUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaUrl.js","sourceRoot":"","sources":["../../src/mediaUrl.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE,CAChD,KAAK;KACF,KAAK,CAAC,GAAG,CAAC;KACV,MAAM,CAAC,OAAO,CAAC;KACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACvC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEd,MAAM,WAAW,GAAG,CAAC,OAAkC,EAAE,QAAgB,EAAE,EAAE;IAC3E,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAA;IAE3E,IAAI,CAAC,OAAO;QAAE,OAAO,cAAc,CAAA;IAEnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,cAAc,EAAE,CAAA;AACzD,CAAC,CAAA;AAEM,MAAM,qBAAqB,GAAG,CAAC,EACpC,GAAG,EACH,MAAM,EACN,YAAY,EACZ,eAAe,GAMhB,EAAsB,EAAE;IACvB,IAAI,CAAC,GAAG,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAElD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAC/E,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAE7C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IAEjC,OAAO,WAAW,CAAC,YAAY,EAAE,GAAG,eAAe,IAAI,UAAU,EAAE,CAAC,CAAA;AACtE,CAAC,CAAA;AAnBY,QAAA,qBAAqB,yBAmBjC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCurrentPageInfo = exports.setCurrentPageInfo = exports.runWithPageInfo = void 0;
4
- let currentServerPageInfo;
3
+ exports.getCurrentPageLiterals = exports.getCurrentPageInfo = exports.setCurrentPageLiterals = exports.setCurrentPageInfo = exports.runWithPageInfo = void 0;
4
+ let currentServerPageContext;
5
5
  let asyncLocalStore;
6
6
  const pageInfoTemplateSelector = 'template[data-rakun-page-info]';
7
+ const pageLiteralsTemplateSelector = 'template[data-rakun-page-literals]';
7
8
  const getNodeRequire = () => {
8
9
  try {
9
10
  return Function('return typeof require === "function" ? require : null')();
@@ -45,21 +46,21 @@ const getAsyncLocalStore = () => {
45
46
  : null;
46
47
  return asyncLocalStore;
47
48
  };
48
- const runWithFallbackPageInfo = (info, fn) => {
49
- const previous = currentServerPageInfo;
50
- currentServerPageInfo = info;
49
+ const runWithFallbackPageInfo = (info, fn, literals) => {
50
+ const previous = currentServerPageContext;
51
+ currentServerPageContext = { info, literals };
51
52
  try {
52
53
  const result = fn();
53
54
  if (isPromiseLike(result)) {
54
55
  return Promise.resolve(result).finally(() => {
55
- currentServerPageInfo = previous;
56
+ currentServerPageContext = previous;
56
57
  });
57
58
  }
58
- currentServerPageInfo = previous;
59
+ currentServerPageContext = previous;
59
60
  return result;
60
61
  }
61
62
  catch (error) {
62
- currentServerPageInfo = previous;
63
+ currentServerPageContext = previous;
63
64
  throw error;
64
65
  }
65
66
  };
@@ -80,17 +81,35 @@ const getTemplatePageInfo = () => {
80
81
  return undefined;
81
82
  }
82
83
  };
83
- const runWithPageInfo = (info, fn) => {
84
+ const getTemplatePageLiterals = () => {
85
+ if (typeof document === 'undefined')
86
+ return undefined;
87
+ const template = document.querySelector(pageLiteralsTemplateSelector);
88
+ const raw = template?.content.textContent ?? template?.innerHTML ?? template?.textContent;
89
+ if (!raw)
90
+ return undefined;
91
+ try {
92
+ const parsed = JSON.parse(raw);
93
+ if (!parsed || typeof parsed !== 'object')
94
+ return undefined;
95
+ return Object.fromEntries(Object.entries(parsed).filter(([, value]) => typeof value === 'string'));
96
+ }
97
+ catch {
98
+ return undefined;
99
+ }
100
+ };
101
+ const runWithPageInfo = (info, fn, literals) => {
84
102
  if (typeof window !== 'undefined') {
85
103
  const browserWindow = window;
86
104
  browserWindow.__CMS_PAGE_INFO__ = info;
105
+ browserWindow.__CMS_PAGE_LITERALS__ = literals;
87
106
  return fn();
88
107
  }
89
108
  const store = getAsyncLocalStore();
90
109
  if (store) {
91
- return store.run(info, fn);
110
+ return store.run({ info, literals }, fn);
92
111
  }
93
- return runWithFallbackPageInfo(info, fn);
112
+ return runWithFallbackPageInfo(info, fn, literals);
94
113
  };
95
114
  exports.runWithPageInfo = runWithPageInfo;
96
115
  const setCurrentPageInfo = (info) => {
@@ -99,16 +118,41 @@ const setCurrentPageInfo = (info) => {
99
118
  window.__CMS_PAGE_INFO__ = info;
100
119
  return;
101
120
  }
102
- currentServerPageInfo = info;
121
+ currentServerPageContext = {
122
+ info,
123
+ literals: currentServerPageContext?.literals,
124
+ };
103
125
  };
104
126
  exports.setCurrentPageInfo = setCurrentPageInfo;
127
+ const setCurrentPageLiterals = (literals) => {
128
+ if (typeof window !== 'undefined') {
129
+ ;
130
+ window.__CMS_PAGE_LITERALS__ = literals;
131
+ return;
132
+ }
133
+ currentServerPageContext = {
134
+ info: currentServerPageContext?.info,
135
+ literals,
136
+ };
137
+ };
138
+ exports.setCurrentPageLiterals = setCurrentPageLiterals;
105
139
  const getCurrentPageInfo = () => {
106
140
  if (typeof window !== 'undefined') {
107
141
  return (window.__CMS_PAGE_INFO__ ??
108
142
  getTemplatePageInfo() ??
109
- currentServerPageInfo);
143
+ currentServerPageContext?.info);
110
144
  }
111
- return getAsyncLocalStore()?.getStore() ?? currentServerPageInfo;
145
+ return getAsyncLocalStore()?.getStore()?.info ?? currentServerPageContext?.info;
112
146
  };
113
147
  exports.getCurrentPageInfo = getCurrentPageInfo;
148
+ const getCurrentPageLiterals = () => {
149
+ if (typeof window !== 'undefined') {
150
+ return (window.__CMS_PAGE_LITERALS__ ??
151
+ getTemplatePageLiterals() ??
152
+ currentServerPageContext?.literals);
153
+ }
154
+ return (getAsyncLocalStore()?.getStore()?.literals ??
155
+ currentServerPageContext?.literals);
156
+ };
157
+ exports.getCurrentPageLiterals = getCurrentPageLiterals;
114
158
  //# sourceMappingURL=pageInfoStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageInfoStore.js","sourceRoot":"","sources":["../../src/pageInfoStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pageInfoStore.js","sourceRoot":"","sources":["../../src/pageInfoStore.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useT = exports.useClientT = exports.usePageInfo = exports.PageInfoProvider = exports.PageInfoClientSync = exports.runWithPageInfo = exports.getCurrentPageInfo = exports.tFromInfo = exports.getLiteralsFromInfo = exports.getLocaleFromInfo = void 0;
3
+ exports.useT = exports.useClientT = exports.usePageInfo = exports.PageInfoProvider = exports.PageInfoClientSync = exports.runWithPageInfo = exports.getCurrentPageLiterals = exports.getCurrentPageInfo = exports.tFromInfo = exports.getLiteralsFromInfo = exports.getLocaleFromInfo = void 0;
4
4
  var format_1 = require("./format.js");
5
5
  Object.defineProperty(exports, "getLocaleFromInfo", { enumerable: true, get: function () { return format_1.getLocaleFromInfo; } });
6
6
  Object.defineProperty(exports, "getLiteralsFromInfo", { enumerable: true, get: function () { return format_1.getLiteralsFromInfo; } });
7
7
  Object.defineProperty(exports, "tFromInfo", { enumerable: true, get: function () { return format_1.tFromInfo; } });
8
8
  var pageInfoStore_1 = require("./pageInfoStore.js");
9
9
  Object.defineProperty(exports, "getCurrentPageInfo", { enumerable: true, get: function () { return pageInfoStore_1.getCurrentPageInfo; } });
10
+ Object.defineProperty(exports, "getCurrentPageLiterals", { enumerable: true, get: function () { return pageInfoStore_1.getCurrentPageLiterals; } });
10
11
  Object.defineProperty(exports, "runWithPageInfo", { enumerable: true, get: function () { return pageInfoStore_1.runWithPageInfo; } });
11
12
  var PageInfoClientSync_1 = require("./PageInfoClientSync.js");
12
13
  Object.defineProperty(exports, "PageInfoClientSync", { enumerable: true, get: function () { return PageInfoClientSync_1.PageInfoClientSync; } });
@@ -1 +1 @@
1
- {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/translation.ts"],"names":[],"mappings":";;;AAAA,mCAMiB;AALf,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AACnB,mGAAA,SAAS,OAAA;AAIX,iDAIwB;AAHtB,mHAAA,kBAAkB,OAAA;AAClB,gHAAA,eAAe,OAAA;AAGjB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,uDAAkE;AAAzD,oHAAA,gBAAgB,OAAA;AAAE,+GAAA,WAAW,OAAA;AACtC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/translation.ts"],"names":[],"mappings":";;;AAAA,mCAMiB;AALf,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AACnB,mGAAA,SAAS,OAAA;AAIX,iDAMwB;AALtB,mHAAA,kBAAkB,OAAA;AAClB,uHAAA,sBAAsB,OAAA;AACtB,gHAAA,eAAe,OAAA;AAIjB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,uDAAkE;AAAzD,oHAAA,gBAAgB,OAAA;AAAE,+GAAA,WAAW,OAAA;AACtC,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
@@ -6,8 +6,10 @@ const format_1 = require("./format.js");
6
6
  const PageInfoClientProvider_1 = require("./PageInfoClientProvider.js");
7
7
  const useClientT = () => {
8
8
  const info = (0, PageInfoClientProvider_1.useClientPageInfo)();
9
+ const literals = (0, PageInfoClientProvider_1.useClientPageLiterals)();
9
10
  return (input) => (0, format_1.tFromInfo)({
10
11
  info,
12
+ literals,
11
13
  ...input,
12
14
  });
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useClientT.js","sourceRoot":"","sources":["../../src/useClientT.ts"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;AAIZ,qCAAwD;AACxD,qEAA4D;AAErD,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAA,0CAAiB,GAAE,CAAA;IAEhC,OAAO,CAAuB,KAAqC,EAAE,EAAE,CACrE,IAAA,kBAAS,EAAC;QACR,IAAI;QACJ,GAAG,KAAK;KACT,CAAC,CAAA;AACN,CAAC,CAAA;AARY,QAAA,UAAU,cAQtB"}
1
+ {"version":3,"file":"useClientT.js","sourceRoot":"","sources":["../../src/useClientT.ts"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;AAIZ,qCAAwD;AACxD,qEAGiC;AAE1B,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAA,0CAAiB,GAAE,CAAA;IAChC,MAAM,QAAQ,GAAG,IAAA,8CAAqB,GAAE,CAAA;IAExC,OAAO,CACL,KAAkD,EAClD,EAAE,CACF,IAAA,kBAAS,EAAC;QACR,IAAI;QACJ,QAAQ;QACR,GAAG,KAAK;KACT,CAAC,CAAA;AACN,CAAC,CAAA;AAZY,QAAA,UAAU,cAYtB"}
package/dist/cjs/useT.js CHANGED
@@ -6,8 +6,10 @@ const pageInfoStore_1 = require("./pageInfoStore.js");
6
6
  const useT = () => {
7
7
  return (input) => {
8
8
  const info = (0, pageInfoStore_1.getCurrentPageInfo)();
9
+ const literals = (0, pageInfoStore_1.getCurrentPageLiterals)();
9
10
  return (0, format_1.tFromInfo)({
10
11
  info,
12
+ literals,
11
13
  ...input,
12
14
  });
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useT.js","sourceRoot":"","sources":["../../src/useT.ts"],"names":[],"mappings":";;;AAEA,qCAAwD;AACxD,mDAAoD;AAE7C,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,OAAO,CAAuB,KAAqC,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,IAAA,kCAAkB,GAAE,CAAA;QAEjC,OAAO,IAAA,kBAAS,EAAC;YACf,IAAI;YACJ,GAAG,KAAK;SACT,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,IAAI,QAShB"}
1
+ {"version":3,"file":"useT.js","sourceRoot":"","sources":["../../src/useT.ts"],"names":[],"mappings":";;;AAEA,qCAAwD;AACxD,mDAA4E;AAErE,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,OAAO,CACL,KAAkD,EAClD,EAAE;QACF,MAAM,IAAI,GAAG,IAAA,kCAAkB,GAAE,CAAA;QACjC,MAAM,QAAQ,GAAG,IAAA,sCAAsB,GAAE,CAAA;QAEzC,OAAO,IAAA,kBAAS,EAAC;YACf,IAAI;YACJ,QAAQ;YACR,GAAG,KAAK;SACT,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,IAAI,QAahB"}
@@ -26,6 +26,13 @@ export function Page({ modules }) {
26
26
  Registry keys must match module `_type` values. A module file exports either a
27
27
  default component or a named `component`.
28
28
 
29
+ The built-in `StructuredData` module is handled before the registry or loader.
30
+ It renders a safely escaped `application/ld+json` script for Rakun's typed
31
+ schema forms and needs no application component. An explicit registry entry
32
+ with the same name still takes precedence when an application intentionally
33
+ overrides it. `buildStructuredData`, `serializeJsonLd`, and the component are
34
+ also exported for direct use.
35
+
29
36
  For Vite, `createModuleRegistryFromGlob(import.meta.glob(...))` maps file names
30
37
  to module names. Pass `getName` for nested or nonstandard layouts. When using
31
38
  the client `ModuleRenderer` with Next.js, define `(name) => import(...)` inside
@@ -47,12 +54,7 @@ export default async function SectionLayout({ blocks = [] }) {
47
54
  _type: name,
48
55
  }))
49
56
 
50
- return (
51
- <ServerModuleRenderer
52
- modules={modules}
53
- loadModule={(name) => import(`./${name}`)}
54
- />
55
- )
57
+ return <ServerModuleRenderer modules={modules} loadModule={(name) => import(`./${name}`)} />
56
58
  }
57
59
  ```
58
60
 
@@ -64,7 +66,14 @@ the client renderer. It also accepts `missing` and `getKey`. Use the client
64
66
 
65
67
  Use `PageLayoutRenderer` for page responses with fixed layout slots. Its
66
68
  `renderContent` callback wraps only the modules at the `{ type: 'content' }`
67
- slot.
69
+ slot. Page responses carry modules only in their required `layout`; the
70
+ standalone `modules` prop remains available when rendering a module array that
71
+ did not come from the page endpoint.
72
+
73
+ When a complete page response is passed, its top-level `literals` property is
74
+ made available automatically to `useT`; it is not part of the public page
75
+ `info` object. Custom providers can pass it through the separate `literals`
76
+ prop on `PageInfoProvider`, or as the third argument to `runWithPageInfo`.
68
77
 
69
78
  Web plugins are explicit browser/runtime facets:
70
79
 
@@ -95,8 +104,9 @@ server bootstrap separately.
95
104
  `Image` / `RakunImage` builds a responsive `srcSet` from media `sizes` and
96
105
  accepts a layout `sizes` attribute so the browser picks an appropriate width.
97
106
  When `previewUrl` is a `data:image/...` LQIP string, it is used as the image
98
- background while the full asset loads. Pass `usePreview` to render the preview
99
- string/URL as the primary `src` instead.
107
+ background with a blur while the full asset loads. The blur is removed after
108
+ the final image fires `load`. Pass `usePreview` to render the preview string/URL
109
+ as the primary `src` instead.
100
110
 
101
111
  ```tsx
102
112
  import { Image } from '@rakun-kit/react'
@@ -106,9 +116,32 @@ export function HeroImage({ image }) {
106
116
  }
107
117
  ```
108
118
 
119
+ ## Videos
120
+
121
+ `Video` / `RakunVideo` renders Rakun media variants as native `<source>`
122
+ elements. WebM sources are placed before MP4, so browsers that support WebM
123
+ select it while the MP4 variant remains the fallback. Pass the populated media
124
+ object directly; public storage keys are resolved with the same
125
+ `mediaBaseUrl`/`mediaPublicPath` behavior as `Image`.
126
+
127
+ ```tsx
128
+ import { Video } from '@rakun-kit/react'
129
+
130
+ export function HeroVideo({ video }) {
131
+ return <Video video={video} controls playsInline />
132
+ }
133
+ ```
134
+
135
+ Use `sources` to override `video.sources`, or `src` and `type` for a standalone
136
+ video. Private media must already contain resolved source URLs; storage keys
137
+ for private objects are never converted into public URLs.
138
+
109
139
  ## Public entrypoints and constraints
110
140
 
111
- - `@rakun-kit/react`: registries and module/page renderers.
141
+ - `@rakun-kit/react`: registries, module/page renderers, `Image`, `Video`, the
142
+ `JsonViewer` collapsible tree, and the `RakunLogoMark` / `RakunLogoBadge` SVG
143
+ components. `JsonViewer` accepts theme colors and `defaultExpandedDepth`; use
144
+ `-1` for a fully collapsed initial tree.
112
145
  - `@rakun-kit/react/plugins`: web plugin contracts and registry composition.
113
146
  - `@rakun-kit/react/translation`: React translation helpers.
114
147
 
@@ -1,4 +1,4 @@
1
- import type { ImgHTMLAttributes } from "react";
1
+ import { type ImgHTMLAttributes } from "react";
2
2
  type ImageFetchPriority = "high" | "low" | "auto";
3
3
  type ImageElementProps = ImgHTMLAttributes<HTMLImageElement> & {
4
4
  fetchPriority?: ImageFetchPriority;
@@ -43,7 +43,7 @@ export type RakunImageProps = Omit<ImageElementProps, "alt" | "height" | "sizes"
43
43
  includeOriginalInSrcSet?: boolean;
44
44
  priority?: boolean;
45
45
  };
46
- export declare function RakunImage({ image, src, previewSrc, fallbackSrc, usePreview, alt, title, width, height, sizes, imageSizes, srcSet, mediaBaseUrl, mediaPublicPath, includeOriginalInSrcSet, priority, loading, decoding, style, ...imgProps }: RakunImageProps): import("react/jsx-runtime").JSX.Element;
46
+ export declare function RakunImage({ image, src, previewSrc, fallbackSrc, usePreview, alt, title, width, height, sizes, imageSizes, srcSet, mediaBaseUrl, mediaPublicPath, includeOriginalInSrcSet, priority, loading, decoding, style, onLoad, ...imgProps }: RakunImageProps): import("react/jsx-runtime").JSX.Element;
47
47
  export declare const Image: typeof RakunImage;
48
48
  export {};
49
49
  //# sourceMappingURL=Image.d.ts.map