@vectoriox/iox-builder 11.9.3 → 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.animate(keyframes, {
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
- element.style.setProperty('opacity', '0');
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.animate([...keyframes].reverse(), {
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) {
@@ -8169,6 +8177,7 @@ class OverlayComponent {
8169
8177
  scaleIn: 'Scale In', scaleOut: 'Scale Out',
8170
8178
  rotate: 'Rotate', show: 'Show', hide: 'Hide',
8171
8179
  toggleVisibility: 'Toggle',
8180
+ clipReveal: 'Reveal', zoomOut: 'Zoom settle', revealText: 'Reveal text',
8172
8181
  };
8173
8182
  if (isPhoneMenuOpener(this.selectEntry?.node, ix, this.designState?.snapshot.menu?.drawer.id)) {
8174
8183
  return this.builderLabels(MENU_OPENER_KEY, BUILDER_CHROME_EN[MENU_OPENER_KEY]);