-
dc8610b: Add support for setting Media fields from query entities.
Add
RcPropValueEntityPropertyfor query-bound prop values — a new variant on theRcPropValueunion that lets a single prop read its value from a property of a query-result entity (e.g.{ type: 'entity-property', queryId: 'q1', path: ['components', 'base', 'image'] }). The compositepathuses the samecomponents.*/links.*form as string-template references.Lifted
RenderQueryReference.queryPathfromstringtostring[]and added anentity-propertyvariant to theRenderQueryReferenceandRenderQueryLoadSpecSeedunions (internal render-pipeline types, consumed only by@laioutr-core/frontend-core).
- 0262d90: Honor URL redirects configured for the project. Visiting a redirect source path (exact or
:parampattern) sends the user to the configured target —isPermanent: truereturns 301,isPermanent: falsereturns 302. Works for direct hits, hard reloads, and SPA navigations via<NuxtLink>orrouter.push, including on storefronts that define a customcore/404page. Query strings are preserved; targets can be absolute URLs for external redirects.
-
03d0edb:
BackgroundAwareButton's adaptive lookup variants are nowadaptive-primary/adaptive-secondary/adaptive-ghost(previouslyprimary/secondary/ghost), so they no longer shadowButton's literalprimary/secondaryvariants. The pass-through variants (tertiary,secondary-white,ghost-*,glass-*,subtle,info,positive,danger,close-*) are unchanged.In Studio, the new
backgroundAwareButtonFieldsshared field exposes the three `Adapt
-
32a2ebb: Fix
ProductSliderShowcasepadding and width: slider no longer reserves bleed padding on the wrapper (relied on full-bleed parent), banner respects its container, and the slider fills the remaining row width on desktop. -
32a2ebb: Caption styling on
BannerBasic: plain/boxed variant, colour scheme, and text-shadow controls — replacing the previous colour-only override. NewcaptionVariantFieldshared field in@laioutr-app/uibundles the controls into a single sidebar group onBlockBannerBasicandSectionProductSliderShowcase.Containerno longer strips border-radius from CTA banners in full-width containers (banners now own their own radius).Breaking:
BannerBasic(@laioutr-core/ui) replacescaptionColor: stringwithcaptionVariant: Omit<CaptionFlagProps, 'text'>. Migrate inline:// Before
-
e388d8e: Section
slotsprop now retains structural typing of block props at consumer call sites.Previously,
props.slots.<slotName>[i].propswas wrapped inSimplifyDeep, which recursively walked every nested block-schema decorator (headingStyle,sublineStyle, …). Past a certain schema depth the cumulative type instantiation exceeded TypeScript's 50-level limit and surfaced asTS2589: Type instantiation is excessively deep and possibly infinitein any section that mapped over its slot blocks.The wrapper now uses bounded
Simplify(one level) at the right boundaries — the outer slot map, each block item, and the block'spropsshape. IDE hover output is unchanged; structural typing is unchanged. Sections that previously needed anas unknown as ReadonlyArray<{ props: Record<string, any> }>cast onprops.slots.*to silence TS2589 can drop the cast and accessblock.props.<field>with full type inference.
-
66e5151: Restore banner / category-slider / showcase parity with v1.
BannerBasic(ui): new optionalsizeprop ('s' | 'm' | 'l', default'm') — scales the text stack; heading scales one step above body. New optionalaspectRatioprop — applies a CSSaspect-ratioto the banner root.CategoryCardSlider(ui): new optionalctaprop ({ text, link, variant }) — rendered as a button in the slider's heading area via the existingSwiperChrome.buttonsslot.
| [ | |
| { | |
| "id": 213, | |
| "title": "Auf zu einer Reise durch das Zuse-Institut Berlin (ZIB)", | |
| "description": "Das ZIB hat viel zu bieten. Hier wird ein breites Spektrum an wissenschaftlichen Aufgaben und Services fächerübergreifend bearbeitet. Kommen Sie mit auf eine virtuelle Tour durch unser Haus und stöbern Sie in ausgewählten Projekten, lassen Sie sich von den Wissenschaftler:innen ihre Arbeit erklären und schauen Sie auch am Supercomputer vorbei. Ein Blick ins Computermuseum zeigt die Entwicklung der Superrechner von den Anfängen Konrad Zuses vor 80 Jahren bis heute.", | |
| "organisation": "Zuse-Institut Berlin (ZIB)", | |
| "formats": ["Sciencetainment"], | |
| "isOnline": true, | |
| "isAccessible": true, | |
| "isForKids": true, |
| #!/bin/bash | |
| # [Starting Winetricks] | |
| export GLIBC_BIN=$PREFIX/glibc/bin | |
| pkg install cabextract unzip p7zip which | |
| wget https://github.com/ptitSeb/box64/raw/main/tests/bash | |
| mv bash $GLIBC_BIN/bash86 | |
| chmod +x $GLIBC_BIN/bash86 |
| (function bemLinter(){ | |
| const namespaces = ['o', 'c', 'u', 's', 't', 'is', 'has']; | |
| const suffixes = ['xs', 's', 'ms', 'sm', 'md', 'lg', 'l', 'xl', 'print']; | |
| const SEVERITY_ERROR = 'error'; | |
| const SEVERITY_WARNING = 'warn'; | |
| const SEVERITY_INFO = 'info'; | |
| const ERR_TYPE_STRAY_ELEMENT = 'stray-element'; | |
| const ERR_TYPE_MISSING_NAMESPACE = 'missing-namespace'; |
| @mixin foo() { | |
| content: 'original'; | |
| } | |
| @mixin foo() { | |
| content: 'overwritten'; | |
| } | |
| .foo { | |
| @include foo(); | |
| } |
| rm -rf /tmp/msteams | |
| mkdir /tmp/msteams | |
| pushd /tmp/msteams | |
| npx asar extract /Applications/Microsoft\ Teams.app/Contents/Resources/app.asar /tmp/msteams | |
| npx fx /tmp/msteams/env_config.json "{...this, name: 'development', environment: 'Development'}" save . | |
| npx asar pack . ../app.asar | |
| popd | |
| sudo mv /Applications/Microsoft\ Teams.app/Contents/Resources/app.asar /Applications/Microsoft\ Teams.app/Contents/Resources/app_org.asar | |
| sudo mv /tmp/app.asar /Applications/Microsoft\ Teams.app/Contents/Resources/app.asar |