@vectoriox/iox-ui 4.38.0 → 4.40.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.
package/index.d.ts
CHANGED
|
@@ -1530,6 +1530,48 @@ declare function buildSwiperBreakpoints(inputs: InputMap | null | undefined, res
|
|
|
1530
1530
|
*/
|
|
1531
1531
|
declare function mergeSwiperBreakpoints(derived: SwiperBreakpointMap, advancedJson: string | null | undefined): SwiperBreakpointMap | undefined;
|
|
1532
1532
|
|
|
1533
|
+
/**
|
|
1534
|
+
* page-style — the ONE compiler that turns a page's style settings into CSS.
|
|
1535
|
+
*
|
|
1536
|
+
* A page's background / typography is authored once (builder Page panel) and has to render
|
|
1537
|
+
* in BOTH renderers: the builder canvas frame and the SSR engine's `<body>`. Before this
|
|
1538
|
+
* existed the engine applied it with hand-written `body.style.x = …` assignments buried in
|
|
1539
|
+
* the FONT LOADER, and the builder applied nothing at all — so every background an author
|
|
1540
|
+
* set was invisible until the site was published. See
|
|
1541
|
+
* iox-ai-guidance `architecture/builder/render-parity.md`.
|
|
1542
|
+
*
|
|
1543
|
+
* Pure and transport-agnostic on purpose: it returns CSS declarations and nothing else.
|
|
1544
|
+
* Each consumer applies them its own way (engine → `document.body`, builder → the canvas
|
|
1545
|
+
* viewport element). Kebab-case keys so the result works with both `el.style.setProperty`
|
|
1546
|
+
* and Angular's `[ngStyle]`.
|
|
1547
|
+
*/
|
|
1548
|
+
/** The page-level style bundle, persisted as `page.pageSettings.style`. */
|
|
1549
|
+
interface PageStyleSettings {
|
|
1550
|
+
backgroundColor: string;
|
|
1551
|
+
backgroundType: 'solid' | 'gradient' | 'image';
|
|
1552
|
+
backgroundGradient: string;
|
|
1553
|
+
backgroundImage: string;
|
|
1554
|
+
fontFamily: string;
|
|
1555
|
+
textColor: string;
|
|
1556
|
+
/**
|
|
1557
|
+
* Content max-width. Deliberately NOT compiled: it is a constraint on the page's
|
|
1558
|
+
* content column, not a property of the page surface, and there is no agreed element
|
|
1559
|
+
* to hang it on in either renderer. Stored and edited today, applied by nobody —
|
|
1560
|
+
* emitting it onto the page surface here would silently clamp whole layouts.
|
|
1561
|
+
*/
|
|
1562
|
+
maxWidth: string;
|
|
1563
|
+
}
|
|
1564
|
+
/**
|
|
1565
|
+
* Compile page style settings into CSS declarations.
|
|
1566
|
+
*
|
|
1567
|
+
* Only keys the author actually set are emitted, so a consumer's own default (the builder's
|
|
1568
|
+
* white canvas, the engine's stylesheet) shows through untouched when a page says nothing.
|
|
1569
|
+
*
|
|
1570
|
+
* `backgroundType` selects which background field wins — it is derived from the author's
|
|
1571
|
+
* colour/image choice rather than picked directly (see the builder's page-background.util).
|
|
1572
|
+
*/
|
|
1573
|
+
declare function compilePageStyle(style: Partial<PageStyleSettings> | null | undefined): Record<string, string>;
|
|
1574
|
+
|
|
1533
1575
|
/**
|
|
1534
1576
|
* Shared data-source resolving pattern — the SINGLE source of truth for how an IoxDataSource
|
|
1535
1577
|
* becomes a backend fetch, consumed by BOTH the page builder (iox-cms-client bindings panel) and
|
|
@@ -2116,6 +2158,18 @@ interface SeoFieldState {
|
|
|
2116
2158
|
source: SeoFieldSource;
|
|
2117
2159
|
/** Recommended length, where one applies — for the character counter. */
|
|
2118
2160
|
maxLength?: number;
|
|
2161
|
+
/**
|
|
2162
|
+
* The input controller this field is authored with — `text`, `textarea`, `image`, … — taken
|
|
2163
|
+
* from the SHARED schema, which is the single place that declares it.
|
|
2164
|
+
*
|
|
2165
|
+
* A panel renders the declared control; it never hand-rolls one. An `image` field rendered as a
|
|
2166
|
+
* text box throws away a picker the schema already asked for, and a raw `<input>` shares no
|
|
2167
|
+
* sizing, disabled state, RTL or theme with the rest of the app. See iox-ai-guidance
|
|
2168
|
+
* `CLAUDE.md` → Non-Negotiable Standards.
|
|
2169
|
+
*/
|
|
2170
|
+
control: string;
|
|
2171
|
+
/** Whatever the declared controller needs — select options, code language, range bounds. */
|
|
2172
|
+
options?: unknown;
|
|
2119
2173
|
}
|
|
2120
2174
|
/**
|
|
2121
2175
|
* Describe every bindable field for the authoring panel.
|
|
@@ -2645,5 +2699,5 @@ declare class GalleryLoop {
|
|
|
2645
2699
|
private emit;
|
|
2646
2700
|
}
|
|
2647
2701
|
|
|
2648
|
-
export { AOSService, AnalyticsService, BREAKPOINTS, Breakpoint, BreakpointQueryKind, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CONTEXT_ACTION_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, ContextStore, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_PHOSPHOR_WEIGHT, DEFAULT_WIDTH_BY_TYPE, DeclarationContext, ENVIRONMENT, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IOX_FORM_MESSAGES, IOX_FORM_NAVIGATOR, IOX_FORM_TRANSPORT, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxFieldComponent, IoxFormComponent, IoxFormErrorComponent, IoxFormSuccessComponent, IoxPageComponent, IoxPageModule, IoxSubmitButtonComponent, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_RESPONSIVE_TRAITS, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, activeActions, applyBindingPipes, applyFeel, breakpointDef, breakpointForWidth, breakpointQueryFor, buildDataSourceFilter, buildRelatedFilter, buildSwiperBreakpoints, buildTargetedStateSelector, buildTransitionTimeline, cascadeChain, clearInputOverride, clearOverride, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, countOverrides, dataSourcePlanToRequest, declaredInputNames, defaultMessageResolver, deriveSeoFromContent, describeSeoFields, effectiveTransitionId, excludeSelf, feelFor, getByPath, getSeoValue, initialSlotValues, isActionEnabled, isContextAction, isInputOverriddenAt, isOverriddenAt, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, mediaQueryFor, mergeSwiperBreakpoints, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, normalizeGalleryImage, normalizeIconClass, parentBreakpoint, parseUrlList, planDataSource, planResponsiveRules, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resetSeoField, resolveBoundValue, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSeo, resolveSiblings, resolveSingleItemId, resolveStateStyles, resolveStyleProps, resolveValueChain, rewriteViewportUnits, safeSetInput, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, stateNamesIn, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots, wrapInBreakpointQuery, wrapInMediaQuery };
|
|
2649
|
-
export type { BoundValueSpec, BreakpointDef, BuildRelatedFilterOptions, ContextActionEffect, ContextActionLike, ContextItemRef, ContextSlotDefault, ContextValueSpec, ContextWriteScope, DataSourceDomain, DataSourceEndpoints, DataSourceMode, DataSourcePlan, DataSourceQueryFilter, DataSourceRequest, DataSourceRequestSpec, DataSourceRouteFilter, DataSourceSpec, FormMessageResolver, GalleryBoundSource, GalleryDurations, GalleryEffect, GalleryEffectDescriptor, GalleryImage, GalleryLoopOptions, GalleryLoopScheduler, GalleryLoopState, GallerySlideState, IBuilderEventEmitter, InputMap, IoxContextSlot, IoxPipe, OverrideBreakpoint, PageTransitionCategory, PageTransitionCategoryMeta, PageTransitionOptions, PageTransitionPreset, PipeArgSpec, PipeContext, PipeDescriptor, RelativeInputs, RelativeSourceKind, RelativeSourceSpec, ResolveSiblingsOptions, ResolvedPageTransition, ResponsiveLayer, ResponsiveOverrides, ResponsiveRuleSet, RouteContext, SeoDerivedContent, SeoFieldSource, SeoFieldState, SeoResolveContext, SetContextParams, SiblingsResult, StateStyleMap, StyleMap, StyleTreeNode, SwiperBreakpointMap, ToggleableAction, TransitionFeel, TransitionPhase, TransitionTimelineInput, ValueSource, VirtualTraitGroup };
|
|
2702
|
+
export { AOSService, AnalyticsService, BREAKPOINTS, Breakpoint, BreakpointQueryKind, BuilderButtonComponent, BuilderDividerComponent, BuilderHeadingComponent, BuilderIconComponent, BuilderImageComponent, BuilderLinkComponent, BuilderSpacerComponent, ButtonBlockComponent, CMSClientInfraModule, CONTEXT_ACTION_TYPES, CardComponent, ClientGalleryComponent, ClientListComponent, ClientListItemComponent, ClientRepeaterComponent, ClientSliderContainerComponent, ClientSliderSlideComponent, ComponentInstanceRegistryService, ConsentService, ContainerComponent, ContentService, ContextStore, DEFAULT_GALLERY_SCHEDULER, DEFAULT_PAGE_TRANSITION, DEFAULT_PAGE_TRANSITION_DURATION, DEFAULT_PAGE_TRANSITION_EASING, DEFAULT_PAGE_TRANSITION_PERSPECTIVE, DEFAULT_PHOSPHOR_WEIGHT, DEFAULT_WIDTH_BY_TYPE, DeclarationContext, ENVIRONMENT, FormRenderState, FormRuntimeService, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IOX_FORM_MESSAGES, IOX_FORM_NAVIGATOR, IOX_FORM_TRANSPORT, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxFieldComponent, IoxFormComponent, IoxFormErrorComponent, IoxFormSuccessComponent, IoxPageComponent, IoxPageModule, IoxSubmitButtonComponent, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SWIPER_RESPONSIVE_TRAITS, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, activeActions, applyBindingPipes, applyFeel, breakpointDef, breakpointForWidth, breakpointQueryFor, buildDataSourceFilter, buildRelatedFilter, buildSwiperBreakpoints, buildTargetedStateSelector, buildTransitionTimeline, cascadeChain, clearInputOverride, clearOverride, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, compilePageStyle, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, countOverrides, dataSourcePlanToRequest, declaredInputNames, defaultMessageResolver, deriveSeoFromContent, describeSeoFields, effectiveTransitionId, excludeSelf, feelFor, getByPath, getSeoValue, initialSlotValues, isActionEnabled, isContextAction, isInputOverriddenAt, isOverriddenAt, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, mediaQueryFor, mergeSwiperBreakpoints, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, normalizeGalleryImage, normalizeIconClass, parentBreakpoint, parseUrlList, planDataSource, planResponsiveRules, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resetSeoField, resolveBoundValue, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolveInputChain, resolveInputs, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSeo, resolveSiblings, resolveSingleItemId, resolveStateStyles, resolveStyleProps, resolveValueChain, rewriteViewportUnits, safeSetInput, setInputOverride, setOverride, setSeoAuto, setSeoBinding, setSeoOverride, setSeoValue, stateNamesIn, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots, wrapInBreakpointQuery, wrapInMediaQuery };
|
|
2703
|
+
export type { BoundValueSpec, BreakpointDef, BuildRelatedFilterOptions, ContextActionEffect, ContextActionLike, ContextItemRef, ContextSlotDefault, ContextValueSpec, ContextWriteScope, DataSourceDomain, DataSourceEndpoints, DataSourceMode, DataSourcePlan, DataSourceQueryFilter, DataSourceRequest, DataSourceRequestSpec, DataSourceRouteFilter, DataSourceSpec, FormMessageResolver, GalleryBoundSource, GalleryDurations, GalleryEffect, GalleryEffectDescriptor, GalleryImage, GalleryLoopOptions, GalleryLoopScheduler, GalleryLoopState, GallerySlideState, IBuilderEventEmitter, InputMap, IoxContextSlot, IoxPipe, OverrideBreakpoint, PageStyleSettings, PageTransitionCategory, PageTransitionCategoryMeta, PageTransitionOptions, PageTransitionPreset, PipeArgSpec, PipeContext, PipeDescriptor, RelativeInputs, RelativeSourceKind, RelativeSourceSpec, ResolveSiblingsOptions, ResolvedPageTransition, ResponsiveLayer, ResponsiveOverrides, ResponsiveRuleSet, RouteContext, SeoDerivedContent, SeoFieldSource, SeoFieldState, SeoResolveContext, SetContextParams, SiblingsResult, StateStyleMap, StyleMap, StyleTreeNode, SwiperBreakpointMap, ToggleableAction, TransitionFeel, TransitionPhase, TransitionTimelineInput, ValueSource, VirtualTraitGroup };
|
package/package.json
CHANGED
package/src/seo-core/schema.ts
CHANGED
|
@@ -109,7 +109,9 @@ export function buildSeoSchemaProperties(): Record<string, unknown> {
|
|
|
109
109
|
structuredData: {
|
|
110
110
|
type: 'object',
|
|
111
111
|
label: 'Structured Data (JSON-LD)',
|
|
112
|
-
|
|
112
|
+
// `code`, not `json`: the client registers `code` (CodeMirror) and has no `json`
|
|
113
|
+
// controller, so a `json` declaration silently falls back to a plain text box.
|
|
114
|
+
controller: { type: 'code', options: { language: 'json' } },
|
|
113
115
|
},
|
|
114
116
|
sitemap: {
|
|
115
117
|
type: 'object',
|