@acorex/components 22.3.4 → 22.3.5

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 (135) hide show
  1. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  2. package/fesm2022/acorex-components-action-sheet.mjs +2 -1
  3. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  4. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  5. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  6. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  7. package/fesm2022/acorex-components-autocomplete.mjs +2 -1
  8. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  9. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  10. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  11. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  12. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/acorex-components-bubble.mjs.map +1 -1
  14. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  15. package/fesm2022/acorex-components-button.mjs +96 -9
  16. package/fesm2022/acorex-components-button.mjs.map +1 -1
  17. package/fesm2022/acorex-components-calendar.mjs +2 -2
  18. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  19. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  20. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  21. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  22. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  23. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  24. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  25. package/fesm2022/acorex-components-combo-box.mjs +3 -2
  26. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  27. package/fesm2022/acorex-components-command.mjs +4 -0
  28. package/fesm2022/acorex-components-command.mjs.map +1 -1
  29. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  30. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BZjCPB-7.mjs.map +1 -1
  31. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map +1 -1
  32. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -1
  33. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -1
  34. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-CNwDWg_O.mjs.map +1 -1
  35. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  36. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  37. package/fesm2022/acorex-components-data-pager.mjs +45 -115
  38. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  39. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  40. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  42. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  43. package/fesm2022/acorex-components-decorators.mjs +2 -90
  44. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  45. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  46. package/fesm2022/acorex-components-drawer.mjs +1 -1
  47. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  48. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  49. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  50. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  51. package/fesm2022/acorex-components-emoji.mjs.map +1 -1
  52. package/fesm2022/acorex-components-emojipicker.mjs.map +1 -1
  53. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  54. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  55. package/fesm2022/acorex-components-form.mjs.map +1 -1
  56. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  57. package/fesm2022/acorex-components-highlight.mjs.map +1 -1
  58. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  59. package/fesm2022/acorex-components-image.mjs.map +1 -1
  60. package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -1
  61. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  62. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  63. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  64. package/fesm2022/acorex-components-label.mjs.map +1 -1
  65. package/fesm2022/acorex-components-list.mjs.map +1 -1
  66. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  67. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  68. package/fesm2022/acorex-components-lookup.mjs +3 -2
  69. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  70. package/fesm2022/acorex-components-map.mjs.map +1 -1
  71. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  72. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  73. package/fesm2022/acorex-components-message-status.mjs.map +1 -1
  74. package/fesm2022/acorex-components-message-time.mjs.map +1 -1
  75. package/fesm2022/acorex-components-message.mjs.map +1 -1
  76. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  77. package/fesm2022/acorex-components-notification.mjs +1 -2
  78. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  79. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  80. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  81. package/fesm2022/acorex-components-page.mjs.map +1 -1
  82. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  83. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  84. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  85. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  86. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  87. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  88. package/fesm2022/acorex-components-popup.mjs +6 -6
  89. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  90. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  91. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  92. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  93. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  94. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  95. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  96. package/fesm2022/acorex-components-reaction.mjs.map +1 -1
  97. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  98. package/fesm2022/acorex-components-result.mjs.map +1 -1
  99. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  100. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  101. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  102. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  103. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  104. package/fesm2022/acorex-components-select-box.mjs +2 -1
  105. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  106. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  107. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  108. package/fesm2022/acorex-components-sidebar.mjs.map +1 -1
  109. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  110. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  111. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  112. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  113. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  114. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  115. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  116. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  117. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  118. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  119. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  120. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  121. package/fesm2022/acorex-components-toast.mjs +2 -2
  122. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  123. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  124. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  125. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  126. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  127. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  128. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  129. package/fesm2022/acorex-components.mjs.map +1 -1
  130. package/package.json +3 -3
  131. package/types/acorex-components-button.d.ts +33 -3
  132. package/types/acorex-components-command.d.ts +2 -0
  133. package/types/acorex-components-data-pager.d.ts +1 -7
  134. package/types/acorex-components-decorators.d.ts +2 -32
  135. package/types/acorex-components-popup.d.ts +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-step-wizard.mjs","sources":["../../../../packages/components/step-wizard/src/lib/step-wizard-item/step-wizard-item.component.ts","../../../../packages/components/step-wizard/src/lib/step-wizard-item/step-wizard-item.component.html","../../../../packages/components/step-wizard/src/lib/step-wizard.directive.ts","../../../../packages/components/step-wizard/src/lib/step-wizard.component.ts","../../../../packages/components/step-wizard/src/lib/step-wizard.module.ts","../../../../packages/components/step-wizard/src/acorex-components-step-wizard.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXProgressBarComponent } from '@acorex/components/progress-bar';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n HostBinding,\n Input,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n model,\n signal,\n viewChild,\n} from '@angular/core';\nimport { AXStepWizardLook, AXStepWizardState } from '../step-wizard.class';\n\n@Component({\n selector: 'ax-step-wizard-item',\n inputs: ['disabled', 'color'],\n templateUrl: './step-wizard-item.component.html',\n\n encapsulation: ViewEncapsulation.None,\n imports: [NgTemplateOutlet, AXProgressBarComponent],\n providers: [{ provide: AXComponent, useExisting: AXStepWizardItemComponent }],\n})\nexport class AXStepWizardItemComponent extends MXBaseComponent {\n step = input(1);\n label = input('');\n description = input('');\n customTemplate = input<TemplateRef<unknown>>();\n\n active = model<boolean>(false);\n passed = model<boolean>(false);\n look = model<AXStepWizardLook>();\n state = model<AXStepWizardState>('clear');\n\n stepId = signal<string>('');\n\n className = computed<string>(() => (this.passed() ? 'ax-state-passed' : this.active() ? 'ax-state-active' : ''));\n\n isArrowMinimalLook = computed(\n () => this.look() === 'rounded-arrow-minimal' || this.look() === 'rectangular-arrow-minimal',\n );\n\n template = viewChild<TemplateRef<unknown>>('content');\n\n @Input()\n public override set id(v: string) {\n this.stepId.set(v);\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [this.className(), `ax-state-${this.state()}`];\n }\n}\n","@if (\n look() === 'rounded-icon' ||\n look() === 'circular-icon' ||\n look() === 'circular' ||\n isArrowMinimalLook()\n) {\n <div class=\"ax-step-wizard-item-icon-container\">\n <div class=\"ax-step-wizard-item-icon\">\n @if (state() === 'error') {\n <div class=\"ax-icon ax-icon-close\"></div>\n } @else if (state() === 'success' || (isArrowMinimalLook() && passed() && state() === 'clear')) {\n <div class=\"ax-icon ax-icon-check\"></div>\n } @else if (state() === 'warning') {\n <div class=\"ax-icon ax-icon-warning\"></div>\n } @else if (isArrowMinimalLook()) {\n <span class=\"ax-step-wizard-item-step\">{{ step() }}</span>\n }\n @if (!isArrowMinimalLook()) {\n <ng-container [ngTemplateOutlet]=\"icon\"> </ng-container>\n }\n </div>\n </div>\n <div class=\"ax-step-wizard-item-title\">\n @if (label()) {\n <p>{{ label() }}</p>\n }\n @if (description() && !isArrowMinimalLook()) {\n <span [class.ax-visible]=\"description()\">{{ description() }}</span>\n }\n </div>\n} @else if (look() === 'text-line') {\n @if (state() === 'pending') {\n <ax-progress-bar [progress]=\"100\" [mode]=\"'indeterminate'\" color=\"primary\" [height]=\"4\"> </ax-progress-bar>\n } @else {\n <div class=\"ax-step-wizard-indicator\"></div>\n }\n <div class=\"ax-step-wizard-item-title\">\n @if (label()) {\n <p>{{ label() }}</p>\n }\n @if (description()) {\n <span [class.ax-visible]=\"description()\">{{ description() }}</span>\n }\n </div>\n} @else {\n @if (customTemplate()) {\n <ng-container [ngTemplateOutlet]=\"customTemplate()\"> </ng-container>\n }\n}\n\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"ax-icon\"></ng-content>\n</ng-template>\n","import { Directive, TemplateRef, ViewContainerRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[axStepWizardContent]',\n exportAs: 'axStepWizardContent',\n inputs: ['portal: axStepWizardContent'],\n})\nexport class AXStepWizardContentDirective {\n private _viewContainerRef = inject(ViewContainerRef);\n\n private _portal: TemplateRef<any> | undefined;\n public get portal(): TemplateRef<any> | undefined {\n return this._portal;\n }\n public set portal(v: TemplateRef<any> | undefined) {\n if (v) {\n this._portal = v;\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(v, null, 0);\n }\n }\n}\n","import { AXComponent, AXOrientation, MXBaseComponent } from '@acorex/cdk/common';\nimport {\n Component,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n computed,\n contentChildren,\n effect,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { AXStepWizardItemComponent } from './step-wizard-item/step-wizard-item.component';\nimport { AXStepWizardLook } from './step-wizard.class';\nimport { AXStepWizardContentDirective } from './step-wizard.directive';\n\n/**\n * @category\n * A component for creating a step-by-step wizard interface.\n */\n@Component({\n selector: 'ax-step-wizard',\n template: ` <ng-content select=\"ax-step-wizard-item\"></ng-content> `,\n styleUrls: ['./step-wizard.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXStepWizardComponent }],\n})\nexport class AXStepWizardComponent extends MXBaseComponent implements OnInit {\n connector = input(true);\n /**\n * Whether to automatically scroll to the active step when it changes\n */\n scrollToStep = input<boolean>(true);\n look = input<AXStepWizardLook>('circular-icon');\n changeStep = input(false);\n\n stepChanged = output<AXStepWizardItemComponent>();\n\n #changeStepEffect = effect(() => {\n this.steps().forEach((item, i = 1) => {\n const stepItem = item.getHostElement();\n if (this.changeStep()) {\n stepItem.addEventListener('click', () => this.goStep(i));\n stepItem.style.pointerEvents = 'auto';\n stepItem.style.cursor = 'pointer';\n } else {\n stepItem.style.pointerEvents = 'none';\n stepItem.style.cursor = 'default';\n }\n i++;\n });\n });\n\n /**\n * Current active step index (0-based)\n */\n public activeStepIndex = signal<number>(0);\n\n /** @ignore */\n protected activeOrientation = signal<AXOrientation>(this.orientation);\n\n public isFirst = computed<boolean>(() => this.activeStepIndex() === 0);\n public isLast = computed<boolean>(() => this.activeStepIndex() === this.steps()?.length - 1);\n\n #effect = effect(() => {\n this.steps()?.forEach((s) => {\n s.look.set(this.look());\n });\n });\n\n /** @ignore */\n #stepChangeEffect = effect(() => {\n const step: AXStepWizardItemComponent = this.steps()[this.activeStepIndex()];\n this.steps().forEach((s, i) => {\n s.active.set(false);\n s.passed.set(false);\n if (i < this.activeStepIndex()) {\n this.steps()[i].passed.set(true);\n }\n });\n if (this.scrollToStep()) {\n this.steps()[this.activeStepIndex()].getHostElement().scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n });\n }\n this.steps()[this.activeStepIndex()].active.set(true);\n setTimeout(() => {\n this.changeStepContent(step);\n this.stepChanged.emit(step);\n });\n });\n\n /** @ignore */\n private changeStepContent(step?: AXStepWizardItemComponent) {\n if (this.content && step) {\n this.content.portal = step.template();\n }\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n }\n\n /** @ignore */\n // @ContentChildren(AXStepWizardItemComponent, { descendants: true })\n steps = contentChildren(AXStepWizardItemComponent);\n\n /**\n * Sets the orientation of the component.\n *\n * @param v\n */\n @Input()\n public set orientation(v: AXOrientation) {\n this.activeOrientation.set(v);\n }\n\n @Input()\n content!: AXStepWizardContentDirective;\n\n /**\n * Advances to the next step if available.\n */\n public next() {\n this.activeStepIndex.update((prev) => {\n if (prev < this.steps().length - 1) return prev + 1;\n else return prev;\n });\n }\n\n /**\n * Moves to the previous step if available.\n */\n public previous() {\n this.activeStepIndex.update((prev) => {\n if (prev > 0) return prev - 1;\n else return prev;\n });\n }\n\n /**\n * Directly navigates to the specified step by its index.\n * @param stepIndex - The step index to navigate to\n */\n public goStep(stepIndex: number) {\n this.activeStepIndex.set(stepIndex - 1);\n }\n\n /**\n * Resets the wizard to the first step.\n */\n public reset() {\n this.activeStepIndex.set(0);\n }\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const classList = [`ax-look-${this.look()}`];\n if (this.activeOrientation() == 'vertical') {\n classList.push('ax-vertical');\n }\n if (this.connector()) {\n classList.push('ax-connector');\n }\n return classList;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXStepWizardItemComponent } from './step-wizard-item/step-wizard-item.component';\nimport { AXStepWizardComponent } from './step-wizard.component';\nimport { AXStepWizardContentDirective } from './step-wizard.directive';\n\nconst COMPONENT = [AXStepWizardComponent, AXStepWizardItemComponent, AXStepWizardContentDirective];\n\n@NgModule({\n imports: [...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXStepWizardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-step-wizard.mjs","sources":["../../../../packages/components/step-wizard/src/lib/step-wizard-item/step-wizard-item.component.ts","../../../../packages/components/step-wizard/src/lib/step-wizard-item/step-wizard-item.component.html","../../../../packages/components/step-wizard/src/lib/step-wizard.directive.ts","../../../../packages/components/step-wizard/src/lib/step-wizard.component.ts","../../../../packages/components/step-wizard/src/lib/step-wizard.module.ts","../../../../packages/components/step-wizard/src/acorex-components-step-wizard.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXProgressBarComponent } from '@acorex/components/progress-bar';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n HostBinding,\n Input,\n TemplateRef,\n ViewEncapsulation,\n computed,\n input,\n model,\n signal,\n viewChild,\n} from '@angular/core';\nimport { AXStepWizardLook, AXStepWizardState } from '../step-wizard.class';\n\n@Component({\n selector: 'ax-step-wizard-item',\n inputs: ['disabled', 'color'],\n templateUrl: './step-wizard-item.component.html',\n\n encapsulation: ViewEncapsulation.None,\n imports: [NgTemplateOutlet, AXProgressBarComponent],\n providers: [{ provide: AXComponent, useExisting: AXStepWizardItemComponent }],\n})\nexport class AXStepWizardItemComponent extends MXBaseComponent {\n step = input(1);\n label = input('');\n description = input('');\n customTemplate = input<TemplateRef<unknown>>();\n\n active = model<boolean>(false);\n passed = model<boolean>(false);\n look = model<AXStepWizardLook>();\n state = model<AXStepWizardState>('clear');\n\n stepId = signal<string>('');\n\n className = computed<string>(() => (this.passed() ? 'ax-state-passed' : this.active() ? 'ax-state-active' : ''));\n\n isArrowMinimalLook = computed(\n () => this.look() === 'rounded-arrow-minimal' || this.look() === 'rectangular-arrow-minimal',\n );\n\n template = viewChild<TemplateRef<unknown>>('content');\n\n @Input()\n public override set id(v: string) {\n this.stepId.set(v);\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [this.className(), `ax-state-${this.state()}`];\n }\n}\n","@if (\n look() === 'rounded-icon' ||\n look() === 'circular-icon' ||\n look() === 'circular' ||\n isArrowMinimalLook()\n) {\n <div class=\"ax-step-wizard-item-icon-container\">\n <div class=\"ax-step-wizard-item-icon\">\n @if (state() === 'error') {\n <div class=\"ax-icon ax-icon-close\"></div>\n } @else if (state() === 'success' || (isArrowMinimalLook() && passed() && state() === 'clear')) {\n <div class=\"ax-icon ax-icon-check\"></div>\n } @else if (state() === 'warning') {\n <div class=\"ax-icon ax-icon-warning\"></div>\n } @else if (isArrowMinimalLook()) {\n <span class=\"ax-step-wizard-item-step\">{{ step() }}</span>\n }\n @if (!isArrowMinimalLook()) {\n <ng-container [ngTemplateOutlet]=\"icon\"> </ng-container>\n }\n </div>\n </div>\n <div class=\"ax-step-wizard-item-title\">\n @if (label()) {\n <p>{{ label() }}</p>\n }\n @if (description() && !isArrowMinimalLook()) {\n <span [class.ax-visible]=\"description()\">{{ description() }}</span>\n }\n </div>\n} @else if (look() === 'text-line') {\n @if (state() === 'pending') {\n <ax-progress-bar [progress]=\"100\" [mode]=\"'indeterminate'\" color=\"primary\" [height]=\"4\"> </ax-progress-bar>\n } @else {\n <div class=\"ax-step-wizard-indicator\"></div>\n }\n <div class=\"ax-step-wizard-item-title\">\n @if (label()) {\n <p>{{ label() }}</p>\n }\n @if (description()) {\n <span [class.ax-visible]=\"description()\">{{ description() }}</span>\n }\n </div>\n} @else {\n @if (customTemplate()) {\n <ng-container [ngTemplateOutlet]=\"customTemplate()\"> </ng-container>\n }\n}\n\n<ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n</ng-template>\n\n<ng-template #icon>\n <ng-content select=\"ax-icon\"></ng-content>\n</ng-template>\n","import { Directive, TemplateRef, ViewContainerRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[axStepWizardContent]',\n exportAs: 'axStepWizardContent',\n inputs: ['portal: axStepWizardContent'],\n})\nexport class AXStepWizardContentDirective {\n private _viewContainerRef = inject(ViewContainerRef);\n\n private _portal: TemplateRef<any> | undefined;\n public get portal(): TemplateRef<any> | undefined {\n return this._portal;\n }\n public set portal(v: TemplateRef<any> | undefined) {\n if (v) {\n this._portal = v;\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(v, null, 0);\n }\n }\n}\n","import { AXComponent, AXOrientation, MXBaseComponent } from '@acorex/cdk/common';\nimport {\n Component,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n computed,\n contentChildren,\n effect,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { AXStepWizardItemComponent } from './step-wizard-item/step-wizard-item.component';\nimport { AXStepWizardLook } from './step-wizard.class';\nimport { AXStepWizardContentDirective } from './step-wizard.directive';\n\n/**\n * @category\n * A component for creating a step-by-step wizard interface.\n */\n@Component({\n selector: 'ax-step-wizard',\n template: ` <ng-content select=\"ax-step-wizard-item\"></ng-content> `,\n styleUrls: ['./step-wizard.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXStepWizardComponent }],\n})\nexport class AXStepWizardComponent extends MXBaseComponent implements OnInit {\n connector = input(true);\n /**\n * Whether to automatically scroll to the active step when it changes\n */\n scrollToStep = input<boolean>(true);\n look = input<AXStepWizardLook>('circular-icon');\n changeStep = input(false);\n\n stepChanged = output<AXStepWizardItemComponent>();\n\n #changeStepEffect = effect(() => {\n this.steps().forEach((item, i = 1) => {\n const stepItem = item.getHostElement();\n if (this.changeStep()) {\n stepItem.addEventListener('click', () => this.goStep(i));\n stepItem.style.pointerEvents = 'auto';\n stepItem.style.cursor = 'pointer';\n } else {\n stepItem.style.pointerEvents = 'none';\n stepItem.style.cursor = 'default';\n }\n i++;\n });\n });\n\n /**\n * Current active step index (0-based)\n */\n public activeStepIndex = signal<number>(0);\n\n /** @ignore */\n protected activeOrientation = signal<AXOrientation>(this.orientation);\n\n public isFirst = computed<boolean>(() => this.activeStepIndex() === 0);\n public isLast = computed<boolean>(() => this.activeStepIndex() === this.steps()?.length - 1);\n\n #effect = effect(() => {\n this.steps()?.forEach((s) => {\n s.look.set(this.look());\n });\n });\n\n /** @ignore */\n #stepChangeEffect = effect(() => {\n const step: AXStepWizardItemComponent = this.steps()[this.activeStepIndex()];\n this.steps().forEach((s, i) => {\n s.active.set(false);\n s.passed.set(false);\n if (i < this.activeStepIndex()) {\n this.steps()[i].passed.set(true);\n }\n });\n if (this.scrollToStep()) {\n this.steps()[this.activeStepIndex()].getHostElement().scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n });\n }\n this.steps()[this.activeStepIndex()].active.set(true);\n setTimeout(() => {\n this.changeStepContent(step);\n this.stepChanged.emit(step);\n });\n });\n\n /** @ignore */\n private changeStepContent(step?: AXStepWizardItemComponent) {\n if (this.content && step) {\n this.content.portal = step.template();\n }\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n }\n\n /** @ignore */\n // @ContentChildren(AXStepWizardItemComponent, { descendants: true })\n steps = contentChildren(AXStepWizardItemComponent);\n\n /**\n * Sets the orientation of the component.\n *\n * @param v\n */\n @Input()\n public set orientation(v: AXOrientation) {\n this.activeOrientation.set(v);\n }\n\n @Input()\n content!: AXStepWizardContentDirective;\n\n /**\n * Advances to the next step if available.\n */\n public next() {\n this.activeStepIndex.update((prev) => {\n if (prev < this.steps().length - 1) return prev + 1;\n else return prev;\n });\n }\n\n /**\n * Moves to the previous step if available.\n */\n public previous() {\n this.activeStepIndex.update((prev) => {\n if (prev > 0) return prev - 1;\n else return prev;\n });\n }\n\n /**\n * Directly navigates to the specified step by its index.\n * @param stepIndex - The step index to navigate to\n */\n public goStep(stepIndex: number) {\n this.activeStepIndex.set(stepIndex - 1);\n }\n\n /**\n * Resets the wizard to the first step.\n */\n public reset() {\n this.activeStepIndex.set(0);\n }\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const classList = [`ax-look-${this.look()}`];\n if (this.activeOrientation() == 'vertical') {\n classList.push('ax-vertical');\n }\n if (this.connector()) {\n classList.push('ax-connector');\n }\n return classList;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXStepWizardItemComponent } from './step-wizard-item/step-wizard-item.component';\nimport { AXStepWizardComponent } from './step-wizard.component';\nimport { AXStepWizardContentDirective } from './step-wizard.directive';\n\nconst COMPONENT = [AXStepWizardComponent, AXStepWizardItemComponent, AXStepWizardContentDirective];\n\n@NgModule({\n imports: [...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXStepWizardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-switch.mjs","sources":["../../../../packages/components/switch/src/lib/switch-content.component.ts","../../../../packages/components/switch/src/lib/switch.component.ts","../../../../packages/components/switch/src/lib/switch.component.html","../../../../packages/components/switch/src/lib/switch.module.ts","../../../../packages/components/switch/src/acorex-components-switch.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { Component } from '@angular/core';\n\n/**\n * @category\n * Displays content for different switch states using `<ng-content>`.\n */\n@Component({\n selector:\n 'ax-switch-handler-content,ax-switch-handler-on-content,ax-switch-handler-off-content,ax-switch-off-content,ax-switch-on-content',\n template: `<ng-content></ng-content>`,\n\n providers: [{ provide: AXComponent, useExisting: AXSwitchContentComponent }],\n})\nexport class AXSwitchContentComponent extends MXBaseComponent {}\n","import { AXComponent, MXColorComponent, MXValueComponent } from '@acorex/cdk/common';\nimport { Component, HostBinding, Input, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * @category\n * A switch component that allows toggling between on and off states.\n */\n@Component({\n selector: 'ax-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.css'],\n inputs: ['disabled', 'readonly', 'color', 'tabIndex', 'value', 'name'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged', 'readonlyChange', 'disabledChange'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXSwitchComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXSwitchComponent },\n ],\n})\nexport class AXSwitchComponent extends classes(MXValueComponent<boolean>, MXColorComponent) {\n /**\n * Indicates whether the component is in a loading state.\n */\n @Input()\n isLoading: boolean;\n\n /**\n * @ignore\n */\n protected _handleOnClickEvent(e: MouseEvent) {\n this.onTouchedCallback();\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n } else {\n this.commitValue(!this.value, true);\n }\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n if (this.color === 'ax-default') {\n return 'ax-primary';\n } else {\n return `${this.color ? this.color : 'ax-primary'}`;\n }\n }\n}\n","<button\n type=\"button\"\n role=\"switch\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n [class.ax-switch-checked]=\"value\"\n (click)=\"_handleOnClickEvent($event)\"\n>\n <div class=\"ax-switch-handle\">\n @if (isLoading) {\n <span class=\"ax-loader\"></span>\n }\n @if (!isLoading) {\n <ng-content select=\"ax-switch-handler-content\"></ng-content>\n }\n @if (!isLoading && value) {\n <ng-content select=\"ax-switch-handler-on-content\"></ng-content>\n }\n @if (!isLoading && !value) {\n <ng-content select=\"ax-switch-handler-off-content\"></ng-content>\n }\n </div>\n @if (!value) {\n <ng-content select=\"ax-switch-off-content\"></ng-content>\n }\n @if (value) {\n <ng-content select=\"ax-switch-on-content\"></ng-content>\n }\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSwitchContentComponent } from './switch-content.component';\nimport { AXSwitchComponent } from './switch.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, AXSwitchComponent, AXSwitchContentComponent],\n exports: [AXSwitchComponent, AXSwitchContentComponent],\n providers: [],\n})\nexport class AXSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-switch.mjs","sources":["../../../../packages/components/switch/src/lib/switch-content.component.ts","../../../../packages/components/switch/src/lib/switch.component.ts","../../../../packages/components/switch/src/lib/switch.component.html","../../../../packages/components/switch/src/lib/switch.module.ts","../../../../packages/components/switch/src/acorex-components-switch.ts"],"sourcesContent":["import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { Component } from '@angular/core';\n\n/**\n * @category\n * Displays content for different switch states using `<ng-content>`.\n */\n@Component({\n selector:\n 'ax-switch-handler-content,ax-switch-handler-on-content,ax-switch-handler-off-content,ax-switch-off-content,ax-switch-on-content',\n template: `<ng-content></ng-content>`,\n\n providers: [{ provide: AXComponent, useExisting: AXSwitchContentComponent }],\n})\nexport class AXSwitchContentComponent extends MXBaseComponent {}\n","import { AXComponent, MXColorComponent, MXValueComponent } from '@acorex/cdk/common';\nimport { Component, HostBinding, Input, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * @category\n * A switch component that allows toggling between on and off states.\n */\n@Component({\n selector: 'ax-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.css'],\n inputs: ['disabled', 'readonly', 'color', 'tabIndex', 'value', 'name'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged', 'readonlyChange', 'disabledChange'],\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXSwitchComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXSwitchComponent },\n ],\n})\nexport class AXSwitchComponent extends classes(MXValueComponent<boolean>, MXColorComponent) {\n /**\n * Indicates whether the component is in a loading state.\n */\n @Input()\n isLoading: boolean;\n\n /**\n * @ignore\n */\n protected _handleOnClickEvent(e: MouseEvent) {\n this.onTouchedCallback();\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n } else {\n this.commitValue(!this.value, true);\n }\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n if (this.color === 'ax-default') {\n return 'ax-primary';\n } else {\n return `${this.color ? this.color : 'ax-primary'}`;\n }\n }\n}\n","<button\n type=\"button\"\n role=\"switch\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n [class.ax-switch-checked]=\"value\"\n (click)=\"_handleOnClickEvent($event)\"\n>\n <div class=\"ax-switch-handle\">\n @if (isLoading) {\n <span class=\"ax-loader\"></span>\n }\n @if (!isLoading) {\n <ng-content select=\"ax-switch-handler-content\"></ng-content>\n }\n @if (!isLoading && value) {\n <ng-content select=\"ax-switch-handler-on-content\"></ng-content>\n }\n @if (!isLoading && !value) {\n <ng-content select=\"ax-switch-handler-off-content\"></ng-content>\n }\n </div>\n @if (!value) {\n <ng-content select=\"ax-switch-off-content\"></ng-content>\n }\n @if (value) {\n <ng-content select=\"ax-switch-on-content\"></ng-content>\n }\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSwitchContentComponent } from './switch-content.component';\nimport { AXSwitchComponent } from './switch.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, AXSwitchComponent, AXSwitchContentComponent],\n exports: [AXSwitchComponent, AXSwitchContentComponent],\n providers: [],\n})\nexport class AXSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAGA;;;AAGG;AAQG,MAAO,wBAAyB,SAAQ,eAAe,CAAA;8GAAhD,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iIAAA,EAAA,SAAA,EAFxB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,iDAFlE,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAI1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EACN,iIAAiI;AACnI,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;oBAErC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,wBAA0B,EAAE,CAAC;AAC7E,iBAAA;;;ACRD;;;AAGG;AAkBG,MAAO,iBAAkB,SAAQ,OAAO,EAAC,gBAAyB,GAAE,gBAAgB,CAAC,CAAA;AAOzF;;AAEG;AACO,IAAA,mBAAmB,CAAC,CAAa,EAAA;QACzC,IAAI,CAAC,iBAAiB,EAAE;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,eAAe,EAAE;QACrB;aAAO;YACL,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QACrC;IACF;AAEA;;AAEG;AACH,IAAA,IACY,WAAW,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE;AAC/B,YAAA,OAAO,YAAY;QACrB;aAAO;AACL,YAAA,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,EAAE;QACpD;IACF;8GA9BW,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EATjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE;AACzD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBH,65BA+BA,EAAA,MAAA,EAAA,CAAA,o3NAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDLa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,MAAA,EAGb,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAA,OAAA,EAC7D,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAA,aAAA,EACpF,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAE1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,mBAAmB,EAAE;AACzD,qBAAA,EAAA,QAAA,EAAA,65BAAA,EAAA,MAAA,EAAA,CAAA,o3NAAA,CAAA,EAAA;;sBAMA;;sBAmBA,WAAW;uBAAC,OAAO;;;MEtCT,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAJf,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACtE,iBAAiB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA;+GAG1C,cAAc,EAAA,OAAA,EAAA,CAJf,YAAY,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;;2FAIxB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,wBAAwB,CAAC;AACjF,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;AACtD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACVD;;AAEG;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-tabs.mjs","sources":["../../../../packages/components/tabs/src/lib/tab-content.directive.ts","../../../../packages/components/tabs/src/lib/tab-panel.directive.ts","../../../../packages/components/tabs/src/lib/tab-item.component.ts","../../../../packages/components/tabs/src/lib/tabs.class.ts","../../../../packages/components/tabs/src/lib/tabs.component.ts","../../../../packages/components/tabs/src/lib/tabs.module.ts","../../../../packages/components/tabs/src/acorex-components-tabs.ts"],"sourcesContent":["import {\n Directive,\n EmbeddedViewRef,\n OnDestroy,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { AXTabsRenderMode } from './tabs.class';\n\ninterface TabContentPane {\n view: EmbeddedViewRef<unknown>;\n host: HTMLElement;\n}\n\n@Directive({\n selector: '[axTabContent]',\n exportAs: 'axTabContent',\n inputs: ['portal: axTabContent'],\n})\nexport class AXTabContentDirective implements OnDestroy {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly renderer = inject(Renderer2);\n\n private readonly panes = new Map<TemplateRef<unknown>, TabContentPane>();\n\n private _portal: TemplateRef<unknown> | undefined;\n private defaultView: EmbeddedViewRef<unknown> | null = null;\n\n public get portal(): TemplateRef<unknown> | undefined {\n return this._portal;\n }\n\n public set portal(v: TemplateRef<unknown> | undefined) {\n if (v) {\n this._portal = v;\n this.activate(v, 'default');\n }\n }\n\n /**\n * Shows the given tab template using the specified render mode.\n */\n activate(template: TemplateRef<unknown> | undefined, mode: AXTabsRenderMode): void {\n if (!template) {\n return;\n }\n\n this._portal = template;\n\n if (mode === 'default') {\n this.destroyDefaultView();\n this.resetKeepAlivePanes();\n this.viewContainerRef.clear();\n this.defaultView = this.viewContainerRef.createEmbeddedView(template, null, 0);\n return;\n }\n\n this.destroyDefaultView();\n this.ensurePane(template);\n this.showPane(template);\n }\n\n /**\n * Ensures embedded views exist for every tab template (all-tabs mode).\n */\n preload(templates: TemplateRef<unknown>[]): void {\n templates.forEach((template) => this.ensurePane(template));\n }\n\n /**\n * Removes panes whose tab templates are no longer present.\n */\n sync(templates: TemplateRef<unknown>[]): void {\n const activeTemplates = new Set(templates);\n\n for (const [template, pane] of this.panes) {\n if (activeTemplates.has(template)) {\n continue;\n }\n\n this.destroyPane(template, pane);\n }\n }\n\n /**\n * Destroys all cached panes and clears the view container.\n */\n reset(): void {\n this.destroyDefaultView();\n this.resetKeepAlivePanes();\n this.viewContainerRef.clear();\n }\n\n ngOnDestroy(): void {\n this.reset();\n }\n\n private destroyDefaultView(): void {\n if (!this.defaultView) {\n return;\n }\n\n this.defaultView.destroy();\n this.defaultView = null;\n }\n\n private resetKeepAlivePanes(): void {\n for (const [template, pane] of this.panes) {\n this.destroyPane(template, pane);\n }\n\n this.panes.clear();\n }\n\n private ensurePane(template: TemplateRef<unknown>): TabContentPane {\n const existing = this.panes.get(template);\n if (existing && !existing.view.destroyed) {\n return existing;\n }\n\n if (existing) {\n this.panes.delete(template);\n this.renderer.removeChild(existing.host.parentElement, existing.host);\n }\n\n const view = this.viewContainerRef.createEmbeddedView(template, null, this.viewContainerRef.length);\n const host = this.renderer.createElement('div') as HTMLElement;\n this.renderer.addClass(host, 'ax-tab-content-pane');\n this.renderer.setAttribute(host, 'hidden', '');\n\n const anchor = this.viewContainerRef.element.nativeElement;\n this.renderer.insertBefore(anchor.parentElement, host, anchor);\n\n for (const node of view.rootNodes) {\n this.renderer.appendChild(host, node);\n }\n\n const pane: TabContentPane = { view, host };\n this.panes.set(template, pane);\n return pane;\n }\n\n private showPane(template: TemplateRef<unknown>): void {\n for (const [paneTemplate, pane] of this.panes) {\n if (paneTemplate === template) {\n this.renderer.removeAttribute(pane.host, 'hidden');\n } else {\n this.renderer.setAttribute(pane.host, 'hidden', '');\n }\n }\n }\n\n private destroyPane(template: TemplateRef<unknown>, pane: TabContentPane): void {\n if (!pane.view.destroyed) {\n pane.view.destroy();\n }\n\n if (pane.host.parentElement) {\n this.renderer.removeChild(pane.host.parentElement, pane.host);\n }\n\n this.panes.delete(template);\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Marks an `ng-template` as tab panel content. Use this instead of projecting\n * components directly into `ax-content` when you need `renderMode=\"default\"`\n * to destroy and recreate panel state on each tab switch.\n *\n * @example\n * ```html\n * <ax-tab-item text=\"Account\">\n * <ng-template axTabPanel>\n * <my-panel />\n * </ng-template>\n * </ax-tab-item>\n * ```\n */\n@Directive({\n selector: 'ng-template[axTabPanel]',\n})\nexport class AXTabPanelDirective {\n constructor(readonly template: TemplateRef<unknown>) {}\n}\n","import { AXClickEvent, AXComponent, MXComponentOptionChanged, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { AXDragDirective } from '@acorex/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTabPanelDirective } from './tab-panel.directive';\n\n/**\n * @category\n * Represents an individual tab item in a tab component.\n */\n@Component({\n selector: 'ax-tab-item',\n hostDirectives: [\n {\n directive: AXDragDirective,\n inputs: ['dragStartDelay', 'dragClonedTemplate'],\n },\n ],\n template: `\n @if (headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n text: this.text,\n key: this.key,\n active: this.active,\n disabled: this.disabled,\n },\n }\"\n ></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-tab-item-header\">\n <div class=\"ax-tab-item-text\">{{ text }}</div>\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n <ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n </ng-template>\n `,\n\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n outputs: ['disabledChange', 'onClick', 'onBlur', 'onFocus'],\n host: { ngSkipHydration: 'true' },\n imports: [NgTemplateOutlet],\n providers: [{ provide: AXComponent, useExisting: AXTabItemComponent }],\n})\nexport class AXTabItemComponent extends MXInteractiveComponent {\n private readonly _drag = inject(AXDragDirective, { self: true });\n\n private _reorderEnabled = false;\n private _panTouchAction: 'none' | 'pan-x' | 'pan-y' = 'none';\n\n constructor() {\n super();\n this._drag.isDragDisabled.set(true);\n this._drag.dragCursorOverride.set('none');\n }\n\n /**\n * Defines the text content to be displayed within the component.\n */\n @Input()\n text: string;\n\n /**\n * Defines a unique identifier for the component instance.\n */\n @Input()\n key: string;\n\n @ContentChild(AXTabPanelDirective)\n private _panel?: AXTabPanelDirective;\n\n @ViewChild('content')\n private _contentTemplate!: TemplateRef<unknown>;\n\n /**\n * Template rendered for this tab's content area.\n * Prefer `ng-template[axTabPanel]` so `renderMode=\"default\"` can recreate panel state.\n */\n get template(): TemplateRef<unknown> {\n return this._panel?.template ?? this._contentTemplate;\n }\n\n /**\n * Defines a custom template for the component's header.\n */\n @Input()\n headerTemplate: TemplateRef<unknown>;\n\n /**\n * Emits an event when the `active` state of the component changes.\n * @event\n */\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Emits an event when the component is clicked.\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /** @ignore */\n private _active = false;\n\n /**\n * Gets or sets the component's active state, controlling its behavior and appearance.\n * @param value {boolean}\n */\n @Input()\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n this.setOption({\n name: 'active',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n /** @ignore */\n setReorderEnabled(enabled: boolean, delay = 0, touchAction: 'none' | 'pan-x' | 'pan-y' = 'none'): void {\n this._reorderEnabled = enabled;\n this._panTouchAction = touchAction;\n this._drag.startDelay.set(enabled ? delay : 0);\n this._drag.dragTouchAction.set(touchAction);\n this._drag.dragCursorOverride.set(enabled ? 'grab-on-drag' : 'none');\n this.updateDragState();\n }\n\n /** @ignore */\n private updateDragState(): void {\n this._drag.isDragDisabled.set(!this._reorderEnabled || this.disabled);\n this.applyScrollTouchAction();\n }\n\n /** @ignore */\n private applyScrollTouchAction(): void {\n const handle = this.getHostElement();\n if (this._reorderEnabled) {\n return;\n }\n\n if (this._panTouchAction !== 'none') {\n handle.style.touchAction = this._panTouchAction;\n } else {\n handle.style.removeProperty('touch-action');\n }\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.getHostElement().scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n /**\n * @ignore\n */\n protected override internalOptionChanged(option: MXComponentOptionChanged<any>): void {\n //TODO: change to hostbind\n const classListRef = this.getHostElement().classList;\n if (option.name == 'disabled') {\n option.value ? classListRef.add('ax-state-disabled') : classListRef.remove('ax-state-disabled');\n this.updateDragState();\n }\n if (option.name == 'active') {\n option.value ? classListRef.add('ax-state-active') : classListRef.remove('ax-state-active');\n }\n }\n\n /**\n * Gets the component's position and size statistics.\n *\n * @returns object with width, height, left, and top properties\n */\n getStats() {\n return {\n width: this.getHostElement().offsetWidth,\n height: this.getHostElement().offsetHeight,\n left: this.getHostElement().offsetLeft,\n top: this.getHostElement().offsetTop,\n };\n }\n}\n","import { AXEvent } from '@acorex/cdk/common';\nimport { AXTabItemComponent } from './tab-item.component';\n\nexport class AXTabStripChangedEvent extends AXEvent {\n tab: AXTabItemComponent;\n index: number;\n}\n\n/** Event emitted when tab items are reordered via drag and drop. */\nexport class AXTabsReorderedEvent extends AXEvent {\n tab: AXTabItemComponent;\n previousIndex: number;\n currentIndex: number;\n}\n\nexport type AXTabLook = 'default' | 'pills' | 'pills-color' | 'with-line' | 'with-line-color' | 'classic' | 'custom';\n\nexport type AXTabLocation = 'top' | 'bottom' | 'start' | 'end';\n\nexport type AXTabsRenderMode = 'default' | 'all-tabs' | 'on-demand';\n","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXDropListDirective, AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';\nimport { AXHorizontalScrollDirective } from '@acorex/cdk/horizontal-scroll';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n Component,\n ContentChildren,\n DestroyRef,\n effect,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n input,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabLocation, AXTabLook, AXTabsRenderMode, AXTabsReorderedEvent, AXTabStripChangedEvent } from './tabs.class';\n\ninterface TabIndicatorStats {\n width: number;\n height: number;\n left: number;\n top: number;\n}\n\n/**\n * @category\n * A component that serves as a container for tab items.\n */\n@Component({\n selector: 'ax-tabs',\n hostDirectives: [AXDropListDirective, AXHorizontalScrollDirective],\n template: `<ng-content select=\"ax-tab-item\"></ng-content><span class=\"ax-tab-indicator\" #indicator></span>`,\n styleUrl: './tabs.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXTabsComponent }],\n})\nexport class AXTabsComponent extends MXBaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n private readonly renderer = inject(Renderer2);\n private readonly destroyRef = inject(DestroyRef);\n private readonly _dropList = inject(AXDropListDirective, { self: true });\n private readonly _scroll = inject(AXHorizontalScrollDirective, { self: true });\n\n /**\n * @ignore\n */\n @ContentChildren(AXTabItemComponent)\n private _contentTabs!: QueryList<AXTabItemComponent>;\n\n /**\n * Sets the appearance style of the tab component.\n * @defaultValue 'default'\n */\n look = input<AXTabLook>('default');\n\n /**\n * Specifies the position of the tab component.\n * @defaultValue 'bottom'\n */\n location = input<AXTabLocation>('bottom');\n\n /**\n * Enables drag-and-drop reordering of tab items. Reordering starts only after the user\n * presses and holds a tab for {@link reorderDelay} milliseconds; a quick swipe without\n * holding scrolls the strip instead.\n * @defaultValue false\n */\n reorderable = input(false, { transform: booleanAttribute });\n\n /**\n * Press-and-hold duration in milliseconds before a tab can be dragged to reorder.\n * After this delay the cursor changes to grab while the pointer is still held. Moving before\n * the delay ends cancels reorder and allows swipe or pan scrolling instead.\n * @defaultValue 250\n */\n reorderDelay = input(250);\n\n /**\n * Controls how tab content is rendered in the DOM.\n *\n * - `default` — Only the active tab's content is in the DOM. Switching tabs replaces content and does not preserve state.\n * - `all-tabs` — All tab contents are rendered and kept in the DOM. State is preserved; higher memory use.\n * - `on-demand` — Only the active tab is rendered initially. Other tabs are rendered on first visit and then kept; state is preserved.\n *\n * @defaultValue 'default'\n */\n renderMode = input<AXTabsRenderMode>('default');\n\n /**\n * When true, stacks prefix, title, and suffix vertically inside each tab header\n * instead of arranging them in a horizontal row.\n * @defaultValue false\n */\n stacked = input(false, { transform: booleanAttribute });\n\n /**\n * @defaultValue 'false'\n * Specifies whether the component should resize to fit its parent container.\n */\n @Input()\n fitParent = false;\n\n /**\n * @defaultValue 'false'\n * Applies a minimum width constraint to the component.\n */\n @Input()\n minWidth = false;\n\n /**\n * The `AXTabContentDirective` associated with the tab.\n */\n @Input()\n set content(value: AXTabContentDirective) {\n this._content = value;\n if (value && this._selectedItem) {\n this._renderContent(this._selectedItem);\n }\n }\n get content(): AXTabContentDirective {\n return this._content;\n }\n\n private _content!: AXTabContentDirective;\n\n private indicator = viewChild<ElementRef<HTMLSpanElement>>('indicator');\n\n private zone = inject(NgZone);\n private platformId = inject(PLATFORM_ID);\n\n /** @ignore */\n private _isUserInteraction = false;\n\n /** @ignore */\n private _clickSubscriptions = new WeakSet<AXTabItemComponent>();\n\n /** @ignore */\n private _activeSubscriptions = new WeakSet<AXTabItemComponent>();\n\n get items(): AXTabItemComponent[] {\n const tabs = this._contentTabs?.toArray() ?? [];\n if (!isPlatformBrowser(this.platformId) || tabs.length < 2) {\n return tabs;\n }\n return [...tabs].sort((a, b) =>\n a.getHostElement().compareDocumentPosition(b.getHostElement()) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1,\n );\n }\n\n /** @ignore */\n private _selectedItem!: AXTabItemComponent;\n\n /** @ignore */\n get selectedIndex(): number {\n return this.items.indexOf(this._selectedItem);\n }\n\n /** @ignore */\n get selectedItem(): AXTabItemComponent {\n return this._selectedItem;\n }\n\n private changes: ResizeObserver;\n private activeTab = signal<AXTabItemComponent | null>(null);\n private viewReady = signal(false);\n private lastRenderMode: AXTabsRenderMode | null = null;\n\n #reorderableEffect = effect(() => {\n this._dropList.isSortingDisabled.set(!this.reorderable());\n this._syncDragState();\n });\n\n #orientationEffect = effect(() => {\n const loc = this.location();\n const vertical = loc === 'start' || loc === 'end';\n const orientation = vertical ? 'vertical' : 'horizontal';\n this._dropList.orientation.set(orientation);\n this._scroll.scrollOrientation.set(orientation);\n });\n\n #tabChange = effect(() => {\n const look = this.look();\n const location = this.location();\n const activeTab = this.activeTab();\n if (!location || !activeTab || !this.viewReady()) {\n return;\n }\n if (look !== 'with-line-color' && look !== 'with-line') {\n return;\n }\n this.scheduleIndicatorUpdate(activeTab);\n });\n\n #renderModeEffect = effect(() => {\n const mode = this.renderMode();\n const selected = this._selectedItem;\n if (!selected || !this.content) {\n return;\n }\n if (this.lastRenderMode !== null && this.lastRenderMode !== mode) {\n this._renderContent(selected);\n }\n });\n\n /**\n * @event\n */\n @Output()\n onActiveTabChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();\n\n /**\n * Emitted when tab items are reordered via drag and drop after the press-and-hold\n * delay has elapsed and the user drags a tab to a new position.\n * @event\n */\n @Output()\n onTabsReordered: EventEmitter<AXTabsReorderedEvent> = new EventEmitter<AXTabsReorderedEvent>();\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const cssClasses: string[] = [];\n cssClasses.push(`ax-${this.look()}`);\n cssClasses.push(`ax-${this.location()}`);\n if (this.fitParent) cssClasses.push(`ax-tabs-fit`);\n if (this.reorderable()) cssClasses.push(`ax-tabs-reorderable`);\n if (this.stacked()) cssClasses.push(`ax-tabs-stacked`);\n return cssClasses;\n }\n\n constructor() {\n super();\n\n afterNextRender(() => {\n this.viewReady.set(true);\n this.scheduleIndicatorUpdate(this.activeTab());\n });\n\n const dropSub = this._dropList.dropListDropped.subscribe((event) => {\n if (this.reorderable()) {\n this._applyReorder(event);\n }\n });\n const previewSub = this._dropList.sortPreviewChanged.subscribe(() => {\n this.scheduleIndicatorUpdate(this.activeTab());\n });\n\n this.destroyRef.onDestroy(() => {\n dropSub.unsubscribe();\n previewSub.unsubscribe();\n });\n }\n\n /** @ignore */\n ngAfterContentInit() {\n this._contentTabs.changes.subscribe(() => {\n this._bindOnClickEvent();\n });\n }\n\n /** @ignore */\n ngAfterViewInit() {\n this._bindOnClickEvent();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.changes = new ResizeObserver((entries) => {\n const activeTab = this.activeTab();\n if (entries[0].contentRect.width && activeTab) {\n const indicatorEl = this.indicator()?.nativeElement;\n if (!indicatorEl) {\n return;\n }\n this.renderer.setStyle(indicatorEl, 'transition', 'none');\n this.setIndicatorPosition(activeTab);\n this.renderer.removeStyle(indicatorEl, 'transition');\n }\n });\n this._observeActiveTabForResize(this.activeTab());\n });\n }\n }\n\n ngOnDestroy(): void {\n this.changes?.disconnect();\n }\n\n /** @ignore */\n private _bindOnClickEvent() {\n const selected = this.items.find((c) => c.active) || this.items[0];\n this.select(selected);\n this.items.forEach((c) => {\n if (!this._clickSubscriptions.has(c)) {\n this._clickSubscriptions.add(c);\n c.onClick.subscribe((t) => {\n this._isUserInteraction = t.nativeEvent?.isTrusted;\n this.select(c);\n });\n }\n if (!this._activeSubscriptions.has(c)) {\n this._activeSubscriptions.add(c);\n c.activeChange.subscribe((isActive) => {\n if (!isActive) {\n return;\n }\n if (this._selectedItem !== c) {\n this.select(c);\n return;\n }\n this.activeTab.set(c);\n this.scheduleIndicatorUpdate(c);\n });\n }\n });\n this._syncDragState();\n }\n\n /** @ignore */\n private _syncDragState(): void {\n const reorderEnabled = this.reorderable();\n const vertical = this.location() === 'start' || this.location() === 'end';\n const touchAction = vertical ? 'pan-x' : 'pan-y';\n this.items.forEach((tab) => {\n tab.setReorderEnabled(reorderEnabled, this.reorderDelay(), touchAction);\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n if (reorderEnabled) {\n this.renderer.setStyle(\n tab.getHostElement(),\n 'transition-property',\n 'transform, opacity, translate, background-color, color',\n );\n } else {\n this.renderer.removeStyle(tab.getHostElement(), 'transition-property');\n }\n });\n }\n\n /** @ignore */\n private _applyReorder(event: AXDropListDroppedEvent): void {\n const { previousIndex, currentIndex, item } = event;\n if (previousIndex === currentIndex || previousIndex < 0 || currentIndex < 0) {\n return;\n }\n\n const movedEl = item.element();\n const parent = movedEl.parentElement;\n if (!parent) {\n return;\n }\n\n const tabsBeforeMove = this.items.map((t) => t.getHostElement());\n const tabItem = this.items[previousIndex];\n const indicator = this.indicator()?.nativeElement;\n\n let refNode: Node | null = null;\n if (currentIndex >= tabsBeforeMove.length - 1) {\n refNode = indicator?.parentElement === parent ? indicator : null;\n } else {\n const refIndex = currentIndex > previousIndex ? currentIndex + 1 : currentIndex;\n refNode = tabsBeforeMove[refIndex] ?? (indicator?.parentElement === parent ? indicator : null);\n }\n\n if (refNode) {\n this.renderer.insertBefore(parent, movedEl, refNode);\n } else {\n this.renderer.appendChild(parent, movedEl);\n }\n\n this.zone.run(() => {\n this.onTabsReordered.emit({\n component: this,\n tab: tabItem,\n previousIndex,\n currentIndex,\n });\n });\n\n this.scheduleIndicatorUpdate(this.activeTab());\n setTimeout(() => this.scheduleIndicatorUpdate(this.activeTab()), 200);\n }\n\n /** @ignore */\n private _observeActiveTabForResize(tab: AXTabItemComponent | null): void {\n if (!this.changes || !isPlatformBrowser(this.platformId)) {\n return;\n }\n\n this.changes.disconnect();\n if (tab) {\n this.changes.observe(tab.getHostElement());\n }\n this.changes.observe(this.getHostElement());\n }\n\n /** @ignore */\n private scheduleIndicatorUpdate(tab: AXTabItemComponent | null): void {\n if (!tab || !this.viewReady()) {\n return;\n }\n\n const look = this.look();\n if (look !== 'with-line' && look !== 'with-line-color') {\n return;\n }\n\n queueMicrotask(() => {\n this.setIndicatorPosition(tab);\n });\n }\n\n /**\n * Activates the specified tab and updates the content.\n *\n * @param tab - The tab to select, either by index (number) or by component instance\n */\n select(tab: number | AXTabItemComponent) {\n const tabItem: AXTabItemComponent = typeof tab == 'number' ? this.items[tab] : tab;\n if (!tabItem) {\n return;\n }\n\n const isSameTab = this._selectedItem === tabItem;\n this.activeTab.set(tabItem);\n this._renderContent(tabItem);\n if (isSameTab) {\n return;\n }\n\n this._selectedItem = tabItem;\n this.items.forEach((c) => (c.active = false));\n tabItem.active = true;\n this.cdr.markForCheck();\n this.onActiveTabChanged.emit({\n component: this,\n isUserInteraction: this._isUserInteraction,\n tab: tabItem,\n index: this.selectedIndex,\n });\n this._isUserInteraction = false;\n this._observeActiveTabForResize(tabItem);\n this.scheduleIndicatorUpdate(tabItem);\n }\n\n /** @ignore */\n private _renderContent(tabItem: AXTabItemComponent): void {\n if (!this.content || !tabItem?.template) {\n return;\n }\n\n const mode = this.renderMode();\n const templates = this.items.map((item) => item.template).filter(Boolean);\n\n if (this.lastRenderMode !== null && this.lastRenderMode !== mode) {\n this.content.reset();\n }\n\n this.lastRenderMode = mode;\n\n if (mode === 'default') {\n this.content.activate(tabItem.template, mode);\n return;\n }\n\n this.content.sync(templates);\n\n if (mode === 'all-tabs') {\n this.content.preload(templates);\n }\n\n this.content.activate(tabItem.template, mode);\n }\n\n /** @ignore */\n private getTabIndicatorStats(tabItem: AXTabItemComponent): TabIndicatorStats {\n const tabEl = tabItem.getHostElement();\n const stats = tabItem.getStats();\n\n if (!isPlatformBrowser(this.platformId)) {\n return stats;\n }\n\n const transform = tabEl.style.transform || getComputedStyle(tabEl).transform;\n if (!transform || transform === 'none') {\n return stats;\n }\n\n try {\n const matrix = new DOMMatrixReadOnly(transform);\n return {\n ...stats,\n left: stats.left + matrix.m41,\n top: stats.top + matrix.m42,\n };\n } catch {\n return stats;\n }\n }\n\n private setIndicatorPosition(tabItem: AXTabItemComponent) {\n const indicatorEl = this.indicator()?.nativeElement;\n if (!indicatorEl) {\n return;\n }\n\n const itemStats = this.getTabIndicatorStats(tabItem);\n const indicatorStyle = indicatorEl.style;\n\n if (this.location() === 'top' || this.location() === 'bottom') {\n indicatorStyle.width = `${itemStats.width}px`;\n indicatorStyle.height = `var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.left = `${itemStats.left}px`;\n indicatorStyle.right = `unset`;\n if (this.location() === 'top') {\n indicatorStyle.top = `0px`;\n indicatorStyle.bottom = `unset`;\n }\n if (this.location() === 'bottom') {\n indicatorStyle.top = `unset`;\n indicatorStyle.bottom = `0px`;\n }\n }\n if (this.location() === 'start' || this.location() === 'end') {\n indicatorStyle.width = ` var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.height = `${itemStats.height}px`;\n indicatorStyle.top = `${itemStats.top}px`;\n indicatorStyle.bottom = `unset`;\n indicatorStyle.left = `unset`;\n indicatorStyle.right = `unset`;\n if (this.location() === 'start') {\n indicatorStyle.insetInlineStart = `0px`;\n indicatorStyle.insetInlineEnd = `unset`;\n }\n if (this.location() === 'end') {\n indicatorStyle.insetInlineStart = `unset`;\n indicatorStyle.insetInlineEnd = `0px`;\n }\n }\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabPanelDirective } from './tab-panel.directive';\nimport { AXTabsComponent } from './tabs.component';\n\nconst COMPONENT = [AXTabsComponent, AXTabItemComponent, AXTabContentDirective, AXTabPanelDirective];\nconst MODULES = [CommonModule, PortalModule, AXDecoratorModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-tabs.mjs","sources":["../../../../packages/components/tabs/src/lib/tab-content.directive.ts","../../../../packages/components/tabs/src/lib/tab-panel.directive.ts","../../../../packages/components/tabs/src/lib/tab-item.component.ts","../../../../packages/components/tabs/src/lib/tabs.class.ts","../../../../packages/components/tabs/src/lib/tabs.component.ts","../../../../packages/components/tabs/src/lib/tabs.module.ts","../../../../packages/components/tabs/src/acorex-components-tabs.ts"],"sourcesContent":["import {\n Directive,\n EmbeddedViewRef,\n OnDestroy,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { AXTabsRenderMode } from './tabs.class';\n\ninterface TabContentPane {\n view: EmbeddedViewRef<unknown>;\n host: HTMLElement;\n}\n\n@Directive({\n selector: '[axTabContent]',\n exportAs: 'axTabContent',\n inputs: ['portal: axTabContent'],\n})\nexport class AXTabContentDirective implements OnDestroy {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly renderer = inject(Renderer2);\n\n private readonly panes = new Map<TemplateRef<unknown>, TabContentPane>();\n\n private _portal: TemplateRef<unknown> | undefined;\n private defaultView: EmbeddedViewRef<unknown> | null = null;\n\n public get portal(): TemplateRef<unknown> | undefined {\n return this._portal;\n }\n\n public set portal(v: TemplateRef<unknown> | undefined) {\n if (v) {\n this._portal = v;\n this.activate(v, 'default');\n }\n }\n\n /**\n * Shows the given tab template using the specified render mode.\n */\n activate(template: TemplateRef<unknown> | undefined, mode: AXTabsRenderMode): void {\n if (!template) {\n return;\n }\n\n this._portal = template;\n\n if (mode === 'default') {\n this.destroyDefaultView();\n this.resetKeepAlivePanes();\n this.viewContainerRef.clear();\n this.defaultView = this.viewContainerRef.createEmbeddedView(template, null, 0);\n return;\n }\n\n this.destroyDefaultView();\n this.ensurePane(template);\n this.showPane(template);\n }\n\n /**\n * Ensures embedded views exist for every tab template (all-tabs mode).\n */\n preload(templates: TemplateRef<unknown>[]): void {\n templates.forEach((template) => this.ensurePane(template));\n }\n\n /**\n * Removes panes whose tab templates are no longer present.\n */\n sync(templates: TemplateRef<unknown>[]): void {\n const activeTemplates = new Set(templates);\n\n for (const [template, pane] of this.panes) {\n if (activeTemplates.has(template)) {\n continue;\n }\n\n this.destroyPane(template, pane);\n }\n }\n\n /**\n * Destroys all cached panes and clears the view container.\n */\n reset(): void {\n this.destroyDefaultView();\n this.resetKeepAlivePanes();\n this.viewContainerRef.clear();\n }\n\n ngOnDestroy(): void {\n this.reset();\n }\n\n private destroyDefaultView(): void {\n if (!this.defaultView) {\n return;\n }\n\n this.defaultView.destroy();\n this.defaultView = null;\n }\n\n private resetKeepAlivePanes(): void {\n for (const [template, pane] of this.panes) {\n this.destroyPane(template, pane);\n }\n\n this.panes.clear();\n }\n\n private ensurePane(template: TemplateRef<unknown>): TabContentPane {\n const existing = this.panes.get(template);\n if (existing && !existing.view.destroyed) {\n return existing;\n }\n\n if (existing) {\n this.panes.delete(template);\n this.renderer.removeChild(existing.host.parentElement, existing.host);\n }\n\n const view = this.viewContainerRef.createEmbeddedView(template, null, this.viewContainerRef.length);\n const host = this.renderer.createElement('div') as HTMLElement;\n this.renderer.addClass(host, 'ax-tab-content-pane');\n this.renderer.setAttribute(host, 'hidden', '');\n\n const anchor = this.viewContainerRef.element.nativeElement;\n this.renderer.insertBefore(anchor.parentElement, host, anchor);\n\n for (const node of view.rootNodes) {\n this.renderer.appendChild(host, node);\n }\n\n const pane: TabContentPane = { view, host };\n this.panes.set(template, pane);\n return pane;\n }\n\n private showPane(template: TemplateRef<unknown>): void {\n for (const [paneTemplate, pane] of this.panes) {\n if (paneTemplate === template) {\n this.renderer.removeAttribute(pane.host, 'hidden');\n } else {\n this.renderer.setAttribute(pane.host, 'hidden', '');\n }\n }\n }\n\n private destroyPane(template: TemplateRef<unknown>, pane: TabContentPane): void {\n if (!pane.view.destroyed) {\n pane.view.destroy();\n }\n\n if (pane.host.parentElement) {\n this.renderer.removeChild(pane.host.parentElement, pane.host);\n }\n\n this.panes.delete(template);\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Marks an `ng-template` as tab panel content. Use this instead of projecting\n * components directly into `ax-content` when you need `renderMode=\"default\"`\n * to destroy and recreate panel state on each tab switch.\n *\n * @example\n * ```html\n * <ax-tab-item text=\"Account\">\n * <ng-template axTabPanel>\n * <my-panel />\n * </ng-template>\n * </ax-tab-item>\n * ```\n */\n@Directive({\n selector: 'ng-template[axTabPanel]',\n})\nexport class AXTabPanelDirective {\n constructor(readonly template: TemplateRef<unknown>) {}\n}\n","import { AXClickEvent, AXComponent, MXComponentOptionChanged, MXInteractiveComponent } from '@acorex/cdk/common';\nimport { AXDragDirective } from '@acorex/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTabPanelDirective } from './tab-panel.directive';\n\n/**\n * @category\n * Represents an individual tab item in a tab component.\n */\n@Component({\n selector: 'ax-tab-item',\n hostDirectives: [\n {\n directive: AXDragDirective,\n inputs: ['dragStartDelay', 'dragClonedTemplate'],\n },\n ],\n template: `\n @if (headerTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: {\n text: this.text,\n key: this.key,\n active: this.active,\n disabled: this.disabled,\n },\n }\"\n ></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-tab-item-header\">\n <div class=\"ax-tab-item-text\">{{ text }}</div>\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n <ng-template #content>\n <ng-content select=\"ax-content\"> </ng-content>\n </ng-template>\n `,\n\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled'],\n outputs: ['disabledChange', 'onClick', 'onBlur', 'onFocus'],\n host: { ngSkipHydration: 'true' },\n imports: [NgTemplateOutlet],\n providers: [{ provide: AXComponent, useExisting: AXTabItemComponent }],\n})\nexport class AXTabItemComponent extends MXInteractiveComponent {\n private readonly _drag = inject(AXDragDirective, { self: true });\n\n private _reorderEnabled = false;\n private _panTouchAction: 'none' | 'pan-x' | 'pan-y' = 'none';\n\n constructor() {\n super();\n this._drag.isDragDisabled.set(true);\n this._drag.dragCursorOverride.set('none');\n }\n\n /**\n * Defines the text content to be displayed within the component.\n */\n @Input()\n text: string;\n\n /**\n * Defines a unique identifier for the component instance.\n */\n @Input()\n key: string;\n\n @ContentChild(AXTabPanelDirective)\n private _panel?: AXTabPanelDirective;\n\n @ViewChild('content')\n private _contentTemplate!: TemplateRef<unknown>;\n\n /**\n * Template rendered for this tab's content area.\n * Prefer `ng-template[axTabPanel]` so `renderMode=\"default\"` can recreate panel state.\n */\n get template(): TemplateRef<unknown> {\n return this._panel?.template ?? this._contentTemplate;\n }\n\n /**\n * Defines a custom template for the component's header.\n */\n @Input()\n headerTemplate: TemplateRef<unknown>;\n\n /**\n * Emits an event when the `active` state of the component changes.\n * @event\n */\n @Output()\n activeChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * Emits an event when the component is clicked.\n * @event\n */\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n /** @ignore */\n private _active = false;\n\n /**\n * Gets or sets the component's active state, controlling its behavior and appearance.\n * @param value {boolean}\n */\n @Input()\n public get active(): boolean {\n return this._active;\n }\n public set active(value: boolean) {\n this.setOption({\n name: 'active',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n /** @ignore */\n setReorderEnabled(enabled: boolean, delay = 0, touchAction: 'none' | 'pan-x' | 'pan-y' = 'none'): void {\n this._reorderEnabled = enabled;\n this._panTouchAction = touchAction;\n this._drag.startDelay.set(enabled ? delay : 0);\n this._drag.dragTouchAction.set(touchAction);\n this._drag.dragCursorOverride.set(enabled ? 'grab-on-drag' : 'none');\n this.updateDragState();\n }\n\n /** @ignore */\n private updateDragState(): void {\n this._drag.isDragDisabled.set(!this._reorderEnabled || this.disabled);\n this.applyScrollTouchAction();\n }\n\n /** @ignore */\n private applyScrollTouchAction(): void {\n const handle = this.getHostElement();\n if (this._reorderEnabled) {\n return;\n }\n\n if (this._panTouchAction !== 'none') {\n handle.style.touchAction = this._panTouchAction;\n } else {\n handle.style.removeProperty('touch-action');\n }\n }\n\n /**\n * @ignore\n */\n @HostListener('click', ['$event'])\n __hostClick(e: MouseEvent) {\n if (!this.disabled) {\n this.getHostElement().scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n }\n\n /**\n * @ignore\n */\n protected override internalOptionChanged(option: MXComponentOptionChanged<any>): void {\n //TODO: change to hostbind\n const classListRef = this.getHostElement().classList;\n if (option.name == 'disabled') {\n option.value ? classListRef.add('ax-state-disabled') : classListRef.remove('ax-state-disabled');\n this.updateDragState();\n }\n if (option.name == 'active') {\n option.value ? classListRef.add('ax-state-active') : classListRef.remove('ax-state-active');\n }\n }\n\n /**\n * Gets the component's position and size statistics.\n *\n * @returns object with width, height, left, and top properties\n */\n getStats() {\n return {\n width: this.getHostElement().offsetWidth,\n height: this.getHostElement().offsetHeight,\n left: this.getHostElement().offsetLeft,\n top: this.getHostElement().offsetTop,\n };\n }\n}\n","import { AXEvent } from '@acorex/cdk/common';\nimport { AXTabItemComponent } from './tab-item.component';\n\nexport class AXTabStripChangedEvent extends AXEvent {\n tab: AXTabItemComponent;\n index: number;\n}\n\n/** Event emitted when tab items are reordered via drag and drop. */\nexport class AXTabsReorderedEvent extends AXEvent {\n tab: AXTabItemComponent;\n previousIndex: number;\n currentIndex: number;\n}\n\nexport type AXTabLook = 'default' | 'pills' | 'pills-color' | 'with-line' | 'with-line-color' | 'classic' | 'custom';\n\nexport type AXTabLocation = 'top' | 'bottom' | 'start' | 'end';\n\nexport type AXTabsRenderMode = 'default' | 'all-tabs' | 'on-demand';\n","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXDropListDirective, AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';\nimport { AXHorizontalScrollDirective } from '@acorex/cdk/horizontal-scroll';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n Component,\n ContentChildren,\n DestroyRef,\n effect,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n input,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabLocation, AXTabLook, AXTabsRenderMode, AXTabsReorderedEvent, AXTabStripChangedEvent } from './tabs.class';\n\ninterface TabIndicatorStats {\n width: number;\n height: number;\n left: number;\n top: number;\n}\n\n/**\n * @category\n * A component that serves as a container for tab items.\n */\n@Component({\n selector: 'ax-tabs',\n hostDirectives: [AXDropListDirective, AXHorizontalScrollDirective],\n template: `<ng-content select=\"ax-tab-item\"></ng-content><span class=\"ax-tab-indicator\" #indicator></span>`,\n styleUrl: './tabs.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXTabsComponent }],\n})\nexport class AXTabsComponent extends MXBaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n private readonly renderer = inject(Renderer2);\n private readonly destroyRef = inject(DestroyRef);\n private readonly _dropList = inject(AXDropListDirective, { self: true });\n private readonly _scroll = inject(AXHorizontalScrollDirective, { self: true });\n\n /**\n * @ignore\n */\n @ContentChildren(AXTabItemComponent)\n private _contentTabs!: QueryList<AXTabItemComponent>;\n\n /**\n * Sets the appearance style of the tab component.\n * @defaultValue 'default'\n */\n look = input<AXTabLook>('default');\n\n /**\n * Specifies the position of the tab component.\n * @defaultValue 'bottom'\n */\n location = input<AXTabLocation>('bottom');\n\n /**\n * Enables drag-and-drop reordering of tab items. Reordering starts only after the user\n * presses and holds a tab for {@link reorderDelay} milliseconds; a quick swipe without\n * holding scrolls the strip instead.\n * @defaultValue false\n */\n reorderable = input(false, { transform: booleanAttribute });\n\n /**\n * Press-and-hold duration in milliseconds before a tab can be dragged to reorder.\n * After this delay the cursor changes to grab while the pointer is still held. Moving before\n * the delay ends cancels reorder and allows swipe or pan scrolling instead.\n * @defaultValue 250\n */\n reorderDelay = input(250);\n\n /**\n * Controls how tab content is rendered in the DOM.\n *\n * - `default` — Only the active tab's content is in the DOM. Switching tabs replaces content and does not preserve state.\n * - `all-tabs` — All tab contents are rendered and kept in the DOM. State is preserved; higher memory use.\n * - `on-demand` — Only the active tab is rendered initially. Other tabs are rendered on first visit and then kept; state is preserved.\n *\n * @defaultValue 'default'\n */\n renderMode = input<AXTabsRenderMode>('default');\n\n /**\n * When true, stacks prefix, title, and suffix vertically inside each tab header\n * instead of arranging them in a horizontal row.\n * @defaultValue false\n */\n stacked = input(false, { transform: booleanAttribute });\n\n /**\n * @defaultValue 'false'\n * Specifies whether the component should resize to fit its parent container.\n */\n @Input()\n fitParent = false;\n\n /**\n * @defaultValue 'false'\n * Applies a minimum width constraint to the component.\n */\n @Input()\n minWidth = false;\n\n /**\n * The `AXTabContentDirective` associated with the tab.\n */\n @Input()\n set content(value: AXTabContentDirective) {\n this._content = value;\n if (value && this._selectedItem) {\n this._renderContent(this._selectedItem);\n }\n }\n get content(): AXTabContentDirective {\n return this._content;\n }\n\n private _content!: AXTabContentDirective;\n\n private indicator = viewChild<ElementRef<HTMLSpanElement>>('indicator');\n\n private zone = inject(NgZone);\n private platformId = inject(PLATFORM_ID);\n\n /** @ignore */\n private _isUserInteraction = false;\n\n /** @ignore */\n private _clickSubscriptions = new WeakSet<AXTabItemComponent>();\n\n /** @ignore */\n private _activeSubscriptions = new WeakSet<AXTabItemComponent>();\n\n get items(): AXTabItemComponent[] {\n const tabs = this._contentTabs?.toArray() ?? [];\n if (!isPlatformBrowser(this.platformId) || tabs.length < 2) {\n return tabs;\n }\n return [...tabs].sort((a, b) =>\n a.getHostElement().compareDocumentPosition(b.getHostElement()) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1,\n );\n }\n\n /** @ignore */\n private _selectedItem!: AXTabItemComponent;\n\n /** @ignore */\n get selectedIndex(): number {\n return this.items.indexOf(this._selectedItem);\n }\n\n /** @ignore */\n get selectedItem(): AXTabItemComponent {\n return this._selectedItem;\n }\n\n private changes: ResizeObserver;\n private activeTab = signal<AXTabItemComponent | null>(null);\n private viewReady = signal(false);\n private lastRenderMode: AXTabsRenderMode | null = null;\n\n #reorderableEffect = effect(() => {\n this._dropList.isSortingDisabled.set(!this.reorderable());\n this._syncDragState();\n });\n\n #orientationEffect = effect(() => {\n const loc = this.location();\n const vertical = loc === 'start' || loc === 'end';\n const orientation = vertical ? 'vertical' : 'horizontal';\n this._dropList.orientation.set(orientation);\n this._scroll.scrollOrientation.set(orientation);\n });\n\n #tabChange = effect(() => {\n const look = this.look();\n const location = this.location();\n const activeTab = this.activeTab();\n if (!location || !activeTab || !this.viewReady()) {\n return;\n }\n if (look !== 'with-line-color' && look !== 'with-line') {\n return;\n }\n this.scheduleIndicatorUpdate(activeTab);\n });\n\n #renderModeEffect = effect(() => {\n const mode = this.renderMode();\n const selected = this._selectedItem;\n if (!selected || !this.content) {\n return;\n }\n if (this.lastRenderMode !== null && this.lastRenderMode !== mode) {\n this._renderContent(selected);\n }\n });\n\n /**\n * @event\n */\n @Output()\n onActiveTabChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();\n\n /**\n * Emitted when tab items are reordered via drag and drop after the press-and-hold\n * delay has elapsed and the user drags a tab to a new position.\n * @event\n */\n @Output()\n onTabsReordered: EventEmitter<AXTabsReorderedEvent> = new EventEmitter<AXTabsReorderedEvent>();\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n const cssClasses: string[] = [];\n cssClasses.push(`ax-${this.look()}`);\n cssClasses.push(`ax-${this.location()}`);\n if (this.fitParent) cssClasses.push(`ax-tabs-fit`);\n if (this.reorderable()) cssClasses.push(`ax-tabs-reorderable`);\n if (this.stacked()) cssClasses.push(`ax-tabs-stacked`);\n return cssClasses;\n }\n\n constructor() {\n super();\n\n afterNextRender(() => {\n this.viewReady.set(true);\n this.scheduleIndicatorUpdate(this.activeTab());\n });\n\n const dropSub = this._dropList.dropListDropped.subscribe((event) => {\n if (this.reorderable()) {\n this._applyReorder(event);\n }\n });\n const previewSub = this._dropList.sortPreviewChanged.subscribe(() => {\n this.scheduleIndicatorUpdate(this.activeTab());\n });\n\n this.destroyRef.onDestroy(() => {\n dropSub.unsubscribe();\n previewSub.unsubscribe();\n });\n }\n\n /** @ignore */\n ngAfterContentInit() {\n this._contentTabs.changes.subscribe(() => {\n this._bindOnClickEvent();\n });\n }\n\n /** @ignore */\n ngAfterViewInit() {\n this._bindOnClickEvent();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.changes = new ResizeObserver((entries) => {\n const activeTab = this.activeTab();\n if (entries[0].contentRect.width && activeTab) {\n const indicatorEl = this.indicator()?.nativeElement;\n if (!indicatorEl) {\n return;\n }\n this.renderer.setStyle(indicatorEl, 'transition', 'none');\n this.setIndicatorPosition(activeTab);\n this.renderer.removeStyle(indicatorEl, 'transition');\n }\n });\n this._observeActiveTabForResize(this.activeTab());\n });\n }\n }\n\n ngOnDestroy(): void {\n this.changes?.disconnect();\n }\n\n /** @ignore */\n private _bindOnClickEvent() {\n const selected = this.items.find((c) => c.active) || this.items[0];\n this.select(selected);\n this.items.forEach((c) => {\n if (!this._clickSubscriptions.has(c)) {\n this._clickSubscriptions.add(c);\n c.onClick.subscribe((t) => {\n this._isUserInteraction = t.nativeEvent?.isTrusted;\n this.select(c);\n });\n }\n if (!this._activeSubscriptions.has(c)) {\n this._activeSubscriptions.add(c);\n c.activeChange.subscribe((isActive) => {\n if (!isActive) {\n return;\n }\n if (this._selectedItem !== c) {\n this.select(c);\n return;\n }\n this.activeTab.set(c);\n this.scheduleIndicatorUpdate(c);\n });\n }\n });\n this._syncDragState();\n }\n\n /** @ignore */\n private _syncDragState(): void {\n const reorderEnabled = this.reorderable();\n const vertical = this.location() === 'start' || this.location() === 'end';\n const touchAction = vertical ? 'pan-x' : 'pan-y';\n this.items.forEach((tab) => {\n tab.setReorderEnabled(reorderEnabled, this.reorderDelay(), touchAction);\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n if (reorderEnabled) {\n this.renderer.setStyle(\n tab.getHostElement(),\n 'transition-property',\n 'transform, opacity, translate, background-color, color',\n );\n } else {\n this.renderer.removeStyle(tab.getHostElement(), 'transition-property');\n }\n });\n }\n\n /** @ignore */\n private _applyReorder(event: AXDropListDroppedEvent): void {\n const { previousIndex, currentIndex, item } = event;\n if (previousIndex === currentIndex || previousIndex < 0 || currentIndex < 0) {\n return;\n }\n\n const movedEl = item.element();\n const parent = movedEl.parentElement;\n if (!parent) {\n return;\n }\n\n const tabsBeforeMove = this.items.map((t) => t.getHostElement());\n const tabItem = this.items[previousIndex];\n const indicator = this.indicator()?.nativeElement;\n\n let refNode: Node | null = null;\n if (currentIndex >= tabsBeforeMove.length - 1) {\n refNode = indicator?.parentElement === parent ? indicator : null;\n } else {\n const refIndex = currentIndex > previousIndex ? currentIndex + 1 : currentIndex;\n refNode = tabsBeforeMove[refIndex] ?? (indicator?.parentElement === parent ? indicator : null);\n }\n\n if (refNode) {\n this.renderer.insertBefore(parent, movedEl, refNode);\n } else {\n this.renderer.appendChild(parent, movedEl);\n }\n\n this.zone.run(() => {\n this.onTabsReordered.emit({\n component: this,\n tab: tabItem,\n previousIndex,\n currentIndex,\n });\n });\n\n this.scheduleIndicatorUpdate(this.activeTab());\n setTimeout(() => this.scheduleIndicatorUpdate(this.activeTab()), 200);\n }\n\n /** @ignore */\n private _observeActiveTabForResize(tab: AXTabItemComponent | null): void {\n if (!this.changes || !isPlatformBrowser(this.platformId)) {\n return;\n }\n\n this.changes.disconnect();\n if (tab) {\n this.changes.observe(tab.getHostElement());\n }\n this.changes.observe(this.getHostElement());\n }\n\n /** @ignore */\n private scheduleIndicatorUpdate(tab: AXTabItemComponent | null): void {\n if (!tab || !this.viewReady()) {\n return;\n }\n\n const look = this.look();\n if (look !== 'with-line' && look !== 'with-line-color') {\n return;\n }\n\n queueMicrotask(() => {\n this.setIndicatorPosition(tab);\n });\n }\n\n /**\n * Activates the specified tab and updates the content.\n *\n * @param tab - The tab to select, either by index (number) or by component instance\n */\n select(tab: number | AXTabItemComponent) {\n const tabItem: AXTabItemComponent = typeof tab == 'number' ? this.items[tab] : tab;\n if (!tabItem) {\n return;\n }\n\n const isSameTab = this._selectedItem === tabItem;\n this.activeTab.set(tabItem);\n this._renderContent(tabItem);\n if (isSameTab) {\n return;\n }\n\n this._selectedItem = tabItem;\n this.items.forEach((c) => (c.active = false));\n tabItem.active = true;\n this.cdr.markForCheck();\n this.onActiveTabChanged.emit({\n component: this,\n isUserInteraction: this._isUserInteraction,\n tab: tabItem,\n index: this.selectedIndex,\n });\n this._isUserInteraction = false;\n this._observeActiveTabForResize(tabItem);\n this.scheduleIndicatorUpdate(tabItem);\n }\n\n /** @ignore */\n private _renderContent(tabItem: AXTabItemComponent): void {\n if (!this.content || !tabItem?.template) {\n return;\n }\n\n const mode = this.renderMode();\n const templates = this.items.map((item) => item.template).filter(Boolean);\n\n if (this.lastRenderMode !== null && this.lastRenderMode !== mode) {\n this.content.reset();\n }\n\n this.lastRenderMode = mode;\n\n if (mode === 'default') {\n this.content.activate(tabItem.template, mode);\n return;\n }\n\n this.content.sync(templates);\n\n if (mode === 'all-tabs') {\n this.content.preload(templates);\n }\n\n this.content.activate(tabItem.template, mode);\n }\n\n /** @ignore */\n private getTabIndicatorStats(tabItem: AXTabItemComponent): TabIndicatorStats {\n const tabEl = tabItem.getHostElement();\n const stats = tabItem.getStats();\n\n if (!isPlatformBrowser(this.platformId)) {\n return stats;\n }\n\n const transform = tabEl.style.transform || getComputedStyle(tabEl).transform;\n if (!transform || transform === 'none') {\n return stats;\n }\n\n try {\n const matrix = new DOMMatrixReadOnly(transform);\n return {\n ...stats,\n left: stats.left + matrix.m41,\n top: stats.top + matrix.m42,\n };\n } catch {\n return stats;\n }\n }\n\n private setIndicatorPosition(tabItem: AXTabItemComponent) {\n const indicatorEl = this.indicator()?.nativeElement;\n if (!indicatorEl) {\n return;\n }\n\n const itemStats = this.getTabIndicatorStats(tabItem);\n const indicatorStyle = indicatorEl.style;\n\n if (this.location() === 'top' || this.location() === 'bottom') {\n indicatorStyle.width = `${itemStats.width}px`;\n indicatorStyle.height = `var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.left = `${itemStats.left}px`;\n indicatorStyle.right = `unset`;\n if (this.location() === 'top') {\n indicatorStyle.top = `0px`;\n indicatorStyle.bottom = `unset`;\n }\n if (this.location() === 'bottom') {\n indicatorStyle.top = `unset`;\n indicatorStyle.bottom = `0px`;\n }\n }\n if (this.location() === 'start' || this.location() === 'end') {\n indicatorStyle.width = ` var(--ax-comp-tabs-indicator-size)`;\n indicatorStyle.height = `${itemStats.height}px`;\n indicatorStyle.top = `${itemStats.top}px`;\n indicatorStyle.bottom = `unset`;\n indicatorStyle.left = `unset`;\n indicatorStyle.right = `unset`;\n if (this.location() === 'start') {\n indicatorStyle.insetInlineStart = `0px`;\n indicatorStyle.insetInlineEnd = `unset`;\n }\n if (this.location() === 'end') {\n indicatorStyle.insetInlineStart = `unset`;\n indicatorStyle.insetInlineEnd = `0px`;\n }\n }\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTabContentDirective } from './tab-content.directive';\nimport { AXTabItemComponent } from './tab-item.component';\nimport { AXTabPanelDirective } from './tab-panel.directive';\nimport { AXTabsComponent } from './tabs.component';\n\nconst COMPONENT = [AXTabsComponent, AXTabItemComponent, AXTabContentDirective, AXTabPanelDirective];\nconst MODULES = [CommonModule, PortalModule, AXDecoratorModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-tag-box.mjs","sources":["../../../../packages/components/tag-box/src/lib/tag-box.component.ts","../../../../packages/components/tag-box/src/lib/tag-box.component.html","../../../../packages/components/tag-box/src/lib/tag-box.module.ts","../../../../packages/components/tag-box/src/acorex-components-tag-box.ts"],"sourcesContent":["import {\n AXAutocompleteParentComponent,\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXAutocompleteComponent } from '@acorex/components/autocomplete';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTagComponent } from '@acorex/components/tag';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n HostBinding,\n OnInit,\n TemplateRef,\n ViewEncapsulation,\n contentChild,\n forwardRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { castArray, cloneDeep, get, isNil, isNull, set } from 'lodash-es';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-tag-box',\n templateUrl: 'tag-box.component.html',\n styleUrls: ['tag-box.component.css'],\n inputs: [\n 'disabled',\n 'tabIndex',\n 'readonly',\n 'value',\n 'state',\n 'name',\n 'id',\n 'placeholder',\n 'allowNull',\n 'type',\n 'look',\n ],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXComponent, useExisting: AXTagBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTagBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTagBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTagBoxComponent },\n { provide: MXInputBaseValueComponent, useExisting: AXTagBoxComponent },\n { provide: AXAutocompleteParentComponent, useExisting: AXTagBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTagBoxComponent),\n multi: true,\n },\n AXUnsubscriber,\n ],\n imports: [FormsModule, AXDecoratorGenericComponent, AXDecoratorIconComponent, AXTagComponent, NgTemplateOutlet],\n})\nexport class AXTagBoxComponent\n extends classes(MXInputBaseValueComponent<unknown[]>, MXLookComponent, AXAutocompleteParentComponent<unknown[]>)\n implements OnInit\n{\n unsubscriber = inject(AXUnsubscriber);\n\n protected updateOn = signal<'change' | 'blur' | 'submit'>('change');\n\n addOnComma = input(true);\n addOnEnter = input(true);\n valueField = input('id');\n textField = input('text');\n readonlyField = input('readonly');\n allowDuplicateValues = input(false);\n tagTemplate = input<TemplateRef<unknown>>();\n\n onTagClick = output<AXClickEvent>();\n onTagDblClick = output<AXClickEvent>();\n onTagContextMenu = output<AXClickEvent>();\n\n inputValue = signal<string>('');\n\n private autocompleteComponent = contentChild(AXAutocompleteComponent);\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.onKeyDown.pipe(this.unsubscriber.takeUntilDestroy).subscribe((e) => {\n const input = this.inputValue().trim();\n\n if (e.nativeEvent.key === 'Enter' && this.addOnEnter()) {\n if (!input.length) return;\n this.addItems(this.convertString(input));\n }\n\n if (e.nativeEvent.key === ',' && this.addOnComma()) {\n if (!input.length) return;\n e.nativeEvent.preventDefault();\n\n if (!input || input === ',') {\n this.inputValue.set('');\n this.emitOnTextChanged('', true);\n return;\n }\n\n this.addItems(this.convertString(input));\n }\n\n if (e.nativeEvent.key === 'Backspace') {\n if (this.inputValue().length) return;\n this.removeItem(this.value?.length - 1);\n }\n });\n\n this.onItemSelected.pipe(this.unsubscriber.takeUntilDestroy).subscribe((e) => {\n const incomingItems = this.convertString(e.value);\n const currentValue = this.value ?? [];\n const vf = this.valueField();\n const filtered = incomingItems.filter((item) => !currentValue.some((prev) => get(prev, vf) === get(item, vf)));\n this.addItems(filtered);\n });\n }\n\n /**\n * Adds items to the tag box.\n *\n * @param items - Array of objects to add as tags\n */\n addItems(items: object[]) {\n if (this.disabled || this.readonly) {\n return;\n }\n //\n if (isNil(items) || items.length === 0) {\n return;\n }\n //\n const value = cloneDeep(this.value ?? []);\n // filter out duplicates instead of early return\n let itemsToAdd = items;\n if (!this.allowDuplicateValues()) {\n const vf = this.valueField();\n itemsToAdd = items.filter((item) => !value.some((prev) => get(prev, vf) === get(item, vf)));\n if (itemsToAdd.length === 0) {\n this.inputValue.set('');\n this.emitOnTextChanged('', true);\n return;\n }\n }\n\n this.inputValue.set('');\n this.emitOnTextChanged('', true);\n\n this.commitValue(value.concat(itemsToAdd), true);\n\n // sync autocomplete selection to avoid re-adding removed items\n this.syncAutocompleteSelection();\n }\n\n /**\n * Removes a tag at the specified index.\n *\n * @param index - Index of the tag to remove\n */\n removeItem(index: number) {\n if (this.disabled || this.readonly) {\n return;\n }\n const value = cloneDeep(this.value ?? []);\n value.splice(index, 1);\n this.commitValue(value, true);\n\n // sync autocomplete selection to avoid re-adding removed items\n this.syncAutocompleteSelection();\n }\n\n /**\n * Converts input values to tag objects.\n *\n * @param v - Value to convert (string, object, or array)\n * @returns Array of tag objects\n */\n convertString(v: unknown): object[] {\n const array = castArray(v);\n\n return array\n .map((c) => {\n if (!c) return null;\n if (typeof c === 'object') {\n return c;\n }\n const obj: Record<string, unknown> = {};\n set(obj, this.valueField(), c);\n set(obj, this.textField(), c);\n return obj;\n })\n .filter((c) => !isNull(c));\n }\n\n getFieldValue(item: unknown, path: string): unknown {\n return get(item as Record<string, unknown>, path);\n }\n\n /**\n * Keep autocomplete selected values in sync with current tags\n */\n private syncAutocompleteSelection(): void {\n const ac = this.autocompleteComponent();\n if (!ac) return;\n const vf = ac.valueField || this.valueField();\n const values = (this.value ?? []).map((t) => get(t as Record<string, unknown>, vf)).filter((v) => v != null);\n ac.value = ac.multiple ? values : (values[0] ?? null);\n }\n\n protected override internalSetValue(value: unknown): unknown[] {\n const result = this.convertString(value);\n return result;\n }\n\n @HostBinding('attr.name')\n private get __hostName(): string {\n return this.name;\n }\n}\n","<div\n (click)=\"input.focus()\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n class=\"ax-editor-container ax-default min-w-0 justify-start! {{ look }}\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-tags-container flex w-0 min-w-0 flex-1 flex-wrap content-center items-center gap-1\">\n @for (tag of value; track $index; let i = $index) {\n @if (tagTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"tagTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: tag, index: i }\"\n ></ng-container>\n } @else {\n <ax-tag\n [text]=\"(getFieldValue(tag, textField()) ?? '') + ''\"\n look=\"twotone\"\n (onClick)=\"onTagClick.emit($event)\"\n (onDblClick)=\"onTagDblClick.emit($event)\"\n (onContextMenu)=\"onTagContextMenu.emit($event)\"\n >\n @if (!getFieldValue(tag, readonlyField()) && !disabled && !readonly) {\n <ax-suffix>\n <button (click)=\"removeItem(i)\"><ax-icon class=\"ax-icon ax-icon-close\"></ax-icon></button>\n </ax-suffix>\n }\n </ax-tag>\n }\n }\n <input\n #input\n [name]=\"name\"\n [id]=\"id\"\n class=\"ax-input m-0! h-7.5 min-w-16 w-auto! flex-1 basis-16 ps-2\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"inputValue\"\n (blur)=\"emitOnBlurEvent($event)\"\n [attr.placeholder]=\"placeholder\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n [ngModelOptions]=\"{ updateOn: updateOn() }\"\n (ngModelChange)=\"emitOnTextChanged($event, true)\"\n />\n </div>\n @if (!disabled && !readonly && value?.length) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-autocomplete\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n","import { NgModule } from '@angular/core';\nimport { AXTagBoxComponent } from './tag-box.component';\n\n@NgModule({\n imports: [AXTagBoxComponent],\n exports: [AXTagBoxComponent],\n providers: [],\n})\nexport class AXTagBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-tag-box.mjs","sources":["../../../../packages/components/tag-box/src/lib/tag-box.component.ts","../../../../packages/components/tag-box/src/lib/tag-box.component.html","../../../../packages/components/tag-box/src/lib/tag-box.module.ts","../../../../packages/components/tag-box/src/acorex-components-tag-box.ts"],"sourcesContent":["import {\n AXAutocompleteParentComponent,\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXAutocompleteComponent } from '@acorex/components/autocomplete';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTagComponent } from '@acorex/components/tag';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n HostBinding,\n OnInit,\n TemplateRef,\n ViewEncapsulation,\n contentChild,\n forwardRef,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { castArray, cloneDeep, get, isNil, isNull, set } from 'lodash-es';\nimport { classes } from 'polytype';\n\n@Component({\n selector: 'ax-tag-box',\n templateUrl: 'tag-box.component.html',\n styleUrls: ['tag-box.component.css'],\n inputs: [\n 'disabled',\n 'tabIndex',\n 'readonly',\n 'value',\n 'state',\n 'name',\n 'id',\n 'placeholder',\n 'allowNull',\n 'type',\n 'look',\n ],\n outputs: [\n 'onBlur',\n 'onFocus',\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXComponent, useExisting: AXTagBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTagBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTagBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTagBoxComponent },\n { provide: MXInputBaseValueComponent, useExisting: AXTagBoxComponent },\n { provide: AXAutocompleteParentComponent, useExisting: AXTagBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTagBoxComponent),\n multi: true,\n },\n AXUnsubscriber,\n ],\n imports: [FormsModule, AXDecoratorGenericComponent, AXDecoratorIconComponent, AXTagComponent, NgTemplateOutlet],\n})\nexport class AXTagBoxComponent\n extends classes(MXInputBaseValueComponent<unknown[]>, MXLookComponent, AXAutocompleteParentComponent<unknown[]>)\n implements OnInit\n{\n unsubscriber = inject(AXUnsubscriber);\n\n protected updateOn = signal<'change' | 'blur' | 'submit'>('change');\n\n addOnComma = input(true);\n addOnEnter = input(true);\n valueField = input('id');\n textField = input('text');\n readonlyField = input('readonly');\n allowDuplicateValues = input(false);\n tagTemplate = input<TemplateRef<unknown>>();\n\n onTagClick = output<AXClickEvent>();\n onTagDblClick = output<AXClickEvent>();\n onTagContextMenu = output<AXClickEvent>();\n\n inputValue = signal<string>('');\n\n private autocompleteComponent = contentChild(AXAutocompleteComponent);\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.onKeyDown.pipe(this.unsubscriber.takeUntilDestroy).subscribe((e) => {\n const input = this.inputValue().trim();\n\n if (e.nativeEvent.key === 'Enter' && this.addOnEnter()) {\n if (!input.length) return;\n this.addItems(this.convertString(input));\n }\n\n if (e.nativeEvent.key === ',' && this.addOnComma()) {\n if (!input.length) return;\n e.nativeEvent.preventDefault();\n\n if (!input || input === ',') {\n this.inputValue.set('');\n this.emitOnTextChanged('', true);\n return;\n }\n\n this.addItems(this.convertString(input));\n }\n\n if (e.nativeEvent.key === 'Backspace') {\n if (this.inputValue().length) return;\n this.removeItem(this.value?.length - 1);\n }\n });\n\n this.onItemSelected.pipe(this.unsubscriber.takeUntilDestroy).subscribe((e) => {\n const incomingItems = this.convertString(e.value);\n const currentValue = this.value ?? [];\n const vf = this.valueField();\n const filtered = incomingItems.filter((item) => !currentValue.some((prev) => get(prev, vf) === get(item, vf)));\n this.addItems(filtered);\n });\n }\n\n /**\n * Adds items to the tag box.\n *\n * @param items - Array of objects to add as tags\n */\n addItems(items: object[]) {\n if (this.disabled || this.readonly) {\n return;\n }\n //\n if (isNil(items) || items.length === 0) {\n return;\n }\n //\n const value = cloneDeep(this.value ?? []);\n // filter out duplicates instead of early return\n let itemsToAdd = items;\n if (!this.allowDuplicateValues()) {\n const vf = this.valueField();\n itemsToAdd = items.filter((item) => !value.some((prev) => get(prev, vf) === get(item, vf)));\n if (itemsToAdd.length === 0) {\n this.inputValue.set('');\n this.emitOnTextChanged('', true);\n return;\n }\n }\n\n this.inputValue.set('');\n this.emitOnTextChanged('', true);\n\n this.commitValue(value.concat(itemsToAdd), true);\n\n // sync autocomplete selection to avoid re-adding removed items\n this.syncAutocompleteSelection();\n }\n\n /**\n * Removes a tag at the specified index.\n *\n * @param index - Index of the tag to remove\n */\n removeItem(index: number) {\n if (this.disabled || this.readonly) {\n return;\n }\n const value = cloneDeep(this.value ?? []);\n value.splice(index, 1);\n this.commitValue(value, true);\n\n // sync autocomplete selection to avoid re-adding removed items\n this.syncAutocompleteSelection();\n }\n\n /**\n * Converts input values to tag objects.\n *\n * @param v - Value to convert (string, object, or array)\n * @returns Array of tag objects\n */\n convertString(v: unknown): object[] {\n const array = castArray(v);\n\n return array\n .map((c) => {\n if (!c) return null;\n if (typeof c === 'object') {\n return c;\n }\n const obj: Record<string, unknown> = {};\n set(obj, this.valueField(), c);\n set(obj, this.textField(), c);\n return obj;\n })\n .filter((c) => !isNull(c));\n }\n\n getFieldValue(item: unknown, path: string): unknown {\n return get(item as Record<string, unknown>, path);\n }\n\n /**\n * Keep autocomplete selected values in sync with current tags\n */\n private syncAutocompleteSelection(): void {\n const ac = this.autocompleteComponent();\n if (!ac) return;\n const vf = ac.valueField || this.valueField();\n const values = (this.value ?? []).map((t) => get(t as Record<string, unknown>, vf)).filter((v) => v != null);\n ac.value = ac.multiple ? values : (values[0] ?? null);\n }\n\n protected override internalSetValue(value: unknown): unknown[] {\n const result = this.convertString(value);\n return result;\n }\n\n @HostBinding('attr.name')\n private get __hostName(): string {\n return this.name;\n }\n}\n","<div\n (click)=\"input.focus()\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n class=\"ax-editor-container ax-default min-w-0 justify-start! {{ look }}\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <div class=\"ax-tags-container flex w-0 min-w-0 flex-1 flex-wrap content-center items-center gap-1\">\n @for (tag of value; track $index; let i = $index) {\n @if (tagTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"tagTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: tag, index: i }\"\n ></ng-container>\n } @else {\n <ax-tag\n [text]=\"(getFieldValue(tag, textField()) ?? '') + ''\"\n look=\"twotone\"\n (onClick)=\"onTagClick.emit($event)\"\n (onDblClick)=\"onTagDblClick.emit($event)\"\n (onContextMenu)=\"onTagContextMenu.emit($event)\"\n >\n @if (!getFieldValue(tag, readonlyField()) && !disabled && !readonly) {\n <ax-suffix>\n <button (click)=\"removeItem(i)\"><ax-icon class=\"ax-icon ax-icon-close\"></ax-icon></button>\n </ax-suffix>\n }\n </ax-tag>\n }\n }\n <input\n #input\n [name]=\"name\"\n [id]=\"id\"\n class=\"ax-input m-0! h-7.5 min-w-16 w-auto! flex-1 basis-16 ps-2\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [(ngModel)]=\"inputValue\"\n (blur)=\"emitOnBlurEvent($event)\"\n [attr.placeholder]=\"placeholder\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n [ngModelOptions]=\"{ updateOn: updateOn() }\"\n (ngModelChange)=\"emitOnTextChanged($event, true)\"\n />\n </div>\n @if (!disabled && !readonly && value?.length) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-autocomplete\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n","import { NgModule } from '@angular/core';\nimport { AXTagBoxComponent } from './tag-box.component';\n\n@NgModule({\n imports: [AXTagBoxComponent],\n exports: [AXTagBoxComponent],\n providers: [],\n})\nexport class AXTagBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-tag.mjs","sources":["../../../../packages/components/tag/src/lib/tag.component.ts","../../../../packages/components/tag/src/lib/tag.component.html","../../../../packages/components/tag/src/lib/tag.module.ts","../../../../packages/components/tag/src/acorex-components-tag.ts"],"sourcesContent":["import { AXClickEvent, AXComponent, MXColorLookComponent } from '@acorex/cdk/common';\nimport { Component, HostBinding, HostListener, Input, output, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category\n * A component used for displaying a tag or label with customizable color and appearance.\n */\n@Component({\n selector: 'ax-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.css'],\n inputs: ['color', 'look'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXTagComponent }],\n})\nexport class AXTagComponent extends MXColorLookComponent {\n /**\n * Represents the text content to be displayed or used within the component.\n */\n @Input()\n text: string;\n\n onClick = output<AXClickEvent>();\n onDblClick = output<AXClickEvent>();\n onContextMenu = output<AXClickEvent>();\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string {\n return `${this.color} ${this.look}`;\n }\n\n @HostListener('click', ['$event'])\n hostClickListener(event: MouseEvent) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: event,\n });\n }\n @HostListener('dblclick', ['$event'])\n hostDblClickListener(event: MouseEvent) {\n this.onDblClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: event,\n });\n }\n @HostListener('contextmenu', ['$event'])\n hostContextMenuListener(event: MouseEvent) {\n this.onContextMenu.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: event,\n });\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-tag-text\">{{ text }}</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTagComponent } from './tag.component';\n\n@NgModule({\n imports: [CommonModule, AXTagComponent],\n exports: [AXTagComponent],\n providers: [],\n})\nexport class AXTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-tag.mjs","sources":["../../../../packages/components/tag/src/lib/tag.component.ts","../../../../packages/components/tag/src/lib/tag.component.html","../../../../packages/components/tag/src/lib/tag.module.ts","../../../../packages/components/tag/src/acorex-components-tag.ts"],"sourcesContent":["import { AXClickEvent, AXComponent, MXColorLookComponent } from '@acorex/cdk/common';\nimport { Component, HostBinding, HostListener, Input, output, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category\n * A component used for displaying a tag or label with customizable color and appearance.\n */\n@Component({\n selector: 'ax-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.css'],\n inputs: ['color', 'look'],\n\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXTagComponent }],\n})\nexport class AXTagComponent extends MXColorLookComponent {\n /**\n * Represents the text content to be displayed or used within the component.\n */\n @Input()\n text: string;\n\n onClick = output<AXClickEvent>();\n onDblClick = output<AXClickEvent>();\n onContextMenu = output<AXClickEvent>();\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string {\n return `${this.color} ${this.look}`;\n }\n\n @HostListener('click', ['$event'])\n hostClickListener(event: MouseEvent) {\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: event,\n });\n }\n @HostListener('dblclick', ['$event'])\n hostDblClickListener(event: MouseEvent) {\n this.onDblClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: event,\n });\n }\n @HostListener('contextmenu', ['$event'])\n hostContextMenuListener(event: MouseEvent) {\n this.onContextMenu.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: event,\n });\n }\n}\n","<ng-content select=\"ax-prefix\"></ng-content>\n<div class=\"ax-tag-text\">{{ text }}</div>\n<ng-content select=\"ax-suffix\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTagComponent } from './tag.component';\n\n@NgModule({\n imports: [CommonModule, AXTagComponent],\n exports: [AXTagComponent],\n providers: [],\n})\nexport class AXTagModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}