@vectoriox/iox-builder 11.9.2 → 11.10.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.
|
@@ -17,7 +17,7 @@ import { TooltipModule } from 'primeng/tooltip';
|
|
|
17
17
|
import * as i20 from 'primeng/dialog';
|
|
18
18
|
import { DialogModule } from 'primeng/dialog';
|
|
19
19
|
import * as i1$1 from '@vectoriox/iox-ui';
|
|
20
|
-
import { nodeCssId, needsGroupName, resolveBoundValue, VALIDATION_STATES as VALIDATION_STATES$1, VALIDATION_STATE_CLASS as VALIDATION_STATE_CLASS$1, DEFAULT_WIDTH_BY_TYPE, TEXT_DIRECTION_KEY, TEXT_ALIGN_KEY, TextAlign, COLOR_SCHEME_TRAIT, COLOR_SCHEMES, ColorScheme, LinkType, MAX_LINES_KEY, A11yTrait, BREAKPOINTS, Breakpoint, withSchemeInk, stripSuppressedProps, DeclarationContext, buildPartSelector, planResponsiveRules, resolveStyleProps, targetedStateSelector, stateSelectorSuffix, compileTokenCssBlocks, catalogFontId, fontsForTokens, GOOGLE_FONTS_FILE_ORIGIN, googleFontHref, compileDeclarations, isLastEmittedStateKey, wrapInBreakpointQuery, BreakpointQueryKind, NEW_NODE_STYLE_DEFAULTS, defaultElementStyleFor, applyElementStyle, planDataSource, dataSourcePlanToRequest, normalizeCollectionResult, resolveRepeaterItems, getByPath, computeRelative, ContextStore, ENTRANCE_ACTION_TYPES, EXIT_ACTION_TYPES, ComponentInstanceRegistryService, entranceStartsHidden, isActionEnabled, isContextAction, contextActionEffect, resolveContextValue, effectiveActionType, INTERACTION_HIDDEN_ATTRIBUTE, motionAllowed, finalKeyframe, entranceDelay, repeatedRowIndex, keyframeStyleEntries, buildInteractionKeyframes, cascadeChain, declaredInputNames, emptyImagePlaceholder, syncNodeDesignClasses, nodeTraitValue, syncNodeA11yAttributes, nodeA11yAttributes, safeSetInput, colorSchemeOf, composeVirtualTraits, withDefaultHoverTransition, stateNamesIn, partClassName, switchElementStyle, releaseElementStyle, countOverrides, setOverride, breakpointDef, breakpointForWidth, FormRenderState, needsAccessibleName, resolveInputs, setInputOverride, barReserveClass, collectContextSlotKeys, withContextSlots, compilePageStyle, nodeUsesContext, IS_PREVIEW, buttonBlockHref, bootSlider, IoxPageModule, PALETTE_PRESETS, elementStyleById, PART_CLASS_NAMES } from '@vectoriox/iox-ui';
|
|
20
|
+
import { nodeCssId, needsGroupName, resolveBoundValue, VALIDATION_STATES as VALIDATION_STATES$1, VALIDATION_STATE_CLASS as VALIDATION_STATE_CLASS$1, DEFAULT_WIDTH_BY_TYPE, TEXT_DIRECTION_KEY, TEXT_ALIGN_KEY, TextAlign, COLOR_SCHEME_TRAIT, COLOR_SCHEMES, ColorScheme, LinkType, MAX_LINES_KEY, A11yTrait, BREAKPOINTS, Breakpoint, withSchemeInk, stripSuppressedProps, DeclarationContext, buildPartSelector, planResponsiveRules, resolveStyleProps, targetedStateSelector, stateSelectorSuffix, compileTokenCssBlocks, catalogFontId, fontsForTokens, GOOGLE_FONTS_FILE_ORIGIN, googleFontHref, compileDeclarations, isLastEmittedStateKey, wrapInBreakpointQuery, BreakpointQueryKind, NEW_NODE_STYLE_DEFAULTS, defaultElementStyleFor, applyElementStyle, planDataSource, dataSourcePlanToRequest, normalizeCollectionResult, resolveRepeaterItems, getByPath, computeRelative, ContextStore, ENTRANCE_ACTION_TYPES, EXIT_ACTION_TYPES, ComponentInstanceRegistryService, entranceStartsHidden, isActionEnabled, isContextAction, contextActionEffect, resolveContextValue, effectiveActionType, INTERACTION_HIDDEN_ATTRIBUTE, motionAllowed, finalKeyframe, animateAction, entranceDelay, repeatedRowIndex, keyframeStyleEntries, buildInteractionKeyframes, cascadeChain, declaredInputNames, emptyImagePlaceholder, syncNodeDesignClasses, nodeTraitValue, syncNodeA11yAttributes, nodeA11yAttributes, safeSetInput, colorSchemeOf, composeVirtualTraits, withDefaultHoverTransition, stateNamesIn, partClassName, switchElementStyle, releaseElementStyle, countOverrides, setOverride, breakpointDef, breakpointForWidth, FormRenderState, needsAccessibleName, resolveInputs, setInputOverride, barReserveClass, collectContextSlotKeys, withContextSlots, compilePageStyle, nodeUsesContext, IS_PREVIEW, buttonBlockHref, bootSlider, IoxPageModule, PALETTE_PRESETS, elementStyleById, PART_CLASS_NAMES } from '@vectoriox/iox-ui';
|
|
21
21
|
export { ComponentInstanceRegistryService, VIRTUAL_TRAIT_KEYS, composeVirtualTraits } from '@vectoriox/iox-ui';
|
|
22
22
|
import { StructureEdit, isAccordionPart, isDisclosurePart, isSliderPart, isTabsPart, isSegmentedPart, structureRefusal, StructureRefusal, SegmentedRole, SEGMENTED_MAX_OPTIONS, AccordionRole, SEGMENTED_MIN_OPTIONS, isExclusiveItemPart, TabsRole, ITEM_OPEN_STATE, readStyle, isSegmentedRoot, segmentedDefaultOn, segmentedOptions, isTabsRoot, isTabsFromContent, tabsTriggers, isAccordionRoot, isAccordionFromContent, accordionItems, initialAccordionOpen, accordionBehaviour, exclusiveItemLabel, exclusiveRootOf, tabTriggerOf, tabLabel, removeTabPair, tabPanelOf, tabsListOf, tabsPanelsOf, nextTabKey, CompositeBehaviourTrait, ACCORDION_DEFAULT_ONS, TabsBehaviourTrait, TABS_ACTIVATE_ONS, TABS_ORIENTATIONS, onCompositeItemState, isCompositeItemOn, runCompositeItemAction, shouldScrollToItem, rowIndexOf as rowIndexOf$1, slideIndexForRow, DisclosureRole, isExclusiveTrigger, compositeScopeId, compositeRowKeys, isExclusiveRoot, ExclusiveRuntime, exclusiveDefaultOf, exclusiveLabelOf, exclusiveBehaviourOf, exclusiveKindOf, compositeKindOfRole, AccordionRuntime, isToggleKind, closestAccordionItem, isAnyCompositeRoot, SceneRole, isExclusiveList, buildCardRecipe, buildBadge, buildChip, buildAccordionRecipe, buildDisclosureRecipe, buildTabsRecipe, buildSegmentedRecipe, buildLightboxRecipe, NO_ELEMENT_STYLE, CompositeKind, SliderRole, accordionItemLabel, segmentedOptionLabel, isExclusivePanels, isLockedPart, accordionRootOf, accordionItemOf, addAccordionItem, addTabPair, segmentedAddRefusal, addSegmentedOption, isCompositeItem, accordionHeadingLevel, isCompositePanel, isCompositeTrigger, splitSliderChildren, hasSliderParts } from '@vectoriox/iox-ui/composite-core';
|
|
23
23
|
import { formContentInHost, isInteractiveHost, findFormContentInHosts } from '@vectoriox/iox-ui/forms-core';
|
|
@@ -1318,6 +1318,9 @@ const ACTION_TYPE_OPTIONS = [
|
|
|
1318
1318
|
{ value: 'scaleIn', label: 'Scale in' },
|
|
1319
1319
|
{ value: 'scaleOut', label: 'Scale out' },
|
|
1320
1320
|
{ value: 'rotate', label: 'Rotate' },
|
|
1321
|
+
{ value: 'clipReveal', label: 'Reveal' },
|
|
1322
|
+
{ value: 'zoomOut', label: 'Zoom settle' },
|
|
1323
|
+
{ value: 'revealText', label: 'Reveal text' },
|
|
1321
1324
|
{ value: 'show', label: 'Show' },
|
|
1322
1325
|
{ value: 'hide', label: 'Hide' },
|
|
1323
1326
|
{ value: 'toggleVisibility', label: 'Toggle visibility' },
|
|
@@ -4697,7 +4700,7 @@ class InteractionEngineService {
|
|
|
4697
4700
|
}
|
|
4698
4701
|
// 'both' = backwards (holds first keyframe during delay) + forwards (holds last keyframe after end). A look
|
|
4699
4702
|
// entrance on a Repeater's template staggers its rows: each copy adds its row's share (shared `entranceDelay`).
|
|
4700
|
-
const anim = element.
|
|
4703
|
+
const anim = animateAction(element, { type, params: action.params }, keyframes, {
|
|
4701
4704
|
duration: action.duration,
|
|
4702
4705
|
delay: entranceDelay(action, repeatedRowIndex(element)),
|
|
4703
4706
|
easing: action.easing,
|
|
@@ -4748,8 +4751,12 @@ class InteractionEngineService {
|
|
|
4748
4751
|
if (this.isBuilderMode()) {
|
|
4749
4752
|
// No transforms — inline transforms on children inside iox-page-component's
|
|
4750
4753
|
// scale() break Lenis scroll. pointer-events:none lets wheel events and
|
|
4751
|
-
// hover fall through to visible elements underneath.
|
|
4752
|
-
|
|
4754
|
+
// hover fall through to visible elements underneath. A clip hides by itself, and
|
|
4755
|
+
// an entrance that hides nothing (a picture settling) stays in view.
|
|
4756
|
+
if (first['clipPath'])
|
|
4757
|
+
element.style.setProperty('clip-path', first['clipPath']);
|
|
4758
|
+
else if ('opacity' in first || 'visibility' in first)
|
|
4759
|
+
element.style.setProperty('opacity', '0');
|
|
4753
4760
|
element.style.setProperty('pointer-events', 'none');
|
|
4754
4761
|
}
|
|
4755
4762
|
else {
|
|
@@ -4764,6 +4771,7 @@ class InteractionEngineService {
|
|
|
4764
4771
|
clearInlineAnimationStyles(element) {
|
|
4765
4772
|
element.style.removeProperty('opacity');
|
|
4766
4773
|
element.style.removeProperty('transform');
|
|
4774
|
+
element.style.removeProperty('clip-path');
|
|
4767
4775
|
element.style.removeProperty('visibility');
|
|
4768
4776
|
element.style.removeProperty('pointer-events');
|
|
4769
4777
|
element.removeAttribute(INTERACTION_HIDDEN_ATTRIBUTE);
|
|
@@ -4777,11 +4785,11 @@ class InteractionEngineService {
|
|
|
4777
4785
|
return;
|
|
4778
4786
|
}
|
|
4779
4787
|
// Reverse: play the keyframes backwards
|
|
4780
|
-
element
|
|
4788
|
+
animateAction(element, action, [...keyframes].reverse(), {
|
|
4781
4789
|
duration: action.duration,
|
|
4782
4790
|
easing: action.easing,
|
|
4783
4791
|
fill: 'forwards',
|
|
4784
|
-
});
|
|
4792
|
+
}, { reverse: true });
|
|
4785
4793
|
}
|
|
4786
4794
|
/** The action's keyframes from the ONE shared table both runtimes animate from (composite T2). */
|
|
4787
4795
|
keyframesFor(type, action) {
|
|
@@ -5302,6 +5310,10 @@ class SceneCanvasService {
|
|
|
5302
5310
|
this.rootsById.delete(id);
|
|
5303
5311
|
this.idsByRoot.delete(root);
|
|
5304
5312
|
}
|
|
5313
|
+
/** The canvas's Lenis just moved the scroll, inside this frame: hold every stage in this same frame. */
|
|
5314
|
+
pinNow() {
|
|
5315
|
+
this.driver?.pinNow();
|
|
5316
|
+
}
|
|
5305
5317
|
/** The damped progress a root's layers stand at. */
|
|
5306
5318
|
progressOf(root) {
|
|
5307
5319
|
return this.driver?.progressOf(root) ?? null;
|
|
@@ -8165,6 +8177,7 @@ class OverlayComponent {
|
|
|
8165
8177
|
scaleIn: 'Scale In', scaleOut: 'Scale Out',
|
|
8166
8178
|
rotate: 'Rotate', show: 'Show', hide: 'Hide',
|
|
8167
8179
|
toggleVisibility: 'Toggle',
|
|
8180
|
+
clipReveal: 'Reveal', zoomOut: 'Zoom settle', revealText: 'Reveal text',
|
|
8168
8181
|
};
|
|
8169
8182
|
if (isPhoneMenuOpener(this.selectEntry?.node, ix, this.designState?.snapshot.menu?.drawer.id)) {
|
|
8170
8183
|
return this.builderLabels(MENU_OPENER_KEY, BUILDER_CHROME_EN[MENU_OPENER_KEY]);
|
|
@@ -9977,6 +9990,8 @@ class BuilderComponent {
|
|
|
9977
9990
|
autoResize: false, // we drive resize() manually via canvasRo + viewportSub
|
|
9978
9991
|
});
|
|
9979
9992
|
this.lenis.on('scroll', (instance) => {
|
|
9993
|
+
// A Scene's stage is held against this very scroll: a frame later, it would paint carried off its pin.
|
|
9994
|
+
this.sceneCanvas?.pinNow();
|
|
9980
9995
|
const clientH = this.previewScrollRef.nativeElement.clientHeight;
|
|
9981
9996
|
this.onPageScroll({
|
|
9982
9997
|
scrollTop: instance.scroll,
|