{"version":3,"file":"tailwind-ng.mjs","sources":["../../../packages/ui/src/elements/avatar/avatar.component.ts","../../../packages/ui/src/elements/avatar/avatar.component.config.ts","../../../packages/ui/src/elements/badge/badge.component.ts","../../../packages/ui/src/elements/badge/badge.component.config.ts","../../../packages/ui/src/elements/button/button.component.ts","../../../packages/ui/src/elements/button/button.component.config.ts","../../../packages/ui/src/elements/button-group/button-group.component.ts","../../../packages/ui/src/elements/button-group/button-group.component.config.ts","../../../packages/ui/src/elements/dropdown/dropdown.component.ts","../../../packages/ui/src/elements/dropdown/dropdown.component.config.ts","../../../packages/ui/src/elements/icon/icon.directive.ts","../../../packages/ui/src/elements/icon/icon.directive.config.ts","../../../packages/ui/src/forms/checkbox/checkbox.component.config.ts","../../../packages/ui/src/forms/checkbox/checkbox.component.ts","../../../packages/ui/src/forms/combobox/combobox.component.ts","../../../packages/ui/src/forms/combobox/combobox-item/combobox-item.component.ts","../../../packages/ui/src/forms/combobox/combobox-item/combobox-item.component.config.ts","../../../packages/ui/src/forms/combobox/combobox.module.ts","../../../packages/ui/src/forms/input-text/input-text.directive.ts","../../../packages/ui/src/forms/input-text/input-text.directive.config.ts","../../../packages/ui/src/forms/input-radio/input-radio.directive.ts","../../../packages/ui/src/forms/input-radio/input-radio.directive.config.ts","../../../packages/ui/src/forms/toggle/toggle.component.ts","../../../packages/ui/src/forms/toggle/toggle.component.config.ts","../../../packages/ui/src/layout/container.ts","../../../packages/ui/src/overlays/dialog/dialog-container.directive.ts","../../../packages/ui/src/overlays/dialog/dialog.component.ts","../../../packages/ui/src/overlays/dialog/dialog.component.config.ts","../../../packages/ui/src/overlays/dialog/dialog.module.ts","../../../packages/ui/src/public-api.ts","../../../packages/ui/src/tailwind-ng.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core'\nimport { Avatar, AVATAR_CONFIG, AvatarBase, classNameMerge, SizeOption } from '@tailwind-ng/core'\n\n/**\n * @TailwindNG Avatar Component\n */\n@Component({\n  selector: 'tw-avatar, [tw-avatar], [twAvatar]',\n  exportAs: 'twAvatar',\n  template: '<ng-content />',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: AvatarBase, useExisting: AvatarComponent }],\n})\nexport class AvatarComponent extends AvatarBase implements Avatar {\n  @Input() size: SizeOption = 'md'\n\n  protected override buildStyle(): void {\n    const { [this.size]: size, className } = inject(AVATAR_CONFIG)\n    this.nativeElement.className = classNameMerge(`${size} ${className}`, this.class)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { AVATAR_CONFIG, AvatarConfig, mergeConfig } from '@tailwind-ng/core'\n\nconst DefaultConfig = (): AvatarConfig => {\n  const className = 'flex items-center justify-center relative rounded-full'\n  return {\n    className,\n    xs: 'size-6',\n    sm: 'size-9',\n    md: 'size-11',\n    lg: 'size-14',\n    xl: 'size-16',\n  }\n}\n\n/**\n * Avatar config provider\n * @param config The custom config\n * @returns The configured provider\n */\nexport function provideAvatar(customization?: Partial<AvatarConfig>): Provider {\n  return {\n    provide: AVATAR_CONFIG,\n    useValue: !customization ? DefaultConfig() : mergeConfig([DefaultConfig(), customization]),\n  }\n}\n\nexport function withAvatar(customization?: Partial<AvatarConfig>): Provider {\n  return provideAvatar(customization)\n}\n","import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core'\nimport { Badge, BADGE_CONFIG, BadgeBase, classNameMerge, SizeOption } from '@tailwind-ng/core'\n\n@Component({\n  selector: 'tw-badge, [tw-badge], [twBadge]',\n  exportAs: 'twBadge',\n  template: '<ng-content />',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: BadgeBase, useExisting: BadgeComponent }],\n})\nexport class BadgeComponent extends BadgeBase implements Badge {\n  @Input() size: SizeOption = 'md'\n\n  protected override buildStyle(): void {\n    const { [this.size]: size, className } = inject(BADGE_CONFIG)\n    this.nativeElement.className = classNameMerge(`${size} ${className}`, this.class)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { BADGE_CONFIG, BadgeConfig, mergeConfig } from '@tailwind-ng/core'\n\nconst DefaultConfig = (): BadgeConfig => {\n  const className = 'inline-flex gap-1 items-center justify-center text-xs font-medium'\n  return {\n    className,\n    xs: 'px-1.5 py-0.5',\n    sm: 'px-1.5 py-1',\n    md: 'px-2 py-1.5',\n    lg: 'px-2.5 py-2',\n    xl: 'px-3 py-2.5',\n  }\n}\n\n/**\n * Badge component config provider\n * @param config The custom config\n * @returns The configured provider\n */\nexport function provideBadge(customization?: Partial<BadgeConfig>): Provider {\n  return {\n    provide: BADGE_CONFIG,\n    useValue: !customization ? DefaultConfig() : mergeConfig([DefaultConfig(), customization]),\n  }\n}\n\nexport function withBadge(customization?: Partial<BadgeConfig>): Provider {\n  return provideBadge(customization)\n}\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core'\nimport { BUTTON_CONFIG, ButtonBase, classNameMerge } from '@tailwind-ng/core'\n\n/**\n * @TailwindNG Button component\n */\n@Component({\n  selector: 'tw-button, [tw-button], [twButton]',\n  exportAs: 'twButton',\n  template: '<ng-content />',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: ButtonBase, useExisting: ButtonComponent }],\n})\nexport class ButtonComponent extends ButtonBase {\n  protected override buildStyle(): void {\n    const { fab, base, [this.size]: size, [this.variant]: variant } = inject(BUTTON_CONFIG)\n    this.nativeElement.className = classNameMerge(`${size} ${variant}`, base, this.class)\n    if (this.isFab) {\n      this.nativeElement.classList.add(fab ?? '')\n    }\n  }\n}\n","import { Provider } from '@angular/core'\nimport { BUTTON_CONFIG, ButtonConfig, mergeConfig } from '@tailwind-ng/core'\n\nexport const BASE = () => {\n  const className =\n    'border-0 inline-flex items-center justify-center shadow-xs select-none cursor-pointer w-fit leading-none transition-colors duration-100 disabled:opacity-50 disabled:cursor-not-allowed rounded-md font-semibold'\n  return className\n}\nexport const PRIMARY = () => {\n  const className =\n    'text-white bg-blue-600 hover:bg-blue-600/90 outline-0 outline-blue-600 outline-offset-2 focus:outline-1 active:bg-blue-700/90'\n  return className\n}\nconst SECONDARY = () => {\n  const className =\n    'ring-inset ring-1 ring-gray-300 bg-inherit text-gray-800 backdrop-blur-xs dark:bg-inherit dark:text-gray-200 dark:ring-gray-700/90 hover:bg-gray-300/30 hover:dark:bg-gray-700/30 outline-0 outline-gray-500/80 focus:ring-0 focus:outline-1 active:bg-gray-300/60 active:dark:bg-gray-700/60'\n  return className\n}\nconst TONAL = () => {\n  const className =\n    'text-blue-500 bg-blue-600/10 hover:bg-blue-600/15 backdrop-blur-xs active:bg-blue-600/25 outline-0 outline-blue-500/80 focus:outline-1'\n  return className\n}\nconst TEXT = () => {\n  const className =\n    'shadow-none text-gray-700 dark:text-gray-300 hover:text-gray-900 hover:dark:text-gray-100 active:outline-0 focus:border-dotted focus:outline-1 focus:outline-gray-500/80'\n  return className\n}\nconst FAB = () => {\n  const className = 'shadow-lg'\n  return className\n}\nconst XS = () => {\n  const className = 'px-2 py-1.5 gap-1 text-xs text-nowrap'\n  return className\n}\nconst SM = () => {\n  const className = 'px-3 py-2 gap-1.5 text-xs text-nowrap'\n  return className\n}\nconst MD = () => {\n  const className = 'px-4 py-2.5 gap-2 text-sm text-nowrap'\n  return className\n}\nconst LG = () => {\n  const className = 'px-5 py-3 gap-2.5 text-sm text-nowrap'\n  return className\n}\nconst XL = () => {\n  const className = 'px-6 py-3.5 gap-3 text-base text-nowrap'\n  return className\n}\nconst DefaultConfig = (): ButtonConfig => {\n  return {\n    base: BASE(),\n    primary: PRIMARY(),\n    secondary: SECONDARY(),\n    tonal: TONAL(),\n    text: TEXT(),\n    fab: FAB(),\n    xs: XS(),\n    sm: SM(),\n    md: MD(),\n    lg: LG(),\n    xl: XL(),\n  }\n}\n\nexport const GetButtonConfig = () => DefaultConfig()\n\n/**\n * Button config provider\n * @param customization The custom config\n * @returns The configured provider\n */\nexport function provideButton(customization?: Partial<ButtonConfig>): Provider {\n  return {\n    provide: BUTTON_CONFIG,\n    useValue: !customization ? DefaultConfig() : mergeConfig([DefaultConfig(), customization]),\n  }\n}\nexport function withButton(customization?: Partial<ButtonConfig>): Provider {\n  return provideButton(customization)\n}\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core'\nimport { BUTTON_GROUP_CONFIG, ButtonGroupBase, classNameMerge } from '@tailwind-ng/core'\n\n@Component({\n  selector: 'tw-button-group, [tw-button-group], [twButtonGroup], tw-group, [tw-group], [twGroup]',\n  exportAs: 'twButtonGroup',\n  template: '<ng-content />',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: ButtonGroupBase,\n      useExisting: ButtonGroupComponent,\n    },\n  ],\n})\nexport class ButtonGroupComponent extends ButtonGroupBase {\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge(inject(BUTTON_GROUP_CONFIG), this.class)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { BUTTON_GROUP_CONFIG, classNameMerge } from '@tailwind-ng/core'\n\nconst DefaultConfig = () => {\n  const className =\n    '*:backdrop-blur-none *:focus:outline-0 *:ring-0 *:rounded-none *:text-sm backdrop-blur-xs dark:divide-gray-700 dark:ring-gray-700 divide-gray-300 divide-x inline-flex isolate overflow-hidden ring-1 ring-gray-300 rounded-md shadow-sm w-fit'\n  return className\n}\n\n/**\n * Button group component config provider\n * @param config The custom config\n * @returns The configured provider\n */\nexport function provideButtonGroup(className = ''): Provider {\n  return {\n    provide: BUTTON_GROUP_CONFIG,\n    useValue: className.length < 3 ? DefaultConfig() : classNameMerge(DefaultConfig(), className),\n  }\n}\nexport function withButtonGroup(className = ''): Provider {\n  return provideButtonGroup(className)\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  forwardRef,\n  inject,\n  Input,\n  ViewEncapsulation,\n} from '@angular/core'\nimport {\n  classNameMerge,\n  Dropdown,\n  DROPDOWN_CONFIG,\n  DropdownBase,\n  isEscape,\n  TwIf,\n} from '@tailwind-ng/core'\n\n/** Dropdown component */\n@Component({\n  selector: 'tw-dropdown, [tw-dropdown], [twDropdown]',\n  exportAs: 'twDropdown',\n  template: ` <ng-container *twIf=\"isOpened()\"><ng-content /></ng-container> `,\n  imports: [TwIf],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: DropdownBase,\n      useExisting: forwardRef(() => DropdownComponent),\n    },\n  ],\n})\nexport class DropdownComponent extends DropdownBase implements Dropdown {\n  @Input() closeOnBlur?: boolean\n\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge(inject(DROPDOWN_CONFIG), this.class)\n  }\n\n  protected override addEventListeners(): void {\n    super.addEventListeners()\n    if (this.closeOnBlur) {\n      this.nativeElement.addEventListener('blur', this.onBlur.bind(this), true)\n    }\n    this.nativeElement.addEventListener('keyup', this.onKeyup.bind(this), false)\n  }\n\n  protected override removeEventListeners(): void {\n    super.removeEventListeners()\n    if (this.closeOnBlur) {\n      this.nativeElement.removeEventListener('blur', this.onBlur.bind(this), true)\n    }\n    this.nativeElement.removeEventListener('keyup', this.onKeyup.bind(this), false)\n  }\n\n  protected onKeyup(event: KeyboardEvent): void {\n    if (isEscape(event.key)) {\n      this.close()\n    }\n  }\n\n  protected onBlur(): void {\n    setTimeout(() => {\n      if (!this.hasFocus) {\n        this.close()\n      }\n    }, 50)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { DROPDOWN_CONFIG, classNameMerge } from '@tailwind-ng/core'\n\nconst DefaultConfig = () => {\n  const className =\n    'hidden text-start py-1 z-10 min-w-56 select-none overflow-y-auto overscroll-contain text-sm absolute border rounded-md border-gray-200 bg-white shadow-lg cursor-pointer dark:bg-gray-950 dark:border-gray-800 dark:text-gray-100 open:grid open:opacity-100 open:translate-0 open:scale-100 opacity-0 -translate-y-1 starting:open:opacity-0 starting:open:scale-y-90 starting:open:-translate-y-3 origin-top will-change-auto ease-out duration-25 transition-all transition-discrete top-2 right-0'\n  return className\n}\n\n/**\n *  Dropdown config provider\n * @param config The custom config\n * @returns The config provider\n */\nexport function provideDropdown(className = ''): Provider {\n  return {\n    provide: DROPDOWN_CONFIG,\n    useValue: className.length < 3 ? DefaultConfig() : classNameMerge(DefaultConfig(), className),\n  }\n}\n\nexport function withDropdown(className = ''): Provider {\n  return provideDropdown(className)\n}\n","import { Directive, inject } from '@angular/core'\nimport { classNameMerge, ICON_CONFIG, IconBase } from '@tailwind-ng/core'\n\n@Directive({\n  selector: 'tw-icon, [twIcon], [tw-icon]',\n  exportAs: 'twIcon',\n  providers: [{ provide: IconBase, useExisting: IconDirective }],\n})\nexport class IconDirective extends IconBase {\n  protected override buildStyle(): void {\n    const { [this.name]: icon } = inject(ICON_CONFIG).map ?? {}\n    const { [this.size]: size, className } = inject(ICON_CONFIG)\n    if (!icon) {\n      console.error(\n        `Icon \"${this.name}\" is not set.\\\n        Please add it to the icon config through dependency injection.`\n      )\n    } else {\n      this.nativeElement.innerHTML = icon\n    }\n    this.nativeElement.className = classNameMerge(\n      `${size} ${className}`,\n      this.nativeElement.className,\n      this.class\n    )\n  }\n}\n","import { inject, Provider } from '@angular/core'\nimport { ICON_CONFIG, IconMap, mergeConfig, IconConfig, classNameMerge } from '@tailwind-ng/core'\n\nconst MAP = (): IconMap => {\n  return {\n    'check-badge': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path fill-rule=\"evenodd\" d=\"M8.603 3.799A4.49 4.49 0 0 1 12 2.25c1.357 0 2.573.6 3.397 1.549a4.49 4.49 0 0 1 3.498 1.307 4.491 4.491 0 0 1 1.307 3.497A4.49 4.49 0 0 1 21.75 12a4.49 4.49 0 0 1-1.549 3.397 4.491 4.491 0 0 1-1.307 3.497 4.491 4.491 0 0 1-3.497 1.307A4.49 4.49 0 0 1 12 21.75a4.49 4.49 0 0 1-3.397-1.549 4.49 4.49 0 0 1-3.498-1.306 4.491 4.491 0 0 1-1.307-3.498A4.49 4.49 0 0 1 2.25 12c0-1.357.6-2.573 1.549-3.397a4.49 4.49 0 0 1 1.307-3.497 4.49 4.49 0 0 1 3.497-1.307Zm7.007 6.387a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z\" clip-rule=\"evenodd\" /> </svg>`,\n    sparkles: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path fill-rule=\"evenodd\" d=\"M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5ZM18 1.5a.75.75 0 0 1 .728.568l.258 1.036c.236.94.97 1.674 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258c-.94.236-1.674.97-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.625 2.625 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.625 2.625 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5ZM16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395c-.447.15-.799.5-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395c.447-.15.799-.5.948-.948l.395-1.183A.75.75 0 0 1 16.5 15Z\" clip-rule=\"evenodd\" /> </svg>`,\n    sun: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"size-5\"> <path d=\"M10 2a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 10 2ZM10 15a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-1.5 0v-1.5A.75.75 0 0 1 10 15ZM10 7a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM15.657 5.404a.75.75 0 1 0-1.06-1.06l-1.061 1.06a.75.75 0 0 0 1.06 1.06l1.06-1.06ZM6.464 14.596a.75.75 0 1 0-1.06-1.06l-1.06 1.06a.75.75 0 0 0 1.06 1.06l1.06-1.06ZM18 10a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 18 10ZM5 10a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1 0-1.5h1.5A.75.75 0 0 1 5 10ZM14.596 15.657a.75.75 0 0 0 1.06-1.06l-1.06-1.061a.75.75 0 1 0-1.06 1.06l1.06 1.06ZM5.404 6.464a.75.75 0 0 0 1.06-1.06l-1.06-1.06a.75.75 0 1 0-1.061 1.06l1.06 1.06Z\" /> </svg>`,\n    moon: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"size-5\"> <path fill-rule=\"evenodd\" d=\"M7.455 2.004a.75.75 0 0 1 .26.77 7 7 0 0 0 9.958 7.967.75.75 0 0 1 1.067.853A8.5 8.5 0 1 1 6.647 1.921a.75.75 0 0 1 .808.083Z\" clip-rule=\"evenodd\" /> </svg>`,\n    minus: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-5\"> <path fill-rule=\"evenodd\" d=\"M4.25 12a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5H5a.75.75 0 0 1-.75-.75Z\" clip-rule=\"evenodd\" /> </svg>`,\n    check: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"size-5\"> <path fill-rule=\"evenodd\" d=\"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z\" clip-rule=\"evenodd\" /> </svg>`,\n    'tailwind-ng': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 21.63 23\" class=\"size-5\"> <defs> <style> .cls-1 { fill: #fff; } .cls-1, .cls-2, .cls-3, .cls-4 { fill-rule: evenodd; } .cls-2 { fill: #4f46e5; } .cls-3 { fill: #e0f5fe; } .cls-4 { fill: #6b63f1; } </style> </defs> <g id=\"Layer_1-2\" data-name=\"Layer_1\"> <g> <path class=\"cls-1\" d=\"M0,3.82c.55,4.73,1.1,9.47,1.65,14.2,3,1.66,6.01,3.32,9.01,4.98,3.06-1.69,6.12-3.39,9.19-5.08.6-4.72,1.19-9.44,1.79-14.16-3.66-1.25-7.32-2.5-10.97-3.75C7.11,1.27,3.55,2.55,0,3.82Z\"/> <g> <g> <path class=\"cls-4\" d=\"M1.41,4.63c.48,4.11.95,8.23,1.43,12.34,2.61,1.44,5.22,2.89,7.83,4.33,2.66-1.47,5.32-2.95,7.98-4.42.52-4.1,1.04-8.21,1.55-12.31-3.18-1.09-6.36-2.17-9.54-3.26-3.09,1.11-6.18,2.21-9.26,3.32Z\"/> <path class=\"cls-2\" d=\"M10.68,21.3h0s0,0,.01,0c0,0,5.32-2.95,7.98-4.42.52-4.1,1.04-8.21,1.55-12.31-3.18-1.09-9.54-3.26-9.54-3.26,0,6.67,0,13.33-.01,20Z\"/> </g> <path class=\"cls-3\" d=\"M8.69,8.33c-2.23,0-3.62,1.12-4.18,3.35.84-1.12,1.81-1.53,2.93-1.25.64.16,1.09.62,1.59,1.13.82.83,1.77,1.8,3.84,1.8,2.23,0,3.62-1.12,4.18-3.35-.84,1.12-1.81,1.53-2.93,1.25-.64-.16-1.09-.62-1.59-1.13-.82-.83-1.77-1.8-3.84-1.8Z\"/> </g> </g> </g> </svg>`,\n    'exclamation-circle': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"size-5\"> <path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-8-5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0v-4.5A.75.75 0 0 1 10 5Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\" clip-rule=\"evenodd\" /> </svg>`,\n    'exclamation-triangle': `<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z\"></path></svg>`,\n    'x-mark': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"size-5\"> <path d=\"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\" /> </svg>`,\n    'chevron-up-down': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"size-5\"> <path fill-rule=\"evenodd\" d=\"M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z\" clip-rule=\"evenodd\" /> </svg>`,\n    beaker: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path fill-rule=\"evenodd\" d=\"M10.5 3.798v5.02a3 3 0 0 1-.879 2.121l-2.377 2.377a9.845 9.845 0 0 1 5.091 1.013 8.315 8.315 0 0 0 5.713.636l.285-.071-3.954-3.955a3 3 0 0 1-.879-2.121v-5.02a23.614 23.614 0 0 0-3 0Zm4.5.138a.75.75 0 0 0 .093-1.495A24.837 24.837 0 0 0 12 2.25a25.048 25.048 0 0 0-3.093.191A.75.75 0 0 0 9 3.936v4.882a1.5 1.5 0 0 1-.44 1.06l-6.293 6.294c-1.62 1.621-.903 4.475 1.471 4.88 2.686.46 5.447.698 8.262.698 2.816 0 5.576-.239 8.262-.697 2.373-.406 3.092-3.26 1.47-4.881L15.44 9.879A1.5 1.5 0 0 1 15 8.818V3.936Z\" clip-rule=\"evenodd\" /> </svg>`,\n    star: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path fill-rule=\"evenodd\" d=\"M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z\" clip-rule=\"evenodd\" /> </svg>`,\n    rocket: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path fill-rule=\"evenodd\" d=\"M9.315 7.584C12.195 3.883 16.695 1.5 21.75 1.5a.75.75 0 0 1 .75.75c0 5.056-2.383 9.555-6.084 12.436A6.75 6.75 0 0 1 9.75 22.5a.75.75 0 0 1-.75-.75v-4.131A15.838 15.838 0 0 1 6.382 15H2.25a.75.75 0 0 1-.75-.75 6.75 6.75 0 0 1 7.815-6.666ZM15 6.75a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Z\" clip-rule=\"evenodd\" /> <path d=\"M5.26 17.242a.75.75 0 1 0-.897-1.203 5.243 5.243 0 0 0-2.05 5.022.75.75 0 0 0 .625.627 5.243 5.243 0 0 0 5.022-2.051.75.75 0 1 0-1.202-.897 3.744 3.744 0 0 1-3.008 1.51c0-1.23.592-2.323 1.51-3.008Z\" /> </svg>`,\n    bolt: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path fill-rule=\"evenodd\" d=\"M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z\" clip-rule=\"evenodd\" /> </svg>`,\n    accessibility: `<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"size-6\" viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M480-720q-33 0-56.5-23.5T400-800q0-33 23.5-56.5T480-880q33 0 56.5 23.5T560-800q0 33-23.5 56.5T480-720ZM360-80v-520q-60-5-122-15t-118-25l20-80q78 21 166 30.5t174 9.5q86 0 174-9.5T820-720l20 80q-56 15-118 25t-122 15v520h-80v-240h-80v240h-80Z\"/></svg>`,\n    'mix-vertical': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-6\"> <path d=\"M6 12a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 1 1 1.5 0v7.5A.75.75 0 0 1 6 12ZM18 12a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 0 1 1.5 0v7.5A.75.75 0 0 1 18 12ZM6.75 20.25v-1.5a.75.75 0 0 0-1.5 0v1.5a.75.75 0 0 0 1.5 0ZM18.75 18.75v1.5a.75.75 0 0 1-1.5 0v-1.5a.75.75 0 0 1 1.5 0ZM12.75 5.25v-1.5a.75.75 0 0 0-1.5 0v1.5a.75.75 0 0 0 1.5 0ZM12 21a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 0 1 1.5 0v7.5A.75.75 0 0 1 12 21ZM3.75 15a2.25 2.25 0 1 0 4.5 0 2.25 2.25 0 0 0-4.5 0ZM12 11.25a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM15.75 15a2.25 2.25 0 1 0 4.5 0 2.25 2.25 0 0 0-4.5 0Z\" /> </svg>`,\n    license: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 -960 960 960\" fill=\"currentColor\" class=\"size-6\"><path d=\"M480-440q-50 0-85-35t-35-85q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35ZM240-40v-309q-38-42-59-96t-21-115q0-134 93-227t227-93q134 0 227 93t93 227q0 61-21 115t-59 96v309l-240-80-240 80Zm240-280q100 0 170-70t70-170q0-100-70-170t-170-70q-100 0-170 70t-70 170q0 100 70 170t170 70Z\"/></svg>`,\n  }\n}\n\nconst DefaultConfig = (): IconConfig => {\n  const className = 'inline-flex items-center justify-center'\n  return {\n    className,\n    map: MAP(),\n    xs: '*:size-3',\n    sm: '*:size-4',\n    md: '*:size-5',\n    lg: '*:size-6',\n    xl: '*:size-7',\n  }\n}\n\ntype IconConfigSansMapKey = keyof Omit<IconConfig, 'map'>\nexport function provideIcon(customization?: Partial<IconConfig>): Provider {\n  return {\n    provide: ICON_CONFIG,\n    useFactory: () => {\n      const config =\n        inject(ICON_CONFIG, {\n          skipSelf: true,\n          optional: true,\n        }) ?? DefaultConfig()\n      if (customization) {\n        Object.entries(customization).forEach(([key, value]) => {\n          if (key === 'map') {\n            if (!config.map) {\n              config.map = MAP()\n            }\n            config.map = mergeConfig([config.map, customization.map as IconMap], {\n              strict: true,\n            })\n          } else {\n            config[key as IconConfigSansMapKey] = classNameMerge(\n              config[key as IconConfigSansMapKey],\n              value as string\n            )\n          }\n        })\n      }\n      return config\n    },\n  }\n}\nexport function withIcon(customization?: Partial<IconConfig>): Provider {\n  return provideIcon(customization)\n}\n","import { Provider } from '@angular/core'\nimport { CHECKBOX_CONFIG, classNameMerge } from '@tailwind-ng/core'\n\nconst DefaultConfig = () => {\n  const className =\n    'appearance-none border-1 border-black/20 checked:bg-blue-600 checked:border-blue-600 dark:border-white/20 disabled:bg-black/5 disabled:dark:bg-white/5 focus:outline-2 focus:outline-blue-600 focus:outline-offset-2 forced-colors:appearance-none indeterminate:bg-blue-600 indeterminate:border-blue-600 peer rounded-sm size-4'\n  return className\n}\n\n/**\n * Provides the Checkbox component config.\n */\nexport function provideCheckbox(className = ''): Provider {\n  return {\n    provide: CHECKBOX_CONFIG,\n    useValue: className.length < 3 ? DefaultConfig() : classNameMerge(DefaultConfig(), className),\n  }\n}\n\nexport function withCheckbox(className = ''): Provider {\n  return provideCheckbox(className)\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  forwardRef,\n  inject,\n  Input,\n  OnInit,\n  output,\n  ViewEncapsulation,\n} from '@angular/core'\nimport {\n  Checkbox,\n  CHECKBOX_CONFIG,\n  CHECKBOX_ICON,\n  CheckboxBase,\n  CheckboxMutableProps,\n  CheckboxToggleOptions,\n  classNameMerge,\n  isArrowDownOrRight,\n  isArrowUpOrLeft,\n  isEnterOrSpace,\n  isInputElement,\n  isLabelElement,\n  isNavigation,\n} from '@tailwind-ng/core'\nimport { TwIcon } from '../../elements'\n\n/**\n * @TailwindNG Checkbox Component.\n */\n@Component({\n  selector: 'tw-checkbox, [tw-checkbox], [twCheckbox]',\n  exportAs: 'twCheckbox',\n  imports: [TwIcon],\n  template: `\n    <label class=\"flex items-center w-fit gap-3\">\n      <!-- We define inline style here as it would never be subject to changes. -->\n      <div\n        class=\"relative flex size-fit text-white *:not-first:inset-0 *:not-first:absolute *:not-first:place-self-center *:not-first:pointer-events-none *:cursor-pointer\"\n      >\n        <input\n          (change)=\"onChanges($event)\"\n          (keyup)=\"onKeyup($event)\"\n          type=\"checkbox\"\n          [id]=\"id\"\n          [checked]=\"checked || null\"\n          [indeterminate]=\"indeterminate || null\"\n        />\n        @if (indeterminate) {\n          <tw-icon [name]=\"icon.indeterminate\" [size]=\"icon.size\" />\n        }\n        @if (checked) {\n          <tw-icon [name]=\"icon.checked\" [size]=\"icon.size\" />\n        }\n      </div>\n      <ng-content />\n      <ng-content select=\"span\" />\n    </label>\n    <ng-content select=\"div,p,ul,label,tw-checkbox,[tw-checkbox],[twCheckbox]\" />\n  `,\n  host: {\n    // We remove host attribute to avoid coillision\n    // with the inner input element attributes.\n    '[attr.id]': 'null',\n    '[attr.name]': 'null',\n  },\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: CheckboxBase,\n      useExisting: forwardRef(() => CheckboxComponent),\n    },\n  ],\n})\nexport class CheckboxComponent extends CheckboxBase implements Checkbox, OnInit {\n  get inputRef(): HTMLInputElement {\n    return this.nativeElement.querySelector('input[type=\"checkbox\"]') as HTMLInputElement\n  }\n  protected icon = inject(CHECKBOX_ICON)\n  protected override readonly parent = inject(CheckboxComponent, {\n    optional: true,\n    skipSelf: true,\n    host: true,\n  })\n  children?: Checkbox[]\n  @Input() checked = false\n  @Input() indeterminate?: boolean\n  @Input() id = this.randomId('checkbox')\n  checkedChange = output<boolean>()\n  indeterminateChange = output<boolean>()\n  changes = output<CheckboxMutableProps>()\n\n  override ngOnInit(): void {\n    super.ngOnInit()\n    if (this.parent) {\n      if (!this.parent.children) {\n        this.parent.children = []\n      }\n      this.parent.children.push(this)\n      if (this.parent.checked && (!this.checked || this.indeterminate)) {\n        this.toggle()\n      } else if (this.checked && !this.parent.checked && !this.parent.indeterminate) {\n        this.parent.toggle({ origin: 'child' })\n      }\n    }\n  }\n\n  protected override buildStyle(): void {\n    if (this.parent) {\n      this.inputRef.className = this.parent.inputRef.className\n    } else {\n      this.inputRef.className = classNameMerge(inject(CHECKBOX_CONFIG), this.class)\n    }\n  }\n\n  toggle(options: CheckboxToggleOptions = {}): void {\n    options.event?.stopPropagation()\n    const { origin = 'self' } = options\n\n    if (origin === 'self') {\n      this.checked = !this.checked\n      this.indeterminate = false\n      if (this.parent) {\n        this.parent.toggle({ origin: 'child' })\n      }\n      if (this.children) {\n        this.children.map((c) => c.toggle({ origin: 'parent' }))\n      }\n    } else if (origin === 'parent' && this.parent) {\n      this.checked = this.parent.checked\n      this.indeterminate = false\n      if (this.children) {\n        this.children.map((c) => c.toggle({ origin: 'parent' }))\n      }\n    } else if (origin === 'child' && this.children) {\n      const checkedCount = this.children.filter((c) => c.checked).length\n      this.checked = checkedCount === this.children!.length\n      this.indeterminate = checkedCount > 0 && checkedCount < this.children.length\n      if (this.parent && (this.checked || this.indeterminate)) {\n        this.parent.toggle({ origin: 'child' })\n      }\n    }\n    this.emitChanges()\n  }\n\n  private emitChanges(): void {\n    this.checkedChange.emit(this.checked)\n    if (this.indeterminate !== undefined) {\n      this.indeterminateChange.emit(this.indeterminate)\n    }\n    this.changes.emit({\n      checked: this.checked,\n      indeterminate: this.indeterminate,\n    })\n  }\n\n  protected override addEventListeners(): void {\n    super.addEventListeners()\n    this.nativeElement.addEventListener('keyup', this.onKeyup.bind(this), false)\n    this.nativeElement.addEventListener('mouseup', this.onMouseup.bind(this), false)\n  }\n\n  protected override removeEventListeners(): void {\n    super.removeEventListeners()\n    this.nativeElement.removeEventListener('keyup', this.onKeyup.bind(this), false)\n    this.nativeElement.removeEventListener('mouseup', this.onMouseup.bind(this), false)\n  }\n\n  protected onMouseup(event: MouseEvent): void {\n    event.stopPropagation()\n    if (isLabelElement(event.target)) {\n      this.toggle()\n    }\n  }\n\n  protected onKeyup(event: KeyboardEvent): void {\n    if (event.eventPhase !== Event.BUBBLING_PHASE) return\n    event.stopPropagation()\n    if (isEnterOrSpace(event.key)) {\n      this.toggle()\n    }\n    if (isNavigation(event.key)) {\n      if (isArrowDownOrRight(event.key)) {\n        this.focus({\n          behavior: 'firstChild',\n          target: this.nativeElement.nextElementSibling as HTMLElement,\n        })\n      }\n      if (isArrowUpOrLeft(event.key)) {\n        this.focus({\n          behavior: 'firstChild',\n          target: this.nativeElement.previousElementSibling as HTMLElement,\n        })\n      }\n    }\n  }\n\n  protected onChanges(event: Event): void {\n    event.stopPropagation()\n    if (isInputElement(event.target)) {\n      if (event.target.checked !== this.checked) {\n        this.toggle()\n      }\n    }\n  }\n}\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  contentChild,\n  Input,\n  model,\n  output,\n  ViewEncapsulation,\n} from '@angular/core'\nimport {\n  Combobox,\n  ComboboxBase,\n  ComboboxItem,\n  DropdownBase,\n  InputTextBase,\n  isEnter,\n  isEscape,\n  ComboboxSelectionMode,\n  TwIf,\n  isArrowUpOrDown,\n  isArrowUp,\n  classNameMerge,\n} from '@tailwind-ng/core'\n\n@Component({\n  selector: 'tw-combobox, [tw-combobox], [twCombobox]',\n  exportAs: 'twCombobox',\n  host: {\n    '[attr.aria-controls]': 'dropdown()?.id',\n  },\n  imports: [TwIf],\n  template: `\n    <ng-content select=\"label\" />\n    <div class=\"relative\">\n      <ng-content select=\"input[type=text], input[tw-input], input[twInput]\" />\n      <ng-content select=\"tw-icon, [tw-icon], [twIcon], tw-button, [tw-button], [twButton]\" />\n    </div>\n    <ng-container *twIf=\"isOpened()\">\n      <div class=\"relative\"><ng-content /></div>\n    </ng-container>\n  `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: ComboboxBase,\n      useExisting: ComboboxComponent,\n    },\n  ],\n})\nexport class ComboboxComponent extends ComboboxBase implements Combobox, AfterContentInit {\n  readonly dropdown = contentChild(DropdownBase)\n  readonly input = contentChild(InputTextBase)\n  readonly resetted = output<void>()\n  @Input() selectionMode: ComboboxSelectionMode = 'single'\n  readonly selectedValues = model(new Set<string>())\n\n  ngAfterContentInit(): void {\n    this.input()?.changes.subscribe(() => {\n      if (!this.isOpened()) {\n        this.open()\n      }\n    })\n  }\n\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge('relative h-max', this.class)\n  }\n\n  override open(): void {\n    super.open()\n    this.dropdown()?.open()\n    this.input()?.focus()\n    this.input()?.setVisualfocus()\n    this.activeElement = this.dropdown()?.setVisualfocus({\n      behavior: 'firstChild',\n    })\n  }\n\n  override close(): void {\n    super.close()\n    this.dropdown()?.close()\n    this.resetActiveElementIfAny()\n    // if the selection mode is single and there is only one selected value,\n    // we set the input value to it\n    if (this.selectionMode === 'single' && this.selectedValues().size > 0) {\n      const inputText = this.input()\n      if (inputText) {\n        inputText.value = [...this.selectedValues().values()][0]\n      }\n    }\n    if (this.hasFocus) {\n      this.input()?.focus()\n    }\n  }\n\n  protected onBlur(): void {\n    requestAnimationFrame(() => {\n      if (!this.hasFocus) {\n        this.input()?.removeVisualfocus()\n        if (this.isOpened()) this.close()\n      }\n    })\n  }\n\n  private resetActiveElementIfAny() {\n    if (this.activeElement) {\n      this.removeVisualfocus(this.activeElement)\n      this.activeElement = undefined\n    }\n  }\n\n  // we use keydown as it allows users to navigate up and down continuously\n  protected override onKeydown(event: KeyboardEvent): void {\n    super.onKeydown(event)\n    if (!isEscape(event.key) && !this.isOpened()) {\n      this.open()\n    } else if (isEscape(event.key)) {\n      if (this.isOpened()) {\n        this.close()\n      } else {\n        this.reset()\n      }\n    } else if (isArrowUpOrDown(event.key)) {\n      if (isArrowUp(event.key)) {\n        if (!this.activeElement) {\n          this.activeElement = this.dropdown()?.setVisualfocus({\n            behavior: 'lastChild',\n          })\n        } else {\n          this.activeElement = this.dropdown()?.setVisualfocus({\n            behavior: 'previousSibling',\n            target: this.activeElement,\n          })\n          if (!this.activeElement) {\n            this.activeElement = this.dropdown()?.setVisualfocus({\n              behavior: 'lastChild',\n            })\n          }\n        }\n      } else {\n        if (!this.activeElement) {\n          this.activeElement = this.dropdown()?.setVisualfocus({\n            behavior: 'firstChild',\n          })\n        } else {\n          this.activeElement = this.dropdown()?.setVisualfocus({\n            behavior: 'nextSibling',\n            target: this.activeElement,\n          })\n          if (!this.activeElement) {\n            this.activeElement = this.dropdown()?.setVisualfocus({\n              behavior: 'firstChild',\n            })\n          }\n        }\n      }\n      const activeContent = this.activeElement?.textContent?.trim()\n      if (activeContent && activeContent.length > 0) {\n        const inputText = this.input()\n        if (inputText) {\n          inputText.value = activeContent\n        }\n      }\n    } // we use enter and not space as space should move the cursor in the input field\n    else if (isEnter(event.key) && this.activeElement) {\n      this.activeElement.click()\n    }\n  }\n\n  protected override addEventListeners(): void {\n    super.addEventListeners()\n    this.nativeElement.addEventListener('blur', this.onBlur.bind(this), true)\n  }\n\n  protected override removeEventListeners(): void {\n    super.removeEventListeners()\n    this.nativeElement.removeEventListener('blur', this.onBlur.bind(this), true)\n  }\n\n  setActiveItem(item: ComboboxItem): void {\n    this.activeElement = item.nativeElement\n  }\n\n  reset(): void {\n    this.input()?.clear()\n    this.input()?.focus()\n    this.resetActiveElementIfAny()\n    this.selectedValues().clear()\n    this.resetted.emit()\n  }\n}\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  DestroyRef,\n  inject,\n  Input,\n  model,\n  ViewEncapsulation,\n} from '@angular/core'\nimport { ComboboxComponent } from '../combobox.component'\nimport {\n  classNameMerge,\n  COMBOBOX_ITEM_CONFIG,\n  ComboboxItem,\n  ComboboxItemBase,\n} from '@tailwind-ng/core'\n\n@Component({\n  selector: 'tw-combobox-item, [tw-combobox-item], [twComboboxItem]',\n  exportAs: 'twComboboxItem',\n  host: {\n    role: 'option',\n    '[tabindex]': 'disabled ? null : -1',\n    '[attr.aria-selected]': 'selected()',\n    '[attr.data-selected]': 'selected() || null',\n  },\n  template: '<ng-content />',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: ComboboxItemBase,\n      useExisting: ComboboxItemComponent,\n    },\n  ],\n})\nexport class ComboboxItemComponent\n  extends ComboboxItemBase\n  implements ComboboxItem, AfterContentInit\n{\n  @Input() value!: string\n  selected = model<boolean>(false)\n  private readonly _combobox = inject(ComboboxComponent, {\n    skipSelf: true,\n    host: true,\n  })\n  private readonly _normalizedValue = computed(() => this.value.toLocaleLowerCase())\n  private readonly _destroyRef = inject(DestroyRef)\n\n  ngAfterContentInit(): void {\n    this._combobox.input()?.valueChange.subscribe(this.selectIfNeeded.bind(this))\n    const subs: { unsubscribe(): void }[] = []\n    subs.push(\n      this._combobox.opened.subscribe(() => {\n        this.selectIfNeeded()\n        if (this.selected()) {\n          if (!this._combobox.selectedValues().has(this.value)) {\n            this.selected.set(false)\n          } else {\n            setTimeout(() => {\n              this.scrollIntoView()\n            })\n          }\n        }\n      })\n    )\n    subs.push(\n      this._combobox.resetted.subscribe(() => {\n        if (this.selected()) this.selected.set(false)\n      })\n    )\n    // We use the combobox's selected values as the source of truth\n    // to determine the initial selected state of the combobox item.\n    if (!this.selected() && this._combobox.selectedValues().has(this.value)) {\n      this.selected.set(true)\n    } else if (this.selected() && !this._combobox.selectedValues().has(this.value)) {\n      this.selected.set(false)\n    }\n    if (this._combobox.selectionMode === 'single' && this.selected()) {\n      const comboboxInput = this._combobox.input()\n      if (comboboxInput) {\n        comboboxInput.value = this.value\n      }\n    }\n    this._destroyRef.onDestroy(() => {\n      // This is a special case, where we need to eagerly unsubscribe to all subscriptions\n      // to avoid the following runtime error after a filter has been applied on the combobox and it's then resets or reopens:\n      // RuntimeError: NG0953: Unexpected emit for destroyed `OutputRef`. The owning directive/component is destroyed.\n      // This may be explained by the Push/Pull Algorithm of Angular signals which happen in two phases.\n      // source: https://github.com/angular/angular/tree/main/packages/core/primitives/signals\n      subs.map((sub) => sub.unsubscribe())\n    })\n  }\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge(inject(COMBOBOX_ITEM_CONFIG), this.class)\n  }\n\n  private selectIfNeeded(value = this._combobox.input()?.normalizedValue): void {\n    if (this.selected()) return\n    if (this._normalizedValue() === value) {\n      this.select()\n    }\n  }\n\n  select(): void {\n    if (!this._combobox.input()?.hasVisualFocus) {\n      this._combobox.input()?.setVisualfocus()\n    }\n    this._combobox.input()?.focus()\n    this._combobox.setActiveItem(this)\n    if (this._combobox.selectionMode === 'single') {\n      this._combobox.selectedValues().clear()\n      this._combobox.selectedValues().add(this.value)\n      const comboboxInput = this._combobox.input()\n      if (comboboxInput) {\n        comboboxInput.value = this.value\n      }\n      this._combobox.close()\n      this.selected.set(true)\n    } else {\n      if (this.selected() && this._combobox.selectedValues().size > 0) {\n        this.deselect()\n      } else {\n        this._combobox.selectedValues().add(this.value)\n        this.selected.set(true)\n      }\n    }\n  }\n\n  deselect(): void {\n    this._combobox.input()?.focus()\n    this._combobox.selectedValues().delete(this.value)\n    // We cleared the input if it has the same value as the deselected item\n    if (this._normalizedValue() === this._combobox.input()?.normalizedValue) {\n      this._combobox.input()?.clear()\n    }\n    this.selected.set(false)\n  }\n\n  protected override addEventListeners(): void {\n    super.addEventListeners()\n    this.nativeElement.addEventListener('click', this.select.bind(this), false)\n  }\n\n  protected override removeEventListeners(): void {\n    super.removeEventListeners()\n    this.nativeElement.removeEventListener('click', this.select.bind(this), false)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { COMBOBOX_ITEM_CONFIG, classNameMerge } from '@tailwind-ng/core'\n\nconst DefaultConfig = () => {\n  const className =\n    'cursor-pointer data-selected:bg-blue-600 data-selected:font-bold data-selected:text-white data-visual-focused:bg-blue-700 data-visual-focused:font-bold data-visual-focused:outline-0 data-visual-focused:text-white flex focus:bg-blue-700 focus:font-bold focus:outline-0 focus:text-white gap-1 h-fit hover:bg-blue-600 hover:font-bold hover:text-white items-center px-4 py-2 relative'\n  return className\n}\n\n/**\n * @TailwindNG Combobox Item config provider.\n */\nexport function provideComboboxItem(className = ''): Provider {\n  return {\n    provide: COMBOBOX_ITEM_CONFIG,\n    useValue: className.length < 3 ? DefaultConfig() : classNameMerge(DefaultConfig(), className),\n  }\n}\nexport function withComboboxItem(className = ''): Provider {\n  return provideComboboxItem(className)\n}\n","import { NgModule } from '@angular/core'\nimport { ComboboxComponent } from './combobox.component'\nimport { ComboboxItemComponent } from './combobox-item/combobox-item.component'\n\n@NgModule({\n  imports: [ComboboxComponent, ComboboxItemComponent],\n  exports: [ComboboxComponent, ComboboxItemComponent],\n})\nexport class ComboboxModule {}\n","import { Directive, inject } from '@angular/core'\nimport { classNameMerge, INPUT_TEXT_CONFIG, InputTextBase } from '@tailwind-ng/core'\n\n@Directive({\n  selector: `input[tw-input][type=\"text\"], input[twInput][type=\"text\"],\n  input[tw-input][type=\"password\"], input[twInput][type=\"password\"],\n  input[tw-input][type=\"email\"], input[twInput][type=\"email\"],\n  input[tw-input][type=\"number\"], input[twInput][type=\"number\"],\n  input[tw-input][type=\"tel\"], input[twInput][type=\"tel\"],\n  input[tw-input][type=\"url\"], input[twInput][type=\"url\"]`,\n  exportAs: 'twInputText',\n  providers: [\n    {\n      provide: InputTextBase,\n      useExisting: InputTextDirective,\n    },\n  ],\n})\nexport class InputTextDirective extends InputTextBase {\n  protected override buildStyle(): void {\n    const { [this.size]: size, className } = inject(INPUT_TEXT_CONFIG)\n    this.nativeElement.className = classNameMerge(`${size} ${className}`, this.class)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { INPUT_TEXT_CONFIG, InputConfig, mergeConfig } from '@tailwind-ng/core'\n\nconst DefaultConfig = (): InputConfig => {\n  const className =\n    'placeholder-shown:text-gray-500 backdrop-blur-xs bg-transparent data-visual-focused:ring-inset data-visual-focused:ring-2 data-visual-focused:ring-indigo-600 disabled:bg-gray-50 disabled:dark:bg-gray-50/5 focus:border-transparent focus:z-10 focus:ring-2 focus:ring-indigo-600 invalid:focus:ring-red-600/60 invalid:ring-red-600/60 leading-6 outline-none focus:ring-inset ring-1 ring-gray-300 dark:ring-gray-700 rounded-md w-full sm:w-80'\n  return {\n    className,\n    xs: XS(),\n    sm: SM(),\n    md: MD(),\n    lg: LG(),\n    xl: XL(),\n  }\n}\n\nconst XS = () => {\n  const className = 'px-2 py-1 text-sm placeholder:text-xs'\n  return className\n}\nconst SM = () => {\n  const className = 'px-3 py-1.5 text-sm placeholder:text-sm'\n  return className\n}\nconst MD = () => {\n  const className = 'px-4 py-2 text-base placeholder:text-base'\n  return className\n}\nconst LG = () => {\n  const className = 'px-5 py-2.5 text-base placeholder:text-base'\n  return className\n}\nconst XL = () => {\n  const className = 'px-6 py-3 text-lg placeholder:text-lg'\n  return className\n}\n\n/**\n * @TailwindNG InputText config provider.\n */\nexport function provideInputText(customization?: InputConfig): Provider {\n  return {\n    provide: INPUT_TEXT_CONFIG,\n    useValue: !customization ? DefaultConfig() : mergeConfig([DefaultConfig(), customization]),\n  }\n}\nexport function withInputText(customization?: InputConfig): Provider {\n  return provideInputText(customization)\n}\n","import { Directive, inject } from '@angular/core'\nimport { classNameMerge, INPUT_RADIO_CONFIG, InputRadioBase } from '@tailwind-ng/core'\n\n@Directive({\n  selector: 'input[type=\"radio\"][tw-input], input[type=\"radio\"][twInput]',\n  exportAs: 'twInputRadio',\n  providers: [\n    {\n      provide: InputRadioBase,\n      useExisting: InputRadioDirective,\n    },\n  ],\n})\nexport class InputRadioDirective extends InputRadioBase {\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge(inject(INPUT_RADIO_CONFIG), this.class)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { INPUT_RADIO_CONFIG, classNameMerge } from '@tailwind-ng/core'\n\nconst DefaultConfig = () => {\n  const className =\n    'appearance-none border-1 border-gray-300 dark:border-gray-700/70 checked:before:absolute checked:before:bg-white checked:before:inset-1 checked:before:rounded-full checked:bg-blue-600 checked:border-blue-600 disabled:bg-black/5 disabled:dark:bg-white/5 focus-visible:outline-2 focus-visible:outline-blue-600 outline-offset-2 forced-colors:appearance-auto forced-colors:before:hidden relative rounded-full size-4'\n  return className\n}\n\n/**\n * Provides the input radio config.\n */\nexport function provideInputRadio(className = ''): Provider {\n  return {\n    provide: INPUT_RADIO_CONFIG,\n    useValue: className.length < 3 ? DefaultConfig() : classNameMerge(DefaultConfig(), className),\n  }\n}\nexport function withInputRadio(className = ''): Provider {\n  return provideInputRadio(className)\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  Input,\n  model,\n  ViewEncapsulation,\n} from '@angular/core'\nimport { classNameMerge, Toggle, TOGGLE_CONFIG, ToggleBase } from '@tailwind-ng/core'\n\n@Component({\n  selector: 'tw-toggle, [tw-toggle], [twToggle]',\n  exportAs: 'twToggle',\n  host: {\n    role: 'switch',\n    '[tabindex]': 'disabled ? null : tabIndex',\n    '[attr.aria-checked]': 'checked() || null',\n    '[attr.data-checked]': 'checked() || null',\n  },\n  template: ` <ng-content /> `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: ToggleBase, useExisting: ToggleComponent }],\n})\nexport class ToggleComponent extends ToggleBase implements Toggle {\n  @Input() tabIndex = 0\n  checked = model<boolean>(false)\n\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge(inject(TOGGLE_CONFIG), this.class)\n  }\n\n  private onKeydown(event: KeyboardEvent): void {\n    if (event.key === 'Enter' || event.key === ' ') {\n      event.preventDefault()\n      this.toggle()\n    }\n  }\n\n  toggle(): void {\n    this.focus()\n    this.checked.update((checked) => !checked)\n  }\n\n  protected override addEventListeners(): void {\n    super.addEventListeners()\n    this.nativeElement.addEventListener('click', this.toggle.bind(this), {\n      passive: true,\n      capture: true,\n    })\n    this.nativeElement.addEventListener('keyup', this.onKeydown.bind(this), true)\n  }\n\n  protected override removeEventListeners(): void {\n    super.removeEventListeners()\n    this.nativeElement.removeEventListener('click', this.toggle.bind(this), true)\n    this.nativeElement.removeEventListener('keyup', this.onKeydown.bind(this), true)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { TOGGLE_CONFIG, classNameMerge } from '@tailwind-ng/core'\n\nconst DefaultConfig = () => {\n  const className =\n    'before:absolute before:bg-white before:duration-100 before:ease-in-out before:h-full before:inset-y-0 before:items-center before:justify-center before:left-0 before:pointer-events-none before:rounded-full before:shadow-sm before:w-1/2 bg-gray-200 border-2 border-transparent cursor-pointer dark:bg-gray-900 data-checked:before:translate-x-full data-checked:bg-blue-600 duration-200 focus:outline-2 focus:outline-offset-2 h-6 inline-flex items-center outline-0 outline-blue-600 overflow-hidden relative rounded-full select-none transition-colors w-12'\n  return className\n}\n\n/**\n * Provides the Toggle component config.\n */\nexport function provideToggle(classname = ''): Provider {\n  return {\n    provide: TOGGLE_CONFIG,\n    useValue: classname.length < 3 ? DefaultConfig() : classNameMerge(DefaultConfig(), classname),\n  }\n}\nexport function withToggle(className = ''): Provider {\n  return provideToggle(className)\n}\n","import { Component, inject, Provider } from '@angular/core'\nimport { BaseDirective, classNameMerge, InjectionTokenFactory } from '@tailwind-ng/core'\n\n@Component({\n  selector: 'tw-container, twContainer, [tw-container], [twContainer]',\n  template: `<ng-content />`,\n}) // eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class Container extends BaseDirective {\n  protected override buildStyle(): void {\n    const className = inject(CONTAINER_CONFIG)\n    this.nativeElement.className = classNameMerge(className, this.class)\n  }\n}\n\nconst CONTAINER_CONFIG = InjectionTokenFactory.create('', 'CONTAINER_CONFIG')\n\nexport function provideContainer(customization?: string): Provider {\n  const className = 'mx-auto max-w-7xl bg-gray-100 sm:px-6 lg:px-8'\n  return {\n    provide: CONTAINER_CONFIG,\n    useValue: (customization && classNameMerge(className, customization)) || className,\n  }\n}\n\nexport function withContainer(customization = ''): Provider {\n  return provideContainer(customization)\n}\n","import { Directive, inject } from '@angular/core'\nimport {\n  BaseDirective,\n  classNameMerge,\n  DIALOG_CONFIG,\n  DialogBase,\n  isEscape,\n} from '@tailwind-ng/core'\n\n@Directive({\n  selector: 'tw-dialog-container, [tw-dialog-container], [twDialogContainer]',\n  exportAs: 'twDialogContainer',\n  host: {\n    '[tabindex]': 'disabled ? null : -1',\n  },\n})\nexport class DialogContainerDirective extends BaseDirective {\n  private readonly _dialog = inject(DialogBase, {\n    skipSelf: true,\n    host: true,\n  })\n\n  protected override buildStyle(): void {\n    this.nativeElement.className = classNameMerge(inject(DIALOG_CONFIG).container, this.class)\n  }\n\n  protected onKeyup(event: KeyboardEvent): void {\n    if (isEscape(event.key)) {\n      event.stopPropagation()\n      this._dialog.close()\n    }\n  }\n\n  protected override addEventListeners(): void {\n    super.addEventListeners()\n    this.nativeElement.addEventListener('keyup', this.onKeyup.bind(this), false)\n  }\n\n  protected override removeEventListeners(): void {\n    super.removeEventListeners()\n    this.nativeElement.removeEventListener('keyup', this.onKeyup.bind(this), false)\n  }\n}\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core'\nimport { classNameMerge, DIALOG_CONFIG, DialogBase, TwIf } from '@tailwind-ng/core'\n\n/** Dialog component */\n@Component({\n  selector: 'tw-dialog, [tw-dialog], [twDialog]',\n  exportAs: 'twDialog',\n  imports: [TwIf],\n  template: ` <ng-container *twIf=\"isOpened()\"><ng-content /></ng-container> `,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [{ provide: DialogBase, useExisting: DialogComponent }],\n})\nexport class DialogComponent extends DialogBase {\n  protected override buildStyle(): void {\n    const config = inject(DIALOG_CONFIG)\n    let className = `${config.scrim || ''}`\n    if (this.isModal && config.backdrop) {\n      className += ` ${config.backdrop}`\n    }\n    this.nativeElement.className = classNameMerge(className, this.class)\n  }\n}\n","import { Provider } from '@angular/core'\nimport { mergeConfig, DIALOG_CONFIG, DialogConfig } from '@tailwind-ng/core'\n\nconst BASE = () => {\n  const className = 'transition-all transition-discrete duration-200'\n  return className\n}\nconst BACKDROP = () => {\n  const className = 'open:backdrop-blur-xs open:bg-neutral-500/50 open:dark:bg-gray-500/50'\n  return className\n}\nconst SCRIM = () => {\n  const className =\n    'grid opacity-0 invisible open:visible open:opacity-100 p-4 inset-0 fixed content-end justify-center sm:content-center'\n  return className\n}\nconst CONTAINER = () => {\n  const className =\n    'gap-9 w-full h-fit relative rounded-lg overflow-hidden text-left shadow-lg bg-white opacity-0 place-self-center dark:bg-gray-900 starting:opacity-0 in-open:opacity-100 grid p-5 sm:max-w-md'\n  return className\n}\n\nconst DefaultConfig = (): DialogConfig => {\n  return {\n    scrim: `${BASE()} ${SCRIM()}`,\n    container: `${BASE()} ${CONTAINER()}`,\n    backdrop: BACKDROP(),\n  }\n}\n\n/**\n * @TailwindNG Dialog config provider\n * @returns The configured provider\n */\nexport function provideDialog(customization?: Partial<DialogConfig>): Provider {\n  return {\n    provide: DIALOG_CONFIG,\n    useValue: !customization ? DefaultConfig() : mergeConfig([DefaultConfig(), customization]),\n  }\n}\n\nexport function withDialog(customization?: Partial<DialogConfig>): Provider {\n  return provideDialog(customization)\n}\n","import { NgModule } from '@angular/core'\nimport { DialogComponent } from './dialog.component'\nimport { DialogContainerDirective } from './dialog-container.directive'\n\n@NgModule({\n  imports: [DialogComponent, DialogContainerDirective],\n  exports: [DialogComponent, DialogContainerDirective],\n})\nexport class DialogModule {}\n","export * from './elements'\nexport * from './forms'\nexport * from './layout'\nexport * from './overlays'\nimport { Provider } from '@angular/core'\n\n/**\n * Provides the Tailwind NG UI config with the given customization if any.\n */\nexport function provideUI(...features: Provider[]): Provider[] {\n  return features\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DefaultConfig","BASE","XS","SM","MD","LG","XL","TwIcon"],"mappings":"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"}