cax-design-system 2.0.0 → 2.2.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.
Files changed (132) hide show
  1. package/README.md +1 -1
  2. package/avatargroup/avatargroup.d.ts +1 -7
  3. package/avatargroup/avatargroup.module.d.ts +9 -0
  4. package/avatargroup/public_api.d.ts +1 -0
  5. package/badge/badge.directive.d.ts +4 -2
  6. package/button/button.d.ts +2 -1
  7. package/editor/editor.d.ts +1 -8
  8. package/editor/editor.module.d.ts +9 -0
  9. package/editor/public_api.d.ts +1 -0
  10. package/esm2022/avatar/avatar.mjs +3 -3
  11. package/esm2022/avatargroup/avatargroup.mjs +5 -27
  12. package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
  13. package/esm2022/avatargroup/public_api.mjs +2 -1
  14. package/esm2022/badge/badge.directive.mjs +20 -8
  15. package/esm2022/badge/badge.mjs +4 -4
  16. package/esm2022/button/button.mjs +5 -4
  17. package/esm2022/checkbox/checkbox.mjs +3 -3
  18. package/esm2022/dropdown/dropdown.mjs +4 -6
  19. package/esm2022/editor/editor.mjs +9 -120
  20. package/esm2022/editor/editor.module.mjs +19 -0
  21. package/esm2022/editor/public_api.mjs +2 -1
  22. package/esm2022/inputmask/inputmask.mjs +42 -108
  23. package/esm2022/inputmask/inputmask.module.mjs +22 -0
  24. package/esm2022/inputmask/public_api.mjs +2 -1
  25. package/esm2022/inputtext/inputtext.component.mjs +14 -8
  26. package/esm2022/inputtext/inputtext.directive.mjs +3 -4
  27. package/esm2022/messages/messages.mjs +5 -5
  28. package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
  29. package/esm2022/paginator/paginator.mjs +21 -8
  30. package/esm2022/progressbar/progressbar.mjs +2 -2
  31. package/esm2022/progressspinner/progressspinner.mjs +12 -12
  32. package/esm2022/selectbutton/selectbutton.mjs +2 -2
  33. package/esm2022/sidebar/sidebar.mjs +3 -3
  34. package/esm2022/splitbutton/splitbutton.mjs +8 -3
  35. package/esm2022/splitbutton/splitbutton.module.mjs +5 -4
  36. package/esm2022/steps/public_api.mjs +2 -1
  37. package/esm2022/steps/steps.mjs +5 -143
  38. package/esm2022/steps/steps.module.mjs +20 -0
  39. package/esm2022/table/table.mjs +3 -3
  40. package/esm2022/tabview/tabview.mjs +28 -3
  41. package/esm2022/timeline/public_api.mjs +2 -1
  42. package/esm2022/timeline/timeline.mjs +6 -90
  43. package/esm2022/timeline/timeline.module.mjs +19 -0
  44. package/esm2022/togglebutton/togglebutton.mjs +2 -2
  45. package/esm2022/toggleswitch/toggleswitch.mjs +7 -4
  46. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  47. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-avatargroup.mjs +9 -15
  49. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-badge.mjs +22 -10
  51. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-button.mjs +5 -4
  53. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  55. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-dropdown.mjs +3 -5
  57. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-editor.mjs +9 -106
  59. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-inputmask.mjs +40 -89
  61. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-inputtext.mjs +15 -10
  63. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-messages.mjs +4 -4
  65. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
  67. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-paginator.mjs +20 -7
  69. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  71. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  72. package/fesm2022/cax-design-system-progressspinner.mjs +11 -11
  73. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  75. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  77. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-splitbutton.mjs +11 -5
  79. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-steps.mjs +7 -128
  81. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-table.mjs +2 -2
  83. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  84. package/fesm2022/cax-design-system-tabview.mjs +27 -2
  85. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  86. package/fesm2022/cax-design-system-timeline.mjs +6 -75
  87. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-togglebutton.mjs +2 -2
  89. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-toggleswitch.mjs +6 -3
  91. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  92. package/inputmask/inputmask.d.ts +12 -12
  93. package/inputmask/inputmask.module.d.ts +12 -0
  94. package/inputmask/public_api.d.ts +1 -0
  95. package/inputtext/inputtext.component.d.ts +6 -3
  96. package/messages/messages.d.ts +1 -1
  97. package/package.json +215 -215
  98. package/paginator/paginator.d.ts +4 -1
  99. package/progressspinner/progressspinner.d.ts +1 -1
  100. package/resources/cax.min.scss +1 -1
  101. package/resources/cax.scss +7686 -6588
  102. package/resources/components/avatar/avatar.scss +2 -2
  103. package/resources/components/avatargroup/{avatargroup.css → avatargroup.scss} +2 -2
  104. package/resources/components/badge/badge.scss +33 -0
  105. package/resources/components/button/button.scss +44 -11
  106. package/resources/components/dropdown/dropdown.scss +2 -18
  107. package/resources/components/editor/editor.scss +4 -0
  108. package/resources/components/inputmask/{inputmask.css → inputmask.scss} +2 -2
  109. package/resources/components/inputtext/inputtext.scss +21 -23
  110. package/resources/components/messages/messages.scss +1 -1
  111. package/resources/components/overlaypanel/overlaypanel.scss +4 -1
  112. package/resources/components/paginator/paginator.scss +4 -0
  113. package/resources/components/progressbar/progressbar.scss +0 -15
  114. package/resources/components/progressspinner/progressspinner.scss +9 -9
  115. package/resources/components/sidebar/sidebar.scss +1 -1
  116. package/resources/components/splitbutton/splitbutton.scss +6 -3
  117. package/resources/components/steps/{steps.css → steps.scss} +10 -9
  118. package/resources/components/table/table.scss +41 -1
  119. package/resources/components/tabview/tabview.scss +12 -8
  120. package/resources/components/timeline/timeline.scss +134 -0
  121. package/resources/components/toggleswitch/toggleswitch.scss +6 -0
  122. package/splitbutton/splitbutton.d.ts +1 -0
  123. package/splitbutton/splitbutton.module.d.ts +2 -1
  124. package/steps/public_api.d.ts +1 -0
  125. package/steps/steps.d.ts +1 -9
  126. package/steps/steps.module.d.ts +10 -0
  127. package/timeline/public_api.d.ts +1 -0
  128. package/timeline/timeline.d.ts +1 -8
  129. package/timeline/timeline.module.d.ts +9 -0
  130. package/toggleswitch/toggleswitch.d.ts +2 -1
  131. package/resources/components/editor/editor.css +0 -4
  132. package/resources/components/timeline/timeline.css +0 -114
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-splitbutton.mjs","sources":["../../src/app/components/splitbutton/splitbutton.ts","../../src/app/components/splitbutton/splitbutton.html","../../src/app/components/splitbutton/splitbutton.module.ts","../../src/app/components/splitbutton/cax-design-system-splitbutton.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, numberAttribute, signal } from '@angular/core';\nimport { MenuItem, CaxTemplate } from 'cax-design-system/api';\nimport { TieredMenu } from 'cax-design-system/tieredmenu';\nimport { UniqueComponentId } from 'cax-design-system/utils';\n\nimport { ButtonProps, MenuButtonProps } from './splitbutton.interface';\n\ntype SplitButtonIconPosition = 'left' | 'right';\n/**\n * SplitButton groups a set of commands in an overlay with a default command.\n * @group Components\n */\n@Component({\n selector: 'cax-splitButton',\n templateUrl: './splitbutton.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./splitbutton.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class SplitButton {\n /**\n * MenuModel instance to define the overlay items.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Defines the style of the button.\n * @group Props\n */\n @Input() severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined;\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) text: boolean = false;\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) outlined: boolean = false;\n /**\n * Defines the size of the button.\n * @group Props\n */\n @Input() size: 'small' | 'large' | undefined | null = null;\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) plain: boolean = false;\n /**\n * Name of the icon.\n * @group Props\n */\n @Input() icon: string | undefined;\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: SplitButtonIconPosition = 'left';\n /**\n * Text of the button.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Tooltip for the main button.\n * @group Props\n */\n @Input() tooltip: string | undefined;\n /**\n * Tooltip options for the main button.\n * @group Props\n */\n @Input() tooltipOptions: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the overlay menu.\n * @group Props\n */\n @Input() menuStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the overlay menu.\n * @group Props\n */\n @Input() menuStyleClass: string | undefined;\n\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Indicates the direction of the element.\n * @group Props\n */\n @Input() dir: string | undefined;\n /**\n * Defines a string that labels the expand button for accessibility.\n * @group Props\n */\n @Input() expandAriaLabel: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Button Props\n */\n @Input() buttonProps: ButtonProps | undefined;\n /**\n * Menu Button Props\n */\n @Input() menuButtonProps: MenuButtonProps | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) set disabled(v: boolean | undefined) {\n this._disabled = v;\n this._buttonDisabled = v;\n this.menuButtonDisabled = v;\n }\n public get disabled(): boolean | undefined {\n return this._disabled;\n }\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * When present, it specifies that the menu button element should be disabled.\n * @group Props\n */\n @Input('menuButtonDisabled') set menuButtonDisabled(v: boolean | undefined) {\n if (this.disabled) {\n this._menuButtonDisabled = this.disabled;\n } else this._menuButtonDisabled = v;\n }\n public get menuButtonDisabled(): boolean | undefined {\n return this._menuButtonDisabled;\n }\n /**\n * When present, it specifies that the button element should be disabled.\n * @group Props\n */\n @Input() set buttonDisabled(v: boolean | undefined) {\n if (this.disabled) {\n this.buttonDisabled = this.disabled;\n } else this._buttonDisabled = v;\n }\n public get buttonDisabled(): boolean {\n return this._buttonDisabled;\n }\n /**\n * Callback to invoke when default command button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * Callback to invoke when overlay menu is hidden.\n * @group Emits\n */\n @Output() onMenuHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when overlay menu is shown.\n * @group Emits\n */\n @Output() onMenuShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dropdown button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @ViewChild('container') containerViewChild: ElementRef | undefined;\n\n @ViewChild('defaultbtn') buttonViewChild: ElementRef | undefined;\n\n @ViewChild('menu') menu: TieredMenu | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n dropdownIconTemplate: TemplateRef<any> | undefined;\n\n ariaId: string | undefined;\n\n isExpanded = signal<boolean>(false);\n\n private _disabled: boolean | undefined;\n\n private _buttonDisabled: boolean | undefined;\n\n private _menuButtonDisabled: boolean | undefined;\n\n ngOnInit() {\n this.ariaId = UniqueComponentId();\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n get containerClass() {\n const cls = {\n 'cax-splitbutton cax-component': true,\n 'cax-button-raised': this.raised,\n 'cax-button-rounded': this.rounded,\n 'cax-button-outlined': this.outlined,\n 'cax-button-text': this.text,\n [`cax-button-${this.size === 'small' ? 'sm' : 'lg'}`]: this.size\n };\n\n return { ...cls };\n }\n\n onDefaultButtonClick(event: MouseEvent) {\n this.onClick.emit(event);\n this.menu.hide();\n }\n\n onDropdownButtonClick(event?: MouseEvent) {\n this.onDropdownClick.emit(event);\n this.menu?.toggle({ currentTarget: this.containerViewChild?.nativeElement, relativeAlign: this.appendTo == null });\n }\n\n onDropdownButtonKeydown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onDropdownButtonClick();\n event.preventDefault();\n }\n }\n\n onHide() {\n this.isExpanded.set(false);\n this.onMenuHide.emit();\n }\n\n onShow() {\n this.isExpanded.set(true);\n this.onMenuShow.emit();\n }\n}\n","<div #container [ngClass]=\"containerClass\" [class]=\"styleClass\" [ngStyle]=\"style\">\r\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\r\n <button\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel'] || label\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultButton>\r\n <button\r\n #defaultbtn\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n [label]=\"label\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"buttonDisabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel']\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n ></button>\r\n </ng-template>\r\n <div class=\"cax-splitbutton-divider\"></div>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n class=\"cax-splitbutton-menubutton cax-button-icon-only\"\r\n (click)=\"onDropdownButtonClick($event)\"\r\n (keydown)=\"onDropdownButtonKeydown($event)\"\r\n [disabled]=\"menuButtonDisabled\"\r\n [ariaLabel]=\"menuButtonProps?.['ariaLabel'] || expandAriaLabel\"\r\n [attr.aria-haspopup]=\"menuButtonProps?.['ariaHasPopup'] || true\"\r\n [attr.aria-expanded]=\"menuButtonProps?.['ariaExpanded'] || isExpanded()\"\r\n [attr.aria-controls]=\"menuButtonProps?.['ariaControls'] || ariaId\"\r\n >\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </button>\r\n <cax-tieredMenu\r\n [id]=\"ariaId\"\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"model\"\r\n [style]=\"menuStyle\"\r\n [styleClass]=\"menuStyleClass\"\r\n [appendTo]=\"appendTo\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onHide)=\"onHide()\"\r\n (onShow)=\"onShow()\"\r\n ></cax-tieredMenu>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { SplitButton } from './splitbutton';\nimport { TieredMenuModule } from 'cax-design-system/tieredmenu';\n\n@NgModule({\n imports: [CommonModule, ButtonModule, TieredMenuModule, AutoFocusModule, ChevronDownIcon],\n exports: [SplitButton, ButtonModule, TieredMenuModule],\n declarations: [SplitButton]\n})\nexport class SplitButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-splitbutton.mjs","sources":["../../src/app/components/splitbutton/splitbutton.ts","../../src/app/components/splitbutton/splitbutton.html","../../src/app/components/splitbutton/splitbutton.module.ts","../../src/app/components/splitbutton/cax-design-system-splitbutton.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation, booleanAttribute, numberAttribute, signal } from '@angular/core';\nimport { MenuItem, CaxTemplate } from 'cax-design-system/api';\nimport { TieredMenu } from 'cax-design-system/tieredmenu';\nimport { UniqueComponentId } from 'cax-design-system/utils';\n\nimport { ButtonProps, MenuButtonProps } from './splitbutton.interface';\n\ntype SplitButtonIconPosition = 'left' | 'right';\n/**\n * SplitButton groups a set of commands in an overlay with a default command.\n * @group Components\n */\n@Component({\n selector: 'cax-splitButton',\n templateUrl: './splitbutton.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./splitbutton.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class SplitButton {\n /**\n * MenuModel instance to define the overlay items.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Defines the style of the button.\n * @group Props\n */\n @Input() severity: 'success' | 'info' | 'warning' | 'danger' | 'help' | 'primary' | 'secondary' | 'contrast' | null | undefined;\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) text: boolean = false;\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) outlined: boolean = false;\n /**\n * Defines the size of the button.\n * @group Props\n */\n @Input() size: 'small' | 'large' | undefined | null = null;\n /**\n * Add a plain textual class to the button without a background initially.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) plain: boolean = false;\n /**\n * Name of the icon.\n * @group Props\n */\n @Input() icon: string | undefined;\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: SplitButtonIconPosition = 'left';\n /**\n * Text of the button.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Tooltip for the main button.\n * @group Props\n */\n @Input() tooltip: string | undefined;\n /**\n * Tooltip options for the main button.\n * @group Props\n */\n @Input() tooltipOptions: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the overlay menu.\n * @group Props\n */\n @Input() menuStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the overlay menu.\n * @group Props\n */\n @Input() menuStyleClass: string | undefined;\n\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Indicates the direction of the element.\n * @group Props\n */\n @Input() dir: string | undefined;\n /**\n * Defines a string that labels the expand button for accessibility.\n * @group Props\n */\n @Input() expandAriaLabel: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Button Props\n */\n @Input() buttonProps: ButtonProps | undefined;\n /**\n * Menu Button Props\n */\n @Input() menuButtonProps: MenuButtonProps | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n isMenuOpen: boolean = false;\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) set disabled(v: boolean | undefined) {\n this._disabled = v;\n this._buttonDisabled = v;\n this.menuButtonDisabled = v;\n }\n public get disabled(): boolean | undefined {\n return this._disabled;\n }\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * When present, it specifies that the menu button element should be disabled.\n * @group Props\n */\n @Input('menuButtonDisabled') set menuButtonDisabled(v: boolean | undefined) {\n if (this.disabled) {\n this._menuButtonDisabled = this.disabled;\n } else this._menuButtonDisabled = v;\n }\n public get menuButtonDisabled(): boolean | undefined {\n return this._menuButtonDisabled;\n }\n /**\n * When present, it specifies that the button element should be disabled.\n * @group Props\n */\n @Input() set buttonDisabled(v: boolean | undefined) {\n if (this.disabled) {\n this.buttonDisabled = this.disabled;\n } else this._buttonDisabled = v;\n }\n public get buttonDisabled(): boolean {\n return this._buttonDisabled;\n }\n /**\n * Callback to invoke when default command button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * Callback to invoke when overlay menu is hidden.\n * @group Emits\n */\n @Output() onMenuHide: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when overlay menu is shown.\n * @group Emits\n */\n @Output() onMenuShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when dropdown button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @ViewChild('container') containerViewChild: ElementRef | undefined;\n\n @ViewChild('defaultbtn') buttonViewChild: ElementRef | undefined;\n\n @ViewChild('menu') menu: TieredMenu | undefined;\n\n @ContentChildren(CaxTemplate) templates: QueryList<CaxTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n dropdownIconTemplate: TemplateRef<any> | undefined;\n\n ariaId: string | undefined;\n\n isExpanded = signal<boolean>(false);\n\n private _disabled: boolean | undefined;\n\n private _buttonDisabled: boolean | undefined;\n\n private _menuButtonDisabled: boolean | undefined;\n\n ngOnInit() {\n this.ariaId = UniqueComponentId();\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n get containerClass() {\n const cls = {\n 'cax-splitbutton cax-component': true,\n 'cax-button-raised': this.raised,\n 'cax-button-rounded': this.rounded,\n 'cax-button-outlined': this.outlined,\n 'cax-button-text': this.text,\n [`cax-button-${this.size === 'small' ? 'sm' : 'lg'}`]: this.size\n };\n\n return { ...cls };\n }\n\n onDefaultButtonClick(event: MouseEvent) {\n this.onClick.emit(event);\n this.menu.hide();\n }\n\n onDropdownButtonClick(event?: MouseEvent) {\n this.isMenuOpen = !this.isMenuOpen;\n this.onDropdownClick.emit(event);\n this.menu?.toggle({ currentTarget: this.containerViewChild?.nativeElement, relativeAlign: this.appendTo == null });\n }\n\n onDropdownButtonKeydown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onDropdownButtonClick();\n event.preventDefault();\n }\n }\n\n onHide() {\n this.isMenuOpen = false;\n this.isExpanded.set(false);\n this.onMenuHide.emit();\n }\n\n onShow() {\n this.isMenuOpen = true;\n this.isExpanded.set(true);\n this.onMenuShow.emit();\n }\n}\n","<div #container [ngClass]=\"containerClass\" [class]=\"styleClass\" [ngStyle]=\"style\">\r\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\r\n <button\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"disabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel'] || label\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultButton>\r\n <button\r\n #defaultbtn\r\n class=\"cax-splitbutton-defaultbutton\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n [size]=\"size\"\r\n [icon]=\"icon\"\r\n [iconPos]=\"iconPos\"\r\n [label]=\"label\"\r\n (click)=\"onDefaultButtonClick($event)\"\r\n [disabled]=\"buttonDisabled\"\r\n [attr.tabindex]=\"tabindex\"\r\n [ariaLabel]=\"buttonProps?.['ariaLabel']\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [caxTooltip]=\"tooltip\"\r\n [tooltipOptions]=\"tooltipOptions\"\r\n ></button>\r\n </ng-template>\r\n <div class=\"cax-splitbutton-divider\"></div>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n [text]=\"text\"\r\n [outlined]=\"outlined\"\r\n class=\"cax-splitbutton-menubutton cax-button-icon-only\"\r\n (click)=\"onDropdownButtonClick($event)\"\r\n (keydown)=\"onDropdownButtonKeydown($event)\"\r\n [ariaLabel]=\"menuButtonProps?.['ariaLabel'] || expandAriaLabel\"\r\n [attr.aria-haspopup]=\"menuButtonProps?.['ariaHasPopup'] || true\"\r\n [attr.aria-expanded]=\"menuButtonProps?.['ariaExpanded'] || isExpanded()\"\r\n [attr.aria-controls]=\"menuButtonProps?.['ariaControls'] || ariaId\"\r\n >\r\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !isMenuOpen\" />\r\n <ChevronUpIcon *ngIf=\"!dropdownIconTemplate && isMenuOpen\" />\r\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\r\n </button>\r\n <cax-tieredMenu\r\n [id]=\"ariaId\"\r\n #menu\r\n [ngStyle]=\"{ 'position': 'fixed', 'z-index': '9999' }\"\r\n [popup]=\"true\"\r\n [model]=\"model\"\r\n [style]=\"menuStyle\"\r\n [styleClass]=\"menuStyleClass\"\r\n [appendTo]=\"appendTo\"\r\n [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n (onHide)=\"onHide()\"\r\n (onShow)=\"onShow()\"\r\n ></cax-tieredMenu>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from 'cax-design-system/button';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { ChevronDownIcon } from 'cax-design-system/icons/chevrondown';\nimport { SplitButton } from './splitbutton';\nimport { TieredMenuModule } from 'cax-design-system/tieredmenu';\nimport { ChevronUpIcon } from 'cax-design-system/icons/chevronup';\n\n@NgModule({\n imports: [CommonModule, ButtonModule, TieredMenuModule, AutoFocusModule, ChevronDownIcon, ChevronUpIcon],\n exports: [SplitButton, ButtonModule, TieredMenuModule],\n declarations: [SplitButton]\n})\nexport class SplitButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import * as i2 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
1
  import * as i0 from '@angular/core';
4
2
  import { EventEmitter, numberAttribute, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, NgModule } from '@angular/core';
3
+ import { DomHandler } from 'cax-design-system/dom';
5
4
  import * as i1 from '@angular/router';
6
5
  import { RouterModule } from '@angular/router';
7
- import { DomHandler } from 'cax-design-system/dom';
6
+ import * as i2 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
8
  import * as i3 from 'cax-design-system/tooltip';
9
9
  import { TooltipModule } from 'cax-design-system/tooltip';
10
10
 
@@ -180,135 +180,13 @@ class Steps {
180
180
  }
181
181
  }
