{"version":3,"file":"qualcomm-ui-angular-text-area.mjs","sources":["../../src/text-area/qds-text-area-context.service.ts","../../src/text-area/text-area-label.directive.ts","../../src/text-area/text-area-counter.directive.ts","../../src/text-area/text-area-input.directive.ts","../../src/text-area/text-area-hint.directive.ts","../../src/text-area/text-area-error-text.directive.ts","../../src/text-area/text-area-root.directive.ts","../../src/text-area/text-area.component.ts","../../src/text-area/text-area.module.ts","../../src/text-area/qualcomm-ui-angular-text-area.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n  type ApiContext,\n  BaseApiContextService,\n  createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {QdsTextAreaApi} from \"@qualcomm-ui/qds-core/text-area\"\n\n@Injectable()\nexport class QdsTextAreaContextService extends BaseApiContextService<QdsTextAreaApi> {}\n\nexport const [\n  QDS_TEXT_AREA_CONTEXT,\n  useQdsTextAreaContext,\n  provideQdsTextAreaContext,\n]: ApiContext<QdsTextAreaApi> = createApiContext<QdsTextAreaApi>(\n  \"QdsTextAreaContext\",\n  QdsTextAreaContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Component, computed} from \"@angular/core\"\nimport {Asterisk} from \"lucide-angular\"\n\nimport {provideIcons} from \"@qualcomm-ui/angular-core/lucide\"\nimport {CoreTextAreaLabelDirective} from \"@qualcomm-ui/angular-core/text-area\"\n\nimport {useQdsTextAreaContext} from \"./qds-text-area-context.service\"\n\n/**\n * An accessible label that is automatically associated with the input.\n */\n@Component({\n  providers: [provideIcons({Asterisk})],\n  selector: \"[q-text-area-label]\",\n  standalone: false,\n  template: `\n    <ng-content />\n    @if (textAreaContext().required) {\n      <svg\n        qIcon=\"Asterisk\"\n        size=\"xs\"\n        [q-bind]=\"qdsTextAreaContext().getRequiredIndicatorBindings()\"\n      ></svg>\n    }\n  `,\n})\nexport class TextAreaLabelDirective extends CoreTextAreaLabelDirective {\n  protected readonly qdsTextAreaContext = useQdsTextAreaContext()\n\n  constructor() {\n    super()\n    this.trackBindings.extendWith(\n      computed(() => this.qdsTextAreaContext().getLabelBindings()),\n    )\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Component, computed, input} from \"@angular/core\"\n\nimport {CoreTextAreaCounterDirective} from \"@qualcomm-ui/angular-core/text-area\"\n\nimport {useQdsTextAreaContext} from \"./qds-text-area-context.service.js\"\n\nfunction defaultDisplay(count: number, maxLength?: number): string {\n  return maxLength != null ? `${count}/${maxLength}` : `${count}`\n}\n\n/**\n * Character counter displayed opposite the textarea label. Renders a `<div>`\n * element by default.\n */\n@Component({\n  selector: \"[q-text-area-counter]\",\n  standalone: false,\n  template: \"{{ counterText() }}\",\n})\nexport class TextAreaCounterDirective extends CoreTextAreaCounterDirective {\n  /**\n   * Customize how the counter is displayed. Receives the current character\n   * count and optional max length, and returns a string.\n   */\n  readonly display =\n    input<(count: number, maxLength?: number) => string>(defaultDisplay)\n\n  readonly counterText = computed(() => {\n    const {maxLength, value} = this.textAreaContext()\n    return this.display()(value?.length ?? 0, maxLength)\n  })\n\n  protected readonly qdsTextAreaContext = useQdsTextAreaContext()\n\n  constructor() {\n    super()\n    this.trackBindings.extendWith(() =>\n      this.qdsTextAreaContext().getCounterBindings(),\n    )\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive} from \"@angular/core\"\n\nimport {useForbiddenFormControlWarning} from \"@qualcomm-ui/angular-core/forms\"\nimport {CoreTextAreaInputDirective} from \"@qualcomm-ui/angular-core/text-area\"\n\nimport {useQdsTextAreaContext} from \"./qds-text-area-context.service\"\n\n/**\n * The text area element. Note: do not apply form control bindings like `ngModel`\n * or `formControl` to this element. Apply them to the root element instead.\n */\n@Directive({\n  selector: \"[q-text-area-input]\",\n  standalone: false,\n})\nexport class TextAreaInputDirective extends CoreTextAreaInputDirective {\n  protected readonly qdsTextAreaContext = useQdsTextAreaContext()\n\n  constructor() {\n    super()\n    useForbiddenFormControlWarning({\n      directive: \"q-text-area-input\",\n      rootDirective: \"q-text-area\",\n    })\n    this.trackBindings.extendWith(() =>\n      this.qdsTextAreaContext().getInputBindings(),\n    )\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive} from \"@angular/core\"\n\nimport {CoreTextAreaHintDirective} from \"@qualcomm-ui/angular-core/text-area\"\n\nimport {useQdsTextAreaContext} from \"./qds-text-area-context.service.js\"\n\n/**\n * Helper text displayed below the textarea.\n */\n@Directive({\n  selector: \"[q-text-area-hint]\",\n  standalone: false,\n})\nexport class TextAreaHintDirective extends CoreTextAreaHintDirective {\n  protected readonly qdsTextAreaContext = useQdsTextAreaContext()\n\n  constructor() {\n    super()\n    this.trackBindings.extendWith(() =>\n      this.qdsTextAreaContext().getHintBindings(),\n    )\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive} from \"@angular/core\"\n\nimport {CoreTextAreaErrorTextDirective} from \"@qualcomm-ui/angular-core/text-area\"\n\nimport {useQdsTextAreaContext} from \"./qds-text-area-context.service.js\"\n\n/**\n * Error message displayed when the textarea is invalid.\n */\n@Directive({\n  selector: \"[q-text-area-error-text]\",\n  standalone: false,\n})\nexport class TextAreaErrorTextDirective extends CoreTextAreaErrorTextDirective {\n  protected readonly qdsTextAreaContext = useQdsTextAreaContext()\n\n  constructor() {\n    super()\n    this.trackBindings.extendWith(() =>\n      this.qdsTextAreaContext().getErrorTextBindings(),\n    )\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, inject, input, type OnInit} from \"@angular/core\"\n\nimport {\n  normalizeProps,\n  useTrackBindings,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport {\n  CoreTextAreaRootDirective,\n  provideTextAreaContext,\n} from \"@qualcomm-ui/angular-core/text-area\"\nimport {\n  createQdsTextAreaApi,\n  type QdsTextAreaApiProps,\n  type QdsTextAreaSize,\n} from \"@qualcomm-ui/qds-core/text-area\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {\n  provideQdsTextAreaContext,\n  QdsTextAreaContextService,\n} from \"./qds-text-area-context.service\"\n\n/**\n * Groups all parts of the text-area.\n */\n@Directive({\n  providers: [provideTextAreaContext(), provideQdsTextAreaContext()],\n  selector: \"[q-text-area-root]\",\n  standalone: false,\n})\nexport class TextAreaRootDirective\n  extends CoreTextAreaRootDirective\n  implements SignalifyInput<QdsTextAreaApiProps>, OnInit\n{\n  /**\n   * The size of the textarea and its elements. Governs properties like font size,\n   * and item padding.\n   *\n   * @default 'md'\n   */\n  readonly size = input<QdsTextAreaSize>()\n\n  protected readonly qdsTextAreaService = inject(QdsTextAreaContextService)\n\n  protected override readonly trackBindings = useTrackBindings(() =>\n    mergeProps(\n      this.textAreaService.context().getRootBindings(),\n      this.qdsTextAreaService.context().getRootBindings(),\n    ),\n  )\n\n  override ngOnInit() {\n    super.ngOnInit()\n\n    const inputApi = computed(() =>\n      createQdsTextAreaApi({size: this.size()}, normalizeProps),\n    )\n\n    this.qdsTextAreaService.init(inputApi)\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Component, input} from \"@angular/core\"\n\nimport {provideTextAreaContext} from \"@qualcomm-ui/angular-core/text-area\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\nimport {provideQdsTextAreaContext} from \"./qds-text-area-context.service\"\nimport {TextAreaRootDirective} from \"./text-area-root.directive\"\n\n@Component({\n  providers: [provideTextAreaContext(), provideQdsTextAreaContext()],\n  selector: \"q-text-area:not([q-text-area-root])\",\n  standalone: false,\n  template: `\n    <ng-content select=\"[q-text-area-label]\">\n      @if (label()) {\n        <label q-text-area-label>{{ label() }}</label>\n      }\n    </ng-content>\n\n    <ng-content select=\"[q-text-area-counter]\">\n      @if (counter() ?? maxLength() !== undefined) {\n        <div q-text-area-counter></div>\n      }\n    </ng-content>\n\n    <textarea\n      q-text-area-input\n      [maxLength]=\"maxLength()\"\n      [placeholder]=\"placeholder()\"\n    ></textarea>\n\n    <ng-content select=\"[q-text-area-hint]\">\n      @if (hint()) {\n        <span q-text-area-hint>\n          {{ hint() }}\n        </span>\n      }\n    </ng-content>\n\n    <ng-content select=\"[q-text-area-error-text]\">\n      @if (errorText()) {\n        <div q-text-area-error-text>\n          {{ errorText() }}\n        </div>\n      }\n    </ng-content>\n  `,\n})\nexport class TextAreaComponent extends TextAreaRootDirective {\n  /**\n   * Controls whether to display the counter element.\n   *\n   * - `true`: always show the counter\n   * - `false`: never show the counter\n   * - `undefined` (default): only show the counter if `maxLength` is set\n   */\n  readonly counter = input<boolean | undefined, Booleanish>(undefined, {\n    transform: (value) =>\n      value === undefined\n        ? undefined\n        : typeof value === \"boolean\"\n          ? value\n          : value !== \"false\",\n  })\n\n  /**\n   * Optional error that describes the element when {@link invalid} is true.\n   *\n   * @remarks\n   * To customize the element, provide it using the directive instead:\n   *\n   * ```angular-html\n   * <div q-text-area-error-text>...</div>\n   * ```\n   */\n  readonly errorText = input<string | undefined | null>()\n\n  /**\n   * Optional hint describing the element. This element is automatically\n   * associated with the component's input element for accessibility.\n   *\n   * @remarks\n   * To customize the element, provide it using the directive instead:\n   *\n   * ```angular-html\n   * <div q-text-area-hint>...</div>\n   * ```\n   */\n  readonly hint = input<string | undefined | null>()\n\n  /**\n   * Optional label describing the element. Recommended. This element is\n   * automatically associated with the component's input element for\n   * accessibility.\n   *\n   * @remarks\n   * To customize the element, provide it using the directive instead:\n   *\n   * ```angular-html\n   * <label q-text-area-label>...</label>\n   * ```\n   */\n  readonly label = input<string | undefined>()\n\n  /**\n   * HTML {@link https://www.w3schools.com/tags/att_input_placeholder.asp placeholder} attribute,\n   * passed to the internal input element.\n   */\n  readonly placeholder = input<string>(\"\")\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {NgModule} from \"@angular/core\"\n\nimport {IconDirective} from \"@qualcomm-ui/angular/icon\"\nimport {QBindDirective} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {TextAreaCounterDirective} from \"./text-area-counter.directive\"\nimport {TextAreaErrorTextDirective} from \"./text-area-error-text.directive\"\nimport {TextAreaHintDirective} from \"./text-area-hint.directive\"\nimport {TextAreaInputDirective} from \"./text-area-input.directive\"\nimport {TextAreaLabelDirective} from \"./text-area-label.directive\"\nimport {TextAreaRootDirective} from \"./text-area-root.directive\"\nimport {TextAreaComponent} from \"./text-area.component\"\n\n@NgModule({\n  declarations: [\n    TextAreaLabelDirective,\n    TextAreaRootDirective,\n    TextAreaInputDirective,\n    TextAreaCounterDirective,\n    TextAreaHintDirective,\n    TextAreaErrorTextDirective,\n    TextAreaComponent,\n  ],\n  exports: [\n    TextAreaLabelDirective,\n    TextAreaRootDirective,\n    TextAreaInputDirective,\n    TextAreaCounterDirective,\n    TextAreaHintDirective,\n    TextAreaErrorTextDirective,\n    TextAreaComponent,\n  ],\n  imports: [QBindDirective, IconDirective],\n})\nexport class TextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TextAreaLabelDirective","i2.TextAreaInputDirective","i3.TextAreaCounterDirective","i4.TextAreaHintDirective","i5.TextAreaErrorTextDirective"],"mappings":"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"}