@vectoriox/iox-builder 11.9.3 → 11.10.1

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, entrancePreStateStyle, 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,
@@ -4744,18 +4747,19 @@ class InteractionEngineService {
4744
4747
  const keyframes = this.keyframesFor(action.type, action);
4745
4748
  if (!keyframes.length)
4746
4749
  return;
4747
- const first = keyframes[0];
4750
+ const first = entrancePreStateStyle(action.type, action.params);
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. An entrance that hides
4755
+ // nothing (a picture settling) stays in view.
4756
+ if ('opacity' in first || 'visibility' in first)
4757
+ element.style.setProperty('opacity', '0');
4753
4758
  element.style.setProperty('pointer-events', 'none');
4754
4759
  }
4755
4760
  else {
4756
- for (const [prop, val] of Object.entries(first)) {
4757
- element.style[prop] = String(val);
4758
- }
4761
+ for (const [prop, val] of Object.entries(first))
4762
+ element.style.setProperty(prop, val);
4759
4763
  element.style.setProperty('pointer-events', 'none');
4760
4764
  }
4761
4765
  element.setAttribute(INTERACTION_HIDDEN_ATTRIBUTE, '');
@@ -4764,6 +4768,7 @@ class InteractionEngineService {
4764
4768
  clearInlineAnimationStyles(element) {
4765
4769
  element.style.removeProperty('opacity');
4766
4770
  element.style.removeProperty('transform');
4771
+ element.style.removeProperty('clip-path');
4767
4772
  element.style.removeProperty('visibility');
4768
4773
  element.style.removeProperty('pointer-events');
4769
4774
  element.removeAttribute(INTERACTION_HIDDEN_ATTRIBUTE);
@@ -4777,11 +4782,11 @@ class InteractionEngineService {
4777
4782
  return;
4778
4783
  }
4779
4784
  // Reverse: play the keyframes backwards
4780
- element.animate([...keyframes].reverse(), {
4785
+ animateAction(element, action, [...keyframes].reverse(), {
4781
4786
  duration: action.duration,
4782
4787
  easing: action.easing,
4783
4788
  fill: 'forwards',
4784
- });
4789
+ }, { reverse: true });
4785
4790
  }
4786
4791
  /** The action's keyframes from the ONE shared table both runtimes animate from (composite T2). */
4787
4792
  keyframesFor(type, action) {
@@ -8169,6 +8174,7 @@ class OverlayComponent {
8169
8174
  scaleIn: 'Scale In', scaleOut: 'Scale Out',
8170
8175
  rotate: 'Rotate', show: 'Show', hide: 'Hide',
8171
8176
  toggleVisibility: 'Toggle',
8177
+ clipReveal: 'Reveal', zoomOut: 'Zoom settle', revealText: 'Reveal text',
8172
8178
  };
8173
8179
  if (isPhoneMenuOpener(this.selectEntry?.node, ix, this.designState?.snapshot.menu?.drawer.id)) {
8174
8180
  return this.builderLabels(MENU_OPENER_KEY, BUILDER_CHROME_EN[MENU_OPENER_KEY]);