182
182
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Steps, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
183
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Steps, selector: "p-steps", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute], model: "model", readonly: ["readonly", "readonly", booleanAttribute], style: "style", styleClass: "styleClass", exact: ["exact", "exact", booleanAttribute] }, outputs: { activeIndexChange: "activeIndexChange" }, host: { classAttribute: "cax-element" }, viewQueries: [{ propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: `
184
- <nav [ngClass]="{ 'p-steps p-component': true, 'p-readonly': readonly }" [ngStyle]="style" [class]="styleClass" [attr.data-pc-name]="'steps'">
185
- <ul #list [attr.data-pc-section]="'menu'">
186
- <li
187
- *ngFor="let item of model; let i = index"
188
- class="p-steps-item"
189
- #menuitem
190
- [ngStyle]="item.style"
191
- [class]="item.styleClass"
192
- [attr.aria-current]="isActive(item, i) ? 'step' : undefined"
193
- [attr.id]="item.id"
194
- caxTooltip
195
- [tooltipOptions]="item.tooltipOptions"
196
- [ngClass]="{ 'p-highlight p-steps-current': isActive(item, i), 'p-disabled': item.disabled || (readonly && !isActive(item, i)) }"
197
- [attr.data-pc-section]="'menuitem'"
198
- >
199
- <a
200
- role="link"
201
- *ngIf="isClickableRouterLink(item); else elseBlock"
202
- [routerLink]="item.routerLink"
203
- [queryParams]="item.queryParams"
204
- [routerLinkActive]="'p-menuitem-link-active'"
205
- [routerLinkActiveOptions]="item.routerLinkActiveOptions || { exact: false }"
206
- class="p-menuitem-link"
207
- (click)="onItemClick($event, item, i)"
208
- (keydown)="onItemKeydown($event, item, i)"
209
- [target]="item.target"
210
- [attr.tabindex]="getItemTabIndex(item, i)"
211
- [attr.aria-disabled]="item.disabled || (readonly && i !== activeIndex)"
212
- [fragment]="item.fragment"
213
- [queryParamsHandling]="item.queryParamsHandling"
214
- [preserveFragment]="item.preserveFragment"
215
- [skipLocationChange]="item.skipLocationChange"
216
- [replaceUrl]="item.replaceUrl"
217
- [state]="item.state"
218
- [attr.aria-current]="i === activeIndex ? 'step' : null"
219
- >
220
- <span class="p-steps-number"> {{ i + 1 }}</span>
221
- <span class="p-steps-title" *ngIf="item.escape !== false; else htmlLabel"> {{ item.label }}</span>
222
- <ng-template #htmlLabel><span class="p-steps-title" [innerHTML]="item.label"></span></ng-template>
223
- </a>
224
- <ng-template #elseBlock>
225
- <a
226
- role="link"
227
- [attr.href]="item.url"
228
- class="p-menuitem-link"
229
- (click)="onItemClick($event, item, i)"
230
- (keydown)="onItemKeydown($event, item, i)"
231
- [target]="item.target"
232
- [attr.tabindex]="getItemTabIndex(item, i)"
233
- [attr.aria-disabled]="item.disabled || (readonly && i !== activeIndex)"
234
- [attr.aria-current]="i === activeIndex ? 'step' : null"
235
- >
236
- <span class="p-steps-number"> {{ i + 1 }} </span>
237
- <span class="p-steps-title" *ngIf="item.escape !== false; else htmlRouteLabel">{{ item.label }}</span>
238
- <ng-template #htmlRouteLabel><span class="p-steps-title" [innerHTML]="item.label"></span></ng-template>
239
- </a>
240
- </ng-template>
241
- </li>
242
- </ul>
243
- </nav>
244
- `, isInline: true, styles: ["@layer cax{.p-steps{position:relative}.p-steps ul{padding:0;margin:0;list-style-type:none;display:flex}.p-steps-item{position:relative;display:flex;justify-content:center;flex:1 1 auto}.p-steps-item .p-menuitem-link{display:inline-flex;flex-direction:column;align-items:center;overflow:hidden;text-decoration:none}.p-steps.p-steps-readonly .p-steps-item{cursor:auto}.p-steps-item.p-steps-current .p-menuitem-link{cursor:default}.p-steps-title{white-space:nowrap}.p-steps-number{display:flex;align-items:center;justify-content:center}.p-steps-title{display:block}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
183
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Steps, selector: "cax-steps", inputs: { activeIndex: ["activeIndex", "activeIndex", numberAttribute], model: "model", readonly: ["readonly", "readonly", booleanAttribute], style: "style", styleClass: "styleClass", exact: ["exact", "exact", booleanAttribute] }, outputs: { activeIndexChange: "activeIndexChange" }, host: { classAttribute: "cax-element" }, viewQueries: [{ propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true }], ngImport: i0, template: "<nav [ngClass]=\"{ 'cax-steps cax-component': true, 'cax-readonly': readonly }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'steps'\">\r\n <ul #list [attr.data-pc-section]=\"'menu'\">\r\n <li\r\n *ngFor=\"let item of model; let i = index\"\r\n class=\"cax-steps-item\"\r\n #menuitem\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n [attr.aria-current]=\"isActive(item, i) ? 'step' : undefined\"\r\n [attr.id]=\"item.id\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n [ngClass]=\"{\r\n 'cax-highlight': i <= activeIndex, \r\n 'cax-steps-current': isActive(item, i),\r\n 'cax-disabled': item.disabled || (readonly && !isActive(item, i))\r\n }\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n >\r\n <a\r\n role=\"link\"\r\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n [routerLinkActive]=\"'cax-menuitem-link-active'\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n class=\"cax-menuitem-link\"\r\n (click)=\"onItemClick($event, item, i)\"\r\n (keydown)=\"onItemKeydown($event, item, i)\"\r\n [target]=\"item.target\"\r\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\r\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\r\n >\r\n <span class=\"cax-steps-number\"> {{ i + 1 }}</span>\r\n <span class=\"cax-steps-title\" *ngIf=\"item.escape !== false; else htmlLabel\"> {{ item.label }}</span>\r\n <ng-template #htmlLabel><span class=\"cax-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\r\n </a>\r\n <ng-template #elseBlock>\r\n <a\r\n role=\"link\"\r\n [attr.href]=\"item.url\"\r\n class=\"cax-menuitem-link\"\r\n (click)=\"onItemClick($event, item, i)\"\r\n (keydown)=\"onItemKeydown($event, item, i)\"\r\n [target]=\"item.target\"\r\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\r\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\r\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\r\n >\r\n <span class=\"cax-steps-number\"> {{ i + 1 }} </span>\r\n <span class=\"cax-steps-title\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\r\n <ng-template #htmlRouteLabel><span class=\"cax-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\r\n </a>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</nav>", styles: ["@layer cax{.cax-steps{position:relative}.cax-steps ul{padding:0;margin:0;list-style-type:none;display:flex}.cax-steps-item{position:relative;display:flex;justify-content:center;flex:1 1 auto}.cax-steps-item .cax-menuitem-link{display:inline-flex;flex-direction:column;align-items:center;overflow:hidden;text-decoration:none}.cax-steps.cax-steps-readonly .cax-steps-item{cursor:auto}.cax-steps-item.cax-steps-current .cax-menuitem-link{cursor:default}.cax-steps-title{white-space:nowrap}.cax-steps-number{display:flex;align-items:center;justify-content:center}.cax-steps-title{display:block}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i3.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
245
184
  }
246
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Steps, decorators: [{
247
186
  type: Component,
248
- args: [{ selector: 'p-steps', template: `
249
- <nav [ngClass]="{ 'p-steps p-component': true, 'p-readonly': readonly }" [ngStyle]="style" [class]="styleClass" [attr.data-pc-name]="'steps'">
250
- <ul #list [attr.data-pc-section]="'menu'">
251
- <li
252
- *ngFor="let item of model; let i = index"
253
- class="p-steps-item"
254
- #menuitem
255
- [ngStyle]="item.style"
256
- [class]="item.styleClass"
257
- [attr.aria-current]="isActive(item, i) ? 'step' : undefined"
258
- [attr.id]="item.id"
259
- caxTooltip
260
- [tooltipOptions]="item.tooltipOptions"
261
- [ngClass]="{ 'p-highlight p-steps-current': isActive(item, i), 'p-disabled': item.disabled || (readonly && !isActive(item, i)) }"
262
- [attr.data-pc-section]="'menuitem'"
263
- >
264
- <a
265
- role="link"
266
- *ngIf="isClickableRouterLink(item); else elseBlock"
267
- [routerLink]="item.routerLink"
268
- [queryParams]="item.queryParams"
269
- [routerLinkActive]="'p-menuitem-link-active'"
270
- [routerLinkActiveOptions]="item.routerLinkActiveOptions || { exact: false }"
271
- class="p-menuitem-link"
272
- (click)="onItemClick($event, item, i)"
273
- (keydown)="onItemKeydown($event, item, i)"
274
- [target]="item.target"
275
- [attr.tabindex]="getItemTabIndex(item, i)"
276
- [attr.aria-disabled]="item.disabled || (readonly && i !== activeIndex)"
277
- [fragment]="item.fragment"
278
- [queryParamsHandling]="item.queryParamsHandling"
279
- [preserveFragment]="item.preserveFragment"
280
- [skipLocationChange]="item.skipLocationChange"
281
- [replaceUrl]="item.replaceUrl"
282
- [state]="item.state"
283
- [attr.aria-current]="i === activeIndex ? 'step' : null"
284
- >
285
- <span class="p-steps-number"> {{ i + 1 }}</span>
286
- <span class="p-steps-title" *ngIf="item.escape !== false; else htmlLabel"> {{ item.label }}</span>
287
- <ng-template #htmlLabel><span class="p-steps-title" [innerHTML]="item.label"></span></ng-template>
288
- </a>
289
- <ng-template #elseBlock>
290
- <a
291
- role="link"
292
- [attr.href]="item.url"
293
- class="p-menuitem-link"
294
- (click)="onItemClick($event, item, i)"
295
- (keydown)="onItemKeydown($event, item, i)"
296
- [target]="item.target"
297
- [attr.tabindex]="getItemTabIndex(item, i)"
298
- [attr.aria-disabled]="item.disabled || (readonly && i !== activeIndex)"
299
- [attr.aria-current]="i === activeIndex ? 'step' : null"
300
- >
301
- <span class="p-steps-number"> {{ i + 1 }} </span>
302
- <span class="p-steps-title" *ngIf="item.escape !== false; else htmlRouteLabel">{{ item.label }}</span>
303
- <ng-template #htmlRouteLabel><span class="p-steps-title" [innerHTML]="item.label"></span></ng-template>
304
- </a>
305
- </ng-template>
306
- </li>
307
- </ul>
308
- </nav>
309
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
187
+ args: [{ selector: 'cax-steps', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
310
188
  class: 'cax-element'
311
- }, styles: ["@layer cax{.p-steps{position:relative}.p-steps ul{padding:0;margin:0;list-style-type:none;display:flex}.p-steps-item{position:relative;display:flex;justify-content:center;flex:1 1 auto}.p-steps-item .p-menuitem-link{display:inline-flex;flex-direction:column;align-items:center;overflow:hidden;text-decoration:none}.p-steps.p-steps-readonly .p-steps-item{cursor:auto}.p-steps-item.p-steps-current .p-menuitem-link{cursor:default}.p-steps-title{white-space:nowrap}.p-steps-number{display:flex;align-items:center;justify-content:center}.p-steps-title{display:block}}\n"] }]
189
+ }, template: "<nav [ngClass]=\"{ 'cax-steps cax-component': true, 'cax-readonly': readonly }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'steps'\">\r\n <ul #list [attr.data-pc-section]=\"'menu'\">\r\n <li\r\n *ngFor=\"let item of model; let i = index\"\r\n class=\"cax-steps-item\"\r\n #menuitem\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n [attr.aria-current]=\"isActive(item, i) ? 'step' : undefined\"\r\n [attr.id]=\"item.id\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n [ngClass]=\"{\r\n 'cax-highlight': i <= activeIndex, \r\n 'cax-steps-current': isActive(item, i),\r\n 'cax-disabled': item.disabled || (readonly && !isActive(item, i))\r\n }\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n >\r\n <a\r\n role=\"link\"\r\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n [routerLinkActive]=\"'cax-menuitem-link-active'\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n class=\"cax-menuitem-link\"\r\n (click)=\"onItemClick($event, item, i)\"\r\n (keydown)=\"onItemKeydown($event, item, i)\"\r\n [target]=\"item.target\"\r\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\r\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\r\n >\r\n <span class=\"cax-steps-number\"> {{ i + 1 }}</span>\r\n <span class=\"cax-steps-title\" *ngIf=\"item.escape !== false; else htmlLabel\"> {{ item.label }}</span>\r\n <ng-template #htmlLabel><span class=\"cax-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\r\n </a>\r\n <ng-template #elseBlock>\r\n <a\r\n role=\"link\"\r\n [attr.href]=\"item.url\"\r\n class=\"cax-menuitem-link\"\r\n (click)=\"onItemClick($event, item, i)\"\r\n (keydown)=\"onItemKeydown($event, item, i)\"\r\n [target]=\"item.target\"\r\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\r\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\r\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\r\n >\r\n <span class=\"cax-steps-number\"> {{ i + 1 }} </span>\r\n <span class=\"cax-steps-title\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\r\n <ng-template #htmlRouteLabel><span class=\"cax-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\r\n </a>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</nav>", styles: ["@layer cax{.cax-steps{position:relative}.cax-steps ul{padding:0;margin:0;list-style-type:none;display:flex}.cax-steps-item{position:relative;display:flex;justify-content:center;flex:1 1 auto}.cax-steps-item .cax-menuitem-link{display:inline-flex;flex-direction:column;align-items:center;overflow:hidden;text-decoration:none}.cax-steps.cax-steps-readonly .cax-steps-item{cursor:auto}.cax-steps-item.cax-steps-current .cax-menuitem-link{cursor:default}.cax-steps-title{white-space:nowrap}.cax-steps-number{display:flex;align-items:center;justify-content:center}.cax-steps-title{display:block}}\n"] }]
312
190
  }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i0.ChangeDetectorRef }], propDecorators: { activeIndex: [{
313
191
  type: Input,
314
192
  args: [{ transform: numberAttribute }]
@@ -330,6 +208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
330
208
  type: ViewChild,
331
209
  args: ['list', { static: false }]
332
210
  }] } });
211
+
333
212
  class StepsModule {
334
213
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: StepsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
335
214
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: StepsModule, declarations: [Steps], imports: [CommonModule, RouterModule, TooltipModule], exports: [Steps, RouterModule, TooltipModule] });
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-steps.mjs","sources":["../../src/app/components/steps/steps.ts","../../src/app/components/steps/cax-design-system-steps.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgModule, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { MenuItem } from 'cax-design-system/api';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { Subscription } from 'rxjs';\n/**\n * Steps components is an indicator for the steps in a wizard workflow.\n * @group Components\n */\n@Component({\n selector: 'p-steps',\n template: `\n <nav [ngClass]=\"{ 'p-steps p-component': true, 'p-readonly': readonly }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'steps'\">\n <ul #list [attr.data-pc-section]=\"'menu'\">\n <li\n *ngFor=\"let item of model; let i = index\"\n class=\"p-steps-item\"\n #menuitem\n [ngStyle]=\"item.style\"\n [class]=\"item.styleClass\"\n [attr.aria-current]=\"isActive(item, i) ? 'step' : undefined\"\n [attr.id]=\"item.id\"\n caxTooltip\n [tooltipOptions]=\"item.tooltipOptions\"\n [ngClass]=\"{ 'p-highlight p-steps-current': isActive(item, i), 'p-disabled': item.disabled || (readonly && !isActive(item, i)) }\"\n [attr.data-pc-section]=\"'menuitem'\"\n >\n <a\n role=\"link\"\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.queryParams\"\n [routerLinkActive]=\"'p-menuitem-link-active'\"\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n class=\"p-menuitem-link\"\n (click)=\"onItemClick($event, item, i)\"\n (keydown)=\"onItemKeydown($event, item, i)\"\n [target]=\"item.target\"\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\n >\n <span class=\"p-steps-number\"> {{ i + 1 }}</span>\n <span class=\"p-steps-title\" *ngIf=\"item.escape !== false; else htmlLabel\"> {{ item.label }}</span>\n <ng-template #htmlLabel><span class=\"p-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\n </a>\n <ng-template #elseBlock>\n <a\n role=\"link\"\n [attr.href]=\"item.url\"\n class=\"p-menuitem-link\"\n (click)=\"onItemClick($event, item, i)\"\n (keydown)=\"onItemKeydown($event, item, i)\"\n [target]=\"item.target\"\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\n >\n <span class=\"p-steps-number\"> {{ i + 1 }} </span>\n <span class=\"p-steps-title\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\n <ng-template #htmlRouteLabel><span class=\"p-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\n </a>\n </ng-template>\n </li>\n </ul>\n </nav>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./steps.css'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Steps implements OnInit, OnDestroy {\n /**\n * Index of the active item.\n * @group Props\n */\n @Input({ transform: numberAttribute }) activeIndex: number = 0;\n /**\n * An array of menu items.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Whether the items are clickable or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to apply 'router-link-active-exact' class if route exactly matches the item path.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) exact: boolean = true;\n /**\n * Callback to invoke when the new step is selected.\n * @param {number} number - current index.\n * @group Emits\n */\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n @ViewChild('list', { static: false }) listViewChild: Nullable<ElementRef>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private cd: ChangeDetectorRef\n ) {}\n\n subscription: Subscription | undefined;\n\n ngOnInit() {\n this.subscription = this.router.events.subscribe(() => this.cd.markForCheck());\n }\n\n onItemClick(event: Event, item: MenuItem, i: number) {\n if (this.readonly || item.disabled) {\n event.preventDefault();\n return;\n }\n\n this.activeIndexChange.emit(i);\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item,\n index: i\n });\n }\n }\n\n onItemKeydown(event: KeyboardEvent, item: MenuItem, i: number) {\n switch (event.code) {\n case 'ArrowRight': {\n this.navigateToNextItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.navigateToPrevItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.navigateToFirstItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.navigateToLastItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Tab':\n if (i !== this.activeIndex) {\n const siblings = DomHandler.find(this.listViewChild.nativeElement, '[data-pc-section=\"menuitem\"]');\n siblings[i].children[0].tabIndex = '-1';\n siblings[this.activeIndex].children[0].tabIndex = '0';\n }\n break;\n\n case 'Enter':\n case 'Space': {\n this.onItemClick(event, item, i);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n }\n\n navigateToNextItem(target) {\n const nextItem = this.findNextItem(target);\n\n nextItem && this.setFocusToMenuitem(target, nextItem);\n }\n navigateToPrevItem(target) {\n const prevItem = this.findPrevItem(target);\n\n prevItem && this.setFocusToMenuitem(target, prevItem);\n }\n navigateToFirstItem(target) {\n const firstItem = this.findFirstItem();\n\n firstItem && this.setFocusToMenuitem(target, firstItem);\n }\n navigateToLastItem(target) {\n const lastItem = this.findLastItem();\n\n lastItem && this.setFocusToMenuitem(target, lastItem);\n }\n findNextItem(item) {\n const nextItem = item.parentElement.nextElementSibling;\n\n return nextItem ? nextItem.children[0] : null;\n }\n findPrevItem(item) {\n const prevItem = item.parentElement.previousElementSibling;\n\n return prevItem ? prevItem.children[0] : null;\n }\n findFirstItem() {\n const firstSibling = DomHandler.findSingle(this.listViewChild.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n return firstSibling ? firstSibling.children[0] : null;\n }\n findLastItem() {\n const siblings = DomHandler.find(this.listViewChild.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n return siblings ? siblings[siblings.length - 1].children[0] : null;\n }\n setFocusToMenuitem(target, focusableItem) {\n target.tabIndex = '-1';\n focusableItem.tabIndex = '0';\n focusableItem.focus();\n }\n\n isClickableRouterLink(item: MenuItem) {\n return item.routerLink && !this.readonly && !item.disabled;\n }\n\n isActive(item: MenuItem, index: number) {\n if (item.routerLink) {\n let routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];\n\n return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), false);\n }\n\n return index === this.activeIndex;\n }\n\n getItemTabIndex(item: MenuItem, index: number): string {\n if (item.disabled) {\n return '-1';\n }\n\n if (!item.disabled && this.activeIndex === index) {\n return item.tabindex || '0';\n }\n\n return item.tabindex ?? '-1';\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, TooltipModule],\n exports: [Steps, RouterModule, TooltipModule],\n declarations: [Steps]\n})\nexport class StepsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-steps.mjs","sources":["../../src/app/components/steps/steps.ts","../../src/app/components/steps/steps.html","../../src/app/components/steps/steps.module.ts","../../src/app/components/steps/cax-design-system-steps.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgModule, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { MenuItem } from 'cax-design-system/api';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { Subscription } from 'rxjs';\n/**\n * Steps components is an indicator for the steps in a wizard workflow.\n * @group Components\n */\n@Component({\n selector: 'cax-steps',\n templateUrl: './steps.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./steps.scss'],\n host: {\n class: 'cax-element'\n }\n})\nexport class Steps implements OnInit, OnDestroy {\n /**\n * Index of the active item.\n * @group Props\n */\n @Input({ transform: numberAttribute }) activeIndex: number = 0;\n /**\n * An array of menu items.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Whether the items are clickable or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to apply 'router-link-active-exact' class if route exactly matches the item path.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) exact: boolean = true;\n /**\n * Callback to invoke when the new step is selected.\n * @param {number} number - current index.\n * @group Emits\n */\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n @ViewChild('list', { static: false }) listViewChild: Nullable<ElementRef>;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private cd: ChangeDetectorRef\n ) {}\n\n subscription: Subscription | undefined;\n\n ngOnInit() {\n this.subscription = this.router.events.subscribe(() => this.cd.markForCheck());\n }\n\n onItemClick(event: Event, item: MenuItem, i: number) {\n if (this.readonly || item.disabled) {\n event.preventDefault();\n return;\n }\n\n this.activeIndexChange.emit(i);\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item,\n index: i\n });\n }\n }\n\n onItemKeydown(event: KeyboardEvent, item: MenuItem, i: number) {\n switch (event.code) {\n case 'ArrowRight': {\n this.navigateToNextItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.navigateToPrevItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.navigateToFirstItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.navigateToLastItem(event.target);\n event.preventDefault();\n break;\n }\n\n case 'Tab':\n if (i !== this.activeIndex) {\n const siblings = DomHandler.find(this.listViewChild.nativeElement, '[data-pc-section=\"menuitem\"]');\n siblings[i].children[0].tabIndex = '-1';\n siblings[this.activeIndex].children[0].tabIndex = '0';\n }\n break;\n\n case 'Enter':\n case 'Space': {\n this.onItemClick(event, item, i);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n }\n\n navigateToNextItem(target) {\n const nextItem = this.findNextItem(target);\n\n nextItem && this.setFocusToMenuitem(target, nextItem);\n }\n navigateToPrevItem(target) {\n const prevItem = this.findPrevItem(target);\n\n prevItem && this.setFocusToMenuitem(target, prevItem);\n }\n navigateToFirstItem(target) {\n const firstItem = this.findFirstItem();\n\n firstItem && this.setFocusToMenuitem(target, firstItem);\n }\n navigateToLastItem(target) {\n const lastItem = this.findLastItem();\n\n lastItem && this.setFocusToMenuitem(target, lastItem);\n }\n findNextItem(item) {\n const nextItem = item.parentElement.nextElementSibling;\n\n return nextItem ? nextItem.children[0] : null;\n }\n findPrevItem(item) {\n const prevItem = item.parentElement.previousElementSibling;\n\n return prevItem ? prevItem.children[0] : null;\n }\n findFirstItem() {\n const firstSibling = DomHandler.findSingle(this.listViewChild.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n return firstSibling ? firstSibling.children[0] : null;\n }\n findLastItem() {\n const siblings = DomHandler.find(this.listViewChild.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n return siblings ? siblings[siblings.length - 1].children[0] : null;\n }\n setFocusToMenuitem(target, focusableItem) {\n target.tabIndex = '-1';\n focusableItem.tabIndex = '0';\n focusableItem.focus();\n }\n\n isClickableRouterLink(item: MenuItem) {\n return item.routerLink && !this.readonly && !item.disabled;\n }\n\n isActive(item: MenuItem, index: number) {\n if (item.routerLink) {\n let routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];\n\n return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), false);\n }\n\n return index === this.activeIndex;\n }\n\n getItemTabIndex(item: MenuItem, index: number): string {\n if (item.disabled) {\n return '-1';\n }\n\n if (!item.disabled && this.activeIndex === index) {\n return item.tabindex || '0';\n }\n\n return item.tabindex ?? '-1';\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n}\n","<nav [ngClass]=\"{ 'cax-steps cax-component': true, 'cax-readonly': readonly }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'steps'\">\r\n <ul #list [attr.data-pc-section]=\"'menu'\">\r\n <li\r\n *ngFor=\"let item of model; let i = index\"\r\n class=\"cax-steps-item\"\r\n #menuitem\r\n [ngStyle]=\"item.style\"\r\n [class]=\"item.styleClass\"\r\n [attr.aria-current]=\"isActive(item, i) ? 'step' : undefined\"\r\n [attr.id]=\"item.id\"\r\n caxTooltip\r\n [tooltipOptions]=\"item.tooltipOptions\"\r\n [ngClass]=\"{\r\n 'cax-highlight': i <= activeIndex, \r\n 'cax-steps-current': isActive(item, i),\r\n 'cax-disabled': item.disabled || (readonly && !isActive(item, i))\r\n }\"\r\n [attr.data-pc-section]=\"'menuitem'\"\r\n >\r\n <a\r\n role=\"link\"\r\n *ngIf=\"isClickableRouterLink(item); else elseBlock\"\r\n [routerLink]=\"item.routerLink\"\r\n [queryParams]=\"item.queryParams\"\r\n [routerLinkActive]=\"'cax-menuitem-link-active'\"\r\n [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\r\n class=\"cax-menuitem-link\"\r\n (click)=\"onItemClick($event, item, i)\"\r\n (keydown)=\"onItemKeydown($event, item, i)\"\r\n [target]=\"item.target\"\r\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\r\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\r\n [fragment]=\"item.fragment\"\r\n [queryParamsHandling]=\"item.queryParamsHandling\"\r\n [preserveFragment]=\"item.preserveFragment\"\r\n [skipLocationChange]=\"item.skipLocationChange\"\r\n [replaceUrl]=\"item.replaceUrl\"\r\n [state]=\"item.state\"\r\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\r\n >\r\n <span class=\"cax-steps-number\"> {{ i + 1 }}</span>\r\n <span class=\"cax-steps-title\" *ngIf=\"item.escape !== false; else htmlLabel\"> {{ item.label }}</span>\r\n <ng-template #htmlLabel><span class=\"cax-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\r\n </a>\r\n <ng-template #elseBlock>\r\n <a\r\n role=\"link\"\r\n [attr.href]=\"item.url\"\r\n class=\"cax-menuitem-link\"\r\n (click)=\"onItemClick($event, item, i)\"\r\n (keydown)=\"onItemKeydown($event, item, i)\"\r\n [target]=\"item.target\"\r\n [attr.tabindex]=\"getItemTabIndex(item, i)\"\r\n [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\r\n [attr.aria-current]=\"i === activeIndex ? 'step' : null\"\r\n >\r\n <span class=\"cax-steps-number\"> {{ i + 1 }} </span>\r\n <span class=\"cax-steps-title\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\r\n <ng-template #htmlRouteLabel><span class=\"cax-steps-title\" [innerHTML]=\"item.label\"></span></ng-template>\r\n </a>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n</nav>","import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { TooltipModule } from 'cax-design-system/tooltip';\nimport { Steps } from './steps';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TooltipModule],\n exports: [Steps, RouterModule, TooltipModule],\n declarations: [Steps]\n})\nexport class StepsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}