{"version":3,"file":"acorex-components-kbd.mjs","sources":["../../../../packages/components/kbd/src/lib/kbd-item/kbd-item.component.ts","../../../../packages/components/kbd/src/lib/kbd-item/kbd-item.component.html","../../../../packages/components/kbd/src/lib/kbd.component.ts","../../../../packages/components/kbd/src/lib/kbd.component.html","../../../../packages/components/kbd/src/acorex-components-kbd.ts"],"sourcesContent":["import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { Component, computed, input, model, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'ax-kbd-item',\n  templateUrl: './kbd-item.component.html',\n  encapsulation: ViewEncapsulation.None,\n\n  providers: [{ provide: AXComponent, useExisting: AXKBDItemComponent }],\n})\nexport class AXKBDItemComponent extends NXComponent {\n  keys = input<string[] | string>();\n\n  modifierKeys = signal(['ctrl', 'shift', 'alt', 'meta', 'esc', 'del', 'delete', 'win']);\n\n  join = input<'split' | 'joined'>('joined');\n\n  look = model<'fill' | 'solid' | 'blank'>('solid');\n\n  lookClass = computed(() => `ax-${this.look()} ax-default`);\n\n  /**\n   * Capitalizes the first letter of the provided text.\n   *\n   * @param text Input text to transform\n   * @returns The text with its first character uppercased\n   */\n  protected capitalizeFirstLetter(text: string) {\n    return text.charAt(0).toUpperCase() + text.slice(1);\n  }\n}\n","@let localKeys = keys();\n\n@if (typeof localKeys === 'string') {\n  <kbd [class]=\"lookClass()\">\n    @if (modifierKeys().includes(localKeys.toLocaleLowerCase())) {\n      <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(localKeys) }}</span>\n    } @else {\n      <span class=\"ax-kbd-text\"> {{ localKeys.toLocaleUpperCase() }}</span>\n    }\n  </kbd>\n} @else {\n  @if (join() === 'split') {\n    @for (key of localKeys; track $index) {\n      <kbd [class]=\"lookClass()\">\n        @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n          <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(key) }}</span>\n        } @else {\n          <span class=\"ax-kbd-text\"> {{ key.toLocaleUpperCase() }}</span>\n        }\n      </kbd>\n      @if (!$last) {\n        <span class=\"ax-kbd-separator\">+</span>\n      }\n    }\n  } @else {\n    <kbd [class]=\"lookClass()\">\n      <div class=\"ax-kbd-inner-text\">\n        @for (key of localKeys; track $index) {\n          @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n            <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(key) }}</span>\n          } @else {\n            <span class=\"ax-kbd-text\"> {{ key.toLocaleUpperCase() }}</span>\n          }\n          @if (!$last) {\n            <span class=\"ax-kbd-separator\">+</span>\n          }\n        }\n      </div>\n    </kbd>\n  }\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { Component, contentChildren, effect, input, ViewEncapsulation } from '@angular/core';\nimport { AXKBDItemComponent } from './kbd-item/kbd-item.component';\n\n@Component({\n  selector: 'ax-kbd',\n  templateUrl: './kbd.component.html',\n  styleUrls: ['./kbd.component.css'],\n  encapsulation: ViewEncapsulation.None,\n\n  providers: [{ provide: AXComponent, useExisting: AXKBDComponent }],\n})\nexport class AXKBDComponent extends NXComponent {\n  private kbdItem = contentChildren(AXKBDItemComponent, { descendants: true });\n\n  look = input<'fill' | 'solid' | 'blank'>(null);\n\n  #eff = effect(() => {\n    if (!this.look()) return;\n    this.kbdItem().forEach((kbd) => {\n      kbd.look.set(this.look());\n    });\n  });\n}\n","<ng-content select=\"ax-kbd-item\"></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}