{"version":3,"file":"ng-doc-ui-kit-components-expander.mjs","sources":["../../../../libs/ui-kit/components/expander/expander.component.ts","../../../../libs/ui-kit/components/expander/expander.component.html","../../../../libs/ui-kit/components/expander/ng-doc-ui-kit-components-expander.ts"],"sourcesContent":["import { AnimationCallbackEvent, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\nimport { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';\n\n/** Component helps to expand or collapse content */\n@Component({\n  selector: 'ng-doc-expander',\n  templateUrl: './expander.component.html',\n  styleUrls: ['./expander.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [PolymorpheusModule],\n})\nexport class NgDocExpanderComponent {\n  /** Change expand state */\n  @Input()\n  expanded: boolean = false;\n\n  /** Expander content */\n  @Input({ required: true })\n  content!: NgDocContent;\n\n  @Input()\n  collapseMod: 'remove' | 'hide' = 'remove';\n\n  toggle(): void {\n    this.expanded = !this.expanded;\n  }\n\n  protected enter(container: HTMLElement, event: AnimationCallbackEvent): void {\n    setTimeout(() => {\n      container\n        .animate(\n          [\n            { opacity: '0', maxHeight: 0 },\n            { opacity: '1', maxHeight: container.scrollHeight + 'px' },\n          ],\n          {\n            duration: 225,\n            easing: 'cubic-bezier(0.4,0.0,0.2,1)',\n            fill: 'forwards',\n          },\n        )\n        .finished.then(() => event.animationComplete());\n    });\n  }\n\n  protected leave(container: HTMLElement, event: AnimationCallbackEvent): void {\n    container\n      .animate(\n        [\n          { opacity: '1', maxHeight: container.offsetHeight + 'px' },\n          { opacity: '0', maxHeight: 0 },\n        ],\n        {\n          duration: 225,\n          easing: 'cubic-bezier(0.4,0.0,0.2,1)',\n          fill: 'forwards',\n        },\n      )\n      .finished.then(() => event.animationComplete());\n  }\n}\n","@if (collapseMod === 'hide') {\n  <div\n    class=\"ng-doc-expander-container\"\n    [attr.inert]=\"expanded ? null : ''\"\n    [class.expanded]=\"expanded\">\n    <div class=\"ng-doc-expander-content\">\n      <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n    </div>\n  </div>\n} @else {\n  @if (expanded) {\n    <div\n      [attr.inert]=\"expanded ? null : ''\"\n      (animate.enter)=\"enter(container, $event)\"\n      (animate.leave)=\"leave(container, $event)\"\n      #container>\n      <div>\n        <ng-container *polymorpheusOutlet=\"content as text\">{{ text }}</ng-container>\n      </div>\n    </div>\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;MAQa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;;QAUE,IAAA,CAAA,QAAQ,GAAY,KAAK;QAOzB,IAAA,CAAA,WAAW,GAAsB,QAAQ;AAuC1C,IAAA;IArCC,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;IAChC;IAEU,KAAK,CAAC,SAAsB,EAAE,KAA6B,EAAA;QACnE,UAAU,CAAC,MAAK;YACd;AACG,iBAAA,OAAO,CACN;AACE,gBAAA,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE;gBAC9B,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,EAAE;aAC3D,EACD;AACE,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,MAAM,EAAE,6BAA6B;AACrC,gBAAA,IAAI,EAAE,UAAU;aACjB;iBAEF,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACnD,QAAA,CAAC,CAAC;IACJ;IAEU,KAAK,CAAC,SAAsB,EAAE,KAA6B,EAAA;QACnE;AACG,aAAA,OAAO,CACN;YACE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,EAAE;AAC1D,YAAA,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE;SAC/B,EACD;AACE,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,MAAM,EAAE,6BAA6B;AACrC,YAAA,IAAI,EAAE,UAAU;SACjB;aAEF,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACnD;8GAhDW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZnC,qpBAsBA,EAAA,MAAA,EAAA,CAAA,6eAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDZY,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,mBAGV,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,qpBAAA,EAAA,MAAA,EAAA,CAAA,6eAAA,CAAA,EAAA;;sBAI5B;;sBAIA,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAGxB;;;AErBH;;AAEG;;;;"}