{"version":3,"file":"synergy-design-system-angular-components-details.mjs","sources":["../../components/details/details.component.ts","../../components/details/synergy-design-system-angular-components-details.ts"],"sourcesContent":["// ---------------------------------------------------------------------\n// 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components\n// Please do not edit this file directly!\n// It will get recreated when running pnpm build.\n// ---------------------------------------------------------------------\nimport {\n  Component,\n  ElementRef,\n  NgZone,\n  Input,\n  Output,\n  EventEmitter,\n  AfterContentInit,\n} from '@angular/core';\nimport type SynDetails from '@synergy-design-system/components/components/details/details.component.js';\nimport type { SynShowEvent } from '@synergy-design-system/components';\nimport type { SynAfterShowEvent } from '@synergy-design-system/components';\nimport type { SynHideEvent } from '@synergy-design-system/components';\nimport type { SynAfterHideEvent } from '@synergy-design-system/components';\nimport '@synergy-design-system/components/components/details/details.js';\n\n/**\n * @summary Details show a brief summary and expand to show additional content.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-details--docs\n * @status stable\n * @since 2.3.0\n *\n * @dependency syn-icon\n *\n * @slot - The details' main content.\n * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.\n * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<syn-icon>`.\n * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.\n *\n * @event syn-show - Emitted when the details opens.\n * @event syn-after-show - Emitted after the details opens and all animations are complete.\n * @event syn-hide - Emitted when the details closes.\n * @event syn-after-hide - Emitted after the details closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header - The header that wraps both the summary and the expand/collapse icon.\n * @csspart summary - The container that wraps the summary.\n * @csspart summary-icon - The container that wraps the expand/collapse icons.\n * @csspart content - The details content.\n * @csspart body - The container that wraps the details content.\n *\n * @animation details.show - The animation to use when showing details. You can use `height: auto` with this animation.\n * @animation details.hide - The animation to use when hiding details. You can use `height: auto` with this animation.\n *\n * @cssproperty --syn-details-open-rotation - The rotation angle of the summary icon when the details is open.\n */\n@Component({\n  selector: 'syn-details',\n  standalone: true,\n  template: '<ng-content></ng-content>',\n})\nexport class SynDetailsComponent implements AfterContentInit {\n  public nativeElement: SynDetails;\n  private _ngZone: NgZone;\n\n  constructor(e: ElementRef, ngZone: NgZone) {\n    this.nativeElement = e.nativeElement;\n    this._ngZone = ngZone;\n    this.nativeElement.addEventListener('syn-show', (e: SynShowEvent) => {\n      this.synShowEvent.emit(e);\n    });\n    this.nativeElement.addEventListener(\n      'syn-after-show',\n      (e: SynAfterShowEvent) => {\n        this.synAfterShowEvent.emit(e);\n      },\n    );\n    this.nativeElement.addEventListener('syn-hide', (e: SynHideEvent) => {\n      this.synHideEvent.emit(e);\n    });\n    this.nativeElement.addEventListener(\n      'syn-after-hide',\n      (e: SynAfterHideEvent) => {\n        this.synAfterHideEvent.emit(e);\n      },\n    );\n  }\n\n  ngAfterContentInit(): void {\n    // This is a workaround for this issue: https://github.com/synergy-design-system/synergy-design-system/issues/784\n    if (this.nativeElement.open) {\n      this.nativeElement.updateComplete.then(() => {\n        const animations = this.nativeElement.details.getAnimations({\n          subtree: true,\n        });\n        animations.forEach(animation => {\n          animation.cancel();\n        });\n      });\n    }\n  }\n\n  /**\n* Indicates whether or not the details is open.\n* You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.\n */\n  @Input()\n  set open(v: '' | SynDetails['open']) {\n    this._ngZone.runOutsideAngular(\n      () => (this.nativeElement.open = v === '' || v),\n    );\n  }\n  get open(): SynDetails['open'] {\n    return this.nativeElement.open;\n  }\n\n  /**\n   * The summary to show in the header.\n   * If you need to display HTML, use the `summary` slot instead.\n   */\n  @Input()\n  set summary(v: SynDetails['summary']) {\n    this._ngZone.runOutsideAngular(() => (this.nativeElement.summary = v));\n  }\n  get summary(): SynDetails['summary'] {\n    return this.nativeElement.summary;\n  }\n\n  /**\n   * Disables the details so it can't be toggled.\n   */\n  @Input()\n  set disabled(v: '' | SynDetails['disabled']) {\n    this._ngZone.runOutsideAngular(\n      () => (this.nativeElement.disabled = v === '' || v),\n    );\n  }\n  get disabled(): SynDetails['disabled'] {\n    return this.nativeElement.disabled;\n  }\n\n  /**\n   * Draws the details as contained element.\n   */\n  @Input()\n  set contained(v: '' | SynDetails['contained']) {\n    this._ngZone.runOutsideAngular(\n      () => (this.nativeElement.contained = v === '' || v),\n    );\n  }\n  get contained(): SynDetails['contained'] {\n    return this.nativeElement.contained;\n  }\n\n  /**\n   * The details's size.\n   */\n  @Input()\n  set size(v: SynDetails['size']) {\n    this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));\n  }\n  get size(): SynDetails['size'] {\n    return this.nativeElement.size;\n  }\n\n  /**\n   * Emitted when the details opens.\n   */\n  @Output() synShowEvent = new EventEmitter<SynShowEvent>();\n\n  /**\n   * Emitted after the details opens and all animations are complete.\n   */\n  @Output() synAfterShowEvent = new EventEmitter<SynAfterShowEvent>();\n\n  /**\n   * Emitted when the details closes.\n   */\n  @Output() synHideEvent = new EventEmitter<SynHideEvent>();\n\n  /**\n   * Emitted after the details closes and all animations are complete.\n   */\n  @Output() synAfterHideEvent = new EventEmitter<SynAfterHideEvent>();\n}\n\nexport type { SynShowEvent } from '@synergy-design-system/components';\nexport type { SynAfterShowEvent } from '@synergy-design-system/components';\nexport type { SynHideEvent } from '@synergy-design-system/components';\nexport type { SynAfterHideEvent } from '@synergy-design-system/components';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './details.component';\n"],"names":[],"mappings":"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"}