@vectoriox/iox-ui 4.22.0 → 4.23.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.
|
@@ -2821,14 +2821,17 @@ const MARKER_FUNS = [
|
|
|
2821
2821
|
['markerColor', 'color'],
|
|
2822
2822
|
['markerFontSize', 'fontSize'],
|
|
2823
2823
|
];
|
|
2824
|
-
|
|
2825
|
-
const
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
'
|
|
2830
|
-
|
|
2824
|
+
const TRANSITION_KEYS = ['transitionDuration', 'transitionTimingFunction', 'transitionDelay'];
|
|
2825
|
+
const VIRTUAL_TRAIT_GROUPS = Object.freeze([
|
|
2826
|
+
{ output: 'filter', keys: FILTER_FUNS.map(([t]) => t), reset: 'none' },
|
|
2827
|
+
{ output: 'backdropFilter', keys: BACKDROP_FUNS.map(([t]) => t), reset: 'none' },
|
|
2828
|
+
{ output: 'transform', keys: TRANSFORM_FUNS.map(([t]) => t), reset: 'none' },
|
|
2829
|
+
{ output: 'transition', keys: [...TRANSITION_KEYS], reset: 'none' },
|
|
2830
|
+
{ output: '__markerStyles', keys: MARKER_FUNS.map(([t]) => t), reset: null },
|
|
2831
2831
|
]);
|
|
2832
|
+
// ─── All virtual trait names ──────────────────────────────────────────────────
|
|
2833
|
+
/** Every virtual trait key — derived from the groups so there is one list to maintain. */
|
|
2834
|
+
const VIRTUAL_TRAIT_KEYS = new Set(VIRTUAL_TRAIT_GROUPS.flatMap(g => g.keys));
|
|
2832
2835
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
2833
2836
|
function buildFns(funs, src) {
|
|
2834
2837
|
return funs
|
|
@@ -2970,6 +2973,311 @@ function buildTargetedStateSelector(scopeCssId, triggerCssId, styledCssId, base)
|
|
|
2970
2973
|
return `iox-node-${scopeCssId}:has(.iox-node-${triggerCssId}:${base}) .iox-node-${styledCssId}`;
|
|
2971
2974
|
}
|
|
2972
2975
|
|
|
2976
|
+
// Responsive (per-breakpoint) styles — the shared model, cascade and emission plan.
|
|
2977
|
+
//
|
|
2978
|
+
// SHARED (iox-ui): the builder canvas AND the SSR engine both call this. The builder
|
|
2979
|
+
// FLATTENS the active breakpoint (its canvas is a transformed frame inside a desktop
|
|
2980
|
+
// browser, so a real `@media` query would read the editor's width); the engine WRAPS
|
|
2981
|
+
// each planned layer in `@media`. Same decisions, different transport — never fork them.
|
|
2982
|
+
//
|
|
2983
|
+
// Storage is a sparse layer beside the existing keys, shaped like `stateStyles`:
|
|
2984
|
+
//
|
|
2985
|
+
// styleProps — base, full resolved set (unchanged)
|
|
2986
|
+
// stateStyles — sparse per-state overrides (unchanged)
|
|
2987
|
+
// responsive — sparse per-breakpoint overrides (this file)
|
|
2988
|
+
// { mobile: { styleProps: {…}, stateStyles: { hover: {…} } } }
|
|
2989
|
+
//
|
|
2990
|
+
// A node with no `responsive` key renders exactly as before — no migration.
|
|
2991
|
+
// See iox-ai-guidance `architecture/builder/responsive-breakpoints-plan.md`.
|
|
2992
|
+
// ─── Breakpoints ─────────────────────────────────────────────────────────────
|
|
2993
|
+
/** The five fixed breakpoints (plan decision D2). Desktop-first: each narrower one
|
|
2994
|
+
* overrides the wider ones through `max-width`. */
|
|
2995
|
+
var Breakpoint;
|
|
2996
|
+
(function (Breakpoint) {
|
|
2997
|
+
Breakpoint["Base"] = "base";
|
|
2998
|
+
Breakpoint["Laptop"] = "laptop";
|
|
2999
|
+
Breakpoint["Tablet"] = "tablet";
|
|
3000
|
+
Breakpoint["Mobile"] = "mobile";
|
|
3001
|
+
Breakpoint["Small"] = "small";
|
|
3002
|
+
})(Breakpoint || (Breakpoint = {}));
|
|
3003
|
+
/**
|
|
3004
|
+
* Widest → narrowest. This order IS the cascade order and the `@media` emission order.
|
|
3005
|
+
*
|
|
3006
|
+
* ⚠️ Phones in portrait (360–430px) land in `Small`, NOT `Mobile` — `Mobile` is 480–767,
|
|
3007
|
+
* a phone held landscape. The labels say so (as Webflow's do). The ids stay short because
|
|
3008
|
+
* they are storage keys; the cascade still makes a `Mobile` override reach every phone.
|
|
3009
|
+
*/
|
|
3010
|
+
const BREAKPOINTS = Object.freeze([
|
|
3011
|
+
{ id: Breakpoint.Base, label: 'Base', maxWidth: null, previewWidth: 1440 },
|
|
3012
|
+
{ id: Breakpoint.Laptop, label: 'Laptop', maxWidth: 1200, previewWidth: 1200 },
|
|
3013
|
+
{ id: Breakpoint.Tablet, label: 'Tablet', maxWidth: 991, previewWidth: 768 },
|
|
3014
|
+
{ id: Breakpoint.Mobile, label: 'Mobile landscape', maxWidth: 767, previewWidth: 568 },
|
|
3015
|
+
{ id: Breakpoint.Small, label: 'Mobile portrait', maxWidth: 479, previewWidth: 390 },
|
|
3016
|
+
]);
|
|
3017
|
+
const BREAKPOINT_INDEX = new Map(BREAKPOINTS.map((d, i) => [d.id, i]));
|
|
3018
|
+
/** The definition for `bp`, or `undefined` for an unknown id (e.g. hand-edited JSON). */
|
|
3019
|
+
function breakpointDef(bp) {
|
|
3020
|
+
const i = BREAKPOINT_INDEX.get(bp);
|
|
3021
|
+
return i === undefined ? undefined : BREAKPOINTS[i];
|
|
3022
|
+
}
|
|
3023
|
+
/** Base → `bp`, inclusive — the layers whose values apply at `bp`. Unknown → `[Base]`. */
|
|
3024
|
+
function cascadeChain(bp) {
|
|
3025
|
+
const i = BREAKPOINT_INDEX.get(bp);
|
|
3026
|
+
return BREAKPOINTS.slice(0, (i ?? 0) + 1).map(d => d.id);
|
|
3027
|
+
}
|
|
3028
|
+
/** The next-wider breakpoint (what `bp` inherits from), or `null` for Base / unknown. */
|
|
3029
|
+
function parentBreakpoint(bp) {
|
|
3030
|
+
const i = BREAKPOINT_INDEX.get(bp);
|
|
3031
|
+
return i ? BREAKPOINTS[i - 1].id : null;
|
|
3032
|
+
}
|
|
3033
|
+
/** `@media (max-width: 767px)` for `bp`; `null` for Base or an unknown id. */
|
|
3034
|
+
function mediaQueryFor(bp) {
|
|
3035
|
+
const max = breakpointDef(bp)?.maxWidth;
|
|
3036
|
+
return max == null ? null : `@media (max-width: ${max}px)`;
|
|
3037
|
+
}
|
|
3038
|
+
/** Wrap already-compiled rules for `bp`. Base (and blank css) passes through unwrapped. */
|
|
3039
|
+
function wrapInMediaQuery(bp, css) {
|
|
3040
|
+
const query = mediaQueryFor(bp);
|
|
3041
|
+
if (!css.trim())
|
|
3042
|
+
return '';
|
|
3043
|
+
return query ? `${query} {\n${css}\n}` : css;
|
|
3044
|
+
}
|
|
3045
|
+
function layerAt(responsive, bp) {
|
|
3046
|
+
return bp === Breakpoint.Base ? undefined : responsive?.[bp];
|
|
3047
|
+
}
|
|
3048
|
+
/** Copy defined entries of `src` onto `target`. `undefined` never overwrites a value. */
|
|
3049
|
+
function assignDefined(target, src) {
|
|
3050
|
+
if (src)
|
|
3051
|
+
for (const [k, v] of Object.entries(src))
|
|
3052
|
+
if (v !== undefined)
|
|
3053
|
+
target[k] = v;
|
|
3054
|
+
return target;
|
|
3055
|
+
}
|
|
3056
|
+
function hasKeys(map) {
|
|
3057
|
+
return !!map && Object.keys(map).length > 0;
|
|
3058
|
+
}
|
|
3059
|
+
// ─── Cascade resolution ──────────────────────────────────────────────────────
|
|
3060
|
+
/** The full effective style map at `bp`: base, then each layer down the cascade. */
|
|
3061
|
+
function resolveStyleProps(styleProps, responsive, bp) {
|
|
3062
|
+
const out = assignDefined({}, styleProps ?? undefined);
|
|
3063
|
+
for (const id of cascadeChain(bp))
|
|
3064
|
+
assignDefined(out, layerAt(responsive, id)?.styleProps);
|
|
3065
|
+
return out;
|
|
3066
|
+
}
|
|
3067
|
+
/** The effective per-state maps at `bp`. States with no values anywhere are omitted. */
|
|
3068
|
+
function resolveStateStyles(stateStyles, responsive, bp) {
|
|
3069
|
+
const out = {};
|
|
3070
|
+
const merge = (src) => {
|
|
3071
|
+
for (const [state, map] of Object.entries(src ?? {})) {
|
|
3072
|
+
out[state] = assignDefined(out[state] ?? {}, map);
|
|
3073
|
+
}
|
|
3074
|
+
};
|
|
3075
|
+
merge(stateStyles ?? undefined);
|
|
3076
|
+
for (const id of cascadeChain(bp))
|
|
3077
|
+
merge(layerAt(responsive, id)?.stateStyles);
|
|
3078
|
+
for (const state of Object.keys(out))
|
|
3079
|
+
if (!hasKeys(out[state]))
|
|
3080
|
+
delete out[state];
|
|
3081
|
+
return out;
|
|
3082
|
+
}
|
|
3083
|
+
/**
|
|
3084
|
+
* Every level from Base down to `bp` that sets `prop` (optionally within `state`), in
|
|
3085
|
+
* cascade order. The LAST entry is the effective value; an empty array means unset.
|
|
3086
|
+
* Drives the style panel's source chain ("Base 34 → Tablet 28 → Mobile 22").
|
|
3087
|
+
*/
|
|
3088
|
+
function resolveValueChain(prop, styleProps, stateStyles, responsive, bp, state) {
|
|
3089
|
+
const read = (props, states) => (state ? states?.[state] : props)?.[prop];
|
|
3090
|
+
const chain = [];
|
|
3091
|
+
for (const id of cascadeChain(bp)) {
|
|
3092
|
+
const layer = layerAt(responsive, id);
|
|
3093
|
+
const value = id === Breakpoint.Base
|
|
3094
|
+
? read(styleProps ?? undefined, stateStyles ?? undefined)
|
|
3095
|
+
: read(layer?.styleProps, layer?.stateStyles);
|
|
3096
|
+
if (value !== undefined)
|
|
3097
|
+
chain.push({ breakpoint: id, value });
|
|
3098
|
+
}
|
|
3099
|
+
return chain;
|
|
3100
|
+
}
|
|
3101
|
+
/** True when `bp` itself sets `prop` (the style panel's orange edge). Never true for Base. */
|
|
3102
|
+
function isOverriddenAt(responsive, bp, prop, state) {
|
|
3103
|
+
const layer = layerAt(responsive, bp);
|
|
3104
|
+
const map = state ? layer?.stateStyles?.[state] : layer?.styleProps;
|
|
3105
|
+
return map?.[prop] !== undefined;
|
|
3106
|
+
}
|
|
3107
|
+
/** Number of overridden values — at `bp`, or across every breakpoint when omitted. */
|
|
3108
|
+
function countOverrides(responsive, bp) {
|
|
3109
|
+
const count = (map) => Object.values(map ?? {}).filter(v => v !== undefined).length;
|
|
3110
|
+
const ids = bp ? [bp] : BREAKPOINTS.map(d => d.id);
|
|
3111
|
+
let n = 0;
|
|
3112
|
+
for (const id of ids) {
|
|
3113
|
+
const layer = layerAt(responsive, id);
|
|
3114
|
+
n += count(layer?.styleProps);
|
|
3115
|
+
for (const map of Object.values(layer?.stateStyles ?? {}))
|
|
3116
|
+
n += count(map);
|
|
3117
|
+
}
|
|
3118
|
+
return n;
|
|
3119
|
+
}
|
|
3120
|
+
// ─── Editing (immutable) ─────────────────────────────────────────────────────
|
|
3121
|
+
function assertOverrideBreakpoint(bp) {
|
|
3122
|
+
if (bp === Breakpoint.Base) {
|
|
3123
|
+
throw new Error('Base styles live in styleProps / stateStyles, not in responsive overrides');
|
|
3124
|
+
}
|
|
3125
|
+
if (!BREAKPOINT_INDEX.has(bp))
|
|
3126
|
+
throw new Error(`Unknown breakpoint "${bp}"`);
|
|
3127
|
+
}
|
|
3128
|
+
/** Returns a new overrides object with `prop` set at `bp` (optionally within `state`). */
|
|
3129
|
+
function setOverride(responsive, bp, prop, value, state) {
|
|
3130
|
+
assertOverrideBreakpoint(bp);
|
|
3131
|
+
const layer = { ...(responsive?.[bp] ?? {}) };
|
|
3132
|
+
if (state) {
|
|
3133
|
+
layer.stateStyles = { ...(layer.stateStyles ?? {}), [state]: { ...(layer.stateStyles?.[state] ?? {}), [prop]: value } };
|
|
3134
|
+
}
|
|
3135
|
+
else {
|
|
3136
|
+
layer.styleProps = { ...(layer.styleProps ?? {}), [prop]: value };
|
|
3137
|
+
}
|
|
3138
|
+
return { ...(responsive ?? {}), [bp]: layer };
|
|
3139
|
+
}
|
|
3140
|
+
/**
|
|
3141
|
+
* Remove overrides at `bp` and PRUNE whatever becomes empty, so "reset" and "never
|
|
3142
|
+
* overridden" are the same state on disk — no tombstones, no nulls.
|
|
3143
|
+
*
|
|
3144
|
+
* clearOverride(r, bp) — the whole breakpoint
|
|
3145
|
+
* clearOverride(r, bp, undefined, st) — one state at that breakpoint
|
|
3146
|
+
* clearOverride(r, bp, prop) — one base-state value
|
|
3147
|
+
* clearOverride(r, bp, prop, st) — one value within a state
|
|
3148
|
+
*
|
|
3149
|
+
* Returns `undefined` when nothing is left, so a serialiser omits the key entirely.
|
|
3150
|
+
*/
|
|
3151
|
+
function clearOverride(responsive, bp, prop, state) {
|
|
3152
|
+
assertOverrideBreakpoint(bp);
|
|
3153
|
+
const next = { ...(responsive ?? {}) };
|
|
3154
|
+
const current = next[bp];
|
|
3155
|
+
if (current && (prop !== undefined || state !== undefined)) {
|
|
3156
|
+
const layer = { ...current };
|
|
3157
|
+
if (state) {
|
|
3158
|
+
const states = { ...(layer.stateStyles ?? {}) };
|
|
3159
|
+
if (prop !== undefined && states[state]) {
|
|
3160
|
+
const { [prop]: _dropped, ...rest } = states[state];
|
|
3161
|
+
states[state] = rest;
|
|
3162
|
+
}
|
|
3163
|
+
if (prop === undefined || !hasKeys(states[state]))
|
|
3164
|
+
delete states[state];
|
|
3165
|
+
layer.stateStyles = hasKeys(states) ? states : undefined;
|
|
3166
|
+
}
|
|
3167
|
+
else if (prop !== undefined && layer.styleProps) {
|
|
3168
|
+
const { [prop]: _dropped, ...rest } = layer.styleProps;
|
|
3169
|
+
layer.styleProps = hasKeys(rest) ? rest : undefined;
|
|
3170
|
+
}
|
|
3171
|
+
if (!layer.stateStyles)
|
|
3172
|
+
delete layer.stateStyles;
|
|
3173
|
+
if (!layer.styleProps)
|
|
3174
|
+
delete layer.styleProps;
|
|
3175
|
+
next[bp] = hasKeys(layer) ? layer : undefined;
|
|
3176
|
+
}
|
|
3177
|
+
else {
|
|
3178
|
+
next[bp] = undefined;
|
|
3179
|
+
}
|
|
3180
|
+
if (!next[bp])
|
|
3181
|
+
delete next[bp];
|
|
3182
|
+
return hasKeys(next) ? next : undefined;
|
|
3183
|
+
}
|
|
3184
|
+
const ZERO_DURATIONS = new Set(['0ms', '0s']);
|
|
3185
|
+
function groupsTouchedBy(map) {
|
|
3186
|
+
const touched = new Set();
|
|
3187
|
+
if (!map)
|
|
3188
|
+
return touched;
|
|
3189
|
+
for (const group of VIRTUAL_TRAIT_GROUPS) {
|
|
3190
|
+
if (group.keys.some(k => map[k] !== undefined))
|
|
3191
|
+
touched.add(group);
|
|
3192
|
+
}
|
|
3193
|
+
return touched;
|
|
3194
|
+
}
|
|
3195
|
+
/**
|
|
3196
|
+
* Should a touched group that composed to nothing emit its cancelling value?
|
|
3197
|
+
* Transition is the exception: setting only the easing (no duration anywhere) composes to
|
|
3198
|
+
* nothing too, and cancelling there would also kill the renderer's default hover transition
|
|
3199
|
+
* — so transition cancels only when the merged duration is explicitly zero.
|
|
3200
|
+
*/
|
|
3201
|
+
function shouldReset(group, merged) {
|
|
3202
|
+
if (group.reset === null)
|
|
3203
|
+
return false;
|
|
3204
|
+
if (group.output === 'transition')
|
|
3205
|
+
return ZERO_DURATIONS.has(String(merged['transitionDuration']));
|
|
3206
|
+
return true;
|
|
3207
|
+
}
|
|
3208
|
+
/**
|
|
3209
|
+
* Compose a sparse override against everything wider than it, keeping ONLY what the
|
|
3210
|
+
* override changes: its own plain props, plus each virtual group it touches (or that
|
|
3211
|
+
* group's cancelling value when it now composes to nothing). Untouched groups are dropped
|
|
3212
|
+
* — re-emitting the wider rule's value inside a media block is noise at best.
|
|
3213
|
+
*/
|
|
3214
|
+
function composeOverride(own, wider, touched) {
|
|
3215
|
+
const composed = composeVirtualTraits(own, wider);
|
|
3216
|
+
const groupOutputs = new Set(VIRTUAL_TRAIT_GROUPS.map(g => g.output));
|
|
3217
|
+
const out = {};
|
|
3218
|
+
for (const [k, v] of Object.entries(composed)) {
|
|
3219
|
+
if (!groupOutputs.has(k) && v !== undefined)
|
|
3220
|
+
out[k] = v;
|
|
3221
|
+
}
|
|
3222
|
+
const merged = { ...wider, ...own };
|
|
3223
|
+
for (const group of touched) {
|
|
3224
|
+
const value = composed[group.output];
|
|
3225
|
+
if (value !== undefined)
|
|
3226
|
+
out[group.output] = value;
|
|
3227
|
+
else if (shouldReset(group, merged))
|
|
3228
|
+
out[group.output] = group.reset;
|
|
3229
|
+
}
|
|
3230
|
+
return out;
|
|
3231
|
+
}
|
|
3232
|
+
/**
|
|
3233
|
+
* The per-breakpoint rule sets a node needs, widest → narrowest (the order they must be
|
|
3234
|
+
* emitted in, AFTER every base rule — equal specificity means source order decides).
|
|
3235
|
+
* Breakpoints with nothing to emit are omitted.
|
|
3236
|
+
*
|
|
3237
|
+
* Handles the cross-axis case: a breakpoint that changes a virtual group (say
|
|
3238
|
+
* `translateX`) also re-emits that group for every state the node has, because the wider
|
|
3239
|
+
* state rule was composed against the wider value and would otherwise snap back to it on
|
|
3240
|
+
* hover.
|
|
3241
|
+
*/
|
|
3242
|
+
function planResponsiveRules(styleProps, stateStyles, responsive) {
|
|
3243
|
+
if (!hasKeys(responsive))
|
|
3244
|
+
return [];
|
|
3245
|
+
const plan = [];
|
|
3246
|
+
for (const def of BREAKPOINTS) {
|
|
3247
|
+
const layer = layerAt(responsive, def.id);
|
|
3248
|
+
if (!layer || def.maxWidth == null)
|
|
3249
|
+
continue;
|
|
3250
|
+
const bp = def.id;
|
|
3251
|
+
const wider = parentBreakpoint(bp);
|
|
3252
|
+
const own = layer.styleProps ?? {};
|
|
3253
|
+
const widerProps = resolveStyleProps(styleProps, responsive, wider);
|
|
3254
|
+
const touchedByProps = groupsTouchedBy(own);
|
|
3255
|
+
const composedProps = composeOverride(own, widerProps, touchedByProps);
|
|
3256
|
+
const propsHere = { ...widerProps, ...own };
|
|
3257
|
+
const statesHere = resolveStateStyles(stateStyles, responsive, bp);
|
|
3258
|
+
const statesWider = resolveStateStyles(stateStyles, responsive, wider);
|
|
3259
|
+
const composedStates = {};
|
|
3260
|
+
for (const state of Object.keys(statesHere)) {
|
|
3261
|
+
const ownState = layer.stateStyles?.[state] ?? {};
|
|
3262
|
+
const touched = groupsTouchedBy(ownState);
|
|
3263
|
+
for (const group of touchedByProps)
|
|
3264
|
+
touched.add(group);
|
|
3265
|
+
const composed = composeOverride(ownState, { ...propsHere, ...(statesWider[state] ?? {}) }, touched);
|
|
3266
|
+
if (hasKeys(composed))
|
|
3267
|
+
composedStates[state] = composed;
|
|
3268
|
+
}
|
|
3269
|
+
if (hasKeys(composedProps) || hasKeys(composedStates)) {
|
|
3270
|
+
plan.push({
|
|
3271
|
+
breakpoint: bp,
|
|
3272
|
+
mediaQuery: mediaQueryFor(bp),
|
|
3273
|
+
styleProps: composedProps,
|
|
3274
|
+
stateStyles: composedStates,
|
|
3275
|
+
});
|
|
3276
|
+
}
|
|
3277
|
+
}
|
|
3278
|
+
return plan;
|
|
3279
|
+
}
|
|
3280
|
+
|
|
2973
3281
|
/**
|
|
2974
3282
|
* Shared RELATIVE (route-context) data resolving — the SINGLE source of truth for how a detail page
|
|
2975
3283
|
* derives values FROM its current route item, consumed by BOTH the page builder (iox-cms-client) and
|
|
@@ -4004,5 +4312,5 @@ function effectiveTransitionId(anim) {
|
|
|
4004
4312
|
* Generated bundle index. Do not edit.
|
|
4005
4313
|
*/
|
|
4006
4314
|
|
|
4007
|
-
export { AOSService, AnalyticsService, 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_WIDTH_BY_TYPE, ENVIRONMENT, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, activeActions, applyBindingPipes, applyFeel, buildDataSourceFilter, buildRelatedFilter, buildTargetedStateSelector, buildTransitionTimeline, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, dataSourcePlanToRequest, declaredInputNames, effectiveTransitionId, excludeSelf, feelFor, getByPath, initialSlotValues, isActionEnabled, isContextAction, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, parseUrlList, planDataSource, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSiblings, resolveSingleItemId, rewriteViewportUnits, safeSetInput, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots };
|
|
4315
|
+
export { AOSService, AnalyticsService, BREAKPOINTS, Breakpoint, 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_WIDTH_BY_TYPE, ENVIRONMENT, GALLERY_EFFECTS, GALLERY_EFFECT_DESCRIPTORS, GalleryLoop, IOX_BUILDER_EVENTS, IS_PREVIEW, IoxAnimateContainer, IoxAosDirective, IoxAosModule, IoxBuilderComponentsModule, IoxComponentRegistryService, IoxPageComponent, IoxPageModule, IoxUiModule, LinkedContainerComponent, PAGE_TRANSITION_CATEGORIES, PAGE_TRANSITION_PRESETS, PIPE_DESCRIPTORS, PIPE_REGISTRY, PageScrollProvider, PrivacyModalComponent, PrivacyModalService, PrivacyModelEvent, RESERVED_ALIAS_PREFIX, SUPPRESSED_STYLE_PROPS_BY_TYPE, SectionComponent, TRANSITION_FEELS, TextBlockComponent, VIRTUAL_TRAIT_GROUPS, VIRTUAL_TRAIT_KEYS, ViewPositionDirective, ViewPositionModule, WebSettingsService, activeActions, applyBindingPipes, applyFeel, breakpointDef, buildDataSourceFilter, buildRelatedFilter, buildTargetedStateSelector, buildTransitionTimeline, cascadeChain, clearOverride, collectContextSlotKeys, collectReferencedAliases, compileDeclarations, composeVirtualTraits, computeRelative, contextActionEffect, contextSlotKeys, countOverrides, dataSourcePlanToRequest, declaredInputNames, effectiveTransitionId, excludeSelf, feelFor, getByPath, initialSlotValues, isActionEnabled, isContextAction, isOverriddenAt, isReservedAlias, isValidSlotKey, legacyEnterToTransition, matchRouteParams, mediaQueryFor, nearestCommonAncestorId, nodeCssId, nodeUsesContext, normalizeCollectionResult, parentBreakpoint, parseUrlList, planDataSource, planResponsiveRules, referencedDataSources, referencedDataSourcesDeep, renderDefaultDeclarations, resolveContextValue, resolveDerivedInto, resolveGalleryEffect, resolveGalleryUrls, resolvePageTransition, resolvePath, resolveRelativeInto, resolveRepeaterItems, resolveSiblings, resolveSingleItemId, resolveStateStyles, resolveStyleProps, resolveValueChain, rewriteViewportUnits, safeSetInput, setOverride, stripSuppressedProps, styleKeyToKebab, variableAliases, variableItemsFrom, withContextSlots, wrapInMediaQuery };
|
|
4008
4316
|
//# sourceMappingURL=vectoriox-iox-ui.mjs.map
|