{"version":3,"file":"edsis-component-progress.mjs","sources":["../../../library/component/progress/progress.component.ts","../../../library/component/progress/edsis-component-progress.ts"],"sourcesContent":["import { Component, computed, input } from '@angular/core';\nimport { cn } from '@edsis/component/class';\n\n@Component({\n  selector: 'ProgressBar',\n  host: {\n    '[class]': 'classes()',\n    '[attr.role]': '\"progressbar\"',\n    '[attr.aria-valuemin]': '0',\n    '[attr.aria-valuemax]': 'max()',\n    '[attr.aria-valuenow]': 'indeterminate() ? null : clamped()',\n    '[attr.aria-label]': 'ariaLabel()',\n    '[attr.aria-labelledby]': 'ariaLabelledby()',\n    '[attr.data-state]': 'indeterminate() ? \"indeterminate\" : \"determinate\"',\n  },\n  template: `\n    <div\n      class=\"progress-indicator h-full w-full flex-1 bg-primary transition-transform\"\n      [style.transform]=\"indicatorTransform()\"\n    ></div>\n  `,\n  styles: [\n    `\n      :host {\n        display: block;\n      }\n      :host[data-state='indeterminate'] .progress-indicator {\n        animation: progress-indeterminate 1.5s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n      }\n      @keyframes progress-indeterminate {\n        0% {\n          transform: translateX(-100%);\n        }\n        100% {\n          transform: translateX(100%);\n        }\n      }\n      @media (prefers-reduced-motion: reduce) {\n        :host[data-state='indeterminate'] .progress-indicator {\n          animation: none;\n        }\n      }\n    `,\n  ],\n})\nexport class ProgressComponent {\n  readonly value = input<number | null>(0);\n  readonly max = input<number>(100);\n  readonly indeterminate = input<boolean>(false);\n  readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n  readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n  readonly class = input<string>('');\n\n  protected readonly clamped = computed(() => {\n    const v = this.value() ?? 0;\n    return Math.max(0, Math.min(this.max(), v));\n  });\n\n  protected readonly indicatorTransform = computed(() => {\n    if (this.indeterminate()) return 'translateX(-100%)';\n    const pct = (this.clamped() / this.max()) * 100;\n    return `translateX(-${100 - pct}%)`;\n  });\n\n  protected readonly classes = computed(() =>\n    cn('relative h-2 w-full overflow-hidden rounded-full bg-secondary', this.class()),\n  );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MA6Ca,iBAAiB,CAAA;IACnB,KAAK,GAAG,KAAK,CAAgB,CAAC;8EAAC;IAC/B,GAAG,GAAG,KAAK,CAAS,GAAG;4EAAC;IACxB,aAAa,GAAG,KAAK,CAAU,KAAK;sFAAC;IACrC,SAAS,GAAG,KAAK,CAAgB,IAAI,iFAAI,KAAK,EAAE,YAAY,EAAA,CAAG;IAC/D,cAAc,GAAG,KAAK,CAAgB,IAAI,sFAAI,KAAK,EAAE,iBAAiB,EAAA,CAAG;IACzE,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;AAEf,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;QACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;gFAAC;AAEiB,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE;AAAE,YAAA,OAAO,mBAAmB;AACpD,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG;AAC/C,QAAA,OAAO,CAAA,YAAA,EAAe,GAAG,GAAG,GAAG,IAAI;IACrC,CAAC;2FAAC;AAEiB,IAAA,OAAO,GAAG,QAAQ,CAAC,MACpC,EAAE,CAAC,+DAA+D,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gFAClF;uGArBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,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,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,GAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,oCAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,uDAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA9BlB;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,oWAAA,CAAA,EAAA,CAAA;;2FAyBU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA1C7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,IAAA,EACjB;AACJ,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,aAAa,EAAE,eAAe;AAC9B,wBAAA,sBAAsB,EAAE,GAAG;AAC3B,wBAAA,sBAAsB,EAAE,OAAO;AAC/B,wBAAA,sBAAsB,EAAE,oCAAoC;AAC5D,wBAAA,mBAAmB,EAAE,aAAa;AAClC,wBAAA,wBAAwB,EAAE,kBAAkB;AAC5C,wBAAA,mBAAmB,EAAE,mDAAmD;qBACzE,EAAA,QAAA,EACS;;;;;AAKT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,oWAAA,CAAA,EAAA;;;ACpBH;;AAEG;;;;"}