{"version":3,"file":"ngwr-burger.mjs","sources":["../../../projects/lib/burger/burger.ts","../../../projects/lib/burger/burger.html","../../../projects/lib/burger/ngwr-burger.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, ViewEncapsulation, computed, input, model } from '@angular/core';\n\n/**\n * Animated menu toggle — three SVG strokes morph between a hamburger and a\n * close mark on `open`. Two-way bindable, so it pairs naturally with a\n * `<wr-drawer>` or any disclosure.\n *\n * The morph is pure CSS (`stroke-dasharray` / `stroke-dashoffset` tweens),\n * so it stays smooth without JS and collapses to its end state under\n * `prefers-reduced-motion`.\n *\n * @example Toggle a drawer\n * ```html\n * <wr-burger [(open)]=\"menuOpen\" />\n * <wr-drawer [(open)]=\"menuOpen\" position=\"right\">…</wr-drawer>\n * ```\n *\n * @see https://ngwr.dev/components/burger\n */\n@Component({\n  selector: 'wr-burger',\n  templateUrl: './burger.html',\n  encapsulation: ViewEncapsulation.None,\n  host: { '[class]': 'classes()' },\n})\nexport class WrBurger {\n  /** Two-way bindable open state. Drives the hamburger ↔ close morph. @default false */\n  readonly open = model(false);\n\n  /** Accessible label for the toggle button. @default 'Toggle menu' */\n  readonly label = input('Toggle menu');\n\n  /** Disable the toggle. @default false */\n  readonly disabled = input(false, { transform: coerceBooleanProperty });\n\n  protected readonly classes = computed(() => ({\n    'wr-burger': true,\n    'wr-burger--opened': this.open(),\n  }));\n\n  protected toggle(): void {\n    if (this.disabled()) return;\n    this.open.set(!this.open());\n  }\n}\n","<button\n  type=\"button\"\n  class=\"wr-burger__btn\"\n  [attr.aria-expanded]=\"open()\"\n  [attr.aria-label]=\"label()\"\n  [disabled]=\"disabled()\"\n  (click)=\"toggle()\"\n>\n  <svg class=\"wr-burger__icon\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n    <path\n      class=\"wr-burger__line wr-burger__line--1\"\n      d=\"M 20,29 H 80 C 80,29 94.5,28.8 94.5,66.7 94.5,78 91,81.7 85.3,81.7 79.6,81.7 75,75 75,75 L 25,25\"\n    />\n    <path class=\"wr-burger__line wr-burger__line--2\" d=\"M 20,50 H 80\" />\n    <path\n      class=\"wr-burger__line wr-burger__line--3\"\n      d=\"M 20,71 H 80 C 80,71 94.5,71.2 94.5,33.3 94.5,22 91,18.3 85.3,18.3 79.6,18.3 75,25 75,25 L 25,75\"\n    />\n  </svg>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAA;;;;;AAKG;AAKH;;;;;;;;;;;;;;;;AAgBG;MAOU,QAAQ,CAAA;;IAEV,IAAI,GAAG,KAAK,CAAC,KAAK;6EAAC;;IAGnB,KAAK,GAAG,KAAK,CAAC,aAAa;8EAAC;;IAG5B,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,qBAAqB,EAAA,CAAG;AAEnD,IAAA,OAAO,GAAG,QAAQ,CAAC,OAAO;AAC3C,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,mBAAmB,EAAE,IAAI,CAAC,IAAI,EAAE;KACjC,CAAC;gFAAC;IAEO,MAAM,GAAA;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B;uGAlBW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,ghBCjCrB,wvBAoBA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDaa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBANpB,SAAS;+BACE,WAAW,EAAA,aAAA,EAEN,iBAAiB,CAAC,IAAI,QAC/B,EAAE,SAAS,EAAE,WAAW,EAAE,EAAA,QAAA,EAAA,wvBAAA,EAAA;;;AE/BlC;;AAEG;;;;"}