@rimelight/ui 0.0.34 → 0.0.36
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/README.md +1 -0
- package/package.json +19 -24
- package/src/components/astro/RLAAccordion.astro +94 -18
- package/src/components/astro/RLAAvatar.astro +135 -68
- package/src/components/astro/RLABadge.astro +4 -2
- package/src/components/astro/RLABanner.astro +138 -23
- package/src/components/astro/RLABreadcrumb.astro +13 -0
- package/src/components/astro/RLAButton.astro +8 -4
- package/src/components/astro/RLACallout.astro +112 -0
- package/src/components/astro/RLACard.astro +6 -5
- package/src/components/astro/RLACarousel.astro +104 -75
- package/src/components/astro/RLAChart.astro +4 -1
- package/src/components/astro/RLAChip.astro +11 -5
- package/src/components/astro/RLACollapsible.astro +4 -1
- package/src/components/astro/RLAColorArea.astro +432 -0
- package/src/components/astro/RLAColorField.astro +300 -0
- package/src/components/astro/RLAColorSlider.astro +413 -0
- package/src/components/astro/RLAConfirm.astro +13 -11
- package/src/components/astro/RLACopyMarkdown.astro +78 -0
- package/src/components/astro/RLADate.astro +30 -0
- package/src/components/astro/RLADrawer.astro +50 -3
- package/src/components/astro/RLADropdownMenu.astro +78 -51
- package/src/components/astro/RLAFieldGroup.astro +4 -1
- package/src/components/astro/RLAFileUpload.astro +114 -100
- package/src/components/astro/RLAFooter.astro +2 -1
- package/src/components/astro/RLAFormField.astro +10 -6
- package/src/components/astro/RLAGrid.astro +31 -39
- package/src/components/astro/RLAHead.astro +139 -39
- package/src/components/astro/RLAHeader.astro +2 -1
- package/src/components/astro/RLAImage.astro +274 -251
- package/src/components/astro/RLAInput.astro +14 -9
- package/src/components/astro/RLAInputMenu.astro +119 -83
- package/src/components/astro/RLAKbd.astro +5 -5
- package/src/components/astro/RLALayoutGrid.astro +395 -0
- package/src/components/astro/RLALink.astro +23 -1
- package/src/components/astro/RLALinkGroup.astro +99 -99
- package/src/components/astro/RLALocaleSelector.astro +34 -41
- package/src/components/astro/RLALogo.astro +117 -90
- package/src/components/astro/RLAModal.astro +48 -18
- package/src/components/astro/RLANavigationMenu.astro +381 -326
- package/src/components/astro/{RLADocsPackageManagers.astro → RLAPackageManagers.astro} +81 -87
- package/src/components/astro/RLAPageSection.astro +4 -2
- package/src/components/astro/RLAPopover.astro +4 -3
- package/src/components/astro/RLAPost.astro +11 -2
- package/src/components/astro/RLAScrollArea.astro +4 -1
- package/src/components/astro/RLAScrollToTop.astro +200 -172
- package/src/components/astro/RLASearch.astro +282 -0
- package/src/components/astro/RLASelect.astro +78 -55
- package/src/components/astro/RLASeparator.astro +11 -6
- package/src/components/astro/RLAShare.astro +60 -0
- package/src/components/astro/RLAShortcuts.astro +429 -0
- package/src/components/astro/RLASidebar.astro +158 -212
- package/src/components/astro/RLASlideover.astro +47 -17
- package/src/components/astro/RLASplitter.astro +194 -141
- package/src/components/astro/RLASteps.astro +118 -71
- package/src/components/astro/RLASurround.astro +39 -0
- package/src/components/astro/RLATable.astro +4 -1
- package/src/components/astro/RLATableOfContents.astro +109 -23
- package/src/components/astro/RLATabs.astro +147 -133
- package/src/components/astro/RLATextarea.astro +4 -1
- package/src/components/astro/RLAThemeSelector.astro +105 -76
- package/src/components/astro/RLAToast.astro +35 -21
- package/src/components/vue/RLVBanner.vue +230 -0
- package/src/components/vue/RLVButton.vue +3 -2
- package/src/components/vue/RLVCheckbox.vue +4 -2
- package/src/components/vue/RLVFooter.vue +3 -2
- package/src/components/vue/RLVHeader.vue +3 -2
- package/src/components/vue/RLVIcon.vue +4 -2
- package/src/components/vue/RLVInput.vue +5 -4
- package/src/components/vue/RLVLogo.vue +25 -3
- package/src/components/vue/RLVPlaceholder.vue +3 -2
- package/src/components/vue/RLVPost.vue +8 -2
- package/src/components/vue/RLVProgress.vue +60 -0
- package/src/components/vue/RLVScrollToTop.vue +65 -52
- package/src/components/vue/RLVSection.vue +14 -13
- package/src/components/vue/RLVToast.vue +17 -4
- package/src/composables/index.ts +1 -0
- package/src/composables/useHeaderStore.ts +1 -0
- package/src/composables/useShortcuts.ts +11 -0
- package/src/config/security.ts +43 -36
- package/src/config/site.config.ts +1 -0
- package/src/docs/components/ApiChangelog.astro +147 -0
- package/src/{plugins/starlightDocsApi → docs}/components/ApiEmits.astro +4 -4
- package/src/{plugins/starlightDocsApi → docs}/components/ApiProps.astro +4 -4
- package/src/{plugins/starlightDocsApi → docs}/components/ApiSlots.astro +4 -4
- package/src/docs/components/ApiTheme.astro +100 -0
- package/src/docs/extractAll.ts +94 -0
- package/src/docs/extractors/extractAstro.ts +69 -0
- package/src/docs/extractors/extractTheme.ts +56 -0
- package/src/{plugins/starlightDocsApi/extract-vue.ts → docs/extractors/extractVue.ts} +164 -15
- package/src/{plugins/starlightDocsApi → docs}/utils.ts +1 -2
- package/src/env.d.ts +0 -12
- package/src/integrations/ui.ts +35 -19
- package/src/middleware/security.ts +75 -19
- package/src/presets/index.ts +118 -293
- package/src/styles/index.css +0 -2
- package/src/themes/accordion.theme.ts +29 -3
- package/src/themes/aspect-ratio.theme.ts +1 -1
- package/src/themes/avatar-group.theme.ts +1 -1
- package/src/themes/avatar.theme.ts +2 -2
- package/src/themes/badge.theme.ts +2 -3
- package/src/themes/banner.theme.ts +40 -4
- package/src/themes/breadcrumb.theme.ts +1 -1
- package/src/themes/button.theme.ts +21 -22
- package/src/themes/{alert.theme.ts → callout.theme.ts} +12 -39
- package/src/themes/card.theme.ts +17 -9
- package/src/themes/carousel.theme.ts +1 -1
- package/src/themes/checkbox.theme.ts +1 -2
- package/src/themes/chip.theme.ts +2 -3
- package/src/themes/color-area.theme.ts +33 -0
- package/src/themes/color-field.theme.ts +32 -0
- package/src/themes/color-slider.theme.ts +34 -0
- package/src/themes/confirm.theme.ts +1 -1
- package/src/themes/container.theme.ts +1 -1
- package/src/themes/drawer.theme.ts +1 -1
- package/src/themes/footer.theme.ts +2 -2
- package/src/themes/grid.theme.ts +38 -0
- package/src/themes/header.theme.ts +4 -3
- package/src/themes/hover-card.theme.ts +1 -1
- package/src/themes/image.theme.ts +11 -1
- package/src/themes/input.theme.ts +7 -1
- package/src/themes/kbd.theme.ts +2 -3
- package/src/themes/label.theme.ts +1 -1
- package/src/themes/layout-grid.theme.ts +16 -0
- package/src/themes/link-group.theme.ts +0 -4
- package/src/themes/marquee.theme.ts +1 -1
- package/src/themes/modal.theme.ts +1 -1
- package/src/themes/navigation-menu.theme.ts +2 -2
- package/src/themes/page-section.theme.ts +4 -2
- package/src/themes/pagination.theme.ts +1 -1
- package/src/themes/pin-input.theme.ts +1 -1
- package/src/themes/popover.theme.ts +1 -1
- package/src/themes/post.theme.ts +23 -3
- package/src/themes/progress.theme.ts +1 -2
- package/src/themes/scroll-to-top.theme.ts +2 -3
- package/src/themes/search.theme.ts +64 -0
- package/src/themes/separator.theme.ts +1 -1
- package/src/themes/slideover.theme.ts +1 -1
- package/src/themes/slider.theme.ts +1 -2
- package/src/themes/spinner.theme.ts +1 -2
- package/src/themes/{megamenu.theme.ts → steps.theme.ts} +3 -3
- package/src/themes/sticky-surface.theme.ts +1 -1
- package/src/themes/switch.theme.ts +1 -2
- package/src/themes/table-of-contents.theme.ts +21 -2
- package/src/themes/timeline.theme.ts +7 -2
- package/src/themes/toast.theme.ts +1 -1
- package/src/types/components/accordion.ts +35 -2
- package/src/types/components/avatar.ts +16 -0
- package/src/types/components/banner.ts +42 -0
- package/src/types/components/button.ts +3 -4
- package/src/types/components/{alert.ts → callout.ts} +6 -6
- package/src/types/components/color-area.ts +19 -0
- package/src/types/components/color-field.ts +21 -0
- package/src/types/components/color-slider.ts +20 -0
- package/src/types/components/grid.ts +23 -0
- package/src/types/components/input.ts +4 -0
- package/src/types/components/layout-grid.ts +145 -0
- package/src/types/components/link-group.ts +4 -2
- package/src/types/components/link.ts +15 -0
- package/src/types/components/logo.ts +3 -3
- package/src/types/components/post.ts +12 -0
- package/src/types/components/search.ts +29 -0
- package/src/types/components/sidebar.ts +2 -6
- package/src/types/components/{megamenu.ts → steps.ts} +7 -1
- package/src/types/components/table-of-contents.ts +22 -0
- package/src/types/components/toast.ts +4 -0
- package/src/types/docs.ts +40 -0
- package/src/types/index.ts +151 -1
- package/src/types/theme.ts +6 -6
- package/src/utils/color.ts +165 -0
- package/src/utils/docs.ts +260 -110
- package/src/utils/headerStack.ts +24 -4
- package/src/utils/index.ts +2 -0
- package/src/utils/shortcuts.ts +322 -0
- package/src/components/TableOfContents.astro +0 -107
- package/src/components/astro/RLAAlert.astro +0 -93
- package/src/components/astro/RLAChangelog.astro +0 -23
- package/src/components/astro/RLAMegamenu.astro +0 -23
- package/src/plugins/index.ts +0 -2
- package/src/plugins/starlightDocsApi/components/ApiTheme.astro +0 -27
- package/src/plugins/starlightDocsApi/index.ts +0 -272
- package/src/styles/prism.css +0 -42
- package/src/themes/changelog.theme.ts +0 -13
- package/src/types/components/index.ts +0 -134
- /package/src/{plugins/starlightDocsApi → docs}/types.ts +0 -0
|
@@ -63,7 +63,7 @@ const {
|
|
|
63
63
|
config,
|
|
64
64
|
transitions = true,
|
|
65
65
|
charset = 'utf-8',
|
|
66
|
-
viewport = 'width=device-width,initial-scale=1',
|
|
66
|
+
viewport = 'width=device-width, initial-scale=1',
|
|
67
67
|
rssFeed,
|
|
68
68
|
} = Astro.props as HeadProps;
|
|
69
69
|
|
|
@@ -155,12 +155,28 @@ const defaultRobots = isIndexable ? 'index, follow, max-image-preview:large' : '
|
|
|
155
155
|
{twitterHandle && <meta property="twitter:site" content={twitterHandle} />}
|
|
156
156
|
{twitterHandle && <meta property="twitter:creator" content={twitterHandle} />}
|
|
157
157
|
|
|
158
|
-
<!-- Icons -->
|
|
158
|
+
<!-- Icons & Manifest -->
|
|
159
159
|
<link rel="icon" type="image/svg+xml" href={favicon} />
|
|
160
|
+
<link rel="icon" href="/favicon.ico" sizes="32x32" />
|
|
161
|
+
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
|
162
|
+
<link rel="manifest" href="/site.webmanifest" />
|
|
160
163
|
|
|
161
164
|
<!-- Theme -->
|
|
162
|
-
|
|
165
|
+
<meta name="color-scheme" content="light dark" />
|
|
166
|
+
<meta name="theme-color" media="(prefers-color-scheme: light)" content={themeColor || "#ffffff"} />
|
|
167
|
+
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0a0a" />
|
|
163
168
|
|
|
169
|
+
<script is:inline>
|
|
170
|
+
(function() {
|
|
171
|
+
if (window.trustedTypes && trustedTypes.createPolicy) {
|
|
172
|
+
trustedTypes.createPolicy('default', {
|
|
173
|
+
createHTML: function(input) { return input; },
|
|
174
|
+
createScript: function(input) { return input; },
|
|
175
|
+
createScriptURL: function(input) { return input; }
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
})();
|
|
179
|
+
</script>
|
|
164
180
|
<script is:inline>
|
|
165
181
|
(function() {
|
|
166
182
|
if (!window.initialCspNonce) {
|
|
@@ -243,20 +259,16 @@ const defaultRobots = isIndexable ? 'index, follow, max-image-preview:large' : '
|
|
|
243
259
|
};
|
|
244
260
|
}
|
|
245
261
|
|
|
246
|
-
function
|
|
262
|
+
function getThemePreference() {
|
|
247
263
|
var stored = localStorage.getItem('theme');
|
|
248
|
-
if (stored === 'dark') return
|
|
249
|
-
|
|
250
|
-
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : '';
|
|
264
|
+
if (stored === 'dark' || stored === 'light') return stored;
|
|
265
|
+
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
251
266
|
}
|
|
252
267
|
|
|
253
268
|
function applyTheme(doc) {
|
|
254
|
-
var
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
} else {
|
|
258
|
-
doc.documentElement.classList.remove('dark');
|
|
259
|
-
}
|
|
269
|
+
var pref = getThemePreference();
|
|
270
|
+
doc.documentElement.classList.toggle('dark', pref === 'dark');
|
|
271
|
+
doc.documentElement.classList.toggle('light', pref === 'light');
|
|
260
272
|
}
|
|
261
273
|
|
|
262
274
|
// Apply immediately on initial load
|
|
@@ -291,23 +303,45 @@ const defaultRobots = isIndexable ? 'index, follow, max-image-preview:large' : '
|
|
|
291
303
|
if (!window.RLHeaderStack) {
|
|
292
304
|
window.RLHeaderStack = {
|
|
293
305
|
layers: [],
|
|
294
|
-
register: function(id, order, naturalHeight, isVisible, el) {
|
|
306
|
+
register: function(id, order, naturalHeight, isVisible, el, type) {
|
|
307
|
+
if (el && !el.isConnected) return;
|
|
308
|
+
if (type === undefined) type = el && el.getAttribute ? (el.getAttribute('data-layer-type') || 'header') : 'header';
|
|
295
309
|
let layer = this.layers.find(function(l) { return l.id === id; });
|
|
296
310
|
if (!layer) {
|
|
297
|
-
layer = { id: id, order: order, naturalHeight: naturalHeight, isVisible: isVisible, el: el };
|
|
311
|
+
layer = { id: id, type: type, order: order, naturalHeight: naturalHeight, isVisible: isVisible, el: el };
|
|
298
312
|
this.layers.push(layer);
|
|
299
|
-
this.
|
|
313
|
+
this.sortLayers();
|
|
300
314
|
} else {
|
|
301
315
|
layer.naturalHeight = naturalHeight;
|
|
302
316
|
layer.isVisible = isVisible;
|
|
303
317
|
layer.el = el;
|
|
304
318
|
}
|
|
319
|
+
if (el) {
|
|
320
|
+
el.rlNaturalHeight = naturalHeight;
|
|
321
|
+
el.rlIsVisible = isVisible;
|
|
322
|
+
}
|
|
305
323
|
this.update();
|
|
306
324
|
},
|
|
307
325
|
unregister: function(id) {
|
|
326
|
+
const layer = this.layers.find(function(l) { return l.id === id; });
|
|
327
|
+
if (layer && layer.el) {
|
|
328
|
+
const el = layer.el;
|
|
329
|
+
if (el.rlScrollListener) {
|
|
330
|
+
window.removeEventListener('scroll', el.rlScrollListener);
|
|
331
|
+
}
|
|
332
|
+
if (el.rlResizeObserver) {
|
|
333
|
+
el.rlResizeObserver.disconnect();
|
|
334
|
+
}
|
|
335
|
+
}
|
|
308
336
|
this.layers = this.layers.filter(function(l) { return l.id !== id; });
|
|
309
337
|
this.update();
|
|
310
338
|
},
|
|
339
|
+
sortLayers: function() {
|
|
340
|
+
this.layers.sort(function(a, b) {
|
|
341
|
+
if (a.type !== b.type) return a.type === 'banner' ? -1 : 1;
|
|
342
|
+
return a.order - b.order;
|
|
343
|
+
});
|
|
344
|
+
},
|
|
311
345
|
update: function() {
|
|
312
346
|
let currentTop = 0;
|
|
313
347
|
for (let i = 0; i < this.layers.length; i++) {
|
|
@@ -336,60 +370,116 @@ const defaultRobots = isIndexable ? 'index, follow, max-image-preview:large' : '
|
|
|
336
370
|
return h > 0 ? h : 64;
|
|
337
371
|
}
|
|
338
372
|
|
|
339
|
-
function
|
|
340
|
-
|
|
341
|
-
|
|
373
|
+
function initLayer(el) {
|
|
374
|
+
const id = el.id;
|
|
375
|
+
const type = el.getAttribute('data-layer-type') || 'header';
|
|
376
|
+
const stackIndex = parseInt(el.getAttribute('data-stack-index') || '0', 10);
|
|
377
|
+
const hideOnScroll = el.getAttribute('data-hide-on-scroll') === 'true';
|
|
378
|
+
const contentEl = el.querySelector('[data-header-content]');
|
|
379
|
+
|
|
380
|
+
if (el.rlManaged) {
|
|
381
|
+
const naturalHeight = el.rlNaturalHeight || getHeight(contentEl);
|
|
382
|
+
const isVisible = el.rlIsVisible !== false;
|
|
383
|
+
RL.register(id, stackIndex, naturalHeight, isVisible, el, type);
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
el.rlManaged = true;
|
|
342
387
|
|
|
343
|
-
const id = header.id;
|
|
344
|
-
const stackIndex = parseInt(header.getAttribute('data-stack-index') || '0', 10);
|
|
345
|
-
const hideOnScroll = header.getAttribute('data-hide-on-scroll') === 'true';
|
|
346
|
-
const contentEl = header.querySelector('[data-header-content]');
|
|
347
388
|
let naturalHeight = getHeight(contentEl);
|
|
348
389
|
let isVisible = true;
|
|
349
390
|
|
|
350
|
-
RL.register(id, stackIndex, naturalHeight, isVisible,
|
|
391
|
+
RL.register(id, stackIndex, naturalHeight, isVisible, el, type);
|
|
351
392
|
|
|
352
393
|
if (typeof ResizeObserver !== 'undefined' && contentEl) {
|
|
353
|
-
new ResizeObserver(function(entries) {
|
|
394
|
+
const ro = new ResizeObserver(function(entries) {
|
|
395
|
+
if (!el.isConnected) {
|
|
396
|
+
ro.disconnect();
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
354
399
|
const h = entries[0] && entries[0].contentRect.height;
|
|
355
400
|
if (h && h > 0) {
|
|
356
401
|
naturalHeight = h;
|
|
357
|
-
RL.
|
|
402
|
+
RL.register(id, stackIndex, naturalHeight, isVisible, el, type);
|
|
358
403
|
}
|
|
359
|
-
})
|
|
404
|
+
});
|
|
405
|
+
ro.observe(contentEl);
|
|
406
|
+
el.rlResizeObserver = ro;
|
|
360
407
|
}
|
|
361
408
|
|
|
362
409
|
if (hideOnScroll) {
|
|
363
410
|
let lastScrollY = window.scrollY;
|
|
364
|
-
|
|
411
|
+
const scrollListener = function() {
|
|
412
|
+
if (!el.isConnected) {
|
|
413
|
+
window.removeEventListener('scroll', scrollListener);
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
365
416
|
const current = window.scrollY;
|
|
366
417
|
const diff = current - lastScrollY;
|
|
367
418
|
if (Math.abs(diff) >= 10) {
|
|
368
419
|
const newVisible = current <= 50 ? true : diff <= 0;
|
|
369
420
|
if (newVisible !== isVisible) {
|
|
370
421
|
isVisible = newVisible;
|
|
371
|
-
RL.register(id, stackIndex, naturalHeight, isVisible,
|
|
422
|
+
RL.register(id, stackIndex, naturalHeight, isVisible, el, type);
|
|
372
423
|
}
|
|
373
424
|
lastScrollY = current;
|
|
374
425
|
}
|
|
375
|
-
}
|
|
426
|
+
};
|
|
427
|
+
el.rlScrollListener = scrollListener;
|
|
428
|
+
window.addEventListener('scroll', scrollListener, { passive: true });
|
|
376
429
|
}
|
|
377
430
|
|
|
378
431
|
(function retry() {
|
|
432
|
+
if (!el.isConnected) return;
|
|
379
433
|
const h = getHeight(contentEl);
|
|
380
434
|
if (h !== naturalHeight) {
|
|
381
435
|
naturalHeight = h;
|
|
382
|
-
RL.
|
|
436
|
+
RL.register(id, stackIndex, naturalHeight, isVisible, el, type);
|
|
383
437
|
}
|
|
384
438
|
if (h > 0 && h !== 64 && contentEl && contentEl.offsetHeight > 0) return;
|
|
385
439
|
requestAnimationFrame(retry);
|
|
386
440
|
})();
|
|
387
441
|
}
|
|
388
442
|
|
|
443
|
+
function dismissBanner(banner) {
|
|
444
|
+
var key = banner.getAttribute('data-dismiss-key');
|
|
445
|
+
if (key) localStorage.setItem(key, 'true');
|
|
446
|
+
banner.style.display = 'none';
|
|
447
|
+
banner.setAttribute('data-rla-banner', 'false');
|
|
448
|
+
if (window.RLHeaderStack) RL.unregister(banner.id);
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
function checkDismissed() {
|
|
452
|
+
var banners = document.querySelectorAll("[data-rla-banner='true']");
|
|
453
|
+
for (var i = 0; i < banners.length; i++) {
|
|
454
|
+
var b = banners[i];
|
|
455
|
+
var key = b.getAttribute('data-dismiss-key');
|
|
456
|
+
if (key && localStorage.getItem(key) === 'true') {
|
|
457
|
+
b.style.display = 'none';
|
|
458
|
+
b.setAttribute('data-rla-banner', 'false');
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if (!window.rlBannerInit) {
|
|
464
|
+
window.rlBannerInit = true;
|
|
465
|
+
document.addEventListener('click', function(e) {
|
|
466
|
+
var btn = e.target.closest('[data-banner-close]');
|
|
467
|
+
if (!btn) return;
|
|
468
|
+
var banner = btn.closest('[data-rla-banner]');
|
|
469
|
+
if (!banner) return;
|
|
470
|
+
dismissBanner(banner);
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
function selector() {
|
|
475
|
+
return "[data-rla-header='true'],[data-rla-banner='true']";
|
|
476
|
+
}
|
|
477
|
+
|
|
389
478
|
function startObserver() {
|
|
390
479
|
if (document.body) {
|
|
391
|
-
|
|
392
|
-
|
|
480
|
+
checkDismissed();
|
|
481
|
+
const layers = document.querySelectorAll(selector());
|
|
482
|
+
for (let i = 0; i < layers.length; i++) initLayer(layers[i]);
|
|
393
483
|
|
|
394
484
|
window.rlHeaderObserver = new MutationObserver(function(mutations) {
|
|
395
485
|
for (let i = 0; i < mutations.length; i++) {
|
|
@@ -397,19 +487,19 @@ const defaultRobots = isIndexable ? 'index, follow, max-image-preview:large' : '
|
|
|
397
487
|
for (let j = 0; j < added.length; j++) {
|
|
398
488
|
const node = added[j];
|
|
399
489
|
if (node.nodeType !== 1) continue;
|
|
400
|
-
if (node.matches && node.matches(
|
|
490
|
+
if (node.matches && node.matches(selector())) initLayer(node);
|
|
401
491
|
if (node.querySelectorAll) {
|
|
402
|
-
const nested = node.querySelectorAll(
|
|
403
|
-
for (let k = 0; k < nested.length; k++)
|
|
492
|
+
const nested = node.querySelectorAll(selector());
|
|
493
|
+
for (let k = 0; k < nested.length; k++) initLayer(nested[k]);
|
|
404
494
|
}
|
|
405
495
|
}
|
|
406
496
|
const removed = mutations[i].removedNodes;
|
|
407
497
|
for (let j = 0; j < removed.length; j++) {
|
|
408
498
|
const node = removed[j];
|
|
409
499
|
if (node.nodeType !== 1) continue;
|
|
410
|
-
if (node.matches && node.matches(
|
|
500
|
+
if (node.matches && node.matches(selector())) RL.unregister(node.id);
|
|
411
501
|
if (node.querySelectorAll) {
|
|
412
|
-
const nested = node.querySelectorAll(
|
|
502
|
+
const nested = node.querySelectorAll(selector());
|
|
413
503
|
for (let k = 0; k < nested.length; k++) RL.unregister(nested[k].id);
|
|
414
504
|
}
|
|
415
505
|
}
|
|
@@ -425,4 +515,14 @@ const defaultRobots = isIndexable ? 'index, follow, max-image-preview:large' : '
|
|
|
425
515
|
})();
|
|
426
516
|
</script>
|
|
427
517
|
|
|
428
|
-
{transitions && <ClientRouter />}
|
|
518
|
+
{transitions && <ClientRouter />}
|
|
519
|
+
|
|
520
|
+
{config && (
|
|
521
|
+
<script type="application/ld+json" is:inline set:html={JSON.stringify({
|
|
522
|
+
"@context": "https://schema.org",
|
|
523
|
+
"@type": "WebSite",
|
|
524
|
+
"name": config.name,
|
|
525
|
+
"url": Astro.site ? Astro.site.toString() : config.url,
|
|
526
|
+
"description": config.description
|
|
527
|
+
})} />
|
|
528
|
+
)}
|
|
@@ -35,6 +35,7 @@ const zIndex = 100 - stackIndex;
|
|
|
35
35
|
id={headerId}
|
|
36
36
|
data-slot="root"
|
|
37
37
|
class:list={[classes.root]}
|
|
38
|
+
data-contain={contain ? "true" : "false"}
|
|
38
39
|
data-rla-header={fixed ? "true" : undefined}
|
|
39
40
|
data-stack-index={stackIndex}
|
|
40
41
|
data-hide-on-scroll={String(hideOnScroll)}
|
|
@@ -42,7 +43,7 @@ const zIndex = 100 - stackIndex;
|
|
|
42
43
|
{...rest}
|
|
43
44
|
>
|
|
44
45
|
<div class:list={[classes.content]} data-header-content>
|
|
45
|
-
<div class:list={[classes.container]}>
|
|
46
|
+
<div class:list={[classes.container]} data-slot="container">
|
|
46
47
|
<div class:list={[classes.left]} data-slot="left">
|
|
47
48
|
<slot name="left" />
|
|
48
49
|
</div>
|