@filip.mazev/blocks 1.4.5 → 1.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/filip.mazev-blocks-primitives.mjs +65 -4
- package/fesm2022/filip.mazev-blocks-primitives.mjs.map +1 -1
- package/fesm2022/filip.mazev-blocks.mjs +1 -1
- package/fesm2022/filip.mazev-blocks.mjs.map +1 -1
- package/package.json +1 -1
- package/types/filip.mazev-blocks-primitives.d.ts +21 -3
- package/types/filip.mazev-blocks.d.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BxSurfaceDirective } from "@filip.mazev/blocks/effects";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, HostListener, NgZone, PLATFORM_ID, ViewContainerRef, computed, effect, inject, input, output, signal } from "@angular/core";
|
|
3
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, HostListener, InjectionToken, NgZone, PLATFORM_ID, ViewContainerRef, computed, effect, forwardRef, inject, input, output, signal } from "@angular/core";
|
|
4
4
|
import { BX_I18N, BxA11yService, BxOverlayPositionService, BxShortcutService, inheritOverlayTheme, isTextWithKey, uuidv4 } from "@filip.mazev/blocks/core";
|
|
5
5
|
import { Icon } from "@filip.mazev/blocks/icons";
|
|
6
6
|
import { Overlay } from "@angular/cdk/overlay";
|
|
@@ -552,10 +552,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
552
552
|
}]
|
|
553
553
|
}
|
|
554
554
|
});
|
|
555
|
+
const BX_OVERLAY_CONTEXT = new InjectionToken("BX_OVERLAY_CONTEXT");
|
|
555
556
|
var DropdownDirective = class DropdownDirective {
|
|
556
557
|
elementRef = inject(ElementRef);
|
|
557
558
|
overlay = inject(Overlay);
|
|
558
559
|
positionBuilder = inject(BxOverlayPositionService);
|
|
560
|
+
overlayContext = inject(BX_OVERLAY_CONTEXT, { optional: true });
|
|
559
561
|
a11y = inject(BxA11yService);
|
|
560
562
|
zone = inject(NgZone);
|
|
561
563
|
vcr = inject(ViewContainerRef);
|
|
@@ -656,7 +658,7 @@ var DropdownDirective = class DropdownDirective {
|
|
|
656
658
|
const overlay = this.overlay.create({
|
|
657
659
|
positionStrategy,
|
|
658
660
|
scrollStrategy: this.overlay.scrollStrategies.noop(),
|
|
659
|
-
usePopover: !!this.elementRef.nativeElement.closest("dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover]
|
|
661
|
+
usePopover: !!this.overlayContext?.useTopLayer || !!this.elementRef.nativeElement.closest("dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover]"),
|
|
660
662
|
hasBackdrop: this.bxTransition() === "none",
|
|
661
663
|
backdropClass: "cdk-overlay-transparent-backdrop"
|
|
662
664
|
});
|
|
@@ -864,6 +866,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
864
866
|
var ContextMenuDirective = class ContextMenuDirective {
|
|
865
867
|
overlay = inject(Overlay);
|
|
866
868
|
positionBuilder = inject(BxOverlayPositionService);
|
|
869
|
+
overlayContext = inject(BX_OVERLAY_CONTEXT, { optional: true });
|
|
867
870
|
elementRef = inject(ElementRef);
|
|
868
871
|
a11y = inject(BxA11yService);
|
|
869
872
|
zone = inject(NgZone);
|
|
@@ -917,7 +920,7 @@ var ContextMenuDirective = class ContextMenuDirective {
|
|
|
917
920
|
this.overlayRef = this.overlay.create({
|
|
918
921
|
positionStrategy: this.positionBuilder.getCoordinateStrategy(x, y),
|
|
919
922
|
scrollStrategy: this.overlay.scrollStrategies.noop(),
|
|
920
|
-
usePopover: !!source.closest("dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover]
|
|
923
|
+
usePopover: !!this.overlayContext?.useTopLayer || !!source.closest("dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover]"),
|
|
921
924
|
hasBackdrop: true,
|
|
922
925
|
backdropClass: "cdk-overlay-transparent-backdrop"
|
|
923
926
|
});
|
|
@@ -1063,6 +1066,64 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1063
1066
|
}]
|
|
1064
1067
|
}
|
|
1065
1068
|
});
|
|
1066
|
-
|
|
1069
|
+
var BxOverlayContextDirective = class BxOverlayContextDirective {
|
|
1070
|
+
bxOverlayContext = input({}, ...ngDevMode ? [{ debugName: "bxOverlayContext" }] : /* istanbul ignore next */ []);
|
|
1071
|
+
get useTopLayer() {
|
|
1072
|
+
return this.bxOverlayContext().useTopLayer;
|
|
1073
|
+
}
|
|
1074
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
1075
|
+
minVersion: "12.0.0",
|
|
1076
|
+
version: "22.2.3",
|
|
1077
|
+
ngImport: i0,
|
|
1078
|
+
type: BxOverlayContextDirective,
|
|
1079
|
+
deps: [],
|
|
1080
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
1081
|
+
});
|
|
1082
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
1083
|
+
minVersion: "17.1.0",
|
|
1084
|
+
version: "22.2.3",
|
|
1085
|
+
type: BxOverlayContextDirective,
|
|
1086
|
+
isStandalone: true,
|
|
1087
|
+
selector: "[bxOverlayContext]",
|
|
1088
|
+
inputs: { bxOverlayContext: {
|
|
1089
|
+
classPropertyName: "bxOverlayContext",
|
|
1090
|
+
publicName: "bxOverlayContext",
|
|
1091
|
+
isSignal: true,
|
|
1092
|
+
isRequired: false,
|
|
1093
|
+
transformFunction: null
|
|
1094
|
+
} },
|
|
1095
|
+
providers: [{
|
|
1096
|
+
provide: BX_OVERLAY_CONTEXT,
|
|
1097
|
+
useExisting: forwardRef(() => BxOverlayContextDirective)
|
|
1098
|
+
}],
|
|
1099
|
+
ngImport: i0
|
|
1100
|
+
});
|
|
1101
|
+
};
|
|
1102
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
1103
|
+
minVersion: "12.0.0",
|
|
1104
|
+
version: "22.2.3",
|
|
1105
|
+
ngImport: i0,
|
|
1106
|
+
type: BxOverlayContextDirective,
|
|
1107
|
+
decorators: [{
|
|
1108
|
+
type: Directive,
|
|
1109
|
+
args: [{
|
|
1110
|
+
selector: "[bxOverlayContext]",
|
|
1111
|
+
standalone: true,
|
|
1112
|
+
providers: [{
|
|
1113
|
+
provide: BX_OVERLAY_CONTEXT,
|
|
1114
|
+
useExisting: forwardRef(() => BxOverlayContextDirective)
|
|
1115
|
+
}]
|
|
1116
|
+
}]
|
|
1117
|
+
}],
|
|
1118
|
+
propDecorators: { bxOverlayContext: [{
|
|
1119
|
+
type: i0.Input,
|
|
1120
|
+
args: [{
|
|
1121
|
+
isSignal: true,
|
|
1122
|
+
alias: "bxOverlayContext",
|
|
1123
|
+
required: false
|
|
1124
|
+
}]
|
|
1125
|
+
}] }
|
|
1126
|
+
});
|
|
1127
|
+
export { BX_OVERLAY_CONTEXT, BxOverlayContextDirective, ContextMenuDirective, DropdownDirective, Menu, MenuItem, Tooltip, TooltipDirective };
|
|
1067
1128
|
|
|
1068
1129
|
//# sourceMappingURL=filip.mazev-blocks-primitives.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filip.mazev-blocks-primitives.mjs","names":[],"sources":["../../../projects/blocks/primitives/components/tooltip/tooltip.ts","../../../projects/blocks/primitives/components/tooltip/tooltip.html","../../../projects/blocks/primitives/components/menu/menu.ts","../../../projects/blocks/primitives/components/menu/menu.html","../../../projects/blocks/primitives/components/menu-item/menu-item.ts","../../../projects/blocks/primitives/components/menu-item/menu-item.html","../../../projects/blocks/primitives/directives/tooltip.directive.ts","../../../projects/blocks/primitives/directives/dropdown.directive.ts","../../../projects/blocks/primitives/directives/context-menu.directive.ts"],"sourcesContent":["import { BxSurfaceDirective } from '@filip.mazev/blocks/effects';\nimport { Component, computed, inject, input, ChangeDetectionStrategy } from '@angular/core';\nimport { BX_I18N, BxA11yService, isTextWithKey, ResolvableText } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-tooltip',\n imports: [BxSurfaceDirective],\n templateUrl: './tooltip.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './tooltip.scss'\n})\nexport class Tooltip {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n\n protected readonly resolvedText = computed(() => {\n this.i18n?.version?.();\n\n const textData = this.text();\n if (!textData) return undefined;\n\n if (isTextWithKey(textData)) {\n return this.i18n?.translate(textData.key) ?? textData.key;\n }\n\n return textData;\n });\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n public readonly text = input.required<ResolvableText>();\n}\n","<div class=\"bx-tooltip-surface\" bxSurface [class.bx-tooltip-animated]=\"isAnimated()\">\n @if (resolvedText()) {\n {{ resolvedText() }}\n }\n</div>","import { BxSurfaceDirective } from '@filip.mazev/blocks/effects';\nimport { Component, computed, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { BxA11yService } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-menu',\n imports: [BxSurfaceDirective],\n templateUrl: './menu.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './menu.scss'\n})\nexport class Menu {\n private readonly a11y = inject(BxA11yService);\n\n public readonly isAnimated = computed(() => {\n return !this.a11y.isReducedMotion();\n });\n}\n","<div bxSurface role=\"menu\" class=\"bx-menu-wrapper\" [class.bx-menu-animated]=\"isAnimated()\">\n <ng-content></ng-content>\n</div>\n","import { BX_I18N, BxA11yService, BxShortcutService, isTextWithKey, ResolvableShortcut, ResolvableText } from '@filip.mazev/blocks/core';\nimport { Component, computed, inject, input, output, ChangeDetectionStrategy } from '@angular/core';\nimport { Icon, IconName } from '@filip.mazev/blocks/icons';\nimport { BxSurfaceDirective } from '@filip.mazev/blocks/effects';\n\n@Component({\n selector: 'bx-menu-item',\n imports: [Icon, BxSurfaceDirective],\n templateUrl: './menu-item.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './menu-item.scss'\n})\nexport class MenuItem {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n private readonly bxShortcutService = inject(BxShortcutService);\n\n protected readonly resolvedLabel = computed(() => {\n this.i18n?.version?.();\n\n const label = this.label();\n if (!label) return undefined;\n\n if (isTextWithKey(label)) {\n return this.i18n?.translate(label.key) ?? label.key;\n }\n return label;\n });\n\n protected readonly resolvedShortcut = computed(() => {\n return this.bxShortcutService.resolve(this.shortcut());\n });\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n\n public readonly icon = input<IconName | undefined>(undefined);\n public readonly endIcon = input<IconName | undefined>(undefined);\n public readonly label = input<ResolvableText | undefined>(undefined);\n public readonly wrapLabel = input(false);\n public readonly disabled = input(false);\n public readonly danger = input(false);\n\n public readonly shortcut = input<ResolvableShortcut | undefined>(undefined);\n\n public readonly action = output<MouseEvent>();\n\n protected onClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.action.emit(event);\n }\n}\n","<button bxSurface [bxSurfaceEmission]=\"danger() ? 'var(--bx-text-danger)' : 'var(--bx-primary)'\" type=\"button\" role=\"menuitem\" [disabled]=\"disabled()\" class=\"bx-menu-item-btn\" [class.is-disabled]=\"disabled()\" [class.is-danger]=\"danger()\"\n [class.bx-menu-item-animated]=\"isAnimated()\" (click)=\"onClick($event)\">\n\n @if (icon()) {\n <bx-icon class=\"bx-icon-pos-start\" [name]=\"icon()!\" size=\"20\" />\n }\n\n <span class=\"bx-menu-item-content\" [class.bx-menu-item-content-wrapped]=\"wrapLabel()\">\n @if (resolvedLabel()) {\n {{ resolvedLabel() }}\n } @else {\n <ng-content></ng-content>\n }\n </span>\n\n @if (resolvedShortcut()) {\n <span class=\"bx-menu-item-shortcut\">\n @for (key of resolvedShortcut(); track $index) {\n <kbd>{{ key }}</kbd>\n }\n </span>\n }\n\n @if (endIcon()) {\n <bx-icon class=\"bx-icon-pos-end\" [name]=\"endIcon()!\" size=\"20\" />\n }\n</button>\n","import { DestroyRef, Directive, ElementRef, HostListener, inject, input, NgZone } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BxA11yService, BxPlacement, BxOverlayPositionService, inheritOverlayTheme, ResolvableText, uuidv4 } from '@filip.mazev/blocks/core';\nimport { createGlassTransition, inheritGlassLighting } from '@filip.mazev/blocks/effects/runtime';\nimport { Tooltip } from '../components/tooltip/tooltip';\n\n@Directive({ selector: '[bxTooltip]' })\nexport class TooltipDirective {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly a11y = inject(BxA11yService);\n private readonly zone = inject(NgZone);\n private readonly id = `bx-tooltip-${uuidv4()}`;\n public readonly bxTooltip = input.required<ResolvableText>();\n public readonly placement = input<BxPlacement>('bottom');\n private overlayRef: OverlayRef | null = null;\n private transition?: ReturnType<typeof createGlassTransition>;\n private disconnectTheme?: () => void;\n private disconnectLighting?: () => void;\n private positionSubscription?: { unsubscribe(): void };\n private keyboardSubscription?: { unsubscribe(): void };\n private revision = 0;\n private hovered = false;\n private focused = false;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => this.dispose());\n }\n\n public show(): void {\n if (!this.bxTooltip()) return;\n const revision = ++this.revision;\n if (!this.overlayRef) {\n const strategy = this.positionBuilder.getElementStrategy(this.elementRef.nativeElement, this.placement()).withFlexibleDimensions(false);\n this.overlayRef = this.overlay.create({\n positionStrategy: strategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n panelClass: 'bx-tooltip-pane'\n });\n\n const pane = this.overlayRef.overlayElement;\n pane.id = this.id;\n pane.setAttribute('role', 'tooltip');\n this.disconnectTheme = this.zone.runOutsideAngular(() => inheritOverlayTheme(this.elementRef.nativeElement, pane));\n this.disconnectLighting = inheritGlassLighting(pane, this.elementRef.nativeElement);\n\n const component = this.overlayRef.attach(new ComponentPortal(Tooltip));\n // CDK enables pane pointer events during attach. Reset afterwards so the\n // emerging tooltip cannot steal hover from small or nested triggers.\n pane.style.pointerEvents = 'none';\n this.keyboardSubscription = this.overlayRef.keydownEvents().subscribe((event) => this.onEscape(event));\n component.setInput('text', this.bxTooltip());\n component.changeDetectorRef.detectChanges();\n const positionArrow = () => {\n const trigger = this.elementRef.nativeElement.getBoundingClientRect();\n const bounds = pane.getBoundingClientRect();\n pane.style.setProperty('--bx-tooltip-arrow-x', `${trigger.left + trigger.width / 2 - bounds.left}px`);\n pane.style.setProperty('--bx-tooltip-arrow-y', `${trigger.top + trigger.height / 2 - bounds.top}px`);\n this.transition?.refresh();\n };\n this.positionSubscription = strategy.positionChanges.subscribe(positionArrow);\n this.overlayRef.updatePosition();\n positionArrow();\n\n if (!this.a11y.isReducedMotion()) {\n this.transition = this.zone.runOutsideAngular(() => createGlassTransition(this.elementRef.nativeElement, pane));\n }\n }\n\n const source = this.elementRef.nativeElement;\n const ids = new Set((source.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean));\n\n ids.add(this.id);\n source.setAttribute('aria-describedby', [...ids].join(' '));\n\n void Promise.resolve(this.zone.runOutsideAngular(() => this.transition?.enter())).catch(() => {\n if (revision === this.revision) {\n this.transition?.destroy();\n this.transition = undefined;\n }\n });\n }\n\n public hide(): void {\n const revision = ++this.revision;\n this.removeDescription();\n if (!this.overlayRef) return;\n const transition = this.transition;\n if (transition && !this.a11y.isReducedMotion()) {\n void this.zone\n .runOutsideAngular(() => transition.exit())\n .then(() => {\n if (revision === this.revision) this.dispose();\n })\n .catch(() => {\n if (revision === this.revision) this.dispose();\n });\n } else this.dispose();\n }\n\n @HostListener('mouseenter')\n protected onEnter(): void {\n this.hovered = true;\n this.show();\n }\n\n @HostListener('mouseleave')\n protected onLeave(): void {\n this.hovered = false;\n if (!this.focused) this.hide();\n }\n\n @HostListener('focusin')\n protected onFocus(): void {\n this.focused = true;\n this.show();\n }\n\n @HostListener('focusout', ['$event'])\n protected onBlur(event: FocusEvent): void {\n if (event.relatedTarget instanceof Node && this.elementRef.nativeElement.contains(event.relatedTarget)) return;\n this.focused = false;\n if (!this.hovered) this.hide();\n }\n\n protected onEscape(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.overlayRef) {\n event.stopPropagation();\n this.hovered = false;\n this.focused = false;\n this.hide();\n }\n }\n\n private removeDescription(): void {\n const source = this.elementRef.nativeElement;\n const ids = (source.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter((id) => id && id !== this.id);\n if (ids.length) source.setAttribute('aria-describedby', ids.join(' '));\n else source.removeAttribute('aria-describedby');\n }\n\n private dispose(): void {\n this.removeDescription();\n this.keyboardSubscription?.unsubscribe();\n this.keyboardSubscription = undefined;\n this.positionSubscription?.unsubscribe();\n this.positionSubscription = undefined;\n this.disconnectTheme?.();\n this.disconnectTheme = undefined;\n this.transition?.destroy();\n this.transition = undefined;\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.disconnectLighting?.();\n this.disconnectLighting = undefined;\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n HostListener,\n NgZone,\n PLATFORM_ID,\n effect,\n inject,\n input,\n signal,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxA11yService, BxPlacement, BxOverlayPositionService, inheritOverlayTheme } from '@filip.mazev/blocks/core';\nimport { createGlassTransition, inheritGlassLighting } from '@filip.mazev/blocks/effects/runtime';\nimport { Subscription } from 'rxjs';\n\nexport type DropdownTransition = 'none' | 'fade' | 'emerge';\nexport type DropdownState = 'closed' | 'opening' | 'open' | 'closing';\n\n@Directive({\n selector: '[bxDropdown]',\n exportAs: 'bxDropdown',\n standalone: true,\n host: {\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-controls]': 'overlayId()'\n }\n})\nexport class DropdownDirective {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly a11y = inject(BxA11yService);\n private readonly zone = inject(NgZone);\n private readonly vcr = inject(ViewContainerRef);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n private readonly _isOpen = signal(false);\n protected readonly overlayId = signal<string | null>(null);\n public readonly isOpen = this._isOpen.asReadonly();\n private readonly _state = signal<DropdownState>('closed');\n public readonly state = this._state.asReadonly();\n\n public readonly bxDropdown = input.required<TemplateRef<unknown>>();\n public readonly placement = input<BxPlacement>('bottom');\n public readonly bxTransition = input<DropdownTransition>('fade');\n\n private overlayRef: OverlayRef | null = null;\n private transition: ReturnType<typeof createGlassTransition> | null = null;\n private subscriptions = new Subscription();\n private revision = 0;\n private disconnectTheme?: () => void;\n private disconnectLighting?: () => void;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n ++this.revision;\n this.dispose();\n });\n\n effect(() => {\n if (this.a11y.isReducedMotion() && this.transition) {\n ++this.revision;\n this.transition.destroy();\n this.transition = null;\n if (this.isOpen()) this._state.set('open');\n else this.dispose();\n }\n });\n }\n\n @HostListener('click', ['$event'])\n public toggle(event?: MouseEvent): void {\n if (this.isDisabled()) return;\n event?.stopPropagation();\n if (this.isOpen()) this.close();\n else this.open();\n }\n\n @HostListener('keydown', ['$event'])\n public onTriggerKeydown(event: KeyboardEvent): void {\n if (this.bxTransition() === 'none' || this.isDisabled() || this.isEditing(event.target)) return;\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') return;\n event.preventDefault();\n event.stopPropagation();\n this.open();\n const items = this.menuItems();\n const item = event.key === 'ArrowUp' ? items[items.length - 1] : items[0];\n item?.focus({ preventScroll: true });\n }\n\n public open(): void {\n if (!this.isBrowser || this.isOpen() || this.isDisabled()) return;\n const revision = ++this.revision;\n this._isOpen.set(true);\n this._state.set('opening');\n\n if (!this.overlayRef) this.attachOverlay();\n const overlay = this.overlayRef;\n if (!overlay) return;\n overlay.overlayElement.inert = false;\n overlay.overlayElement.style.removeProperty('pointer-events');\n\n if (this.bxTransition() !== 'none' && !this.a11y.isReducedMotion()) {\n const transition = (this.transition ??= this.zone.runOutsideAngular(() => createGlassTransition(this.elementRef.nativeElement, overlay.overlayElement)));\n void this.zone\n .runOutsideAngular(() => transition.enter())\n .then(() => {\n if (revision === this.revision && this.isOpen()) this.zone.run(() => this._state.set('open'));\n })\n .catch(() => {\n if (revision === this.revision && this.isOpen()) {\n this.transition?.destroy();\n this.transition = null;\n this._state.set('open');\n }\n });\n } else {\n this._state.set('open');\n }\n }\n\n public close(restoreFocus = false): void {\n if (!this.overlayRef || !this.isOpen()) return;\n const revision = ++this.revision;\n const overlay = this.overlayRef;\n this._isOpen.set(false);\n this._state.set('closing');\n\n const source = this.elementRef.nativeElement;\n if (restoreFocus || overlay.overlayElement.contains(source.ownerDocument.activeElement)) {\n source.focus({ preventScroll: true });\n }\n overlay.overlayElement.inert = true;\n overlay.overlayElement.style.pointerEvents = 'none';\n\n const transition = this.transition;\n if (transition && !this.a11y.isReducedMotion()) {\n void this.zone\n .runOutsideAngular(() => transition.exit())\n .then(() => {\n if (revision === this.revision && !this.isOpen()) this.zone.run(() => this.dispose());\n })\n .catch(() => {\n if (revision === this.revision && !this.isOpen()) this.dispose();\n });\n } else {\n this.dispose();\n }\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (!this.overlayRef?.hasAttached() || !this.isOpen()) return;\n const target = event.target as Node | null;\n if (!target || this.elementRef.nativeElement.contains(target)) return;\n const inside = this.overlayRef.overlayElement.contains(target);\n // Preserve existing menu item click-to-close behavior; embedded inputs can stay open.\n if (!inside || this.bxTransition() === 'none' || (target instanceof Element && target.closest('button, a, [role=\"menuitem\"]'))) {\n this.close();\n }\n }\n\n private attachOverlay(): void {\n const positionStrategy = this.positionBuilder.getElementStrategy(this.elementRef.nativeElement, this.placement(), 4);\n const overlay = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n usePopover:\n !!this.elementRef.nativeElement.closest('dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover], .app-toolbar'),\n hasBackdrop: this.bxTransition() === 'none',\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n this.overlayRef = overlay;\n this.overlayId.set(overlay.overlayElement.id || null);\n this.disconnectTheme = this.zone.runOutsideAngular(() => inheritOverlayTheme(this.elementRef.nativeElement, overlay.overlayElement));\n this.disconnectLighting = inheritGlassLighting(overlay.overlayElement, this.elementRef.nativeElement);\n this.subscriptions = new Subscription();\n this.trackScroll(overlay, positionStrategy);\n this.subscriptions.add(overlay.backdropClick().subscribe(() => this.close()));\n this.subscriptions.add(\n overlay.outsidePointerEvents().subscribe((event) => {\n if (!this.elementRef.nativeElement.contains(event.target as Node)) this.close();\n })\n );\n this.subscriptions.add(\n overlay.keydownEvents().subscribe((event) => {\n if (event.key === 'Escape' && this.isOpen()) {\n event.preventDefault();\n event.stopPropagation();\n this.close(true);\n } else if (!event.defaultPrevented && this.bxTransition() !== 'none' && this.isOpen()) {\n this.navigateMenu(event);\n }\n })\n );\n this.subscriptions.add(\n positionStrategy.positionChanges.subscribe(() => {\n this.zone.runOutsideAngular(() => this.transition?.refresh());\n })\n );\n const view = overlay.attach(new TemplatePortal(this.bxDropdown(), this.vcr));\n view.detectChanges();\n overlay.updatePosition();\n }\n\n private trackScroll(overlay: OverlayRef, positionStrategy: FlexibleConnectedPositionStrategy): void {\n const source = this.elementRef.nativeElement;\n const view = source.ownerDocument.defaultView;\n if (!view) return;\n this.zone.runOutsideAngular(() => {\n const reposition = (event: Event) => {\n const target = event.target;\n // Capture viewport and ancestor scrolling before document-level effects.\n // Nested scrollers do not need to register with CDK's ScrollDispatcher.\n // Reuse the selected placement without resetting styles and measuring\n // all fallback positions on every scroll event. Resize still recalculates.\n if (overlay.hasAttached() && (target === view || (target instanceof Node && target.contains(source)))) positionStrategy.reapplyLastPosition();\n };\n view.addEventListener('scroll', reposition, { capture: true, passive: true });\n this.subscriptions.add(() => view.removeEventListener('scroll', reposition, true));\n });\n }\n\n private isDisabled(): boolean {\n const element = this.elementRef.nativeElement;\n return element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n }\n\n private menuItems(): HTMLElement[] {\n const pane = this.overlayRef?.overlayElement;\n if (!pane) return [];\n return Array.from(pane.querySelectorAll<HTMLElement>('button, a[href], [role=\"menuitem\"]')).filter((item) => {\n if (item.matches(':disabled, [disabled], [aria-disabled=\"true\"], .is-disabled')) return false;\n if (item.closest('[hidden], [inert], [aria-hidden=\"true\"]')) return false;\n const style = item.ownerDocument.defaultView?.getComputedStyle(item);\n return style?.display !== 'none' && style?.visibility !== 'hidden' && item.getClientRects().length > 0;\n });\n }\n\n private navigateMenu(event: KeyboardEvent): void {\n if (this.isEditing(event.target) || !(event.target instanceof Node) || !this.overlayRef?.overlayElement.contains(event.target)) return;\n if (!['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) return;\n const items = this.menuItems();\n if (!items.length) return;\n const current = items.indexOf(this.elementRef.nativeElement.ownerDocument.activeElement as HTMLElement);\n let index: number;\n if (event.key === 'Home') index = 0;\n else if (event.key === 'End') index = items.length - 1;\n else if (event.key === 'ArrowDown') index = current < 0 ? 0 : (current + 1) % items.length;\n else index = current < 0 ? items.length - 1 : (current - 1 + items.length) % items.length;\n event.preventDefault();\n event.stopPropagation();\n items[index].focus({ preventScroll: true });\n }\n\n private isEditing(target: EventTarget | null): boolean {\n return target instanceof Element && !!target.closest('input, textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role=\"textbox\"]');\n }\n\n private dispose(): void {\n this.disconnectTheme?.();\n this.disconnectTheme = undefined;\n this.transition?.destroy();\n this.transition = null;\n this.subscriptions.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.disconnectLighting?.();\n this.disconnectLighting = undefined;\n this.overlayId.set(null);\n this._isOpen.set(false);\n this._state.set('closed');\n }\n}\n","import { DestroyRef, Directive, ElementRef, HostListener, inject, input, NgZone, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxA11yService, BxOverlayPositionService, inheritOverlayTheme } from '@filip.mazev/blocks/core';\nimport { createGlassTransition, inheritGlassLighting } from '@filip.mazev/blocks/effects/runtime';\nimport { Subscription } from 'rxjs';\n\n@Directive({ selector: '[bxContextMenu]' })\nexport class ContextMenuDirective {\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly a11y = inject(BxA11yService);\n private readonly zone = inject(NgZone);\n private readonly vcr = inject(ViewContainerRef);\n public readonly bxContextMenu = input.required<TemplateRef<unknown>>();\n private overlayRef: OverlayRef | null = null;\n private transition?: ReturnType<typeof createGlassTransition>;\n private point?: HTMLElement;\n private disconnectTheme?: () => void;\n private disconnectLighting?: () => void;\n private subscriptions = new Subscription();\n private revision = 0;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n ++this.revision;\n this.dispose();\n });\n }\n\n @HostListener('contextmenu', ['$event'])\n public open(event: MouseEvent): void {\n event.preventDefault();\n this.openAt(event.clientX, event.clientY);\n }\n\n public close(restoreFocus = false): void {\n if (!this.overlayRef) return;\n const revision = ++this.revision;\n if (restoreFocus || this.overlayRef.overlayElement.contains(this.elementRef.nativeElement.ownerDocument.activeElement)) {\n this.elementRef.nativeElement.focus({ preventScroll: true });\n }\n this.overlayRef.overlayElement.inert = true;\n const transition = this.transition;\n if (transition && !this.a11y.isReducedMotion()) {\n void this.zone\n .runOutsideAngular(() => transition.exit())\n .then(() => {\n if (revision === this.revision) this.dispose();\n })\n .catch(() => {\n if (revision === this.revision) this.dispose();\n });\n } else this.dispose();\n }\n\n @HostListener('keydown', ['$event'])\n protected onKey(event: KeyboardEvent): void {\n if (event.key !== 'ContextMenu' && !(event.shiftKey && event.key === 'F10')) return;\n event.preventDefault();\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n this.openAt(rect.left + Math.min(24, rect.width / 2), rect.bottom);\n this.items()[0]?.focus();\n }\n\n @HostListener('document:click', ['$event'])\n protected onDocumentClick(event: MouseEvent): void {\n const target = event.target as HTMLElement | null;\n if (target && this.overlayRef?.overlayElement.contains(target) && target.closest('button, a, [role=\"menuitem\"]')) this.close();\n }\n\n private openAt(x: number, y: number): void {\n this.dispose();\n ++this.revision;\n const source = this.elementRef.nativeElement;\n this.overlayRef = this.overlay.create({\n positionStrategy: this.positionBuilder.getCoordinateStrategy(x, y),\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n usePopover: !!source.closest('dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover], .app-toolbar'),\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n this.subscriptions = new Subscription();\n const win = source.ownerDocument.defaultView;\n if (win) {\n this.zone.runOutsideAngular(() => {\n const closeOnScroll = (event: Event) => {\n const target = event.target;\n if (this.overlayRef?.overlayElement.inert) return;\n if (target === win || (target instanceof Node && target.contains(source))) this.zone.run(() => this.close());\n };\n win.addEventListener('scroll', closeOnScroll, { capture: true, passive: true });\n this.subscriptions.add(() => win.removeEventListener('scroll', closeOnScroll, true));\n });\n }\n this.subscriptions.add(this.overlayRef.backdropClick().subscribe(() => this.close()));\n this.subscriptions.add(this.overlayRef.detachments().subscribe(() => this.dispose()));\n this.subscriptions.add(this.overlayRef.keydownEvents().subscribe((event) => this.onMenuKey(event)));\n const pane = this.overlayRef.overlayElement;\n this.disconnectTheme = this.zone.runOutsideAngular(() => inheritOverlayTheme(source, pane));\n this.disconnectLighting = inheritGlassLighting(pane, source);\n const view = this.overlayRef.attach(new TemplatePortal(this.bxContextMenu(), this.vcr));\n view.detectChanges();\n this.overlayRef.updatePosition();\n if (!this.a11y.isReducedMotion()) {\n const point = source.ownerDocument.createElement('span');\n point.setAttribute('aria-hidden', 'true');\n Object.assign(point.style, { position: 'fixed', left: `${x}px`, top: `${y}px`, width: '1px', height: '1px', pointerEvents: 'none' });\n source.ownerDocument.body.append(point);\n this.point = point;\n const transition = this.zone.runOutsideAngular(() => createGlassTransition(point, pane));\n this.transition = transition;\n void this.zone\n .runOutsideAngular(() => transition.enter())\n .catch(() => {\n this.transition?.destroy();\n this.transition = undefined;\n });\n }\n }\n\n private items(): HTMLElement[] {\n return Array.from(this.overlayRef?.overlayElement.querySelectorAll<HTMLElement>('button:not(:disabled), a[href], [role=\"menuitem\"]') ?? []).filter(\n (item) => !item.matches('[disabled], [aria-disabled=\"true\"]') && !item.closest('[hidden], [inert]')\n );\n }\n\n private onMenuKey(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close(true);\n return;\n }\n if ((event.target as HTMLElement)?.closest('input,textarea,[contenteditable=\"true\"]')) return;\n if (!['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) return;\n const items = this.items();\n if (!items.length) return;\n event.preventDefault();\n const current = items.indexOf(this.elementRef.nativeElement.ownerDocument.activeElement as HTMLElement);\n const next =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? items.length - 1\n : event.key === 'ArrowDown'\n ? (current + 1) % items.length\n : current < 0\n ? items.length - 1\n : (current - 1 + items.length) % items.length;\n items[next].focus();\n }\n\n private dispose(): void {\n this.subscriptions.unsubscribe();\n this.disconnectTheme?.();\n this.disconnectTheme = undefined;\n this.transition?.destroy();\n this.transition = undefined;\n this.point?.remove();\n this.point = undefined;\n const overlay = this.overlayRef;\n this.overlayRef = null;\n overlay?.dispose();\n this.disconnectLighting?.();\n this.disconnectLighting = undefined;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filip.mazev-blocks-primitives.mjs","names":[],"sources":["../../../projects/blocks/primitives/components/tooltip/tooltip.ts","../../../projects/blocks/primitives/components/tooltip/tooltip.html","../../../projects/blocks/primitives/components/menu/menu.ts","../../../projects/blocks/primitives/components/menu/menu.html","../../../projects/blocks/primitives/components/menu-item/menu-item.ts","../../../projects/blocks/primitives/components/menu-item/menu-item.html","../../../projects/blocks/primitives/directives/tooltip.directive.ts","../../../projects/blocks/primitives/directives/overlay-context.token.ts","../../../projects/blocks/primitives/directives/dropdown.directive.ts","../../../projects/blocks/primitives/directives/context-menu.directive.ts","../../../projects/blocks/primitives/directives/overlay-context.directive.ts"],"sourcesContent":["import { BxSurfaceDirective } from '@filip.mazev/blocks/effects';\nimport { Component, computed, inject, input, ChangeDetectionStrategy } from '@angular/core';\nimport { BX_I18N, BxA11yService, isTextWithKey, ResolvableText } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-tooltip',\n imports: [BxSurfaceDirective],\n templateUrl: './tooltip.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './tooltip.scss'\n})\nexport class Tooltip {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n\n protected readonly resolvedText = computed(() => {\n this.i18n?.version?.();\n\n const textData = this.text();\n if (!textData) return undefined;\n\n if (isTextWithKey(textData)) {\n return this.i18n?.translate(textData.key) ?? textData.key;\n }\n\n return textData;\n });\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n public readonly text = input.required<ResolvableText>();\n}\n","<div class=\"bx-tooltip-surface\" bxSurface [class.bx-tooltip-animated]=\"isAnimated()\">\n @if (resolvedText()) {\n {{ resolvedText() }}\n }\n</div>","import { BxSurfaceDirective } from '@filip.mazev/blocks/effects';\nimport { Component, computed, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { BxA11yService } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-menu',\n imports: [BxSurfaceDirective],\n templateUrl: './menu.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './menu.scss'\n})\nexport class Menu {\n private readonly a11y = inject(BxA11yService);\n\n public readonly isAnimated = computed(() => {\n return !this.a11y.isReducedMotion();\n });\n}\n","<div bxSurface role=\"menu\" class=\"bx-menu-wrapper\" [class.bx-menu-animated]=\"isAnimated()\">\n <ng-content></ng-content>\n</div>\n","import { BX_I18N, BxA11yService, BxShortcutService, isTextWithKey, ResolvableShortcut, ResolvableText } from '@filip.mazev/blocks/core';\nimport { Component, computed, inject, input, output, ChangeDetectionStrategy } from '@angular/core';\nimport { Icon, IconName } from '@filip.mazev/blocks/icons';\nimport { BxSurfaceDirective } from '@filip.mazev/blocks/effects';\n\n@Component({\n selector: 'bx-menu-item',\n imports: [Icon, BxSurfaceDirective],\n templateUrl: './menu-item.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './menu-item.scss'\n})\nexport class MenuItem {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n private readonly bxShortcutService = inject(BxShortcutService);\n\n protected readonly resolvedLabel = computed(() => {\n this.i18n?.version?.();\n\n const label = this.label();\n if (!label) return undefined;\n\n if (isTextWithKey(label)) {\n return this.i18n?.translate(label.key) ?? label.key;\n }\n return label;\n });\n\n protected readonly resolvedShortcut = computed(() => {\n return this.bxShortcutService.resolve(this.shortcut());\n });\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n\n public readonly icon = input<IconName | undefined>(undefined);\n public readonly endIcon = input<IconName | undefined>(undefined);\n public readonly label = input<ResolvableText | undefined>(undefined);\n public readonly wrapLabel = input(false);\n public readonly disabled = input(false);\n public readonly danger = input(false);\n\n public readonly shortcut = input<ResolvableShortcut | undefined>(undefined);\n\n public readonly action = output<MouseEvent>();\n\n protected onClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.action.emit(event);\n }\n}\n","<button bxSurface [bxSurfaceEmission]=\"danger() ? 'var(--bx-text-danger)' : 'var(--bx-primary)'\" type=\"button\" role=\"menuitem\" [disabled]=\"disabled()\" class=\"bx-menu-item-btn\" [class.is-disabled]=\"disabled()\" [class.is-danger]=\"danger()\"\n [class.bx-menu-item-animated]=\"isAnimated()\" (click)=\"onClick($event)\">\n\n @if (icon()) {\n <bx-icon class=\"bx-icon-pos-start\" [name]=\"icon()!\" size=\"20\" />\n }\n\n <span class=\"bx-menu-item-content\" [class.bx-menu-item-content-wrapped]=\"wrapLabel()\">\n @if (resolvedLabel()) {\n {{ resolvedLabel() }}\n } @else {\n <ng-content></ng-content>\n }\n </span>\n\n @if (resolvedShortcut()) {\n <span class=\"bx-menu-item-shortcut\">\n @for (key of resolvedShortcut(); track $index) {\n <kbd>{{ key }}</kbd>\n }\n </span>\n }\n\n @if (endIcon()) {\n <bx-icon class=\"bx-icon-pos-end\" [name]=\"endIcon()!\" size=\"20\" />\n }\n</button>\n","import { DestroyRef, Directive, ElementRef, HostListener, inject, input, NgZone } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BxA11yService, BxPlacement, BxOverlayPositionService, inheritOverlayTheme, ResolvableText, uuidv4 } from '@filip.mazev/blocks/core';\nimport { createGlassTransition, inheritGlassLighting } from '@filip.mazev/blocks/effects/runtime';\nimport { Tooltip } from '../components/tooltip/tooltip';\n\n@Directive({ selector: '[bxTooltip]' })\nexport class TooltipDirective {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly a11y = inject(BxA11yService);\n private readonly zone = inject(NgZone);\n private readonly id = `bx-tooltip-${uuidv4()}`;\n public readonly bxTooltip = input.required<ResolvableText>();\n public readonly placement = input<BxPlacement>('bottom');\n private overlayRef: OverlayRef | null = null;\n private transition?: ReturnType<typeof createGlassTransition>;\n private disconnectTheme?: () => void;\n private disconnectLighting?: () => void;\n private positionSubscription?: { unsubscribe(): void };\n private keyboardSubscription?: { unsubscribe(): void };\n private revision = 0;\n private hovered = false;\n private focused = false;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => this.dispose());\n }\n\n public show(): void {\n if (!this.bxTooltip()) return;\n const revision = ++this.revision;\n if (!this.overlayRef) {\n const strategy = this.positionBuilder.getElementStrategy(this.elementRef.nativeElement, this.placement()).withFlexibleDimensions(false);\n this.overlayRef = this.overlay.create({\n positionStrategy: strategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n panelClass: 'bx-tooltip-pane'\n });\n\n const pane = this.overlayRef.overlayElement;\n pane.id = this.id;\n pane.setAttribute('role', 'tooltip');\n this.disconnectTheme = this.zone.runOutsideAngular(() => inheritOverlayTheme(this.elementRef.nativeElement, pane));\n this.disconnectLighting = inheritGlassLighting(pane, this.elementRef.nativeElement);\n\n const component = this.overlayRef.attach(new ComponentPortal(Tooltip));\n // CDK enables pane pointer events during attach. Reset afterwards so the\n // emerging tooltip cannot steal hover from small or nested triggers.\n pane.style.pointerEvents = 'none';\n this.keyboardSubscription = this.overlayRef.keydownEvents().subscribe((event) => this.onEscape(event));\n component.setInput('text', this.bxTooltip());\n component.changeDetectorRef.detectChanges();\n const positionArrow = () => {\n const trigger = this.elementRef.nativeElement.getBoundingClientRect();\n const bounds = pane.getBoundingClientRect();\n pane.style.setProperty('--bx-tooltip-arrow-x', `${trigger.left + trigger.width / 2 - bounds.left}px`);\n pane.style.setProperty('--bx-tooltip-arrow-y', `${trigger.top + trigger.height / 2 - bounds.top}px`);\n this.transition?.refresh();\n };\n this.positionSubscription = strategy.positionChanges.subscribe(positionArrow);\n this.overlayRef.updatePosition();\n positionArrow();\n\n if (!this.a11y.isReducedMotion()) {\n this.transition = this.zone.runOutsideAngular(() => createGlassTransition(this.elementRef.nativeElement, pane));\n }\n }\n\n const source = this.elementRef.nativeElement;\n const ids = new Set((source.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean));\n\n ids.add(this.id);\n source.setAttribute('aria-describedby', [...ids].join(' '));\n\n void Promise.resolve(this.zone.runOutsideAngular(() => this.transition?.enter())).catch(() => {\n if (revision === this.revision) {\n this.transition?.destroy();\n this.transition = undefined;\n }\n });\n }\n\n public hide(): void {\n const revision = ++this.revision;\n this.removeDescription();\n if (!this.overlayRef) return;\n const transition = this.transition;\n if (transition && !this.a11y.isReducedMotion()) {\n void this.zone\n .runOutsideAngular(() => transition.exit())\n .then(() => {\n if (revision === this.revision) this.dispose();\n })\n .catch(() => {\n if (revision === this.revision) this.dispose();\n });\n } else this.dispose();\n }\n\n @HostListener('mouseenter')\n protected onEnter(): void {\n this.hovered = true;\n this.show();\n }\n\n @HostListener('mouseleave')\n protected onLeave(): void {\n this.hovered = false;\n if (!this.focused) this.hide();\n }\n\n @HostListener('focusin')\n protected onFocus(): void {\n this.focused = true;\n this.show();\n }\n\n @HostListener('focusout', ['$event'])\n protected onBlur(event: FocusEvent): void {\n if (event.relatedTarget instanceof Node && this.elementRef.nativeElement.contains(event.relatedTarget)) return;\n this.focused = false;\n if (!this.hovered) this.hide();\n }\n\n protected onEscape(event: KeyboardEvent): void {\n if (event.key === 'Escape' && this.overlayRef) {\n event.stopPropagation();\n this.hovered = false;\n this.focused = false;\n this.hide();\n }\n }\n\n private removeDescription(): void {\n const source = this.elementRef.nativeElement;\n const ids = (source.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter((id) => id && id !== this.id);\n if (ids.length) source.setAttribute('aria-describedby', ids.join(' '));\n else source.removeAttribute('aria-describedby');\n }\n\n private dispose(): void {\n this.removeDescription();\n this.keyboardSubscription?.unsubscribe();\n this.keyboardSubscription = undefined;\n this.positionSubscription?.unsubscribe();\n this.positionSubscription = undefined;\n this.disconnectTheme?.();\n this.disconnectTheme = undefined;\n this.transition?.destroy();\n this.transition = undefined;\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.disconnectLighting?.();\n this.disconnectLighting = undefined;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface IBxOverlayContext {\n useTopLayer?: boolean;\n}\n\nexport const BX_OVERLAY_CONTEXT = new InjectionToken<IBxOverlayContext>('BX_OVERLAY_CONTEXT');\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n HostListener,\n NgZone,\n PLATFORM_ID,\n effect,\n inject,\n input,\n signal,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxA11yService, BxPlacement, BxOverlayPositionService, inheritOverlayTheme } from '@filip.mazev/blocks/core';\nimport { createGlassTransition, inheritGlassLighting } from '@filip.mazev/blocks/effects/runtime';\nimport { BX_OVERLAY_CONTEXT } from './overlay-context.token';\nimport { Subscription } from 'rxjs';\n\nexport type DropdownTransition = 'none' | 'fade' | 'emerge';\nexport type DropdownState = 'closed' | 'opening' | 'open' | 'closing';\n\n@Directive({\n selector: '[bxDropdown]',\n exportAs: 'bxDropdown',\n standalone: true,\n host: {\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-controls]': 'overlayId()'\n }\n})\nexport class DropdownDirective {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly overlayContext = inject(BX_OVERLAY_CONTEXT, { optional: true });\n private readonly a11y = inject(BxA11yService);\n private readonly zone = inject(NgZone);\n private readonly vcr = inject(ViewContainerRef);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n private readonly _isOpen = signal(false);\n protected readonly overlayId = signal<string | null>(null);\n public readonly isOpen = this._isOpen.asReadonly();\n private readonly _state = signal<DropdownState>('closed');\n public readonly state = this._state.asReadonly();\n\n public readonly bxDropdown = input.required<TemplateRef<unknown>>();\n public readonly placement = input<BxPlacement>('bottom');\n public readonly bxTransition = input<DropdownTransition>('fade');\n\n private overlayRef: OverlayRef | null = null;\n private transition: ReturnType<typeof createGlassTransition> | null = null;\n private subscriptions = new Subscription();\n private revision = 0;\n private disconnectTheme?: () => void;\n private disconnectLighting?: () => void;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n ++this.revision;\n this.dispose();\n });\n\n effect(() => {\n if (this.a11y.isReducedMotion() && this.transition) {\n ++this.revision;\n this.transition.destroy();\n this.transition = null;\n if (this.isOpen()) this._state.set('open');\n else this.dispose();\n }\n });\n }\n\n @HostListener('click', ['$event'])\n public toggle(event?: MouseEvent): void {\n if (this.isDisabled()) return;\n event?.stopPropagation();\n if (this.isOpen()) this.close();\n else this.open();\n }\n\n @HostListener('keydown', ['$event'])\n public onTriggerKeydown(event: KeyboardEvent): void {\n if (this.bxTransition() === 'none' || this.isDisabled() || this.isEditing(event.target)) return;\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') return;\n event.preventDefault();\n event.stopPropagation();\n this.open();\n const items = this.menuItems();\n const item = event.key === 'ArrowUp' ? items[items.length - 1] : items[0];\n item?.focus({ preventScroll: true });\n }\n\n public open(): void {\n if (!this.isBrowser || this.isOpen() || this.isDisabled()) return;\n const revision = ++this.revision;\n this._isOpen.set(true);\n this._state.set('opening');\n\n if (!this.overlayRef) this.attachOverlay();\n const overlay = this.overlayRef;\n if (!overlay) return;\n overlay.overlayElement.inert = false;\n overlay.overlayElement.style.removeProperty('pointer-events');\n\n if (this.bxTransition() !== 'none' && !this.a11y.isReducedMotion()) {\n const transition = (this.transition ??= this.zone.runOutsideAngular(() => createGlassTransition(this.elementRef.nativeElement, overlay.overlayElement)));\n void this.zone\n .runOutsideAngular(() => transition.enter())\n .then(() => {\n if (revision === this.revision && this.isOpen()) this.zone.run(() => this._state.set('open'));\n })\n .catch(() => {\n if (revision === this.revision && this.isOpen()) {\n this.transition?.destroy();\n this.transition = null;\n this._state.set('open');\n }\n });\n } else {\n this._state.set('open');\n }\n }\n\n public close(restoreFocus = false): void {\n if (!this.overlayRef || !this.isOpen()) return;\n const revision = ++this.revision;\n const overlay = this.overlayRef;\n this._isOpen.set(false);\n this._state.set('closing');\n\n const source = this.elementRef.nativeElement;\n if (restoreFocus || overlay.overlayElement.contains(source.ownerDocument.activeElement)) {\n source.focus({ preventScroll: true });\n }\n overlay.overlayElement.inert = true;\n overlay.overlayElement.style.pointerEvents = 'none';\n\n const transition = this.transition;\n if (transition && !this.a11y.isReducedMotion()) {\n void this.zone\n .runOutsideAngular(() => transition.exit())\n .then(() => {\n if (revision === this.revision && !this.isOpen()) this.zone.run(() => this.dispose());\n })\n .catch(() => {\n if (revision === this.revision && !this.isOpen()) this.dispose();\n });\n } else {\n this.dispose();\n }\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (!this.overlayRef?.hasAttached() || !this.isOpen()) return;\n const target = event.target as Node | null;\n if (!target || this.elementRef.nativeElement.contains(target)) return;\n const inside = this.overlayRef.overlayElement.contains(target);\n // Preserve existing menu item click-to-close behavior; embedded inputs can stay open.\n if (!inside || this.bxTransition() === 'none' || (target instanceof Element && target.closest('button, a, [role=\"menuitem\"]'))) {\n this.close();\n }\n }\n\n private attachOverlay(): void {\n const positionStrategy = this.positionBuilder.getElementStrategy(this.elementRef.nativeElement, this.placement(), 4);\n const overlay = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n usePopover:\n !!this.overlayContext?.useTopLayer ||\n !!this.elementRef.nativeElement.closest('dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover]'),\n // A fading surface keeps its trigger reachable while it opens/closes.\n hasBackdrop: this.bxTransition() === 'none',\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n this.overlayRef = overlay;\n this.overlayId.set(overlay.overlayElement.id || null);\n this.disconnectTheme = this.zone.runOutsideAngular(() => inheritOverlayTheme(this.elementRef.nativeElement, overlay.overlayElement));\n this.disconnectLighting = inheritGlassLighting(overlay.overlayElement, this.elementRef.nativeElement);\n this.subscriptions = new Subscription();\n this.trackScroll(overlay, positionStrategy);\n this.subscriptions.add(overlay.backdropClick().subscribe(() => this.close()));\n this.subscriptions.add(\n overlay.outsidePointerEvents().subscribe((event) => {\n if (!this.elementRef.nativeElement.contains(event.target as Node)) this.close();\n })\n );\n this.subscriptions.add(\n overlay.keydownEvents().subscribe((event) => {\n if (event.key === 'Escape' && this.isOpen()) {\n event.preventDefault();\n event.stopPropagation();\n this.close(true);\n } else if (!event.defaultPrevented && this.bxTransition() !== 'none' && this.isOpen()) {\n this.navigateMenu(event);\n }\n })\n );\n this.subscriptions.add(\n positionStrategy.positionChanges.subscribe(() => {\n this.zone.runOutsideAngular(() => this.transition?.refresh());\n })\n );\n const view = overlay.attach(new TemplatePortal(this.bxDropdown(), this.vcr));\n view.detectChanges();\n overlay.updatePosition();\n }\n\n private trackScroll(overlay: OverlayRef, positionStrategy: FlexibleConnectedPositionStrategy): void {\n const source = this.elementRef.nativeElement;\n const view = source.ownerDocument.defaultView;\n if (!view) return;\n this.zone.runOutsideAngular(() => {\n const reposition = (event: Event) => {\n const target = event.target;\n // Capture viewport and ancestor scrolling before document-level effects.\n // Nested scrollers do not need to register with CDK's ScrollDispatcher.\n // Reuse the selected placement without resetting styles and measuring\n // all fallback positions on every scroll event. Resize still recalculates.\n if (overlay.hasAttached() && (target === view || (target instanceof Node && target.contains(source)))) positionStrategy.reapplyLastPosition();\n };\n view.addEventListener('scroll', reposition, { capture: true, passive: true });\n this.subscriptions.add(() => view.removeEventListener('scroll', reposition, true));\n });\n }\n\n private isDisabled(): boolean {\n const element = this.elementRef.nativeElement;\n return element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n }\n\n private menuItems(): HTMLElement[] {\n const pane = this.overlayRef?.overlayElement;\n if (!pane) return [];\n return Array.from(pane.querySelectorAll<HTMLElement>('button, a[href], [role=\"menuitem\"]')).filter((item) => {\n if (item.matches(':disabled, [disabled], [aria-disabled=\"true\"], .is-disabled')) return false;\n if (item.closest('[hidden], [inert], [aria-hidden=\"true\"]')) return false;\n const style = item.ownerDocument.defaultView?.getComputedStyle(item);\n return style?.display !== 'none' && style?.visibility !== 'hidden' && item.getClientRects().length > 0;\n });\n }\n\n private navigateMenu(event: KeyboardEvent): void {\n if (this.isEditing(event.target) || !(event.target instanceof Node) || !this.overlayRef?.overlayElement.contains(event.target)) return;\n if (!['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) return;\n const items = this.menuItems();\n if (!items.length) return;\n const current = items.indexOf(this.elementRef.nativeElement.ownerDocument.activeElement as HTMLElement);\n let index: number;\n if (event.key === 'Home') index = 0;\n else if (event.key === 'End') index = items.length - 1;\n else if (event.key === 'ArrowDown') index = current < 0 ? 0 : (current + 1) % items.length;\n else index = current < 0 ? items.length - 1 : (current - 1 + items.length) % items.length;\n event.preventDefault();\n event.stopPropagation();\n items[index].focus({ preventScroll: true });\n }\n\n private isEditing(target: EventTarget | null): boolean {\n return target instanceof Element && !!target.closest('input, textarea, select, [contenteditable]:not([contenteditable=\"false\"]), [role=\"textbox\"]');\n }\n\n private dispose(): void {\n this.disconnectTheme?.();\n this.disconnectTheme = undefined;\n this.transition?.destroy();\n this.transition = null;\n this.subscriptions.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.disconnectLighting?.();\n this.disconnectLighting = undefined;\n this.overlayId.set(null);\n this._isOpen.set(false);\n this._state.set('closed');\n }\n}\n","import { DestroyRef, Directive, ElementRef, HostListener, inject, input, NgZone, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxA11yService, BxOverlayPositionService, inheritOverlayTheme } from '@filip.mazev/blocks/core';\nimport { createGlassTransition, inheritGlassLighting } from '@filip.mazev/blocks/effects/runtime';\nimport { BX_OVERLAY_CONTEXT } from './overlay-context.token';\nimport { Subscription } from 'rxjs';\n\n@Directive({ selector: '[bxContextMenu]' })\nexport class ContextMenuDirective {\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly overlayContext = inject(BX_OVERLAY_CONTEXT, { optional: true });\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly a11y = inject(BxA11yService);\n private readonly zone = inject(NgZone);\n private readonly vcr = inject(ViewContainerRef);\n public readonly bxContextMenu = input.required<TemplateRef<unknown>>();\n private overlayRef: OverlayRef | null = null;\n private transition?: ReturnType<typeof createGlassTransition>;\n private point?: HTMLElement;\n private disconnectTheme?: () => void;\n private disconnectLighting?: () => void;\n private subscriptions = new Subscription();\n private revision = 0;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n ++this.revision;\n this.dispose();\n });\n }\n\n @HostListener('contextmenu', ['$event'])\n public open(event: MouseEvent): void {\n event.preventDefault();\n this.openAt(event.clientX, event.clientY);\n }\n\n public close(restoreFocus = false): void {\n if (!this.overlayRef) return;\n const revision = ++this.revision;\n if (restoreFocus || this.overlayRef.overlayElement.contains(this.elementRef.nativeElement.ownerDocument.activeElement)) {\n this.elementRef.nativeElement.focus({ preventScroll: true });\n }\n this.overlayRef.overlayElement.inert = true;\n const transition = this.transition;\n if (transition && !this.a11y.isReducedMotion()) {\n void this.zone\n .runOutsideAngular(() => transition.exit())\n .then(() => {\n if (revision === this.revision) this.dispose();\n })\n .catch(() => {\n if (revision === this.revision) this.dispose();\n });\n } else this.dispose();\n }\n\n @HostListener('keydown', ['$event'])\n protected onKey(event: KeyboardEvent): void {\n if (event.key !== 'ContextMenu' && !(event.shiftKey && event.key === 'F10')) return;\n event.preventDefault();\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n this.openAt(rect.left + Math.min(24, rect.width / 2), rect.bottom);\n this.items()[0]?.focus();\n }\n\n @HostListener('document:click', ['$event'])\n protected onDocumentClick(event: MouseEvent): void {\n const target = event.target as HTMLElement | null;\n if (target && this.overlayRef?.overlayElement.contains(target) && target.closest('button, a, [role=\"menuitem\"]')) this.close();\n }\n\n private openAt(x: number, y: number): void {\n this.dispose();\n ++this.revision;\n const source = this.elementRef.nativeElement;\n this.overlayRef = this.overlay.create({\n positionStrategy: this.positionBuilder.getCoordinateStrategy(x, y),\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n usePopover: !!this.overlayContext?.useTopLayer || !!source.closest('dialog, [role=\"dialog\"], [role=\"alertdialog\"], bx-modal, bx-modal-core, [popover]'),\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n this.subscriptions = new Subscription();\n const win = source.ownerDocument.defaultView;\n if (win) {\n this.zone.runOutsideAngular(() => {\n const closeOnScroll = (event: Event) => {\n const target = event.target;\n if (this.overlayRef?.overlayElement.inert) return;\n if (target === win || (target instanceof Node && target.contains(source))) this.zone.run(() => this.close());\n };\n win.addEventListener('scroll', closeOnScroll, { capture: true, passive: true });\n this.subscriptions.add(() => win.removeEventListener('scroll', closeOnScroll, true));\n });\n }\n this.subscriptions.add(this.overlayRef.backdropClick().subscribe(() => this.close()));\n this.subscriptions.add(this.overlayRef.detachments().subscribe(() => this.dispose()));\n this.subscriptions.add(this.overlayRef.keydownEvents().subscribe((event) => this.onMenuKey(event)));\n const pane = this.overlayRef.overlayElement;\n this.disconnectTheme = this.zone.runOutsideAngular(() => inheritOverlayTheme(source, pane));\n this.disconnectLighting = inheritGlassLighting(pane, source);\n const view = this.overlayRef.attach(new TemplatePortal(this.bxContextMenu(), this.vcr));\n view.detectChanges();\n this.overlayRef.updatePosition();\n if (!this.a11y.isReducedMotion()) {\n const point = source.ownerDocument.createElement('span');\n point.setAttribute('aria-hidden', 'true');\n Object.assign(point.style, { position: 'fixed', left: `${x}px`, top: `${y}px`, width: '1px', height: '1px', pointerEvents: 'none' });\n source.ownerDocument.body.append(point);\n this.point = point;\n const transition = this.zone.runOutsideAngular(() => createGlassTransition(point, pane));\n this.transition = transition;\n void this.zone\n .runOutsideAngular(() => transition.enter())\n .catch(() => {\n this.transition?.destroy();\n this.transition = undefined;\n });\n }\n }\n\n private items(): HTMLElement[] {\n return Array.from(this.overlayRef?.overlayElement.querySelectorAll<HTMLElement>('button:not(:disabled), a[href], [role=\"menuitem\"]') ?? []).filter(\n (item) => !item.matches('[disabled], [aria-disabled=\"true\"]') && !item.closest('[hidden], [inert]')\n );\n }\n\n private onMenuKey(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close(true);\n return;\n }\n if ((event.target as HTMLElement)?.closest('input,textarea,[contenteditable=\"true\"]')) return;\n if (!['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) return;\n const items = this.items();\n if (!items.length) return;\n event.preventDefault();\n const current = items.indexOf(this.elementRef.nativeElement.ownerDocument.activeElement as HTMLElement);\n const next =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? items.length - 1\n : event.key === 'ArrowDown'\n ? (current + 1) % items.length\n : current < 0\n ? items.length - 1\n : (current - 1 + items.length) % items.length;\n items[next].focus();\n }\n\n private dispose(): void {\n this.subscriptions.unsubscribe();\n this.disconnectTheme?.();\n this.disconnectTheme = undefined;\n this.transition?.destroy();\n this.transition = undefined;\n this.point?.remove();\n this.point = undefined;\n const overlay = this.overlayRef;\n this.overlayRef = null;\n overlay?.dispose();\n this.disconnectLighting?.();\n this.disconnectLighting = undefined;\n }\n}\n","import { Directive, forwardRef, input } from '@angular/core';\nimport { BX_OVERLAY_CONTEXT, IBxOverlayContext } from './overlay-context.token';\n\n@Directive({\n selector: '[bxOverlayContext]',\n standalone: true,\n providers: [{ provide: BX_OVERLAY_CONTEXT, useExisting: forwardRef(() => BxOverlayContextDirective) }]\n})\nexport class BxOverlayContextDirective implements IBxOverlayContext {\n public readonly bxOverlayContext = input<IBxOverlayContext>({});\n\n public get useTopLayer(): boolean | undefined {\n return this.bxOverlayContext().useTopLayer;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filip.mazev-blocks.mjs","names":[],"sources":["../../../projects/blocks/src/public-api.ts"],"sourcesContent":["/* * Public API Surface of blocks\n * This file is auto-generated. Do not edit directly.\n */\n\nexport const BLOCKS_VERSION = '1.4.
|
|
1
|
+
{"version":3,"file":"filip.mazev-blocks.mjs","names":[],"sources":["../../../projects/blocks/src/public-api.ts"],"sourcesContent":["/* * Public API Surface of blocks\n * This file is auto-generated. Do not edit directly.\n */\n\nexport const BLOCKS_VERSION = '1.4.7';\n"],"mappings":"AAIA,MAAa,iBAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BxPlacement, ResolvableShortcut, ResolvableText } from "@filip.mazev/blocks/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import { TemplateRef } from "@angular/core";
|
|
3
|
+
import { InjectionToken, TemplateRef } from "@angular/core";
|
|
4
4
|
export declare class Tooltip {
|
|
5
5
|
private readonly i18n;
|
|
6
6
|
private readonly a11y;
|
|
@@ -29,8 +29,8 @@ export declare class MenuItem {
|
|
|
29
29
|
protected readonly resolvedLabel: import("@angular/core").Signal<string | undefined>;
|
|
30
30
|
protected readonly resolvedShortcut: import("@angular/core").Signal<string[] | undefined>;
|
|
31
31
|
readonly isAnimated: import("@angular/core").Signal<boolean>;
|
|
32
|
-
readonly icon: import("@angular/core").InputSignal<"code" | "form" | "link" | "map" | "menu" | "option" | "search" | "section" | "summary" | "table" | "video" | "circle" | "ellipse" | "filter" | "image" | "text" | "view" | "frame" | "command" | "copy" | "focus" | "pause" | "play" | "scroll" | "x" | "slice" | "a-arrow-down" | "a-arrow-up" | "a-large-small" | "accessibility" | "activity-square" | "activity" | "ad" | "air-vent" | "airplay" | "alarm-check" | "alarm-clock-check" | "alarm-clock-minus" | "alarm-clock-off" | "alarm-clock-plus" | "alarm-clock" | "alarm-minus" | "alarm-plus" | "alarm-smoke" | "album" | "alert-circle" | "alert-octagon" | "alert-triangle" | "align-center-horizontal" | "align-center-vertical" | "align-center" | "align-end-horizontal" | "align-end-vertical" | "align-horizontal-distribute-center" | "align-horizontal-distribute-end" | "align-horizontal-distribute-start" | "align-horizontal-justify-center" | "align-horizontal-justify-end" | "align-horizontal-justify-start" | "align-horizontal-space-around" | "align-horizontal-space-between" | "align-justify" | "align-left" | "align-right" | "align-start-horizontal" | "align-start-vertical" | "align-vertical-distribute-center" | "align-vertical-distribute-end" | "align-vertical-distribute-start" | "align-vertical-justify-center" | "align-vertical-justify-end" | "align-vertical-justify-start" | "align-vertical-space-around" | "align-vertical-space-between" | "ambulance" | "ampersand" | "ampersands" | "amphora" | "anchor" | "angle" | "angry" | "annoyed" | "antenna" | "anvil" | "aperture" | "app-window-mac" | "app-window" | "apple" | "archive-restore" | "archive-x" | "archive" | "area-chart" | "armchair" | "armenian-dram" | "arrow-big-down-dash" | "arrow-big-down" | "arrow-big-left-dash" | "arrow-big-left" | "arrow-big-right-dash" | "arrow-big-right" | "arrow-big-up-dash" | "arrow-big-up" | "arrow-down-0-1" | "arrow-down-01" | "arrow-down-1-0" | "arrow-down-10" | "arrow-down-a-z" | "arrow-down-az" | "arrow-down-circle" | "arrow-down-from-line" | "arrow-down-left-from-circle" | "arrow-down-left-from-square" | "arrow-down-left-square" | "arrow-down-left" | "arrow-down-narrow-wide" | "arrow-down-right-from-circle" | "arrow-down-right-from-square" | "arrow-down-right-square" | "arrow-down-right" | "arrow-down-square" | "arrow-down-to-dot" | "arrow-down-to-line" | "arrow-down-up" | "arrow-down-wide-narrow" | "arrow-down-z-a" | "arrow-down-za" | "arrow-down" | "arrow-left-circle" | "arrow-left-from-line" | "arrow-left-right" | "arrow-left-square" | "arrow-left-to-line" | "arrow-left" | "arrow-right-circle" | "arrow-right-from-line" | "arrow-right-left" | "arrow-right-square" | "arrow-right-to-line" | "arrow-right" | "arrow-up-0-1" | "arrow-up-01" | "arrow-up-1-0" | "arrow-up-10" | "arrow-up-a-z" | "arrow-up-az" | "arrow-up-circle" | "arrow-up-down" | "arrow-up-from-dot" | "arrow-up-from-line" | "arrow-up-left-from-circle" | "arrow-up-left-from-square" | "arrow-up-left-square" | "arrow-up-left" | "arrow-up-narrow-wide" | "arrow-up-right-from-circle" | "arrow-up-right-from-square" | "arrow-up-right-square" | "arrow-up-right" | "arrow-up-square" | "arrow-up-to-line" | "arrow-up-wide-narrow" | "arrow-up-z-a" | "arrow-up-za" | "arrow-up" | "arrows-up-from-line" | "asterisk-square" | "asterisk" | "astroid" | "at-sign" | "atom" | "audio-lines-off" | "audio-lines-x" | "audio-lines" | "audio-waveform" | "avocado" | "award" | "axe" | "axis-3-d" | "axis-3d" | "azerbaijani-manat" | "baby" | "backpack" | "bacon" | "badge-alert" | "badge-cent" | "badge-check" | "badge-dollar-sign" | "badge-euro" | "badge-help" | "badge-indian-rupee" | "badge-info" | "badge-japanese-yen" | "badge-minus" | "badge-percent" | "badge-plus" | "badge-pound-sterling" | "badge-question-mark" | "badge-russian-ruble" | "badge-swiss-franc" | "badge-turkish-lira" | "badge-x" | "badge" | "baggage-claim" | "ball-wave" | "balloon" | "ban" | "banana" | "bandage" | "bangladeshi-taka" | "banknote-arrow-down" | "banknote-arrow-up" | "banknote-check" | "banknote-x" | "banknote" | "bar-chart-2" | "bar-chart-3" | "bar-chart-4" | "bar-chart-big" | "bar-chart-horizontal-big" | "bar-chart-horizontal" | "bar-chart" | "barcode" | "barrel" | "baseline" | "bath" | "battery-charging" | "battery-full" | "battery-low" | "battery-medium" | "battery-plus" | "battery-warning" | "battery" | "beaker" | "bean-off" | "bean" | "bed-double" | "bed-single" | "bed" | "beef-off" | "beef" | "beer-off" | "beer" | "belarusian-ruble" | "bell-check" | "bell-dot" | "bell-electric" | "bell-minus" | "bell-off" | "bell-plus" | "bell-ring" | "bell" | "between-horizonal-end" | "between-horizonal-start" | "between-horizontal-end" | "between-horizontal-start" | "between-vertical-end" | "between-vertical-start" | "biceps-flexed" | "bike" | "binary" | "binoculars" | "biohazard" | "bird" | "birdhouse" | "bitcoin" | "blend" | "blender" | "blinds" | "blocks" | "bluetooth-connected" | "bluetooth-off" | "bluetooth-searching" | "bluetooth" | "bold" | "bolt" | "bomb" | "bone-fracture" | "bone" | "book-a" | "book-alert" | "book-audio" | "book-bookmark" | "book-check" | "book-copy" | "book-dashed" | "book-down" | "book-headphones" | "book-heart" | "book-image" | "book-key" | "book-lock" | "book-marked" | "book-minus" | "book-open-check" | "book-open-text" | "book-open" | "book-plus" | "book-search" | "book-template" | "book-text" | "book-type" | "book-up-2" | "book-up" | "book-user" | "book-x" | "book" | "bookmark-check" | "bookmark-minus" | "bookmark-off" | "bookmark-plus" | "bookmark-x" | "bookmark" | "boom-box" | "bot-message-square" | "bot-off" | "bot" | "bottle-wine" | "bow-arrow" | "box-select" | "box" | "boxes" | "braces" | "brackets" | "brain-circuit" | "brain-cog" | "brain-off" | "brain" | "brick-wall-fire" | "brick-wall-shield" | "brick-wall" | "bridge" | "briefcase-business" | "briefcase-conveyor-belt" | "briefcase-medical" | "briefcase-plus" | "briefcase" | "bring-to-front" | "broccoli" | "broom-sparkles" | "broom" | "brush-cleaning" | "brush" | "bubbles" | "bug-off" | "bug-play" | "bug" | "building-2" | "building-complex-plus" | "building-complex" | "building" | "bus-front" | "bus" | "cable-car" | "cable" | "cake-slice" | "cake" | "calculator" | "calendar-1" | "calendar-arrow-down" | "calendar-arrow-up" | "calendar-check-2" | "calendar-check" | "calendar-chevrons-left" | "calendar-chevrons-right" | "calendar-clock" | "calendar-cog" | "calendar-days" | "calendar-fold" | "calendar-heart" | "calendar-minus-2" | "calendar-minus" | "calendar-off" | "calendar-plus-2" | "calendar-plus" | "calendar-range" | "calendar-search" | "calendar-sync" | "calendar-x-2" | "calendar-x" | "calendar" | "calendars" | "camera-off" | "camera" | "can-soda" | "can" | "candlestick-chart" | "candy-cane" | "candy-off" | "candy" | "cannabis-off" | "cannabis" | "captions-off" | "captions" | "car-battery" | "car-front" | "car-taxi-front" | "car" | "caravan" | "card-sim" | "carrot" | "carton-off" | "carton" | "case-lower" | "case-sensitive" | "case-upper" | "cassette-tape" | "cast" | "castle" | "cat" | "cctv-off" | "cctv" | "certificate" | "chart-area" | "chart-bar-big" | "chart-bar-decreasing" | "chart-bar-increasing" | "chart-bar-stacked" | "chart-bar" | "chart-candlestick" | "chart-column-big" | "chart-column-decreasing" | "chart-column-increasing" | "chart-column-stacked" | "chart-column" | "chart-gantt" | "chart-line" | "chart-network" | "chart-no-axes-column-decreasing" | "chart-no-axes-column-increasing" | "chart-no-axes-column" | "chart-no-axes-combined" | "chart-no-axes-gantt" | "chart-pie" | "chart-scatter" | "chart-spline" | "check-check" | "check-circle-2" | "check-circle" | "check-line" | "check-square-2" | "check-square" | "check" | "chef-hat" | "cherry" | "chess-bishop" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-down-circle" | "chevron-down-square" | "chevron-down" | "chevron-first" | "chevron-last" | "chevron-left-circle" | "chevron-left-square" | "chevron-left" | "chevron-right-circle" | "chevron-right-square" | "chevron-right" | "chevron-up-circle" | "chevron-up-square" | "chevron-up" | "chevrons-down-up" | "chevrons-down" | "chevrons-left-right-ellipsis" | "chevrons-left-right" | "chevrons-left" | "chevrons-right-left" | "chevrons-right" | "chevrons-up-down" | "chevrons-up" | "church" | "cigarette-off" | "cigarette" | "circle-alert" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-out-down-left" | "circle-arrow-out-down-right" | "circle-arrow-out-up-left" | "circle-arrow-out-up-right" | "circle-arrow-right" | "circle-arrow-up" | "circle-check-big" | "circle-check" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-chevrons-down" | "circle-chevrons-left" | "circle-chevrons-right" | "circle-chevrons-up" | "circle-dashed-check" | "circle-dashed" | "circle-divide" | "circle-dollar-sign" | "circle-dot-dashed" | "circle-dot" | "circle-ellipsis" | "circle-equal" | "circle-euro" | "circle-fading-arrow-up" | "circle-fading-play" | "circle-fading-plus" | "circle-gauge" | "circle-help" | "circle-minus" | "circle-off" | "circle-parking-off" | "circle-parking" | "circle-pause" | "circle-percent" | "circle-pile" | "circle-play" | "circle-plus" | "circle-pound-sterling" | "circle-power" | "circle-question-mark" | "circle-slash-2" | "circle-slash" | "circle-slashed" | "circle-small" | "circle-star" | "circle-stop" | "circle-user-round" | "circle-user" | "circle-x" | "circuit-board" | "citrus" | "clapperboard" | "clef-alto" | "clef-bass" | "clef-treble" | "clipboard-check" | "clipboard-clock" | "clipboard-copy" | "clipboard-edit" | "clipboard-list" | "clipboard-minus" | "clipboard-paste" | "clipboard-pen-line" | "clipboard-pen" | "clipboard-plus" | "clipboard-signature" | "clipboard-type" | "clipboard-x" | "clipboard" | "clock-1" | "clock-10" | "clock-11" | "clock-12" | "clock-2" | "clock-3" | "clock-4" | "clock-5" | "clock-6" | "clock-7" | "clock-8" | "clock-9" | "clock-alert" | "clock-arrow-down" | "clock-arrow-left" | "clock-arrow-right" | "clock-arrow-up" | "clock-check" | "clock-fading" | "clock-plus" | "clock" | "closed-caption" | "cloud-alert" | "cloud-backup" | "cloud-check" | "cloud-cog" | "cloud-download" | "cloud-drizzle" | "cloud-fog" | "cloud-hail" | "cloud-lightning" | "cloud-moon-rain" | "cloud-moon" | "cloud-off" | "cloud-rain-wind" | "cloud-rain" | "cloud-snow" | "cloud-sun-rain" | "cloud-sun" | "cloud-sync" | "cloud-upload" | "cloud" | "cloudy" | "clover" | "club" | "code-2" | "code-square" | "code-xml" | "coffee" | "cog" | "coins" | "columns-2" | "columns-3-cog" | "columns-3" | "columns-4" | "columns-settings" | "columns" | "combine" | "compass" | "component" | "computer" | "concierge-bell" | "cone" | "construction" | "contact-2" | "contact-round" | "contact" | "container" | "contrast" | "cookie" | "cooking-pot" | "copy-check" | "copy-minus" | "copy-plus" | "copy-slash" | "copy-x" | "copyleft" | "copyright" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "cpu-ai" | "cpu" | "creative-commons" | "credit-card-check" | "credit-card-minus" | "credit-card-plus" | "credit-card-reader" | "credit-card-x" | "credit-card" | "croissant" | "crop" | "cross" | "crosshair" | "crown" | "cuboid" | "cup-soda" | "cupcake" | "curly-braces" | "currency" | "cylinder" | "dam" | "database-arrow-down" | "database-arrow-up" | "database-backup" | "database-check" | "database-minus" | "database-plus" | "database-search" | "database-x" | "database-zap" | "database" | "decimals-arrow-left" | "decimals-arrow-right" | "delete" | "dessert" | "diameter" | "diamond-minus" | "diamond-percent" | "diamond-plus" | "diamond" | "dice-1" | "dice-2" | "dice-3" | "dice-4" | "dice-5" | "dice-6" | "dices" | "diff" | "disc-2" | "disc-3" | "disc-album" | "disc" | "divide-circle" | "divide-square" | "divide" | "dna-off" | "dna" | "dock" | "dog" | "dollar-sign" | "dome" | "donut" | "door-closed-cog" | "door-closed-locked" | "door-closed-package" | "door-closed" | "door-open" | "door-stairwell" | "dot-square" | "dot" | "download-cloud" | "download" | "drafting-compass" | "drama" | "drill" | "drone" | "droplet-off" | "droplet" | "droplets" | "drum" | "drumstick" | "dumbbell" | "ear-off" | "ear" | "earth-lock" | "earth" | "eclipse" | "edit-2" | "edit-3" | "edit" | "egg-fried" | "egg-off" | "egg" | "eighth-note" | "eighth-notes" | "eject" | "ellipsis-vertical" | "ellipsis" | "emirati-dirham" | "engine" | "equal-approximately-not" | "equal-approximately" | "equal-not" | "equal-square" | "equal" | "eraser" | "ethernet-port" | "euro" | "ev-charger" | "expand" | "external-link" | "eye-closed" | "eye-dashed" | "eye-off" | "eye" | "face-angry" | "face-expressionless" | "face-grinning" | "face-neutral" | "face-slightly-frowning" | "face-slightly-smiling-plus" | "face-slightly-smiling" | "factory" | "fan" | "fast-forward" | "faucet" | "feather" | "fence" | "ferris-wheel" | "file-archive" | "file-audio-2" | "file-audio" | "file-axis-3-d" | "file-axis-3d" | "file-badge-2" | "file-badge" | "file-bar-chart-2" | "file-bar-chart" | "file-box" | "file-braces-corner" | "file-braces" | "file-chart-column-increasing" | "file-chart-column" | "file-chart-line" | "file-chart-pie" | "file-check-2" | "file-check-corner" | "file-check" | "file-clock" | "file-code-2" | "file-code-corner" | "file-code" | "file-cog-2" | "file-cog" | "file-diff" | "file-digit" | "file-down" | "file-edit" | "file-exclamation-point" | "file-headphone" | "file-heart" | "file-image" | "file-input" | "file-json-2" | "file-json" | "file-key-2" | "file-key" | "file-line-chart" | "file-lock-2" | "file-lock" | "file-minus-2" | "file-minus-corner" | "file-minus" | "file-music" | "file-output" | "file-pen-line" | "file-pen" | "file-pie-chart" | "file-play" | "file-plus-2" | "file-plus-corner" | "file-plus" | "file-question-mark" | "file-question" | "file-scan" | "file-search-2" | "file-search-corner" | "file-search" | "file-signal" | "file-signature" | "file-sliders" | "file-spreadsheet" | "file-stack" | "file-symlink" | "file-terminal" | "file-text" | "file-type-2" | "file-type-corner" | "file-type" | "file-up" | "file-user" | "file-video-2" | "file-video-camera" | "file-video" | "file-volume-2" | "file-volume" | "file-warning" | "file-x-2" | "file-x-corner" | "file-x" | "file" | "files" | "film" | "filter-x" | "fingerprint-pattern" | "fingerprint" | "fire-extinguisher" | "fish-off" | "fish-symbol" | "fish" | "fishing-hook" | "fishing-rod" | "flag-off" | "flag-triangle-left" | "flag-triangle-right" | "flag" | "flame-kindling" | "flame" | "flashlight-off" | "flashlight" | "flask-conical-off" | "flask-conical" | "flask-round" | "flip-horizontal-2" | "flip-horizontal" | "flip-vertical-2" | "flip-vertical" | "flower-2" | "flower" | "fold-horizontal" | "fold-vertical" | "folder-archive" | "folder-bookmark" | "folder-check" | "folder-clock" | "folder-closed" | "folder-code" | "folder-cog-2" | "folder-cog" | "folder-dot" | "folder-down" | "folder-edit" | "folder-git-2" | "folder-git" | "folder-heart" | "folder-input" | "folder-kanban" | "folder-key" | "folder-lock" | "folder-minus" | "folder-open-dot" | "folder-open" | "folder-output" | "folder-pen" | "folder-plus" | "folder-root" | "folder-search-2" | "folder-search" | "folder-symlink" | "folder-sync" | "folder-tree" | "folder-up" | "folder-user" | "folder-users" | "folder-x" | "folder" | "folders" | "footprints" | "fork-knife-crossed" | "fork-knife" | "forklift" | "form-input" | "forward" | "frown" | "fuel" | "fullscreen" | "function-square" | "funnel-plus" | "funnel-x" | "funnel" | "galaxy" | "gallery-horizontal-end" | "gallery-horizontal" | "gallery-thumbnails" | "gallery-vertical-end" | "gallery-vertical" | "gamepad-2" | "gamepad-directional" | "gamepad" | "gantt-chart-square" | "gantt-chart" | "gap-horizontal" | "gap-vertical" | "gauge-circle" | "gauge" | "gavel" | "gem" | "georgian-lari" | "germ-off" | "germ" | "ghost" | "gift" | "git-branch-minus" | "git-branch-plus" | "git-branch" | "git-commit-horizontal" | "git-commit-vertical" | "git-commit" | "git-compare-arrows" | "git-compare" | "git-fork" | "git-graph" | "git-merge-conflict" | "git-merge" | "git-pull-request-arrow" | "git-pull-request-closed" | "git-pull-request-create-arrow" | "git-pull-request-create" | "git-pull-request-draft" | "git-pull-request" | "glass-water" | "glasses" | "globe-2" | "globe-check" | "globe-code" | "globe-lock" | "globe-off" | "globe-x" | "globe" | "goal" | "gpu" | "grab" | "graduation-cap" | "grape" | "graph-hub" | "graph-star" | "grid-2-x-2-check" | "grid-2-x-2-plus" | "grid-2-x-2-x" | "grid-2-x-2" | "grid-2x2-check" | "grid-2x2-plus" | "grid-2x2-x" | "grid-2x2" | "grid-3-x-3" | "grid-3x2" | "grid-3x3" | "grid" | "grip-horizontal" | "grip-vertical" | "grip" | "groceries" | "group" | "guitar-electric" | "guitar" | "half-note" | "ham" | "hamburger" | "hammer" | "hand-coins" | "hand-fist" | "hand-grab" | "hand-heart" | "hand-helping" | "hand-metal" | "hand-platter" | "hand" | "handbag" | "handle-bottom-right" | "handshake" | "hard-drive-download" | "hard-drive-upload" | "hard-drive" | "hard-hat" | "hash" | "hat-glasses" | "haze" | "hd" | "hdmi-port" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "heading" | "headphone-off" | "headphones" | "headset" | "heart-crack" | "heart-handshake" | "heart-minus" | "heart-off" | "heart-plus" | "heart-pulse" | "heart-x" | "heart" | "heater" | "helicopter" | "help-circle" | "helping-hand" | "hexagon" | "highlighter" | "hiking-stick" | "history" | "hockey-stick" | "home" | "hop-off" | "hop" | "hospital" | "hot-air-balloon" | "hotel" | "hourglass-cog" | "hourglass" | "house-cog" | "house-heart" | "house-plug" | "house-plus" | "house-wifi" | "house" | "houses" | "ice-cream-2" | "ice-cream-bowl" | "ice-cream-cone" | "ice-cream" | "id-card-lanyard" | "id-card" | "image-down" | "image-minus" | "image-off" | "image-play" | "image-plus" | "image-up" | "image-upscale" | "images" | "import" | "inbox" | "indent-decrease" | "indent-increase" | "indent" | "indian-rupee" | "infinity" | "info" | "inspect" | "inspection-panel" | "italic" | "iteration-ccw" | "iteration-cw" | "iv-bag" | "japanese-yen" | "joystick" | "kanban-square-dashed" | "kanban-square" | "kanban" | "kayak" | "kazakh-tenge" | "key-round" | "key-square" | "key" | "keyboard-music" | "keyboard-off" | "keyboard" | "lambda" | "lamp-ceiling" | "lamp-desk" | "lamp-floor" | "lamp-wall-down" | "lamp-wall-up" | "lamp" | "land-plot" | "landmark" | "languages" | "laptop-2" | "laptop-minimal-check" | "laptop-minimal" | "laptop" | "lasso-select" | "lasso" | "laugh" | "layer-arrow-down" | "layer-arrow-up" | "layers-2" | "layers-3" | "layers-arrow-down" | "layers-arrow-up" | "layers-minus" | "layers-plus" | "layers" | "layout-arrow-down" | "layout-arrow-right" | "layout-dashboard" | "layout-freeform" | "layout-grid-circles" | "layout-grid" | "layout-list" | "layout-panel-left" | "layout-panel-top" | "layout-template" | "layout" | "leaf" | "leafy-green" | "lectern" | "lens-concave" | "lens-convex" | "lens" | "letter-spacing" | "letter-text" | "letters" | "library-big" | "library-square" | "library" | "life-buoy" | "ligature" | "lightbulb-off" | "lightbulb" | "lighthouse" | "line-chart" | "line-dot-bottom-vertical" | "line-dot-left-horizontal" | "line-dot-right-horizontal" | "line-dot-top-vertical" | "line-height" | "line-squiggle" | "line-style" | "link-2-off" | "link-2" | "list-check" | "list-checks" | "list-chevrons-down-up" | "list-chevrons-up-down" | "list-clock" | "list-collapse" | "list-end" | "list-filter-plus" | "list-filter" | "list-indent-decrease" | "list-indent-increase" | "list-minus" | "list-music" | "list-ordered" | "list-plus" | "list-restart" | "list-sort-ascending" | "list-sort-descending" | "list-start" | "list-todo" | "list-tree" | "list-video" | "list-x" | "list" | "loader-2" | "loader-circle" | "loader-pinwheel" | "loader" | "locate-fixed" | "locate-off" | "locate" | "location-edit" | "lock-keyhole-open" | "lock-keyhole" | "lock-open" | "lock" | "log-in" | "log-out" | "logs" | "lollipop" | "luggage" | "m-square" | "magnet" | "mail-badge" | "mail-check" | "mail-clock" | "mail-dot" | "mail-minus" | "mail-open" | "mail-pen" | "mail-plus" | "mail-question-mark" | "mail-question" | "mail-search" | "mail-warning" | "mail-x" | "mail" | "mailbox" | "mails" | "map-minus" | "map-pin-check-inside" | "map-pin-check" | "map-pin-house" | "map-pin-minus-inside" | "map-pin-minus" | "map-pin-off" | "map-pin-pen" | "map-pin-plus-inside" | "map-pin-plus" | "map-pin-search" | "map-pin-x-inside" | "map-pin-x" | "map-pin" | "map-pinned" | "map-plus" | "mars-stroke" | "mars" | "martini" | "maximize-2" | "maximize" | "medal" | "megaphone-off" | "megaphone" | "meh" | "memory-stick" | "menu-square" | "merge" | "message-circle-check" | "message-circle-code" | "message-circle-dashed-check" | "message-circle-dashed" | "message-circle-heart" | "message-circle-more" | "message-circle-off" | "message-circle-plus" | "message-circle-question-mark" | "message-circle-question" | "message-circle-reply" | "message-circle-text" | "message-circle-warning" | "message-circle-x" | "message-circle" | "message-square-check" | "message-square-code" | "message-square-dashed" | "message-square-diff" | "message-square-dot" | "message-square-heart" | "message-square-lock" | "message-square-more" | "message-square-off" | "message-square-plus" | "message-square-quote" | "message-square-reply" | "message-square-share" | "message-square-text" | "message-square-warning" | "message-square-x" | "message-square" | "messages-circle" | "messages-square" | "metronome" | "mic-2" | "mic-audio-lines" | "mic-off" | "mic-signal" | "mic-vocal" | "mic" | "microchip" | "microscope" | "microwave" | "midi-port" | "milestone" | "milk-off" | "milk" | "minimize-2" | "minimize" | "minus-circle" | "minus-square" | "minus" | "mirror-rectangular" | "mirror-round" | "monitor-check" | "monitor-cloud" | "monitor-cog" | "monitor-dot" | "monitor-down" | "monitor-off" | "monitor-pause" | "monitor-pc" | "monitor-play" | "monitor-smartphone" | "monitor-speaker" | "monitor-stop" | "monitor-up" | "monitor-x" | "monitor" | "moon-star" | "moon" | "mop-sparkles" | "mop" | "more-horizontal" | "more-vertical" | "mosque" | "motorbike" | "mountain-snow" | "mountain" | "mouse-left" | "mouse-off" | "mouse-pointer-2-off" | "mouse-pointer-2" | "mouse-pointer-ban" | "mouse-pointer-click" | "mouse-pointer-square-dashed" | "mouse-pointer" | "mouse-right" | "mouse" | "mouth-off" | "mouth" | "move-3-d" | "move-3d" | "move-diagonal-2" | "move-diagonal" | "move-down-left" | "move-down-right" | "move-down" | "move-horizontal" | "move-left" | "move-right" | "move-up-left" | "move-up-right" | "move-up" | "move-vertical" | "move" | "music-2" | "music-3" | "music-4" | "music" | "navigation-2-off" | "navigation-2" | "navigation-off" | "navigation" | "nepali-rupee" | "network" | "newspaper" | "nfc" | "non-binary" | "notebook-dot" | "notebook-pen" | "notebook-tabs" | "notebook-text" | "notebook" | "notepad-text-dashed" | "notepad-text" | "nut-off" | "nut" | "octagon-alert" | "octagon-minus" | "octagon-pause" | "octagon-x" | "octagon" | "omega" | "orbit" | "origami" | "outdent" | "package-2" | "package-check" | "package-minus" | "package-open" | "package-plus" | "package-search" | "package-x" | "package" | "paint-bucket" | "paint-roller" | "paintbrush-2" | "paintbrush-vertical" | "paintbrush" | "palette" | "palmtree" | "panda" | "panel-bottom-close" | "panel-bottom-dashed" | "panel-bottom-inactive" | "panel-bottom-open" | "panel-bottom" | "panel-left-close" | "panel-left-dashed" | "panel-left-inactive" | "panel-left-open" | "panel-left-right-dashed" | "panel-left" | "panel-right-close" | "panel-right-dashed" | "panel-right-inactive" | "panel-right-open" | "panel-right" | "panel-top-bottom-dashed" | "panel-top-close" | "panel-top-dashed" | "panel-top-inactive" | "panel-top-open" | "panel-top" | "panels-left-bottom" | "panels-left-right" | "panels-right-bottom" | "panels-top-bottom" | "panels-top-left" | "paper-bag" | "paperclip" | "parasol" | "parentheses" | "park" | "parking-circle-off" | "parking-circle" | "parking-meter" | "parking-square-off" | "parking-square" | "party-popper" | "pause-circle" | "pause-octagon" | "paw-print" | "pc-case" | "pen-box" | "pen-line" | "pen-off" | "pen-square" | "pen-tool" | "pen" | "pencil-line" | "pencil-off" | "pencil-ruler" | "pencil-sparkles" | "pencil" | "pentagon" | "percent-circle" | "percent-diamond" | "percent-square" | "percent" | "perfume-bottle" | "person-standing" | "phi" | "philippine-peso" | "phone-call" | "phone-forwarded" | "phone-incoming" | "phone-log" | "phone-missed" | "phone-off" | "phone-outgoing" | "phone" | "pi-square" | "pi" | "piano" | "pickaxe" | "picture-in-picture-2" | "picture-in-picture" | "pie-chart" | "piggy-bank" | "pilcrow-left" | "pilcrow-right" | "pilcrow-square" | "pilcrow" | "pill-bottle" | "pill" | "pin-off" | "pin" | "pipette" | "pizza" | "plane-landing" | "plane-takeoff" | "plane" | "plant-pot" | "play-circle" | "play-off" | "play-square" | "playing-card" | "playing-cards-fan" | "playing-cards" | "plug-2" | "plug-zap-2" | "plug-zap" | "plug" | "plus-circle" | "plus-square" | "plus" | "pocket-knife" | "podcast" | "podium" | "pointer-off" | "pointer" | "popcorn" | "popsicle" | "pound-sterling" | "power-circle" | "power-off" | "power-square" | "power" | "presentation" | "printer-3d" | "printer-check" | "printer-x" | "printer" | "projector" | "proportions" | "puzzle" | "pyramid" | "qr-code" | "quote" | "rabbit" | "radar" | "radiation" | "radical" | "radio-off" | "radio-receiver" | "radio-tower" | "radio" | "radius" | "rainbow" | "rat" | "ratio" | "receipt-cent" | "receipt-euro" | "receipt-indian-rupee" | "receipt-japanese-yen" | "receipt-pound-sterling" | "receipt-russian-ruble" | "receipt-swiss-franc" | "receipt-text" | "receipt-turkish-lira" | "receipt" | "rectangle-circle" | "rectangle-ellipsis" | "rectangle-goggles" | "rectangle-horizontal" | "rectangle-vertical" | "recycle" | "redo-2" | "redo-dot" | "redo" | "refresh-ccw-dot" | "refresh-ccw" | "refresh-cw-off" | "refresh-cw" | "refrigerator" | "regex" | "remove-formatting" | "repeat-1" | "repeat-2" | "repeat-off" | "repeat" | "replace-all" | "replace" | "reply-all" | "reply" | "rewind" | "ribbon" | "road" | "robot-arm" | "robot-vacuum" | "rocket" | "rocking-chair" | "roller-coaster" | "rose" | "rotate-3-d" | "rotate-3d" | "rotate-ccw-clock" | "rotate-ccw-key" | "rotate-ccw-square" | "rotate-ccw" | "rotate-cw-clock" | "rotate-cw-fading-clock" | "rotate-cw-square" | "rotate-cw" | "route-off" | "route" | "router" | "rows-2" | "rows-3" | "rows-4" | "rows" | "rss" | "rugby-ball" | "ruler-dimension-line" | "ruler" | "russian-ruble" | "sailboat" | "salad" | "sandwich" | "satellite-dish" | "satellite" | "saudi-riyal" | "save-all" | "save-check" | "save-off" | "save-pen" | "save-plus" | "save" | "scale-3-d" | "scale-3d" | "scale" | "scaling" | "scan-barcode" | "scan-box" | "scan-eye" | "scan-face" | "scan-heart" | "scan-line" | "scan-qr-code" | "scan-search" | "scan-square" | "scan-text" | "scan" | "scatter-chart" | "school-2" | "school" | "scissors-line-dashed" | "scissors-square-dashed-bottom" | "scissors-square" | "scissors" | "scooter" | "scratch-blocks" | "screen-share-off" | "screen-share" | "screw" | "scroll-text" | "search-alert" | "search-check" | "search-code" | "search-slash" | "search-x" | "send-horizonal" | "send-horizontal" | "send-to-back" | "send" | "separator-horizontal" | "separator-vertical" | "server-cog" | "server-crash" | "server-nas" | "server-off" | "server-plus" | "server" | "settings-2" | "settings" | "shapes" | "share-2" | "share" | "sheet" | "shell" | "shelving-unit" | "shield-alert" | "shield-ban" | "shield-check" | "shield-close" | "shield-cog-corner" | "shield-cog" | "shield-ellipsis" | "shield-half" | "shield-house" | "shield-keyhole" | "shield-lock" | "shield-minus" | "shield-off" | "shield-plus" | "shield-question-mark" | "shield-question" | "shield-user" | "shield-x" | "shield" | "ship-cargo" | "ship-wheel" | "ship" | "shirt" | "shopping-bag" | "shopping-basket" | "shopping-cart-minus" | "shopping-cart-plus" | "shopping-cart" | "shovel" | "shower-head" | "shredder" | "shrimp-off" | "shrimp" | "shrink" | "shrub" | "shuffle" | "sidebar-close" | "sidebar-open" | "sidebar" | "sigma-square" | "sigma" | "signal-high" | "signal-low" | "signal-medium" | "signal-zero" | "signal" | "signature" | "signpost-big" | "signpost" | "siren" | "sixteenth-notes" | "skip-back" | "skip-forward" | "skull" | "slash-square" | "slash" | "sliders-horizontal" | "sliders-vertical" | "sliders" | "smartphone-charging" | "smartphone-nfc" | "smartphone-user-round" | "smartphone" | "smile-plus" | "smile" | "snail" | "snowflake" | "soap-dispenser-droplet" | "sofa" | "solar-panel" | "sort-asc" | "sort-desc" | "soup" | "space" | "spade" | "sparkle" | "sparkles" | "speaker" | "speech" | "spell-check-2" | "spell-check" | "spline-pointer" | "spline" | "split-square-horizontal" | "split-square-vertical" | "split" | "spool" | "sport-shoe" | "spotlight" | "spray-can" | "sprout" | "square-activity" | "square-arrow-down-left" | "square-arrow-down-right" | "square-arrow-down" | "square-arrow-left" | "square-arrow-out-down-left" | "square-arrow-out-down-right" | "square-arrow-out-up-left" | "square-arrow-out-up-right" | "square-arrow-right-enter" | "square-arrow-right-exit" | "square-arrow-right" | "square-arrow-up-left" | "square-arrow-up-right" | "square-arrow-up" | "square-asterisk" | "square-bookmark" | "square-bottom-dashed-scissors" | "square-centerline-dashed-horizontal" | "square-centerline-dashed-vertical" | "square-chart-gantt" | "square-check-big" | "square-check" | "square-chevron-down" | "square-chevron-left" | "square-chevron-right" | "square-chevron-up" | "square-code" | "square-dashed-bottom-code" | "square-dashed-bottom" | "square-dashed-kanban" | "square-dashed-mouse-pointer" | "square-dashed-plus" | "square-dashed-text" | "square-dashed-top-solid" | "square-dashed-x-corner" | "square-dashed-x" | "square-dashed" | "square-dimensions" | "square-divide" | "square-dot" | "square-equal" | "square-exclamation-point" | "square-function" | "square-gantt-chart" | "square-kanban" | "square-library" | "square-m" | "square-menu" | "square-minus" | "square-mouse-pointer" | "square-off" | "square-parking-off" | "square-parking" | "square-pause" | "square-pen" | "square-percent" | "square-pi" | "square-pilcrow" | "square-play" | "square-plus" | "square-power" | "square-radical" | "square-round-corner" | "square-scissors" | "square-sigma" | "square-slash" | "square-sparkles" | "square-split-horizontal" | "square-split-vertical" | "square-square" | "square-stack" | "square-star" | "square-stop" | "square-terminal" | "square-text" | "square-user-round" | "square-user" | "square-x" | "square" | "squares-exclude" | "squares-intersect" | "squares-subtract" | "squares-unite" | "squircle-dashed" | "squircle" | "squirrel" | "stamp" | "star-check" | "star-half" | "star-minus" | "star-off" | "star-plus" | "star-x" | "star" | "stars" | "step-back" | "step-forward" | "stethoscope" | "sticker" | "sticky-note-check" | "sticky-note-minus" | "sticky-note-off" | "sticky-note-plus" | "sticky-note-x" | "sticky-note" | "sticky-notes" | "stone" | "stop-circle" | "store" | "stretch-horizontal" | "stretch-vertical" | "strikethrough" | "subscript" | "subtitles" | "sun-dim" | "sun-medium" | "sun-moon" | "sun-snow" | "sun" | "sunrise" | "sunset" | "superscript" | "swatch-book" | "swiss-franc" | "switch-camera" | "sword" | "swords" | "syringe" | "table-2" | "table-cells-merge" | "table-cells-split" | "table-columns-split" | "table-config" | "table-of-contents" | "table-properties" | "table-rows-split" | "tablet-smartphone" | "tablet" | "tablets" | "tag-plus" | "tag-x" | "tag" | "tags" | "tally-1" | "tally-2" | "tally-3" | "tally-4" | "tally-5" | "tangent" | "target" | "telescope" | "tent-tree" | "tent" | "terminal-square" | "terminal" | "test-tube-2" | "test-tube-diagonal" | "test-tube" | "test-tubes" | "text-align-center" | "text-align-end" | "text-align-justify-center" | "text-align-justify-end" | "text-align-justify-start" | "text-align-justify" | "text-align-start" | "text-cursor-input" | "text-cursor" | "text-initial" | "text-quote" | "text-search" | "text-select" | "text-selection" | "text-wrap" | "theater" | "thermometer-snowflake" | "thermometer-sun" | "thermometer" | "thumbs-down" | "thumbs-up" | "tic-tac-toe" | "ticket-check" | "ticket-minus" | "ticket-percent" | "ticket-plus" | "ticket-slash" | "ticket-x" | "ticket" | "tickets-plane" | "tickets" | "timeline" | "timer-off" | "timer-reset" | "timer" | "toggle-left" | "toggle-right" | "toilet" | "tombstone" | "tool-case" | "toolbox" | "toothbrush-sparkles" | "toothbrush" | "tornado" | "torus" | "touchpad-off" | "touchpad" | "towel-rack" | "tower-control" | "toy-brick" | "tractor" | "traffic-cone" | "trailer" | "train-front-tunnel" | "train-front" | "train-track" | "train" | "tram-front" | "transgender" | "trash-2" | "trash-off" | "trash" | "tree-deciduous" | "tree-palm" | "tree-pine" | "trees" | "trending-down" | "trending-up-down" | "trending-up" | "triangle-alert" | "triangle-dashed" | "triangle-right" | "triangle" | "triangles-centerline-dashed-horizontal" | "triangles-centerline-dashed-vertical" | "trophy" | "truck-electric" | "truck" | "tube-lotion" | "turkish-lira" | "turntable" | "turtle" | "tv-2" | "tv-minimal-play" | "tv-minimal" | "tv" | "type-outline" | "type" | "umbrella-off" | "umbrella" | "underline" | "undo-2" | "undo-dot" | "undo" | "unfold-horizontal" | "unfold-vertical" | "ungroup" | "university" | "unlink-2" | "unlink" | "unlock-keyhole" | "unlock" | "unplug" | "upload-cloud" | "upload" | "usb-c-port" | "usb" | "user-2" | "user-check-2" | "user-check" | "user-circle-2" | "user-circle" | "user-cog-2" | "user-cog" | "user-group" | "user-key" | "user-lock" | "user-minus-2" | "user-minus" | "user-pen" | "user-plus-2" | "user-plus" | "user-round-arrow-left" | "user-round-check" | "user-round-cog" | "user-round-group" | "user-round-key" | "user-round-minus" | "user-round-pen" | "user-round-plus" | "user-round-search" | "user-round-star" | "user-round-x" | "user-round" | "user-search" | "user-shield" | "user-square-2" | "user-square" | "user-star" | "user-x-2" | "user-x" | "user" | "users-2" | "users-collaboration" | "users-round-collaboration" | "users-round" | "users" | "utensils-crossed" | "utensils" | "utility-pole" | "van" | "variable" | "vault" | "vector-polygon" | "vector-square" | "vegan" | "venetian-mask" | "venus-and-mars" | "venus" | "verified" | "vibrate-off" | "vibrate" | "video-off" | "videotape" | "virus-off" | "virus" | "voicemail" | "volleyball" | "volume-1" | "volume-2" | "volume-off" | "volume-x" | "volume" | "vote" | "wallet-2" | "wallet-cards" | "wallet-minimal" | "wallet" | "wallpaper" | "wand-2" | "wand-sparkles" | "wand" | "warehouse" | "washing-machine" | "watch" | "waves-arrow-down" | "waves-arrow-up" | "waves-horizontal" | "waves-ladder" | "waves-vertical" | "waves" | "waypoints" | "webcam-off" | "webcam" | "webhook-off" | "webhook" | "weight-tilde" | "weight" | "wheat-off" | "wheat" | "whistle" | "whole-word" | "wifi-cog" | "wifi-high" | "wifi-lock" | "wifi-low" | "wifi-off" | "wifi-pen" | "wifi-sync" | "wifi-zero" | "wifi" | "wind-arrow-down" | "wind-arrow-up" | "wind" | "wine-off" | "wine" | "workflow" | "worm" | "wrap-text" | "wrench-off" | "wrench" | "x-circle" | "x-line-top" | "x-octagon" | "x-square" | "zap-off" | "zap" | "zodiac-aquarius" | "zodiac-aries" | "zodiac-cancer" | "zodiac-capricorn" | "zodiac-gemini" | "zodiac-leo" | "zodiac-libra" | "zodiac-ophiuchus" | "zodiac-pisces" | "zodiac-sagittarius" | "zodiac-scorpio" | "zodiac-taurus" | "zodiac-virgo" | "zoom-in" | "zoom-out" | undefined>;
|
|
33
|
-
readonly endIcon: import("@angular/core").InputSignal<"code" | "form" | "link" | "map" | "menu" | "option" | "search" | "section" | "summary" | "table" | "video" | "circle" | "ellipse" | "filter" | "image" | "text" | "view" | "frame" | "command" | "copy" | "focus" | "pause" | "play" | "scroll" | "x" | "slice" | "a-arrow-down" | "a-arrow-up" | "a-large-small" | "accessibility" | "activity-square" | "activity" | "ad" | "air-vent" | "airplay" | "alarm-check" | "alarm-clock-check" | "alarm-clock-minus" | "alarm-clock-off" | "alarm-clock-plus" | "alarm-clock" | "alarm-minus" | "alarm-plus" | "alarm-smoke" | "album" | "alert-circle" | "alert-octagon" | "alert-triangle" | "align-center-horizontal" | "align-center-vertical" | "align-center" | "align-end-horizontal" | "align-end-vertical" | "align-horizontal-distribute-center" | "align-horizontal-distribute-end" | "align-horizontal-distribute-start" | "align-horizontal-justify-center" | "align-horizontal-justify-end" | "align-horizontal-justify-start" | "align-horizontal-space-around" | "align-horizontal-space-between" | "align-justify" | "align-left" | "align-right" | "align-start-horizontal" | "align-start-vertical" | "align-vertical-distribute-center" | "align-vertical-distribute-end" | "align-vertical-distribute-start" | "align-vertical-justify-center" | "align-vertical-justify-end" | "align-vertical-justify-start" | "align-vertical-space-around" | "align-vertical-space-between" | "ambulance" | "ampersand" | "ampersands" | "amphora" | "anchor" | "angle" | "angry" | "annoyed" | "antenna" | "anvil" | "aperture" | "app-window-mac" | "app-window" | "apple" | "archive-restore" | "archive-x" | "archive" | "area-chart" | "armchair" | "armenian-dram" | "arrow-big-down-dash" | "arrow-big-down" | "arrow-big-left-dash" | "arrow-big-left" | "arrow-big-right-dash" | "arrow-big-right" | "arrow-big-up-dash" | "arrow-big-up" | "arrow-down-0-1" | "arrow-down-01" | "arrow-down-1-0" | "arrow-down-10" | "arrow-down-a-z" | "arrow-down-az" | "arrow-down-circle" | "arrow-down-from-line" | "arrow-down-left-from-circle" | "arrow-down-left-from-square" | "arrow-down-left-square" | "arrow-down-left" | "arrow-down-narrow-wide" | "arrow-down-right-from-circle" | "arrow-down-right-from-square" | "arrow-down-right-square" | "arrow-down-right" | "arrow-down-square" | "arrow-down-to-dot" | "arrow-down-to-line" | "arrow-down-up" | "arrow-down-wide-narrow" | "arrow-down-z-a" | "arrow-down-za" | "arrow-down" | "arrow-left-circle" | "arrow-left-from-line" | "arrow-left-right" | "arrow-left-square" | "arrow-left-to-line" | "arrow-left" | "arrow-right-circle" | "arrow-right-from-line" | "arrow-right-left" | "arrow-right-square" | "arrow-right-to-line" | "arrow-right" | "arrow-up-0-1" | "arrow-up-01" | "arrow-up-1-0" | "arrow-up-10" | "arrow-up-a-z" | "arrow-up-az" | "arrow-up-circle" | "arrow-up-down" | "arrow-up-from-dot" | "arrow-up-from-line" | "arrow-up-left-from-circle" | "arrow-up-left-from-square" | "arrow-up-left-square" | "arrow-up-left" | "arrow-up-narrow-wide" | "arrow-up-right-from-circle" | "arrow-up-right-from-square" | "arrow-up-right-square" | "arrow-up-right" | "arrow-up-square" | "arrow-up-to-line" | "arrow-up-wide-narrow" | "arrow-up-z-a" | "arrow-up-za" | "arrow-up" | "arrows-up-from-line" | "asterisk-square" | "asterisk" | "astroid" | "at-sign" | "atom" | "audio-lines-off" | "audio-lines-x" | "audio-lines" | "audio-waveform" | "avocado" | "award" | "axe" | "axis-3-d" | "axis-3d" | "azerbaijani-manat" | "baby" | "backpack" | "bacon" | "badge-alert" | "badge-cent" | "badge-check" | "badge-dollar-sign" | "badge-euro" | "badge-help" | "badge-indian-rupee" | "badge-info" | "badge-japanese-yen" | "badge-minus" | "badge-percent" | "badge-plus" | "badge-pound-sterling" | "badge-question-mark" | "badge-russian-ruble" | "badge-swiss-franc" | "badge-turkish-lira" | "badge-x" | "badge" | "baggage-claim" | "ball-wave" | "balloon" | "ban" | "banana" | "bandage" | "bangladeshi-taka" | "banknote-arrow-down" | "banknote-arrow-up" | "banknote-check" | "banknote-x" | "banknote" | "bar-chart-2" | "bar-chart-3" | "bar-chart-4" | "bar-chart-big" | "bar-chart-horizontal-big" | "bar-chart-horizontal" | "bar-chart" | "barcode" | "barrel" | "baseline" | "bath" | "battery-charging" | "battery-full" | "battery-low" | "battery-medium" | "battery-plus" | "battery-warning" | "battery" | "beaker" | "bean-off" | "bean" | "bed-double" | "bed-single" | "bed" | "beef-off" | "beef" | "beer-off" | "beer" | "belarusian-ruble" | "bell-check" | "bell-dot" | "bell-electric" | "bell-minus" | "bell-off" | "bell-plus" | "bell-ring" | "bell" | "between-horizonal-end" | "between-horizonal-start" | "between-horizontal-end" | "between-horizontal-start" | "between-vertical-end" | "between-vertical-start" | "biceps-flexed" | "bike" | "binary" | "binoculars" | "biohazard" | "bird" | "birdhouse" | "bitcoin" | "blend" | "blender" | "blinds" | "blocks" | "bluetooth-connected" | "bluetooth-off" | "bluetooth-searching" | "bluetooth" | "bold" | "bolt" | "bomb" | "bone-fracture" | "bone" | "book-a" | "book-alert" | "book-audio" | "book-bookmark" | "book-check" | "book-copy" | "book-dashed" | "book-down" | "book-headphones" | "book-heart" | "book-image" | "book-key" | "book-lock" | "book-marked" | "book-minus" | "book-open-check" | "book-open-text" | "book-open" | "book-plus" | "book-search" | "book-template" | "book-text" | "book-type" | "book-up-2" | "book-up" | "book-user" | "book-x" | "book" | "bookmark-check" | "bookmark-minus" | "bookmark-off" | "bookmark-plus" | "bookmark-x" | "bookmark" | "boom-box" | "bot-message-square" | "bot-off" | "bot" | "bottle-wine" | "bow-arrow" | "box-select" | "box" | "boxes" | "braces" | "brackets" | "brain-circuit" | "brain-cog" | "brain-off" | "brain" | "brick-wall-fire" | "brick-wall-shield" | "brick-wall" | "bridge" | "briefcase-business" | "briefcase-conveyor-belt" | "briefcase-medical" | "briefcase-plus" | "briefcase" | "bring-to-front" | "broccoli" | "broom-sparkles" | "broom" | "brush-cleaning" | "brush" | "bubbles" | "bug-off" | "bug-play" | "bug" | "building-2" | "building-complex-plus" | "building-complex" | "building" | "bus-front" | "bus" | "cable-car" | "cable" | "cake-slice" | "cake" | "calculator" | "calendar-1" | "calendar-arrow-down" | "calendar-arrow-up" | "calendar-check-2" | "calendar-check" | "calendar-chevrons-left" | "calendar-chevrons-right" | "calendar-clock" | "calendar-cog" | "calendar-days" | "calendar-fold" | "calendar-heart" | "calendar-minus-2" | "calendar-minus" | "calendar-off" | "calendar-plus-2" | "calendar-plus" | "calendar-range" | "calendar-search" | "calendar-sync" | "calendar-x-2" | "calendar-x" | "calendar" | "calendars" | "camera-off" | "camera" | "can-soda" | "can" | "candlestick-chart" | "candy-cane" | "candy-off" | "candy" | "cannabis-off" | "cannabis" | "captions-off" | "captions" | "car-battery" | "car-front" | "car-taxi-front" | "car" | "caravan" | "card-sim" | "carrot" | "carton-off" | "carton" | "case-lower" | "case-sensitive" | "case-upper" | "cassette-tape" | "cast" | "castle" | "cat" | "cctv-off" | "cctv" | "certificate" | "chart-area" | "chart-bar-big" | "chart-bar-decreasing" | "chart-bar-increasing" | "chart-bar-stacked" | "chart-bar" | "chart-candlestick" | "chart-column-big" | "chart-column-decreasing" | "chart-column-increasing" | "chart-column-stacked" | "chart-column" | "chart-gantt" | "chart-line" | "chart-network" | "chart-no-axes-column-decreasing" | "chart-no-axes-column-increasing" | "chart-no-axes-column" | "chart-no-axes-combined" | "chart-no-axes-gantt" | "chart-pie" | "chart-scatter" | "chart-spline" | "check-check" | "check-circle-2" | "check-circle" | "check-line" | "check-square-2" | "check-square" | "check" | "chef-hat" | "cherry" | "chess-bishop" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-down-circle" | "chevron-down-square" | "chevron-down" | "chevron-first" | "chevron-last" | "chevron-left-circle" | "chevron-left-square" | "chevron-left" | "chevron-right-circle" | "chevron-right-square" | "chevron-right" | "chevron-up-circle" | "chevron-up-square" | "chevron-up" | "chevrons-down-up" | "chevrons-down" | "chevrons-left-right-ellipsis" | "chevrons-left-right" | "chevrons-left" | "chevrons-right-left" | "chevrons-right" | "chevrons-up-down" | "chevrons-up" | "church" | "cigarette-off" | "cigarette" | "circle-alert" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-out-down-left" | "circle-arrow-out-down-right" | "circle-arrow-out-up-left" | "circle-arrow-out-up-right" | "circle-arrow-right" | "circle-arrow-up" | "circle-check-big" | "circle-check" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-chevrons-down" | "circle-chevrons-left" | "circle-chevrons-right" | "circle-chevrons-up" | "circle-dashed-check" | "circle-dashed" | "circle-divide" | "circle-dollar-sign" | "circle-dot-dashed" | "circle-dot" | "circle-ellipsis" | "circle-equal" | "circle-euro" | "circle-fading-arrow-up" | "circle-fading-play" | "circle-fading-plus" | "circle-gauge" | "circle-help" | "circle-minus" | "circle-off" | "circle-parking-off" | "circle-parking" | "circle-pause" | "circle-percent" | "circle-pile" | "circle-play" | "circle-plus" | "circle-pound-sterling" | "circle-power" | "circle-question-mark" | "circle-slash-2" | "circle-slash" | "circle-slashed" | "circle-small" | "circle-star" | "circle-stop" | "circle-user-round" | "circle-user" | "circle-x" | "circuit-board" | "citrus" | "clapperboard" | "clef-alto" | "clef-bass" | "clef-treble" | "clipboard-check" | "clipboard-clock" | "clipboard-copy" | "clipboard-edit" | "clipboard-list" | "clipboard-minus" | "clipboard-paste" | "clipboard-pen-line" | "clipboard-pen" | "clipboard-plus" | "clipboard-signature" | "clipboard-type" | "clipboard-x" | "clipboard" | "clock-1" | "clock-10" | "clock-11" | "clock-12" | "clock-2" | "clock-3" | "clock-4" | "clock-5" | "clock-6" | "clock-7" | "clock-8" | "clock-9" | "clock-alert" | "clock-arrow-down" | "clock-arrow-left" | "clock-arrow-right" | "clock-arrow-up" | "clock-check" | "clock-fading" | "clock-plus" | "clock" | "closed-caption" | "cloud-alert" | "cloud-backup" | "cloud-check" | "cloud-cog" | "cloud-download" | "cloud-drizzle" | "cloud-fog" | "cloud-hail" | "cloud-lightning" | "cloud-moon-rain" | "cloud-moon" | "cloud-off" | "cloud-rain-wind" | "cloud-rain" | "cloud-snow" | "cloud-sun-rain" | "cloud-sun" | "cloud-sync" | "cloud-upload" | "cloud" | "cloudy" | "clover" | "club" | "code-2" | "code-square" | "code-xml" | "coffee" | "cog" | "coins" | "columns-2" | "columns-3-cog" | "columns-3" | "columns-4" | "columns-settings" | "columns" | "combine" | "compass" | "component" | "computer" | "concierge-bell" | "cone" | "construction" | "contact-2" | "contact-round" | "contact" | "container" | "contrast" | "cookie" | "cooking-pot" | "copy-check" | "copy-minus" | "copy-plus" | "copy-slash" | "copy-x" | "copyleft" | "copyright" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "cpu-ai" | "cpu" | "creative-commons" | "credit-card-check" | "credit-card-minus" | "credit-card-plus" | "credit-card-reader" | "credit-card-x" | "credit-card" | "croissant" | "crop" | "cross" | "crosshair" | "crown" | "cuboid" | "cup-soda" | "cupcake" | "curly-braces" | "currency" | "cylinder" | "dam" | "database-arrow-down" | "database-arrow-up" | "database-backup" | "database-check" | "database-minus" | "database-plus" | "database-search" | "database-x" | "database-zap" | "database" | "decimals-arrow-left" | "decimals-arrow-right" | "delete" | "dessert" | "diameter" | "diamond-minus" | "diamond-percent" | "diamond-plus" | "diamond" | "dice-1" | "dice-2" | "dice-3" | "dice-4" | "dice-5" | "dice-6" | "dices" | "diff" | "disc-2" | "disc-3" | "disc-album" | "disc" | "divide-circle" | "divide-square" | "divide" | "dna-off" | "dna" | "dock" | "dog" | "dollar-sign" | "dome" | "donut" | "door-closed-cog" | "door-closed-locked" | "door-closed-package" | "door-closed" | "door-open" | "door-stairwell" | "dot-square" | "dot" | "download-cloud" | "download" | "drafting-compass" | "drama" | "drill" | "drone" | "droplet-off" | "droplet" | "droplets" | "drum" | "drumstick" | "dumbbell" | "ear-off" | "ear" | "earth-lock" | "earth" | "eclipse" | "edit-2" | "edit-3" | "edit" | "egg-fried" | "egg-off" | "egg" | "eighth-note" | "eighth-notes" | "eject" | "ellipsis-vertical" | "ellipsis" | "emirati-dirham" | "engine" | "equal-approximately-not" | "equal-approximately" | "equal-not" | "equal-square" | "equal" | "eraser" | "ethernet-port" | "euro" | "ev-charger" | "expand" | "external-link" | "eye-closed" | "eye-dashed" | "eye-off" | "eye" | "face-angry" | "face-expressionless" | "face-grinning" | "face-neutral" | "face-slightly-frowning" | "face-slightly-smiling-plus" | "face-slightly-smiling" | "factory" | "fan" | "fast-forward" | "faucet" | "feather" | "fence" | "ferris-wheel" | "file-archive" | "file-audio-2" | "file-audio" | "file-axis-3-d" | "file-axis-3d" | "file-badge-2" | "file-badge" | "file-bar-chart-2" | "file-bar-chart" | "file-box" | "file-braces-corner" | "file-braces" | "file-chart-column-increasing" | "file-chart-column" | "file-chart-line" | "file-chart-pie" | "file-check-2" | "file-check-corner" | "file-check" | "file-clock" | "file-code-2" | "file-code-corner" | "file-code" | "file-cog-2" | "file-cog" | "file-diff" | "file-digit" | "file-down" | "file-edit" | "file-exclamation-point" | "file-headphone" | "file-heart" | "file-image" | "file-input" | "file-json-2" | "file-json" | "file-key-2" | "file-key" | "file-line-chart" | "file-lock-2" | "file-lock" | "file-minus-2" | "file-minus-corner" | "file-minus" | "file-music" | "file-output" | "file-pen-line" | "file-pen" | "file-pie-chart" | "file-play" | "file-plus-2" | "file-plus-corner" | "file-plus" | "file-question-mark" | "file-question" | "file-scan" | "file-search-2" | "file-search-corner" | "file-search" | "file-signal" | "file-signature" | "file-sliders" | "file-spreadsheet" | "file-stack" | "file-symlink" | "file-terminal" | "file-text" | "file-type-2" | "file-type-corner" | "file-type" | "file-up" | "file-user" | "file-video-2" | "file-video-camera" | "file-video" | "file-volume-2" | "file-volume" | "file-warning" | "file-x-2" | "file-x-corner" | "file-x" | "file" | "files" | "film" | "filter-x" | "fingerprint-pattern" | "fingerprint" | "fire-extinguisher" | "fish-off" | "fish-symbol" | "fish" | "fishing-hook" | "fishing-rod" | "flag-off" | "flag-triangle-left" | "flag-triangle-right" | "flag" | "flame-kindling" | "flame" | "flashlight-off" | "flashlight" | "flask-conical-off" | "flask-conical" | "flask-round" | "flip-horizontal-2" | "flip-horizontal" | "flip-vertical-2" | "flip-vertical" | "flower-2" | "flower" | "fold-horizontal" | "fold-vertical" | "folder-archive" | "folder-bookmark" | "folder-check" | "folder-clock" | "folder-closed" | "folder-code" | "folder-cog-2" | "folder-cog" | "folder-dot" | "folder-down" | "folder-edit" | "folder-git-2" | "folder-git" | "folder-heart" | "folder-input" | "folder-kanban" | "folder-key" | "folder-lock" | "folder-minus" | "folder-open-dot" | "folder-open" | "folder-output" | "folder-pen" | "folder-plus" | "folder-root" | "folder-search-2" | "folder-search" | "folder-symlink" | "folder-sync" | "folder-tree" | "folder-up" | "folder-user" | "folder-users" | "folder-x" | "folder" | "folders" | "footprints" | "fork-knife-crossed" | "fork-knife" | "forklift" | "form-input" | "forward" | "frown" | "fuel" | "fullscreen" | "function-square" | "funnel-plus" | "funnel-x" | "funnel" | "galaxy" | "gallery-horizontal-end" | "gallery-horizontal" | "gallery-thumbnails" | "gallery-vertical-end" | "gallery-vertical" | "gamepad-2" | "gamepad-directional" | "gamepad" | "gantt-chart-square" | "gantt-chart" | "gap-horizontal" | "gap-vertical" | "gauge-circle" | "gauge" | "gavel" | "gem" | "georgian-lari" | "germ-off" | "germ" | "ghost" | "gift" | "git-branch-minus" | "git-branch-plus" | "git-branch" | "git-commit-horizontal" | "git-commit-vertical" | "git-commit" | "git-compare-arrows" | "git-compare" | "git-fork" | "git-graph" | "git-merge-conflict" | "git-merge" | "git-pull-request-arrow" | "git-pull-request-closed" | "git-pull-request-create-arrow" | "git-pull-request-create" | "git-pull-request-draft" | "git-pull-request" | "glass-water" | "glasses" | "globe-2" | "globe-check" | "globe-code" | "globe-lock" | "globe-off" | "globe-x" | "globe" | "goal" | "gpu" | "grab" | "graduation-cap" | "grape" | "graph-hub" | "graph-star" | "grid-2-x-2-check" | "grid-2-x-2-plus" | "grid-2-x-2-x" | "grid-2-x-2" | "grid-2x2-check" | "grid-2x2-plus" | "grid-2x2-x" | "grid-2x2" | "grid-3-x-3" | "grid-3x2" | "grid-3x3" | "grid" | "grip-horizontal" | "grip-vertical" | "grip" | "groceries" | "group" | "guitar-electric" | "guitar" | "half-note" | "ham" | "hamburger" | "hammer" | "hand-coins" | "hand-fist" | "hand-grab" | "hand-heart" | "hand-helping" | "hand-metal" | "hand-platter" | "hand" | "handbag" | "handle-bottom-right" | "handshake" | "hard-drive-download" | "hard-drive-upload" | "hard-drive" | "hard-hat" | "hash" | "hat-glasses" | "haze" | "hd" | "hdmi-port" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "heading" | "headphone-off" | "headphones" | "headset" | "heart-crack" | "heart-handshake" | "heart-minus" | "heart-off" | "heart-plus" | "heart-pulse" | "heart-x" | "heart" | "heater" | "helicopter" | "help-circle" | "helping-hand" | "hexagon" | "highlighter" | "hiking-stick" | "history" | "hockey-stick" | "home" | "hop-off" | "hop" | "hospital" | "hot-air-balloon" | "hotel" | "hourglass-cog" | "hourglass" | "house-cog" | "house-heart" | "house-plug" | "house-plus" | "house-wifi" | "house" | "houses" | "ice-cream-2" | "ice-cream-bowl" | "ice-cream-cone" | "ice-cream" | "id-card-lanyard" | "id-card" | "image-down" | "image-minus" | "image-off" | "image-play" | "image-plus" | "image-up" | "image-upscale" | "images" | "import" | "inbox" | "indent-decrease" | "indent-increase" | "indent" | "indian-rupee" | "infinity" | "info" | "inspect" | "inspection-panel" | "italic" | "iteration-ccw" | "iteration-cw" | "iv-bag" | "japanese-yen" | "joystick" | "kanban-square-dashed" | "kanban-square" | "kanban" | "kayak" | "kazakh-tenge" | "key-round" | "key-square" | "key" | "keyboard-music" | "keyboard-off" | "keyboard" | "lambda" | "lamp-ceiling" | "lamp-desk" | "lamp-floor" | "lamp-wall-down" | "lamp-wall-up" | "lamp" | "land-plot" | "landmark" | "languages" | "laptop-2" | "laptop-minimal-check" | "laptop-minimal" | "laptop" | "lasso-select" | "lasso" | "laugh" | "layer-arrow-down" | "layer-arrow-up" | "layers-2" | "layers-3" | "layers-arrow-down" | "layers-arrow-up" | "layers-minus" | "layers-plus" | "layers" | "layout-arrow-down" | "layout-arrow-right" | "layout-dashboard" | "layout-freeform" | "layout-grid-circles" | "layout-grid" | "layout-list" | "layout-panel-left" | "layout-panel-top" | "layout-template" | "layout" | "leaf" | "leafy-green" | "lectern" | "lens-concave" | "lens-convex" | "lens" | "letter-spacing" | "letter-text" | "letters" | "library-big" | "library-square" | "library" | "life-buoy" | "ligature" | "lightbulb-off" | "lightbulb" | "lighthouse" | "line-chart" | "line-dot-bottom-vertical" | "line-dot-left-horizontal" | "line-dot-right-horizontal" | "line-dot-top-vertical" | "line-height" | "line-squiggle" | "line-style" | "link-2-off" | "link-2" | "list-check" | "list-checks" | "list-chevrons-down-up" | "list-chevrons-up-down" | "list-clock" | "list-collapse" | "list-end" | "list-filter-plus" | "list-filter" | "list-indent-decrease" | "list-indent-increase" | "list-minus" | "list-music" | "list-ordered" | "list-plus" | "list-restart" | "list-sort-ascending" | "list-sort-descending" | "list-start" | "list-todo" | "list-tree" | "list-video" | "list-x" | "list" | "loader-2" | "loader-circle" | "loader-pinwheel" | "loader" | "locate-fixed" | "locate-off" | "locate" | "location-edit" | "lock-keyhole-open" | "lock-keyhole" | "lock-open" | "lock" | "log-in" | "log-out" | "logs" | "lollipop" | "luggage" | "m-square" | "magnet" | "mail-badge" | "mail-check" | "mail-clock" | "mail-dot" | "mail-minus" | "mail-open" | "mail-pen" | "mail-plus" | "mail-question-mark" | "mail-question" | "mail-search" | "mail-warning" | "mail-x" | "mail" | "mailbox" | "mails" | "map-minus" | "map-pin-check-inside" | "map-pin-check" | "map-pin-house" | "map-pin-minus-inside" | "map-pin-minus" | "map-pin-off" | "map-pin-pen" | "map-pin-plus-inside" | "map-pin-plus" | "map-pin-search" | "map-pin-x-inside" | "map-pin-x" | "map-pin" | "map-pinned" | "map-plus" | "mars-stroke" | "mars" | "martini" | "maximize-2" | "maximize" | "medal" | "megaphone-off" | "megaphone" | "meh" | "memory-stick" | "menu-square" | "merge" | "message-circle-check" | "message-circle-code" | "message-circle-dashed-check" | "message-circle-dashed" | "message-circle-heart" | "message-circle-more" | "message-circle-off" | "message-circle-plus" | "message-circle-question-mark" | "message-circle-question" | "message-circle-reply" | "message-circle-text" | "message-circle-warning" | "message-circle-x" | "message-circle" | "message-square-check" | "message-square-code" | "message-square-dashed" | "message-square-diff" | "message-square-dot" | "message-square-heart" | "message-square-lock" | "message-square-more" | "message-square-off" | "message-square-plus" | "message-square-quote" | "message-square-reply" | "message-square-share" | "message-square-text" | "message-square-warning" | "message-square-x" | "message-square" | "messages-circle" | "messages-square" | "metronome" | "mic-2" | "mic-audio-lines" | "mic-off" | "mic-signal" | "mic-vocal" | "mic" | "microchip" | "microscope" | "microwave" | "midi-port" | "milestone" | "milk-off" | "milk" | "minimize-2" | "minimize" | "minus-circle" | "minus-square" | "minus" | "mirror-rectangular" | "mirror-round" | "monitor-check" | "monitor-cloud" | "monitor-cog" | "monitor-dot" | "monitor-down" | "monitor-off" | "monitor-pause" | "monitor-pc" | "monitor-play" | "monitor-smartphone" | "monitor-speaker" | "monitor-stop" | "monitor-up" | "monitor-x" | "monitor" | "moon-star" | "moon" | "mop-sparkles" | "mop" | "more-horizontal" | "more-vertical" | "mosque" | "motorbike" | "mountain-snow" | "mountain" | "mouse-left" | "mouse-off" | "mouse-pointer-2-off" | "mouse-pointer-2" | "mouse-pointer-ban" | "mouse-pointer-click" | "mouse-pointer-square-dashed" | "mouse-pointer" | "mouse-right" | "mouse" | "mouth-off" | "mouth" | "move-3-d" | "move-3d" | "move-diagonal-2" | "move-diagonal" | "move-down-left" | "move-down-right" | "move-down" | "move-horizontal" | "move-left" | "move-right" | "move-up-left" | "move-up-right" | "move-up" | "move-vertical" | "move" | "music-2" | "music-3" | "music-4" | "music" | "navigation-2-off" | "navigation-2" | "navigation-off" | "navigation" | "nepali-rupee" | "network" | "newspaper" | "nfc" | "non-binary" | "notebook-dot" | "notebook-pen" | "notebook-tabs" | "notebook-text" | "notebook" | "notepad-text-dashed" | "notepad-text" | "nut-off" | "nut" | "octagon-alert" | "octagon-minus" | "octagon-pause" | "octagon-x" | "octagon" | "omega" | "orbit" | "origami" | "outdent" | "package-2" | "package-check" | "package-minus" | "package-open" | "package-plus" | "package-search" | "package-x" | "package" | "paint-bucket" | "paint-roller" | "paintbrush-2" | "paintbrush-vertical" | "paintbrush" | "palette" | "palmtree" | "panda" | "panel-bottom-close" | "panel-bottom-dashed" | "panel-bottom-inactive" | "panel-bottom-open" | "panel-bottom" | "panel-left-close" | "panel-left-dashed" | "panel-left-inactive" | "panel-left-open" | "panel-left-right-dashed" | "panel-left" | "panel-right-close" | "panel-right-dashed" | "panel-right-inactive" | "panel-right-open" | "panel-right" | "panel-top-bottom-dashed" | "panel-top-close" | "panel-top-dashed" | "panel-top-inactive" | "panel-top-open" | "panel-top" | "panels-left-bottom" | "panels-left-right" | "panels-right-bottom" | "panels-top-bottom" | "panels-top-left" | "paper-bag" | "paperclip" | "parasol" | "parentheses" | "park" | "parking-circle-off" | "parking-circle" | "parking-meter" | "parking-square-off" | "parking-square" | "party-popper" | "pause-circle" | "pause-octagon" | "paw-print" | "pc-case" | "pen-box" | "pen-line" | "pen-off" | "pen-square" | "pen-tool" | "pen" | "pencil-line" | "pencil-off" | "pencil-ruler" | "pencil-sparkles" | "pencil" | "pentagon" | "percent-circle" | "percent-diamond" | "percent-square" | "percent" | "perfume-bottle" | "person-standing" | "phi" | "philippine-peso" | "phone-call" | "phone-forwarded" | "phone-incoming" | "phone-log" | "phone-missed" | "phone-off" | "phone-outgoing" | "phone" | "pi-square" | "pi" | "piano" | "pickaxe" | "picture-in-picture-2" | "picture-in-picture" | "pie-chart" | "piggy-bank" | "pilcrow-left" | "pilcrow-right" | "pilcrow-square" | "pilcrow" | "pill-bottle" | "pill" | "pin-off" | "pin" | "pipette" | "pizza" | "plane-landing" | "plane-takeoff" | "plane" | "plant-pot" | "play-circle" | "play-off" | "play-square" | "playing-card" | "playing-cards-fan" | "playing-cards" | "plug-2" | "plug-zap-2" | "plug-zap" | "plug" | "plus-circle" | "plus-square" | "plus" | "pocket-knife" | "podcast" | "podium" | "pointer-off" | "pointer" | "popcorn" | "popsicle" | "pound-sterling" | "power-circle" | "power-off" | "power-square" | "power" | "presentation" | "printer-3d" | "printer-check" | "printer-x" | "printer" | "projector" | "proportions" | "puzzle" | "pyramid" | "qr-code" | "quote" | "rabbit" | "radar" | "radiation" | "radical" | "radio-off" | "radio-receiver" | "radio-tower" | "radio" | "radius" | "rainbow" | "rat" | "ratio" | "receipt-cent" | "receipt-euro" | "receipt-indian-rupee" | "receipt-japanese-yen" | "receipt-pound-sterling" | "receipt-russian-ruble" | "receipt-swiss-franc" | "receipt-text" | "receipt-turkish-lira" | "receipt" | "rectangle-circle" | "rectangle-ellipsis" | "rectangle-goggles" | "rectangle-horizontal" | "rectangle-vertical" | "recycle" | "redo-2" | "redo-dot" | "redo" | "refresh-ccw-dot" | "refresh-ccw" | "refresh-cw-off" | "refresh-cw" | "refrigerator" | "regex" | "remove-formatting" | "repeat-1" | "repeat-2" | "repeat-off" | "repeat" | "replace-all" | "replace" | "reply-all" | "reply" | "rewind" | "ribbon" | "road" | "robot-arm" | "robot-vacuum" | "rocket" | "rocking-chair" | "roller-coaster" | "rose" | "rotate-3-d" | "rotate-3d" | "rotate-ccw-clock" | "rotate-ccw-key" | "rotate-ccw-square" | "rotate-ccw" | "rotate-cw-clock" | "rotate-cw-fading-clock" | "rotate-cw-square" | "rotate-cw" | "route-off" | "route" | "router" | "rows-2" | "rows-3" | "rows-4" | "rows" | "rss" | "rugby-ball" | "ruler-dimension-line" | "ruler" | "russian-ruble" | "sailboat" | "salad" | "sandwich" | "satellite-dish" | "satellite" | "saudi-riyal" | "save-all" | "save-check" | "save-off" | "save-pen" | "save-plus" | "save" | "scale-3-d" | "scale-3d" | "scale" | "scaling" | "scan-barcode" | "scan-box" | "scan-eye" | "scan-face" | "scan-heart" | "scan-line" | "scan-qr-code" | "scan-search" | "scan-square" | "scan-text" | "scan" | "scatter-chart" | "school-2" | "school" | "scissors-line-dashed" | "scissors-square-dashed-bottom" | "scissors-square" | "scissors" | "scooter" | "scratch-blocks" | "screen-share-off" | "screen-share" | "screw" | "scroll-text" | "search-alert" | "search-check" | "search-code" | "search-slash" | "search-x" | "send-horizonal" | "send-horizontal" | "send-to-back" | "send" | "separator-horizontal" | "separator-vertical" | "server-cog" | "server-crash" | "server-nas" | "server-off" | "server-plus" | "server" | "settings-2" | "settings" | "shapes" | "share-2" | "share" | "sheet" | "shell" | "shelving-unit" | "shield-alert" | "shield-ban" | "shield-check" | "shield-close" | "shield-cog-corner" | "shield-cog" | "shield-ellipsis" | "shield-half" | "shield-house" | "shield-keyhole" | "shield-lock" | "shield-minus" | "shield-off" | "shield-plus" | "shield-question-mark" | "shield-question" | "shield-user" | "shield-x" | "shield" | "ship-cargo" | "ship-wheel" | "ship" | "shirt" | "shopping-bag" | "shopping-basket" | "shopping-cart-minus" | "shopping-cart-plus" | "shopping-cart" | "shovel" | "shower-head" | "shredder" | "shrimp-off" | "shrimp" | "shrink" | "shrub" | "shuffle" | "sidebar-close" | "sidebar-open" | "sidebar" | "sigma-square" | "sigma" | "signal-high" | "signal-low" | "signal-medium" | "signal-zero" | "signal" | "signature" | "signpost-big" | "signpost" | "siren" | "sixteenth-notes" | "skip-back" | "skip-forward" | "skull" | "slash-square" | "slash" | "sliders-horizontal" | "sliders-vertical" | "sliders" | "smartphone-charging" | "smartphone-nfc" | "smartphone-user-round" | "smartphone" | "smile-plus" | "smile" | "snail" | "snowflake" | "soap-dispenser-droplet" | "sofa" | "solar-panel" | "sort-asc" | "sort-desc" | "soup" | "space" | "spade" | "sparkle" | "sparkles" | "speaker" | "speech" | "spell-check-2" | "spell-check" | "spline-pointer" | "spline" | "split-square-horizontal" | "split-square-vertical" | "split" | "spool" | "sport-shoe" | "spotlight" | "spray-can" | "sprout" | "square-activity" | "square-arrow-down-left" | "square-arrow-down-right" | "square-arrow-down" | "square-arrow-left" | "square-arrow-out-down-left" | "square-arrow-out-down-right" | "square-arrow-out-up-left" | "square-arrow-out-up-right" | "square-arrow-right-enter" | "square-arrow-right-exit" | "square-arrow-right" | "square-arrow-up-left" | "square-arrow-up-right" | "square-arrow-up" | "square-asterisk" | "square-bookmark" | "square-bottom-dashed-scissors" | "square-centerline-dashed-horizontal" | "square-centerline-dashed-vertical" | "square-chart-gantt" | "square-check-big" | "square-check" | "square-chevron-down" | "square-chevron-left" | "square-chevron-right" | "square-chevron-up" | "square-code" | "square-dashed-bottom-code" | "square-dashed-bottom" | "square-dashed-kanban" | "square-dashed-mouse-pointer" | "square-dashed-plus" | "square-dashed-text" | "square-dashed-top-solid" | "square-dashed-x-corner" | "square-dashed-x" | "square-dashed" | "square-dimensions" | "square-divide" | "square-dot" | "square-equal" | "square-exclamation-point" | "square-function" | "square-gantt-chart" | "square-kanban" | "square-library" | "square-m" | "square-menu" | "square-minus" | "square-mouse-pointer" | "square-off" | "square-parking-off" | "square-parking" | "square-pause" | "square-pen" | "square-percent" | "square-pi" | "square-pilcrow" | "square-play" | "square-plus" | "square-power" | "square-radical" | "square-round-corner" | "square-scissors" | "square-sigma" | "square-slash" | "square-sparkles" | "square-split-horizontal" | "square-split-vertical" | "square-square" | "square-stack" | "square-star" | "square-stop" | "square-terminal" | "square-text" | "square-user-round" | "square-user" | "square-x" | "square" | "squares-exclude" | "squares-intersect" | "squares-subtract" | "squares-unite" | "squircle-dashed" | "squircle" | "squirrel" | "stamp" | "star-check" | "star-half" | "star-minus" | "star-off" | "star-plus" | "star-x" | "star" | "stars" | "step-back" | "step-forward" | "stethoscope" | "sticker" | "sticky-note-check" | "sticky-note-minus" | "sticky-note-off" | "sticky-note-plus" | "sticky-note-x" | "sticky-note" | "sticky-notes" | "stone" | "stop-circle" | "store" | "stretch-horizontal" | "stretch-vertical" | "strikethrough" | "subscript" | "subtitles" | "sun-dim" | "sun-medium" | "sun-moon" | "sun-snow" | "sun" | "sunrise" | "sunset" | "superscript" | "swatch-book" | "swiss-franc" | "switch-camera" | "sword" | "swords" | "syringe" | "table-2" | "table-cells-merge" | "table-cells-split" | "table-columns-split" | "table-config" | "table-of-contents" | "table-properties" | "table-rows-split" | "tablet-smartphone" | "tablet" | "tablets" | "tag-plus" | "tag-x" | "tag" | "tags" | "tally-1" | "tally-2" | "tally-3" | "tally-4" | "tally-5" | "tangent" | "target" | "telescope" | "tent-tree" | "tent" | "terminal-square" | "terminal" | "test-tube-2" | "test-tube-diagonal" | "test-tube" | "test-tubes" | "text-align-center" | "text-align-end" | "text-align-justify-center" | "text-align-justify-end" | "text-align-justify-start" | "text-align-justify" | "text-align-start" | "text-cursor-input" | "text-cursor" | "text-initial" | "text-quote" | "text-search" | "text-select" | "text-selection" | "text-wrap" | "theater" | "thermometer-snowflake" | "thermometer-sun" | "thermometer" | "thumbs-down" | "thumbs-up" | "tic-tac-toe" | "ticket-check" | "ticket-minus" | "ticket-percent" | "ticket-plus" | "ticket-slash" | "ticket-x" | "ticket" | "tickets-plane" | "tickets" | "timeline" | "timer-off" | "timer-reset" | "timer" | "toggle-left" | "toggle-right" | "toilet" | "tombstone" | "tool-case" | "toolbox" | "toothbrush-sparkles" | "toothbrush" | "tornado" | "torus" | "touchpad-off" | "touchpad" | "towel-rack" | "tower-control" | "toy-brick" | "tractor" | "traffic-cone" | "trailer" | "train-front-tunnel" | "train-front" | "train-track" | "train" | "tram-front" | "transgender" | "trash-2" | "trash-off" | "trash" | "tree-deciduous" | "tree-palm" | "tree-pine" | "trees" | "trending-down" | "trending-up-down" | "trending-up" | "triangle-alert" | "triangle-dashed" | "triangle-right" | "triangle" | "triangles-centerline-dashed-horizontal" | "triangles-centerline-dashed-vertical" | "trophy" | "truck-electric" | "truck" | "tube-lotion" | "turkish-lira" | "turntable" | "turtle" | "tv-2" | "tv-minimal-play" | "tv-minimal" | "tv" | "type-outline" | "type" | "umbrella-off" | "umbrella" | "underline" | "undo-2" | "undo-dot" | "undo" | "unfold-horizontal" | "unfold-vertical" | "ungroup" | "university" | "unlink-2" | "unlink" | "unlock-keyhole" | "unlock" | "unplug" | "upload-cloud" | "upload" | "usb-c-port" | "usb" | "user-2" | "user-check-2" | "user-check" | "user-circle-2" | "user-circle" | "user-cog-2" | "user-cog" | "user-group" | "user-key" | "user-lock" | "user-minus-2" | "user-minus" | "user-pen" | "user-plus-2" | "user-plus" | "user-round-arrow-left" | "user-round-check" | "user-round-cog" | "user-round-group" | "user-round-key" | "user-round-minus" | "user-round-pen" | "user-round-plus" | "user-round-search" | "user-round-star" | "user-round-x" | "user-round" | "user-search" | "user-shield" | "user-square-2" | "user-square" | "user-star" | "user-x-2" | "user-x" | "user" | "users-2" | "users-collaboration" | "users-round-collaboration" | "users-round" | "users" | "utensils-crossed" | "utensils" | "utility-pole" | "van" | "variable" | "vault" | "vector-polygon" | "vector-square" | "vegan" | "venetian-mask" | "venus-and-mars" | "venus" | "verified" | "vibrate-off" | "vibrate" | "video-off" | "videotape" | "virus-off" | "virus" | "voicemail" | "volleyball" | "volume-1" | "volume-2" | "volume-off" | "volume-x" | "volume" | "vote" | "wallet-2" | "wallet-cards" | "wallet-minimal" | "wallet" | "wallpaper" | "wand-2" | "wand-sparkles" | "wand" | "warehouse" | "washing-machine" | "watch" | "waves-arrow-down" | "waves-arrow-up" | "waves-horizontal" | "waves-ladder" | "waves-vertical" | "waves" | "waypoints" | "webcam-off" | "webcam" | "webhook-off" | "webhook" | "weight-tilde" | "weight" | "wheat-off" | "wheat" | "whistle" | "whole-word" | "wifi-cog" | "wifi-high" | "wifi-lock" | "wifi-low" | "wifi-off" | "wifi-pen" | "wifi-sync" | "wifi-zero" | "wifi" | "wind-arrow-down" | "wind-arrow-up" | "wind" | "wine-off" | "wine" | "workflow" | "worm" | "wrap-text" | "wrench-off" | "wrench" | "x-circle" | "x-line-top" | "x-octagon" | "x-square" | "zap-off" | "zap" | "zodiac-aquarius" | "zodiac-aries" | "zodiac-cancer" | "zodiac-capricorn" | "zodiac-gemini" | "zodiac-leo" | "zodiac-libra" | "zodiac-ophiuchus" | "zodiac-pisces" | "zodiac-sagittarius" | "zodiac-scorpio" | "zodiac-taurus" | "zodiac-virgo" | "zoom-in" | "zoom-out" | undefined>;
|
|
32
|
+
readonly icon: import("@angular/core").InputSignal<"code" | "form" | "link" | "map" | "menu" | "option" | "search" | "section" | "summary" | "table" | "video" | "circle" | "ellipse" | "filter" | "image" | "text" | "view" | "frame" | "slice" | "command" | "copy" | "focus" | "pause" | "play" | "scroll" | "x" | "a-arrow-down" | "a-arrow-up" | "a-large-small" | "accessibility" | "activity-square" | "activity" | "ad" | "air-vent" | "airplay" | "alarm-check" | "alarm-clock-check" | "alarm-clock-minus" | "alarm-clock-off" | "alarm-clock-plus" | "alarm-clock" | "alarm-minus" | "alarm-plus" | "alarm-smoke" | "album" | "alert-circle" | "alert-octagon" | "alert-triangle" | "align-center-horizontal" | "align-center-vertical" | "align-center" | "align-end-horizontal" | "align-end-vertical" | "align-horizontal-distribute-center" | "align-horizontal-distribute-end" | "align-horizontal-distribute-start" | "align-horizontal-justify-center" | "align-horizontal-justify-end" | "align-horizontal-justify-start" | "align-horizontal-space-around" | "align-horizontal-space-between" | "align-justify" | "align-left" | "align-right" | "align-start-horizontal" | "align-start-vertical" | "align-vertical-distribute-center" | "align-vertical-distribute-end" | "align-vertical-distribute-start" | "align-vertical-justify-center" | "align-vertical-justify-end" | "align-vertical-justify-start" | "align-vertical-space-around" | "align-vertical-space-between" | "ambulance" | "ampersand" | "ampersands" | "amphora" | "anchor" | "angle" | "angry" | "annoyed" | "antenna" | "anvil" | "aperture" | "app-window-mac" | "app-window" | "apple" | "archive-restore" | "archive-x" | "archive" | "area-chart" | "armchair" | "armenian-dram" | "arrow-big-down-dash" | "arrow-big-down" | "arrow-big-left-dash" | "arrow-big-left" | "arrow-big-right-dash" | "arrow-big-right" | "arrow-big-up-dash" | "arrow-big-up" | "arrow-down-0-1" | "arrow-down-01" | "arrow-down-1-0" | "arrow-down-10" | "arrow-down-a-z" | "arrow-down-az" | "arrow-down-circle" | "arrow-down-from-line" | "arrow-down-left-from-circle" | "arrow-down-left-from-square" | "arrow-down-left-square" | "arrow-down-left" | "arrow-down-narrow-wide" | "arrow-down-right-from-circle" | "arrow-down-right-from-square" | "arrow-down-right-square" | "arrow-down-right" | "arrow-down-square" | "arrow-down-to-dot" | "arrow-down-to-line" | "arrow-down-up" | "arrow-down-wide-narrow" | "arrow-down-z-a" | "arrow-down-za" | "arrow-down" | "arrow-left-circle" | "arrow-left-from-line" | "arrow-left-right" | "arrow-left-square" | "arrow-left-to-line" | "arrow-left" | "arrow-right-circle" | "arrow-right-from-line" | "arrow-right-left" | "arrow-right-square" | "arrow-right-to-line" | "arrow-right" | "arrow-up-0-1" | "arrow-up-01" | "arrow-up-1-0" | "arrow-up-10" | "arrow-up-a-z" | "arrow-up-az" | "arrow-up-circle" | "arrow-up-down" | "arrow-up-from-dot" | "arrow-up-from-line" | "arrow-up-left-from-circle" | "arrow-up-left-from-square" | "arrow-up-left-square" | "arrow-up-left" | "arrow-up-narrow-wide" | "arrow-up-right-from-circle" | "arrow-up-right-from-square" | "arrow-up-right-square" | "arrow-up-right" | "arrow-up-square" | "arrow-up-to-line" | "arrow-up-wide-narrow" | "arrow-up-z-a" | "arrow-up-za" | "arrow-up" | "arrows-up-from-line" | "asterisk-square" | "asterisk" | "astroid" | "at-sign" | "atom" | "audio-lines-off" | "audio-lines-x" | "audio-lines" | "audio-waveform" | "avocado" | "award" | "axe" | "axis-3-d" | "axis-3d" | "azerbaijani-manat" | "baby" | "backpack" | "bacon" | "badge-alert" | "badge-cent" | "badge-check" | "badge-dollar-sign" | "badge-euro" | "badge-help" | "badge-indian-rupee" | "badge-info" | "badge-japanese-yen" | "badge-minus" | "badge-percent" | "badge-plus" | "badge-pound-sterling" | "badge-question-mark" | "badge-russian-ruble" | "badge-swiss-franc" | "badge-turkish-lira" | "badge-x" | "badge" | "baggage-claim" | "ball-wave" | "balloon" | "ban" | "banana" | "bandage" | "bangladeshi-taka" | "banknote-arrow-down" | "banknote-arrow-up" | "banknote-check" | "banknote-x" | "banknote" | "bar-chart-2" | "bar-chart-3" | "bar-chart-4" | "bar-chart-big" | "bar-chart-horizontal-big" | "bar-chart-horizontal" | "bar-chart" | "barcode" | "barrel" | "baseline" | "bath" | "battery-charging" | "battery-full" | "battery-low" | "battery-medium" | "battery-plus" | "battery-warning" | "battery" | "beaker" | "bean-off" | "bean" | "bed-double" | "bed-single" | "bed" | "beef-off" | "beef" | "beer-off" | "beer" | "belarusian-ruble" | "bell-check" | "bell-dot" | "bell-electric" | "bell-minus" | "bell-off" | "bell-plus" | "bell-ring" | "bell" | "between-horizonal-end" | "between-horizonal-start" | "between-horizontal-end" | "between-horizontal-start" | "between-vertical-end" | "between-vertical-start" | "biceps-flexed" | "bike" | "binary" | "binoculars" | "biohazard" | "bird" | "birdhouse" | "bitcoin" | "blend" | "blender" | "blinds" | "blocks" | "bluetooth-connected" | "bluetooth-off" | "bluetooth-searching" | "bluetooth" | "bold" | "bolt" | "bomb" | "bone-fracture" | "bone" | "book-a" | "book-alert" | "book-audio" | "book-bookmark" | "book-check" | "book-copy" | "book-dashed" | "book-down" | "book-headphones" | "book-heart" | "book-image" | "book-key" | "book-lock" | "book-marked" | "book-minus" | "book-open-check" | "book-open-text" | "book-open" | "book-plus" | "book-search" | "book-template" | "book-text" | "book-type" | "book-up-2" | "book-up" | "book-user" | "book-x" | "book" | "bookmark-check" | "bookmark-minus" | "bookmark-off" | "bookmark-plus" | "bookmark-x" | "bookmark" | "boom-box" | "bot-message-square" | "bot-off" | "bot" | "bottle-wine" | "bow-arrow" | "box-select" | "box" | "boxes" | "braces" | "brackets" | "brain-circuit" | "brain-cog" | "brain-off" | "brain" | "brick-wall-fire" | "brick-wall-shield" | "brick-wall" | "bridge" | "briefcase-business" | "briefcase-conveyor-belt" | "briefcase-medical" | "briefcase-plus" | "briefcase" | "bring-to-front" | "broccoli" | "broom-sparkles" | "broom" | "brush-cleaning" | "brush" | "bubbles" | "bug-off" | "bug-play" | "bug" | "building-2" | "building-complex-plus" | "building-complex" | "building" | "bus-front" | "bus" | "cable-car" | "cable" | "cake-slice" | "cake" | "calculator" | "calendar-1" | "calendar-arrow-down" | "calendar-arrow-up" | "calendar-check-2" | "calendar-check" | "calendar-chevrons-left" | "calendar-chevrons-right" | "calendar-clock" | "calendar-cog" | "calendar-days" | "calendar-fold" | "calendar-heart" | "calendar-minus-2" | "calendar-minus" | "calendar-off" | "calendar-plus-2" | "calendar-plus" | "calendar-range" | "calendar-search" | "calendar-sync" | "calendar-x-2" | "calendar-x" | "calendar" | "calendars" | "camera-off" | "camera" | "can-soda" | "can" | "candlestick-chart" | "candy-cane" | "candy-off" | "candy" | "cannabis-off" | "cannabis" | "captions-off" | "captions" | "car-battery" | "car-front" | "car-taxi-front" | "car" | "caravan" | "card-sim" | "carrot" | "carton-off" | "carton" | "case-lower" | "case-sensitive" | "case-upper" | "cassette-tape" | "cast" | "castle" | "cat" | "cctv-off" | "cctv" | "certificate" | "chart-area" | "chart-bar-big" | "chart-bar-decreasing" | "chart-bar-increasing" | "chart-bar-stacked" | "chart-bar" | "chart-candlestick" | "chart-column-big" | "chart-column-decreasing" | "chart-column-increasing" | "chart-column-stacked" | "chart-column" | "chart-gantt" | "chart-line" | "chart-network" | "chart-no-axes-column-decreasing" | "chart-no-axes-column-increasing" | "chart-no-axes-column" | "chart-no-axes-combined" | "chart-no-axes-gantt" | "chart-pie" | "chart-scatter" | "chart-spline" | "check-check" | "check-circle-2" | "check-circle" | "check-line" | "check-square-2" | "check-square" | "check" | "chef-hat" | "cherry" | "chess-bishop" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-down-circle" | "chevron-down-square" | "chevron-down" | "chevron-first" | "chevron-last" | "chevron-left-circle" | "chevron-left-square" | "chevron-left" | "chevron-right-circle" | "chevron-right-square" | "chevron-right" | "chevron-up-circle" | "chevron-up-square" | "chevron-up" | "chevrons-down-up" | "chevrons-down" | "chevrons-left-right-ellipsis" | "chevrons-left-right" | "chevrons-left" | "chevrons-right-left" | "chevrons-right" | "chevrons-up-down" | "chevrons-up" | "church" | "cigarette-off" | "cigarette" | "circle-alert" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-out-down-left" | "circle-arrow-out-down-right" | "circle-arrow-out-up-left" | "circle-arrow-out-up-right" | "circle-arrow-right" | "circle-arrow-up" | "circle-check-big" | "circle-check" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-chevrons-down" | "circle-chevrons-left" | "circle-chevrons-right" | "circle-chevrons-up" | "circle-dashed-check" | "circle-dashed" | "circle-divide" | "circle-dollar-sign" | "circle-dot-dashed" | "circle-dot" | "circle-ellipsis" | "circle-equal" | "circle-euro" | "circle-fading-arrow-up" | "circle-fading-play" | "circle-fading-plus" | "circle-gauge" | "circle-help" | "circle-minus" | "circle-off" | "circle-parking-off" | "circle-parking" | "circle-pause" | "circle-percent" | "circle-pile" | "circle-play" | "circle-plus" | "circle-pound-sterling" | "circle-power" | "circle-question-mark" | "circle-slash-2" | "circle-slash" | "circle-slashed" | "circle-small" | "circle-star" | "circle-stop" | "circle-user-round" | "circle-user" | "circle-x" | "circuit-board" | "citrus" | "clapperboard" | "clef-alto" | "clef-bass" | "clef-treble" | "clipboard-check" | "clipboard-clock" | "clipboard-copy" | "clipboard-edit" | "clipboard-list" | "clipboard-minus" | "clipboard-paste" | "clipboard-pen-line" | "clipboard-pen" | "clipboard-plus" | "clipboard-signature" | "clipboard-type" | "clipboard-x" | "clipboard" | "clock-1" | "clock-10" | "clock-11" | "clock-12" | "clock-2" | "clock-3" | "clock-4" | "clock-5" | "clock-6" | "clock-7" | "clock-8" | "clock-9" | "clock-alert" | "clock-arrow-down" | "clock-arrow-left" | "clock-arrow-right" | "clock-arrow-up" | "clock-check" | "clock-fading" | "clock-plus" | "clock" | "closed-caption" | "cloud-alert" | "cloud-backup" | "cloud-check" | "cloud-cog" | "cloud-download" | "cloud-drizzle" | "cloud-fog" | "cloud-hail" | "cloud-lightning" | "cloud-moon-rain" | "cloud-moon" | "cloud-off" | "cloud-rain-wind" | "cloud-rain" | "cloud-snow" | "cloud-sun-rain" | "cloud-sun" | "cloud-sync" | "cloud-upload" | "cloud" | "cloudy" | "clover" | "club" | "code-2" | "code-square" | "code-xml" | "coffee" | "cog" | "coins" | "columns-2" | "columns-3-cog" | "columns-3" | "columns-4" | "columns-settings" | "columns" | "combine" | "compass" | "component" | "computer" | "concierge-bell" | "cone" | "construction" | "contact-2" | "contact-round" | "contact" | "container" | "contrast" | "cookie" | "cooking-pot" | "copy-check" | "copy-minus" | "copy-plus" | "copy-slash" | "copy-x" | "copyleft" | "copyright" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "cpu-ai" | "cpu" | "creative-commons" | "credit-card-check" | "credit-card-minus" | "credit-card-plus" | "credit-card-reader" | "credit-card-x" | "credit-card" | "croissant" | "crop" | "cross" | "crosshair" | "crown" | "cuboid" | "cup-soda" | "cupcake" | "curly-braces" | "currency" | "cylinder" | "dam" | "database-arrow-down" | "database-arrow-up" | "database-backup" | "database-check" | "database-minus" | "database-plus" | "database-search" | "database-x" | "database-zap" | "database" | "decimals-arrow-left" | "decimals-arrow-right" | "delete" | "dessert" | "diameter" | "diamond-minus" | "diamond-percent" | "diamond-plus" | "diamond" | "dice-1" | "dice-2" | "dice-3" | "dice-4" | "dice-5" | "dice-6" | "dices" | "diff" | "disc-2" | "disc-3" | "disc-album" | "disc" | "divide-circle" | "divide-square" | "divide" | "dna-off" | "dna" | "dock" | "dog" | "dollar-sign" | "dome" | "donut" | "door-closed-cog" | "door-closed-locked" | "door-closed-package" | "door-closed" | "door-open" | "door-stairwell" | "dot-square" | "dot" | "download-cloud" | "download" | "drafting-compass" | "drama" | "drill" | "drone" | "droplet-off" | "droplet" | "droplets" | "drum" | "drumstick" | "dumbbell" | "ear-off" | "ear" | "earth-lock" | "earth" | "eclipse" | "edit-2" | "edit-3" | "edit" | "egg-fried" | "egg-off" | "egg" | "eighth-note" | "eighth-notes" | "eject" | "ellipsis-vertical" | "ellipsis" | "emirati-dirham" | "engine" | "equal-approximately-not" | "equal-approximately" | "equal-not" | "equal-square" | "equal" | "eraser" | "ethernet-port" | "euro" | "ev-charger" | "expand" | "external-link" | "eye-closed" | "eye-dashed" | "eye-off" | "eye" | "face-angry" | "face-expressionless" | "face-grinning" | "face-neutral" | "face-slightly-frowning" | "face-slightly-smiling-plus" | "face-slightly-smiling" | "factory" | "fan" | "fast-forward" | "faucet" | "feather" | "fence" | "ferris-wheel" | "file-archive" | "file-audio-2" | "file-audio" | "file-axis-3-d" | "file-axis-3d" | "file-badge-2" | "file-badge" | "file-bar-chart-2" | "file-bar-chart" | "file-box" | "file-braces-corner" | "file-braces" | "file-chart-column-increasing" | "file-chart-column" | "file-chart-line" | "file-chart-pie" | "file-check-2" | "file-check-corner" | "file-check" | "file-clock" | "file-code-2" | "file-code-corner" | "file-code" | "file-cog-2" | "file-cog" | "file-diff" | "file-digit" | "file-down" | "file-edit" | "file-exclamation-point" | "file-headphone" | "file-heart" | "file-image" | "file-input" | "file-json-2" | "file-json" | "file-key-2" | "file-key" | "file-line-chart" | "file-lock-2" | "file-lock" | "file-minus-2" | "file-minus-corner" | "file-minus" | "file-music" | "file-output" | "file-pen-line" | "file-pen" | "file-pie-chart" | "file-play" | "file-plus-2" | "file-plus-corner" | "file-plus" | "file-question-mark" | "file-question" | "file-scan" | "file-search-2" | "file-search-corner" | "file-search" | "file-signal" | "file-signature" | "file-sliders" | "file-spreadsheet" | "file-stack" | "file-symlink" | "file-terminal" | "file-text" | "file-type-2" | "file-type-corner" | "file-type" | "file-up" | "file-user" | "file-video-2" | "file-video-camera" | "file-video" | "file-volume-2" | "file-volume" | "file-warning" | "file-x-2" | "file-x-corner" | "file-x" | "file" | "files" | "film" | "filter-x" | "fingerprint-pattern" | "fingerprint" | "fire-extinguisher" | "fish-off" | "fish-symbol" | "fish" | "fishing-hook" | "fishing-rod" | "flag-off" | "flag-triangle-left" | "flag-triangle-right" | "flag" | "flame-kindling" | "flame" | "flashlight-off" | "flashlight" | "flask-conical-off" | "flask-conical" | "flask-round" | "flip-horizontal-2" | "flip-horizontal" | "flip-vertical-2" | "flip-vertical" | "flower-2" | "flower" | "fold-horizontal" | "fold-vertical" | "folder-archive" | "folder-bookmark" | "folder-check" | "folder-clock" | "folder-closed" | "folder-code" | "folder-cog-2" | "folder-cog" | "folder-dot" | "folder-down" | "folder-edit" | "folder-git-2" | "folder-git" | "folder-heart" | "folder-input" | "folder-kanban" | "folder-key" | "folder-lock" | "folder-minus" | "folder-open-dot" | "folder-open" | "folder-output" | "folder-pen" | "folder-plus" | "folder-root" | "folder-search-2" | "folder-search" | "folder-symlink" | "folder-sync" | "folder-tree" | "folder-up" | "folder-user" | "folder-users" | "folder-x" | "folder" | "folders" | "footprints" | "fork-knife-crossed" | "fork-knife" | "forklift" | "form-input" | "forward" | "frown" | "fuel" | "fullscreen" | "function-square" | "funnel-plus" | "funnel-x" | "funnel" | "galaxy" | "gallery-horizontal-end" | "gallery-horizontal" | "gallery-thumbnails" | "gallery-vertical-end" | "gallery-vertical" | "gamepad-2" | "gamepad-directional" | "gamepad" | "gantt-chart-square" | "gantt-chart" | "gap-horizontal" | "gap-vertical" | "gauge-circle" | "gauge" | "gavel" | "gem" | "georgian-lari" | "germ-off" | "germ" | "ghost" | "gift" | "git-branch-minus" | "git-branch-plus" | "git-branch" | "git-commit-horizontal" | "git-commit-vertical" | "git-commit" | "git-compare-arrows" | "git-compare" | "git-fork" | "git-graph" | "git-merge-conflict" | "git-merge" | "git-pull-request-arrow" | "git-pull-request-closed" | "git-pull-request-create-arrow" | "git-pull-request-create" | "git-pull-request-draft" | "git-pull-request" | "glass-water" | "glasses" | "globe-2" | "globe-check" | "globe-code" | "globe-lock" | "globe-off" | "globe-x" | "globe" | "goal" | "gpu" | "grab" | "graduation-cap" | "grape" | "graph-hub" | "graph-star" | "grid-2-x-2-check" | "grid-2-x-2-plus" | "grid-2-x-2-x" | "grid-2-x-2" | "grid-2x2-check" | "grid-2x2-plus" | "grid-2x2-x" | "grid-2x2" | "grid-3-x-3" | "grid-3x2" | "grid-3x3" | "grid" | "grip-horizontal" | "grip-vertical" | "grip" | "groceries" | "group" | "guitar-electric" | "guitar" | "half-note" | "ham" | "hamburger" | "hammer" | "hand-coins" | "hand-fist" | "hand-grab" | "hand-heart" | "hand-helping" | "hand-metal" | "hand-platter" | "hand" | "handbag" | "handle-bottom-right" | "handshake" | "hard-drive-download" | "hard-drive-upload" | "hard-drive" | "hard-hat" | "hash" | "hat-glasses" | "haze" | "hd" | "hdmi-port" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "heading" | "headphone-off" | "headphones" | "headset" | "heart-crack" | "heart-handshake" | "heart-minus" | "heart-off" | "heart-plus" | "heart-pulse" | "heart-x" | "heart" | "heater" | "helicopter" | "help-circle" | "helping-hand" | "hexagon" | "highlighter" | "hiking-stick" | "history" | "hockey-stick" | "home" | "hop-off" | "hop" | "hospital" | "hot-air-balloon" | "hotel" | "hourglass-cog" | "hourglass" | "house-cog" | "house-heart" | "house-plug" | "house-plus" | "house-wifi" | "house" | "houses" | "ice-cream-2" | "ice-cream-bowl" | "ice-cream-cone" | "ice-cream" | "id-card-lanyard" | "id-card" | "image-down" | "image-minus" | "image-off" | "image-play" | "image-plus" | "image-up" | "image-upscale" | "images" | "import" | "inbox" | "indent-decrease" | "indent-increase" | "indent" | "indian-rupee" | "infinity" | "info" | "inspect" | "inspection-panel" | "italic" | "iteration-ccw" | "iteration-cw" | "iv-bag" | "japanese-yen" | "joystick" | "kanban-square-dashed" | "kanban-square" | "kanban" | "kayak" | "kazakh-tenge" | "key-round" | "key-square" | "key" | "keyboard-music" | "keyboard-off" | "keyboard" | "lambda" | "lamp-ceiling" | "lamp-desk" | "lamp-floor" | "lamp-wall-down" | "lamp-wall-up" | "lamp" | "land-plot" | "landmark" | "languages" | "laptop-2" | "laptop-minimal-check" | "laptop-minimal" | "laptop" | "lasso-select" | "lasso" | "laugh" | "layer-arrow-down" | "layer-arrow-up" | "layers-2" | "layers-3" | "layers-arrow-down" | "layers-arrow-up" | "layers-minus" | "layers-plus" | "layers" | "layout-arrow-down" | "layout-arrow-right" | "layout-dashboard" | "layout-freeform" | "layout-grid-circles" | "layout-grid" | "layout-list" | "layout-panel-left" | "layout-panel-top" | "layout-template" | "layout" | "leaf" | "leafy-green" | "lectern" | "lens-concave" | "lens-convex" | "lens" | "letter-spacing" | "letter-text" | "letters" | "library-big" | "library-square" | "library" | "life-buoy" | "ligature" | "lightbulb-off" | "lightbulb" | "lighthouse" | "line-chart" | "line-dot-bottom-vertical" | "line-dot-left-horizontal" | "line-dot-right-horizontal" | "line-dot-top-vertical" | "line-height" | "line-squiggle" | "line-style" | "link-2-off" | "link-2" | "list-check" | "list-checks" | "list-chevrons-down-up" | "list-chevrons-up-down" | "list-clock" | "list-collapse" | "list-end" | "list-filter-plus" | "list-filter" | "list-indent-decrease" | "list-indent-increase" | "list-minus" | "list-music" | "list-ordered" | "list-plus" | "list-restart" | "list-sort-ascending" | "list-sort-descending" | "list-start" | "list-todo" | "list-tree" | "list-video" | "list-x" | "list" | "loader-2" | "loader-circle" | "loader-pinwheel" | "loader" | "locate-fixed" | "locate-off" | "locate" | "location-edit" | "lock-keyhole-open" | "lock-keyhole" | "lock-open" | "lock" | "log-in" | "log-out" | "logs" | "lollipop" | "luggage" | "m-square" | "magnet" | "mail-badge" | "mail-check" | "mail-clock" | "mail-dot" | "mail-minus" | "mail-open" | "mail-pen" | "mail-plus" | "mail-question-mark" | "mail-question" | "mail-search" | "mail-warning" | "mail-x" | "mail" | "mailbox" | "mails" | "map-minus" | "map-pin-check-inside" | "map-pin-check" | "map-pin-house" | "map-pin-minus-inside" | "map-pin-minus" | "map-pin-off" | "map-pin-pen" | "map-pin-plus-inside" | "map-pin-plus" | "map-pin-search" | "map-pin-x-inside" | "map-pin-x" | "map-pin" | "map-pinned" | "map-plus" | "mars-stroke" | "mars" | "martini" | "maximize-2" | "maximize" | "medal" | "megaphone-off" | "megaphone" | "meh" | "memory-stick" | "menu-square" | "merge" | "message-circle-check" | "message-circle-code" | "message-circle-dashed-check" | "message-circle-dashed" | "message-circle-heart" | "message-circle-more" | "message-circle-off" | "message-circle-plus" | "message-circle-question-mark" | "message-circle-question" | "message-circle-reply" | "message-circle-text" | "message-circle-warning" | "message-circle-x" | "message-circle" | "message-square-check" | "message-square-code" | "message-square-dashed" | "message-square-diff" | "message-square-dot" | "message-square-heart" | "message-square-lock" | "message-square-more" | "message-square-off" | "message-square-plus" | "message-square-quote" | "message-square-reply" | "message-square-share" | "message-square-text" | "message-square-warning" | "message-square-x" | "message-square" | "messages-circle" | "messages-square" | "metronome" | "mic-2" | "mic-audio-lines" | "mic-off" | "mic-signal" | "mic-vocal" | "mic" | "microchip" | "microscope" | "microwave" | "midi-port" | "milestone" | "milk-off" | "milk" | "minimize-2" | "minimize" | "minus-circle" | "minus-square" | "minus" | "mirror-rectangular" | "mirror-round" | "monitor-check" | "monitor-cloud" | "monitor-cog" | "monitor-dot" | "monitor-down" | "monitor-off" | "monitor-pause" | "monitor-pc" | "monitor-play" | "monitor-smartphone" | "monitor-speaker" | "monitor-stop" | "monitor-up" | "monitor-x" | "monitor" | "moon-star" | "moon" | "mop-sparkles" | "mop" | "more-horizontal" | "more-vertical" | "mosque" | "motorbike" | "mountain-snow" | "mountain" | "mouse-left" | "mouse-off" | "mouse-pointer-2-off" | "mouse-pointer-2" | "mouse-pointer-ban" | "mouse-pointer-click" | "mouse-pointer-square-dashed" | "mouse-pointer" | "mouse-right" | "mouse" | "mouth-off" | "mouth" | "move-3-d" | "move-3d" | "move-diagonal-2" | "move-diagonal" | "move-down-left" | "move-down-right" | "move-down" | "move-horizontal" | "move-left" | "move-right" | "move-up-left" | "move-up-right" | "move-up" | "move-vertical" | "move" | "music-2" | "music-3" | "music-4" | "music" | "navigation-2-off" | "navigation-2" | "navigation-off" | "navigation" | "nepali-rupee" | "network" | "newspaper" | "nfc" | "non-binary" | "notebook-dot" | "notebook-pen" | "notebook-tabs" | "notebook-text" | "notebook" | "notepad-text-dashed" | "notepad-text" | "nut-off" | "nut" | "octagon-alert" | "octagon-minus" | "octagon-pause" | "octagon-x" | "octagon" | "omega" | "orbit" | "origami" | "outdent" | "package-2" | "package-check" | "package-minus" | "package-open" | "package-plus" | "package-search" | "package-x" | "package" | "paint-bucket" | "paint-roller" | "paintbrush-2" | "paintbrush-vertical" | "paintbrush" | "palette" | "palmtree" | "panda" | "panel-bottom-close" | "panel-bottom-dashed" | "panel-bottom-inactive" | "panel-bottom-open" | "panel-bottom" | "panel-left-close" | "panel-left-dashed" | "panel-left-inactive" | "panel-left-open" | "panel-left-right-dashed" | "panel-left" | "panel-right-close" | "panel-right-dashed" | "panel-right-inactive" | "panel-right-open" | "panel-right" | "panel-top-bottom-dashed" | "panel-top-close" | "panel-top-dashed" | "panel-top-inactive" | "panel-top-open" | "panel-top" | "panels-left-bottom" | "panels-left-right" | "panels-right-bottom" | "panels-top-bottom" | "panels-top-left" | "paper-bag" | "paperclip" | "parasol" | "parentheses" | "park" | "parking-circle-off" | "parking-circle" | "parking-meter" | "parking-square-off" | "parking-square" | "party-popper" | "pause-circle" | "pause-octagon" | "paw-print" | "pc-case" | "pen-box" | "pen-line" | "pen-off" | "pen-square" | "pen-tool" | "pen" | "pencil-line" | "pencil-off" | "pencil-ruler" | "pencil-sparkles" | "pencil" | "pentagon" | "percent-circle" | "percent-diamond" | "percent-square" | "percent" | "perfume-bottle" | "person-standing" | "phi" | "philippine-peso" | "phone-call" | "phone-forwarded" | "phone-incoming" | "phone-log" | "phone-missed" | "phone-off" | "phone-outgoing" | "phone" | "pi-square" | "pi" | "piano" | "pickaxe" | "picture-in-picture-2" | "picture-in-picture" | "pie-chart" | "piggy-bank" | "pilcrow-left" | "pilcrow-right" | "pilcrow-square" | "pilcrow" | "pill-bottle" | "pill" | "pin-off" | "pin" | "pipette" | "pizza" | "plane-landing" | "plane-takeoff" | "plane" | "plant-pot" | "play-circle" | "play-off" | "play-square" | "playing-card" | "playing-cards-fan" | "playing-cards" | "plug-2" | "plug-zap-2" | "plug-zap" | "plug" | "plus-circle" | "plus-square" | "plus" | "pocket-knife" | "podcast" | "podium" | "pointer-off" | "pointer" | "popcorn" | "popsicle" | "pound-sterling" | "power-circle" | "power-off" | "power-square" | "power" | "presentation" | "printer-3d" | "printer-check" | "printer-x" | "printer" | "projector" | "proportions" | "puzzle" | "pyramid" | "qr-code" | "quote" | "rabbit" | "radar" | "radiation" | "radical" | "radio-off" | "radio-receiver" | "radio-tower" | "radio" | "radius" | "rainbow" | "rat" | "ratio" | "receipt-cent" | "receipt-euro" | "receipt-indian-rupee" | "receipt-japanese-yen" | "receipt-pound-sterling" | "receipt-russian-ruble" | "receipt-swiss-franc" | "receipt-text" | "receipt-turkish-lira" | "receipt" | "rectangle-circle" | "rectangle-ellipsis" | "rectangle-goggles" | "rectangle-horizontal" | "rectangle-vertical" | "recycle" | "redo-2" | "redo-dot" | "redo" | "refresh-ccw-dot" | "refresh-ccw" | "refresh-cw-off" | "refresh-cw" | "refrigerator" | "regex" | "remove-formatting" | "repeat-1" | "repeat-2" | "repeat-off" | "repeat" | "replace-all" | "replace" | "reply-all" | "reply" | "rewind" | "ribbon" | "road" | "robot-arm" | "robot-vacuum" | "rocket" | "rocking-chair" | "roller-coaster" | "rose" | "rotate-3-d" | "rotate-3d" | "rotate-ccw-clock" | "rotate-ccw-key" | "rotate-ccw-square" | "rotate-ccw" | "rotate-cw-clock" | "rotate-cw-fading-clock" | "rotate-cw-square" | "rotate-cw" | "route-off" | "route" | "router" | "rows-2" | "rows-3" | "rows-4" | "rows" | "rss" | "rugby-ball" | "ruler-dimension-line" | "ruler" | "russian-ruble" | "sailboat" | "salad" | "sandwich" | "satellite-dish" | "satellite" | "saudi-riyal" | "save-all" | "save-check" | "save-off" | "save-pen" | "save-plus" | "save" | "scale-3-d" | "scale-3d" | "scale" | "scaling" | "scan-barcode" | "scan-box" | "scan-eye" | "scan-face" | "scan-heart" | "scan-line" | "scan-qr-code" | "scan-search" | "scan-square" | "scan-text" | "scan" | "scatter-chart" | "school-2" | "school" | "scissors-line-dashed" | "scissors-square-dashed-bottom" | "scissors-square" | "scissors" | "scooter" | "scratch-blocks" | "screen-share-off" | "screen-share" | "screw" | "scroll-text" | "search-alert" | "search-check" | "search-code" | "search-slash" | "search-x" | "send-horizonal" | "send-horizontal" | "send-to-back" | "send" | "separator-horizontal" | "separator-vertical" | "server-cog" | "server-crash" | "server-nas" | "server-off" | "server-plus" | "server" | "settings-2" | "settings" | "shapes" | "share-2" | "share" | "sheet" | "shell" | "shelving-unit" | "shield-alert" | "shield-ban" | "shield-check" | "shield-close" | "shield-cog-corner" | "shield-cog" | "shield-ellipsis" | "shield-half" | "shield-house" | "shield-keyhole" | "shield-lock" | "shield-minus" | "shield-off" | "shield-plus" | "shield-question-mark" | "shield-question" | "shield-user" | "shield-x" | "shield" | "ship-cargo" | "ship-wheel" | "ship" | "shirt" | "shopping-bag" | "shopping-basket" | "shopping-cart-minus" | "shopping-cart-plus" | "shopping-cart" | "shovel" | "shower-head" | "shredder" | "shrimp-off" | "shrimp" | "shrink" | "shrub" | "shuffle" | "sidebar-close" | "sidebar-open" | "sidebar" | "sigma-square" | "sigma" | "signal-high" | "signal-low" | "signal-medium" | "signal-zero" | "signal" | "signature" | "signpost-big" | "signpost" | "siren" | "sixteenth-notes" | "skip-back" | "skip-forward" | "skull" | "slash-square" | "slash" | "sliders-horizontal" | "sliders-vertical" | "sliders" | "smartphone-charging" | "smartphone-nfc" | "smartphone-user-round" | "smartphone" | "smile-plus" | "smile" | "snail" | "snowflake" | "soap-dispenser-droplet" | "sofa" | "solar-panel" | "sort-asc" | "sort-desc" | "soup" | "space" | "spade" | "sparkle" | "sparkles" | "speaker" | "speech" | "spell-check-2" | "spell-check" | "spline-pointer" | "spline" | "split-square-horizontal" | "split-square-vertical" | "split" | "spool" | "sport-shoe" | "spotlight" | "spray-can" | "sprout" | "square-activity" | "square-arrow-down-left" | "square-arrow-down-right" | "square-arrow-down" | "square-arrow-left" | "square-arrow-out-down-left" | "square-arrow-out-down-right" | "square-arrow-out-up-left" | "square-arrow-out-up-right" | "square-arrow-right-enter" | "square-arrow-right-exit" | "square-arrow-right" | "square-arrow-up-left" | "square-arrow-up-right" | "square-arrow-up" | "square-asterisk" | "square-bookmark" | "square-bottom-dashed-scissors" | "square-centerline-dashed-horizontal" | "square-centerline-dashed-vertical" | "square-chart-gantt" | "square-check-big" | "square-check" | "square-chevron-down" | "square-chevron-left" | "square-chevron-right" | "square-chevron-up" | "square-code" | "square-dashed-bottom-code" | "square-dashed-bottom" | "square-dashed-kanban" | "square-dashed-mouse-pointer" | "square-dashed-plus" | "square-dashed-text" | "square-dashed-top-solid" | "square-dashed-x-corner" | "square-dashed-x" | "square-dashed" | "square-dimensions" | "square-divide" | "square-dot" | "square-equal" | "square-exclamation-point" | "square-function" | "square-gantt-chart" | "square-kanban" | "square-library" | "square-m" | "square-menu" | "square-minus" | "square-mouse-pointer" | "square-off" | "square-parking-off" | "square-parking" | "square-pause" | "square-pen" | "square-percent" | "square-pi" | "square-pilcrow" | "square-play" | "square-plus" | "square-power" | "square-radical" | "square-round-corner" | "square-scissors" | "square-sigma" | "square-slash" | "square-sparkles" | "square-split-horizontal" | "square-split-vertical" | "square-square" | "square-stack" | "square-star" | "square-stop" | "square-terminal" | "square-text" | "square-user-round" | "square-user" | "square-x" | "square" | "squares-exclude" | "squares-intersect" | "squares-subtract" | "squares-unite" | "squircle-dashed" | "squircle" | "squirrel" | "stamp" | "star-check" | "star-half" | "star-minus" | "star-off" | "star-plus" | "star-x" | "star" | "stars" | "step-back" | "step-forward" | "stethoscope" | "sticker" | "sticky-note-check" | "sticky-note-minus" | "sticky-note-off" | "sticky-note-plus" | "sticky-note-x" | "sticky-note" | "sticky-notes" | "stone" | "stop-circle" | "store" | "stretch-horizontal" | "stretch-vertical" | "strikethrough" | "subscript" | "subtitles" | "sun-dim" | "sun-medium" | "sun-moon" | "sun-snow" | "sun" | "sunrise" | "sunset" | "superscript" | "swatch-book" | "swiss-franc" | "switch-camera" | "sword" | "swords" | "syringe" | "table-2" | "table-cells-merge" | "table-cells-split" | "table-columns-split" | "table-config" | "table-of-contents" | "table-properties" | "table-rows-split" | "tablet-smartphone" | "tablet" | "tablets" | "tag-plus" | "tag-x" | "tag" | "tags" | "tally-1" | "tally-2" | "tally-3" | "tally-4" | "tally-5" | "tangent" | "target" | "telescope" | "tent-tree" | "tent" | "terminal-square" | "terminal" | "test-tube-2" | "test-tube-diagonal" | "test-tube" | "test-tubes" | "text-align-center" | "text-align-end" | "text-align-justify-center" | "text-align-justify-end" | "text-align-justify-start" | "text-align-justify" | "text-align-start" | "text-cursor-input" | "text-cursor" | "text-initial" | "text-quote" | "text-search" | "text-select" | "text-selection" | "text-wrap" | "theater" | "thermometer-snowflake" | "thermometer-sun" | "thermometer" | "thumbs-down" | "thumbs-up" | "tic-tac-toe" | "ticket-check" | "ticket-minus" | "ticket-percent" | "ticket-plus" | "ticket-slash" | "ticket-x" | "ticket" | "tickets-plane" | "tickets" | "timeline" | "timer-off" | "timer-reset" | "timer" | "toggle-left" | "toggle-right" | "toilet" | "tombstone" | "tool-case" | "toolbox" | "toothbrush-sparkles" | "toothbrush" | "tornado" | "torus" | "touchpad-off" | "touchpad" | "towel-rack" | "tower-control" | "toy-brick" | "tractor" | "traffic-cone" | "trailer" | "train-front-tunnel" | "train-front" | "train-track" | "train" | "tram-front" | "transgender" | "trash-2" | "trash-off" | "trash" | "tree-deciduous" | "tree-palm" | "tree-pine" | "trees" | "trending-down" | "trending-up-down" | "trending-up" | "triangle-alert" | "triangle-dashed" | "triangle-right" | "triangle" | "triangles-centerline-dashed-horizontal" | "triangles-centerline-dashed-vertical" | "trophy" | "truck-electric" | "truck" | "tube-lotion" | "turkish-lira" | "turntable" | "turtle" | "tv-2" | "tv-minimal-play" | "tv-minimal" | "tv" | "type-outline" | "type" | "umbrella-off" | "umbrella" | "underline" | "undo-2" | "undo-dot" | "undo" | "unfold-horizontal" | "unfold-vertical" | "ungroup" | "university" | "unlink-2" | "unlink" | "unlock-keyhole" | "unlock" | "unplug" | "upload-cloud" | "upload" | "usb-c-port" | "usb" | "user-2" | "user-check-2" | "user-check" | "user-circle-2" | "user-circle" | "user-cog-2" | "user-cog" | "user-group" | "user-key" | "user-lock" | "user-minus-2" | "user-minus" | "user-pen" | "user-plus-2" | "user-plus" | "user-round-arrow-left" | "user-round-check" | "user-round-cog" | "user-round-group" | "user-round-key" | "user-round-minus" | "user-round-pen" | "user-round-plus" | "user-round-search" | "user-round-star" | "user-round-x" | "user-round" | "user-search" | "user-shield" | "user-square-2" | "user-square" | "user-star" | "user-x-2" | "user-x" | "user" | "users-2" | "users-collaboration" | "users-round-collaboration" | "users-round" | "users" | "utensils-crossed" | "utensils" | "utility-pole" | "van" | "variable" | "vault" | "vector-polygon" | "vector-square" | "vegan" | "venetian-mask" | "venus-and-mars" | "venus" | "verified" | "vibrate-off" | "vibrate" | "video-off" | "videotape" | "virus-off" | "virus" | "voicemail" | "volleyball" | "volume-1" | "volume-2" | "volume-off" | "volume-x" | "volume" | "vote" | "wallet-2" | "wallet-cards" | "wallet-minimal" | "wallet" | "wallpaper" | "wand-2" | "wand-sparkles" | "wand" | "warehouse" | "washing-machine" | "watch" | "waves-arrow-down" | "waves-arrow-up" | "waves-horizontal" | "waves-ladder" | "waves-vertical" | "waves" | "waypoints" | "webcam-off" | "webcam" | "webhook-off" | "webhook" | "weight-tilde" | "weight" | "wheat-off" | "wheat" | "whistle" | "whole-word" | "wifi-cog" | "wifi-high" | "wifi-lock" | "wifi-low" | "wifi-off" | "wifi-pen" | "wifi-sync" | "wifi-zero" | "wifi" | "wind-arrow-down" | "wind-arrow-up" | "wind" | "wine-off" | "wine" | "workflow" | "worm" | "wrap-text" | "wrench-off" | "wrench" | "x-circle" | "x-line-top" | "x-octagon" | "x-square" | "zap-off" | "zap" | "zodiac-aquarius" | "zodiac-aries" | "zodiac-cancer" | "zodiac-capricorn" | "zodiac-gemini" | "zodiac-leo" | "zodiac-libra" | "zodiac-ophiuchus" | "zodiac-pisces" | "zodiac-sagittarius" | "zodiac-scorpio" | "zodiac-taurus" | "zodiac-virgo" | "zoom-in" | "zoom-out" | undefined>;
|
|
33
|
+
readonly endIcon: import("@angular/core").InputSignal<"code" | "form" | "link" | "map" | "menu" | "option" | "search" | "section" | "summary" | "table" | "video" | "circle" | "ellipse" | "filter" | "image" | "text" | "view" | "frame" | "slice" | "command" | "copy" | "focus" | "pause" | "play" | "scroll" | "x" | "a-arrow-down" | "a-arrow-up" | "a-large-small" | "accessibility" | "activity-square" | "activity" | "ad" | "air-vent" | "airplay" | "alarm-check" | "alarm-clock-check" | "alarm-clock-minus" | "alarm-clock-off" | "alarm-clock-plus" | "alarm-clock" | "alarm-minus" | "alarm-plus" | "alarm-smoke" | "album" | "alert-circle" | "alert-octagon" | "alert-triangle" | "align-center-horizontal" | "align-center-vertical" | "align-center" | "align-end-horizontal" | "align-end-vertical" | "align-horizontal-distribute-center" | "align-horizontal-distribute-end" | "align-horizontal-distribute-start" | "align-horizontal-justify-center" | "align-horizontal-justify-end" | "align-horizontal-justify-start" | "align-horizontal-space-around" | "align-horizontal-space-between" | "align-justify" | "align-left" | "align-right" | "align-start-horizontal" | "align-start-vertical" | "align-vertical-distribute-center" | "align-vertical-distribute-end" | "align-vertical-distribute-start" | "align-vertical-justify-center" | "align-vertical-justify-end" | "align-vertical-justify-start" | "align-vertical-space-around" | "align-vertical-space-between" | "ambulance" | "ampersand" | "ampersands" | "amphora" | "anchor" | "angle" | "angry" | "annoyed" | "antenna" | "anvil" | "aperture" | "app-window-mac" | "app-window" | "apple" | "archive-restore" | "archive-x" | "archive" | "area-chart" | "armchair" | "armenian-dram" | "arrow-big-down-dash" | "arrow-big-down" | "arrow-big-left-dash" | "arrow-big-left" | "arrow-big-right-dash" | "arrow-big-right" | "arrow-big-up-dash" | "arrow-big-up" | "arrow-down-0-1" | "arrow-down-01" | "arrow-down-1-0" | "arrow-down-10" | "arrow-down-a-z" | "arrow-down-az" | "arrow-down-circle" | "arrow-down-from-line" | "arrow-down-left-from-circle" | "arrow-down-left-from-square" | "arrow-down-left-square" | "arrow-down-left" | "arrow-down-narrow-wide" | "arrow-down-right-from-circle" | "arrow-down-right-from-square" | "arrow-down-right-square" | "arrow-down-right" | "arrow-down-square" | "arrow-down-to-dot" | "arrow-down-to-line" | "arrow-down-up" | "arrow-down-wide-narrow" | "arrow-down-z-a" | "arrow-down-za" | "arrow-down" | "arrow-left-circle" | "arrow-left-from-line" | "arrow-left-right" | "arrow-left-square" | "arrow-left-to-line" | "arrow-left" | "arrow-right-circle" | "arrow-right-from-line" | "arrow-right-left" | "arrow-right-square" | "arrow-right-to-line" | "arrow-right" | "arrow-up-0-1" | "arrow-up-01" | "arrow-up-1-0" | "arrow-up-10" | "arrow-up-a-z" | "arrow-up-az" | "arrow-up-circle" | "arrow-up-down" | "arrow-up-from-dot" | "arrow-up-from-line" | "arrow-up-left-from-circle" | "arrow-up-left-from-square" | "arrow-up-left-square" | "arrow-up-left" | "arrow-up-narrow-wide" | "arrow-up-right-from-circle" | "arrow-up-right-from-square" | "arrow-up-right-square" | "arrow-up-right" | "arrow-up-square" | "arrow-up-to-line" | "arrow-up-wide-narrow" | "arrow-up-z-a" | "arrow-up-za" | "arrow-up" | "arrows-up-from-line" | "asterisk-square" | "asterisk" | "astroid" | "at-sign" | "atom" | "audio-lines-off" | "audio-lines-x" | "audio-lines" | "audio-waveform" | "avocado" | "award" | "axe" | "axis-3-d" | "axis-3d" | "azerbaijani-manat" | "baby" | "backpack" | "bacon" | "badge-alert" | "badge-cent" | "badge-check" | "badge-dollar-sign" | "badge-euro" | "badge-help" | "badge-indian-rupee" | "badge-info" | "badge-japanese-yen" | "badge-minus" | "badge-percent" | "badge-plus" | "badge-pound-sterling" | "badge-question-mark" | "badge-russian-ruble" | "badge-swiss-franc" | "badge-turkish-lira" | "badge-x" | "badge" | "baggage-claim" | "ball-wave" | "balloon" | "ban" | "banana" | "bandage" | "bangladeshi-taka" | "banknote-arrow-down" | "banknote-arrow-up" | "banknote-check" | "banknote-x" | "banknote" | "bar-chart-2" | "bar-chart-3" | "bar-chart-4" | "bar-chart-big" | "bar-chart-horizontal-big" | "bar-chart-horizontal" | "bar-chart" | "barcode" | "barrel" | "baseline" | "bath" | "battery-charging" | "battery-full" | "battery-low" | "battery-medium" | "battery-plus" | "battery-warning" | "battery" | "beaker" | "bean-off" | "bean" | "bed-double" | "bed-single" | "bed" | "beef-off" | "beef" | "beer-off" | "beer" | "belarusian-ruble" | "bell-check" | "bell-dot" | "bell-electric" | "bell-minus" | "bell-off" | "bell-plus" | "bell-ring" | "bell" | "between-horizonal-end" | "between-horizonal-start" | "between-horizontal-end" | "between-horizontal-start" | "between-vertical-end" | "between-vertical-start" | "biceps-flexed" | "bike" | "binary" | "binoculars" | "biohazard" | "bird" | "birdhouse" | "bitcoin" | "blend" | "blender" | "blinds" | "blocks" | "bluetooth-connected" | "bluetooth-off" | "bluetooth-searching" | "bluetooth" | "bold" | "bolt" | "bomb" | "bone-fracture" | "bone" | "book-a" | "book-alert" | "book-audio" | "book-bookmark" | "book-check" | "book-copy" | "book-dashed" | "book-down" | "book-headphones" | "book-heart" | "book-image" | "book-key" | "book-lock" | "book-marked" | "book-minus" | "book-open-check" | "book-open-text" | "book-open" | "book-plus" | "book-search" | "book-template" | "book-text" | "book-type" | "book-up-2" | "book-up" | "book-user" | "book-x" | "book" | "bookmark-check" | "bookmark-minus" | "bookmark-off" | "bookmark-plus" | "bookmark-x" | "bookmark" | "boom-box" | "bot-message-square" | "bot-off" | "bot" | "bottle-wine" | "bow-arrow" | "box-select" | "box" | "boxes" | "braces" | "brackets" | "brain-circuit" | "brain-cog" | "brain-off" | "brain" | "brick-wall-fire" | "brick-wall-shield" | "brick-wall" | "bridge" | "briefcase-business" | "briefcase-conveyor-belt" | "briefcase-medical" | "briefcase-plus" | "briefcase" | "bring-to-front" | "broccoli" | "broom-sparkles" | "broom" | "brush-cleaning" | "brush" | "bubbles" | "bug-off" | "bug-play" | "bug" | "building-2" | "building-complex-plus" | "building-complex" | "building" | "bus-front" | "bus" | "cable-car" | "cable" | "cake-slice" | "cake" | "calculator" | "calendar-1" | "calendar-arrow-down" | "calendar-arrow-up" | "calendar-check-2" | "calendar-check" | "calendar-chevrons-left" | "calendar-chevrons-right" | "calendar-clock" | "calendar-cog" | "calendar-days" | "calendar-fold" | "calendar-heart" | "calendar-minus-2" | "calendar-minus" | "calendar-off" | "calendar-plus-2" | "calendar-plus" | "calendar-range" | "calendar-search" | "calendar-sync" | "calendar-x-2" | "calendar-x" | "calendar" | "calendars" | "camera-off" | "camera" | "can-soda" | "can" | "candlestick-chart" | "candy-cane" | "candy-off" | "candy" | "cannabis-off" | "cannabis" | "captions-off" | "captions" | "car-battery" | "car-front" | "car-taxi-front" | "car" | "caravan" | "card-sim" | "carrot" | "carton-off" | "carton" | "case-lower" | "case-sensitive" | "case-upper" | "cassette-tape" | "cast" | "castle" | "cat" | "cctv-off" | "cctv" | "certificate" | "chart-area" | "chart-bar-big" | "chart-bar-decreasing" | "chart-bar-increasing" | "chart-bar-stacked" | "chart-bar" | "chart-candlestick" | "chart-column-big" | "chart-column-decreasing" | "chart-column-increasing" | "chart-column-stacked" | "chart-column" | "chart-gantt" | "chart-line" | "chart-network" | "chart-no-axes-column-decreasing" | "chart-no-axes-column-increasing" | "chart-no-axes-column" | "chart-no-axes-combined" | "chart-no-axes-gantt" | "chart-pie" | "chart-scatter" | "chart-spline" | "check-check" | "check-circle-2" | "check-circle" | "check-line" | "check-square-2" | "check-square" | "check" | "chef-hat" | "cherry" | "chess-bishop" | "chess-king" | "chess-knight" | "chess-pawn" | "chess-queen" | "chess-rook" | "chevron-down-circle" | "chevron-down-square" | "chevron-down" | "chevron-first" | "chevron-last" | "chevron-left-circle" | "chevron-left-square" | "chevron-left" | "chevron-right-circle" | "chevron-right-square" | "chevron-right" | "chevron-up-circle" | "chevron-up-square" | "chevron-up" | "chevrons-down-up" | "chevrons-down" | "chevrons-left-right-ellipsis" | "chevrons-left-right" | "chevrons-left" | "chevrons-right-left" | "chevrons-right" | "chevrons-up-down" | "chevrons-up" | "church" | "cigarette-off" | "cigarette" | "circle-alert" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-out-down-left" | "circle-arrow-out-down-right" | "circle-arrow-out-up-left" | "circle-arrow-out-up-right" | "circle-arrow-right" | "circle-arrow-up" | "circle-check-big" | "circle-check" | "circle-chevron-down" | "circle-chevron-left" | "circle-chevron-right" | "circle-chevron-up" | "circle-chevrons-down" | "circle-chevrons-left" | "circle-chevrons-right" | "circle-chevrons-up" | "circle-dashed-check" | "circle-dashed" | "circle-divide" | "circle-dollar-sign" | "circle-dot-dashed" | "circle-dot" | "circle-ellipsis" | "circle-equal" | "circle-euro" | "circle-fading-arrow-up" | "circle-fading-play" | "circle-fading-plus" | "circle-gauge" | "circle-help" | "circle-minus" | "circle-off" | "circle-parking-off" | "circle-parking" | "circle-pause" | "circle-percent" | "circle-pile" | "circle-play" | "circle-plus" | "circle-pound-sterling" | "circle-power" | "circle-question-mark" | "circle-slash-2" | "circle-slash" | "circle-slashed" | "circle-small" | "circle-star" | "circle-stop" | "circle-user-round" | "circle-user" | "circle-x" | "circuit-board" | "citrus" | "clapperboard" | "clef-alto" | "clef-bass" | "clef-treble" | "clipboard-check" | "clipboard-clock" | "clipboard-copy" | "clipboard-edit" | "clipboard-list" | "clipboard-minus" | "clipboard-paste" | "clipboard-pen-line" | "clipboard-pen" | "clipboard-plus" | "clipboard-signature" | "clipboard-type" | "clipboard-x" | "clipboard" | "clock-1" | "clock-10" | "clock-11" | "clock-12" | "clock-2" | "clock-3" | "clock-4" | "clock-5" | "clock-6" | "clock-7" | "clock-8" | "clock-9" | "clock-alert" | "clock-arrow-down" | "clock-arrow-left" | "clock-arrow-right" | "clock-arrow-up" | "clock-check" | "clock-fading" | "clock-plus" | "clock" | "closed-caption" | "cloud-alert" | "cloud-backup" | "cloud-check" | "cloud-cog" | "cloud-download" | "cloud-drizzle" | "cloud-fog" | "cloud-hail" | "cloud-lightning" | "cloud-moon-rain" | "cloud-moon" | "cloud-off" | "cloud-rain-wind" | "cloud-rain" | "cloud-snow" | "cloud-sun-rain" | "cloud-sun" | "cloud-sync" | "cloud-upload" | "cloud" | "cloudy" | "clover" | "club" | "code-2" | "code-square" | "code-xml" | "coffee" | "cog" | "coins" | "columns-2" | "columns-3-cog" | "columns-3" | "columns-4" | "columns-settings" | "columns" | "combine" | "compass" | "component" | "computer" | "concierge-bell" | "cone" | "construction" | "contact-2" | "contact-round" | "contact" | "container" | "contrast" | "cookie" | "cooking-pot" | "copy-check" | "copy-minus" | "copy-plus" | "copy-slash" | "copy-x" | "copyleft" | "copyright" | "corner-down-left" | "corner-down-right" | "corner-left-down" | "corner-left-up" | "corner-right-down" | "corner-right-up" | "corner-up-left" | "corner-up-right" | "cpu-ai" | "cpu" | "creative-commons" | "credit-card-check" | "credit-card-minus" | "credit-card-plus" | "credit-card-reader" | "credit-card-x" | "credit-card" | "croissant" | "crop" | "cross" | "crosshair" | "crown" | "cuboid" | "cup-soda" | "cupcake" | "curly-braces" | "currency" | "cylinder" | "dam" | "database-arrow-down" | "database-arrow-up" | "database-backup" | "database-check" | "database-minus" | "database-plus" | "database-search" | "database-x" | "database-zap" | "database" | "decimals-arrow-left" | "decimals-arrow-right" | "delete" | "dessert" | "diameter" | "diamond-minus" | "diamond-percent" | "diamond-plus" | "diamond" | "dice-1" | "dice-2" | "dice-3" | "dice-4" | "dice-5" | "dice-6" | "dices" | "diff" | "disc-2" | "disc-3" | "disc-album" | "disc" | "divide-circle" | "divide-square" | "divide" | "dna-off" | "dna" | "dock" | "dog" | "dollar-sign" | "dome" | "donut" | "door-closed-cog" | "door-closed-locked" | "door-closed-package" | "door-closed" | "door-open" | "door-stairwell" | "dot-square" | "dot" | "download-cloud" | "download" | "drafting-compass" | "drama" | "drill" | "drone" | "droplet-off" | "droplet" | "droplets" | "drum" | "drumstick" | "dumbbell" | "ear-off" | "ear" | "earth-lock" | "earth" | "eclipse" | "edit-2" | "edit-3" | "edit" | "egg-fried" | "egg-off" | "egg" | "eighth-note" | "eighth-notes" | "eject" | "ellipsis-vertical" | "ellipsis" | "emirati-dirham" | "engine" | "equal-approximately-not" | "equal-approximately" | "equal-not" | "equal-square" | "equal" | "eraser" | "ethernet-port" | "euro" | "ev-charger" | "expand" | "external-link" | "eye-closed" | "eye-dashed" | "eye-off" | "eye" | "face-angry" | "face-expressionless" | "face-grinning" | "face-neutral" | "face-slightly-frowning" | "face-slightly-smiling-plus" | "face-slightly-smiling" | "factory" | "fan" | "fast-forward" | "faucet" | "feather" | "fence" | "ferris-wheel" | "file-archive" | "file-audio-2" | "file-audio" | "file-axis-3-d" | "file-axis-3d" | "file-badge-2" | "file-badge" | "file-bar-chart-2" | "file-bar-chart" | "file-box" | "file-braces-corner" | "file-braces" | "file-chart-column-increasing" | "file-chart-column" | "file-chart-line" | "file-chart-pie" | "file-check-2" | "file-check-corner" | "file-check" | "file-clock" | "file-code-2" | "file-code-corner" | "file-code" | "file-cog-2" | "file-cog" | "file-diff" | "file-digit" | "file-down" | "file-edit" | "file-exclamation-point" | "file-headphone" | "file-heart" | "file-image" | "file-input" | "file-json-2" | "file-json" | "file-key-2" | "file-key" | "file-line-chart" | "file-lock-2" | "file-lock" | "file-minus-2" | "file-minus-corner" | "file-minus" | "file-music" | "file-output" | "file-pen-line" | "file-pen" | "file-pie-chart" | "file-play" | "file-plus-2" | "file-plus-corner" | "file-plus" | "file-question-mark" | "file-question" | "file-scan" | "file-search-2" | "file-search-corner" | "file-search" | "file-signal" | "file-signature" | "file-sliders" | "file-spreadsheet" | "file-stack" | "file-symlink" | "file-terminal" | "file-text" | "file-type-2" | "file-type-corner" | "file-type" | "file-up" | "file-user" | "file-video-2" | "file-video-camera" | "file-video" | "file-volume-2" | "file-volume" | "file-warning" | "file-x-2" | "file-x-corner" | "file-x" | "file" | "files" | "film" | "filter-x" | "fingerprint-pattern" | "fingerprint" | "fire-extinguisher" | "fish-off" | "fish-symbol" | "fish" | "fishing-hook" | "fishing-rod" | "flag-off" | "flag-triangle-left" | "flag-triangle-right" | "flag" | "flame-kindling" | "flame" | "flashlight-off" | "flashlight" | "flask-conical-off" | "flask-conical" | "flask-round" | "flip-horizontal-2" | "flip-horizontal" | "flip-vertical-2" | "flip-vertical" | "flower-2" | "flower" | "fold-horizontal" | "fold-vertical" | "folder-archive" | "folder-bookmark" | "folder-check" | "folder-clock" | "folder-closed" | "folder-code" | "folder-cog-2" | "folder-cog" | "folder-dot" | "folder-down" | "folder-edit" | "folder-git-2" | "folder-git" | "folder-heart" | "folder-input" | "folder-kanban" | "folder-key" | "folder-lock" | "folder-minus" | "folder-open-dot" | "folder-open" | "folder-output" | "folder-pen" | "folder-plus" | "folder-root" | "folder-search-2" | "folder-search" | "folder-symlink" | "folder-sync" | "folder-tree" | "folder-up" | "folder-user" | "folder-users" | "folder-x" | "folder" | "folders" | "footprints" | "fork-knife-crossed" | "fork-knife" | "forklift" | "form-input" | "forward" | "frown" | "fuel" | "fullscreen" | "function-square" | "funnel-plus" | "funnel-x" | "funnel" | "galaxy" | "gallery-horizontal-end" | "gallery-horizontal" | "gallery-thumbnails" | "gallery-vertical-end" | "gallery-vertical" | "gamepad-2" | "gamepad-directional" | "gamepad" | "gantt-chart-square" | "gantt-chart" | "gap-horizontal" | "gap-vertical" | "gauge-circle" | "gauge" | "gavel" | "gem" | "georgian-lari" | "germ-off" | "germ" | "ghost" | "gift" | "git-branch-minus" | "git-branch-plus" | "git-branch" | "git-commit-horizontal" | "git-commit-vertical" | "git-commit" | "git-compare-arrows" | "git-compare" | "git-fork" | "git-graph" | "git-merge-conflict" | "git-merge" | "git-pull-request-arrow" | "git-pull-request-closed" | "git-pull-request-create-arrow" | "git-pull-request-create" | "git-pull-request-draft" | "git-pull-request" | "glass-water" | "glasses" | "globe-2" | "globe-check" | "globe-code" | "globe-lock" | "globe-off" | "globe-x" | "globe" | "goal" | "gpu" | "grab" | "graduation-cap" | "grape" | "graph-hub" | "graph-star" | "grid-2-x-2-check" | "grid-2-x-2-plus" | "grid-2-x-2-x" | "grid-2-x-2" | "grid-2x2-check" | "grid-2x2-plus" | "grid-2x2-x" | "grid-2x2" | "grid-3-x-3" | "grid-3x2" | "grid-3x3" | "grid" | "grip-horizontal" | "grip-vertical" | "grip" | "groceries" | "group" | "guitar-electric" | "guitar" | "half-note" | "ham" | "hamburger" | "hammer" | "hand-coins" | "hand-fist" | "hand-grab" | "hand-heart" | "hand-helping" | "hand-metal" | "hand-platter" | "hand" | "handbag" | "handle-bottom-right" | "handshake" | "hard-drive-download" | "hard-drive-upload" | "hard-drive" | "hard-hat" | "hash" | "hat-glasses" | "haze" | "hd" | "hdmi-port" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6" | "heading" | "headphone-off" | "headphones" | "headset" | "heart-crack" | "heart-handshake" | "heart-minus" | "heart-off" | "heart-plus" | "heart-pulse" | "heart-x" | "heart" | "heater" | "helicopter" | "help-circle" | "helping-hand" | "hexagon" | "highlighter" | "hiking-stick" | "history" | "hockey-stick" | "home" | "hop-off" | "hop" | "hospital" | "hot-air-balloon" | "hotel" | "hourglass-cog" | "hourglass" | "house-cog" | "house-heart" | "house-plug" | "house-plus" | "house-wifi" | "house" | "houses" | "ice-cream-2" | "ice-cream-bowl" | "ice-cream-cone" | "ice-cream" | "id-card-lanyard" | "id-card" | "image-down" | "image-minus" | "image-off" | "image-play" | "image-plus" | "image-up" | "image-upscale" | "images" | "import" | "inbox" | "indent-decrease" | "indent-increase" | "indent" | "indian-rupee" | "infinity" | "info" | "inspect" | "inspection-panel" | "italic" | "iteration-ccw" | "iteration-cw" | "iv-bag" | "japanese-yen" | "joystick" | "kanban-square-dashed" | "kanban-square" | "kanban" | "kayak" | "kazakh-tenge" | "key-round" | "key-square" | "key" | "keyboard-music" | "keyboard-off" | "keyboard" | "lambda" | "lamp-ceiling" | "lamp-desk" | "lamp-floor" | "lamp-wall-down" | "lamp-wall-up" | "lamp" | "land-plot" | "landmark" | "languages" | "laptop-2" | "laptop-minimal-check" | "laptop-minimal" | "laptop" | "lasso-select" | "lasso" | "laugh" | "layer-arrow-down" | "layer-arrow-up" | "layers-2" | "layers-3" | "layers-arrow-down" | "layers-arrow-up" | "layers-minus" | "layers-plus" | "layers" | "layout-arrow-down" | "layout-arrow-right" | "layout-dashboard" | "layout-freeform" | "layout-grid-circles" | "layout-grid" | "layout-list" | "layout-panel-left" | "layout-panel-top" | "layout-template" | "layout" | "leaf" | "leafy-green" | "lectern" | "lens-concave" | "lens-convex" | "lens" | "letter-spacing" | "letter-text" | "letters" | "library-big" | "library-square" | "library" | "life-buoy" | "ligature" | "lightbulb-off" | "lightbulb" | "lighthouse" | "line-chart" | "line-dot-bottom-vertical" | "line-dot-left-horizontal" | "line-dot-right-horizontal" | "line-dot-top-vertical" | "line-height" | "line-squiggle" | "line-style" | "link-2-off" | "link-2" | "list-check" | "list-checks" | "list-chevrons-down-up" | "list-chevrons-up-down" | "list-clock" | "list-collapse" | "list-end" | "list-filter-plus" | "list-filter" | "list-indent-decrease" | "list-indent-increase" | "list-minus" | "list-music" | "list-ordered" | "list-plus" | "list-restart" | "list-sort-ascending" | "list-sort-descending" | "list-start" | "list-todo" | "list-tree" | "list-video" | "list-x" | "list" | "loader-2" | "loader-circle" | "loader-pinwheel" | "loader" | "locate-fixed" | "locate-off" | "locate" | "location-edit" | "lock-keyhole-open" | "lock-keyhole" | "lock-open" | "lock" | "log-in" | "log-out" | "logs" | "lollipop" | "luggage" | "m-square" | "magnet" | "mail-badge" | "mail-check" | "mail-clock" | "mail-dot" | "mail-minus" | "mail-open" | "mail-pen" | "mail-plus" | "mail-question-mark" | "mail-question" | "mail-search" | "mail-warning" | "mail-x" | "mail" | "mailbox" | "mails" | "map-minus" | "map-pin-check-inside" | "map-pin-check" | "map-pin-house" | "map-pin-minus-inside" | "map-pin-minus" | "map-pin-off" | "map-pin-pen" | "map-pin-plus-inside" | "map-pin-plus" | "map-pin-search" | "map-pin-x-inside" | "map-pin-x" | "map-pin" | "map-pinned" | "map-plus" | "mars-stroke" | "mars" | "martini" | "maximize-2" | "maximize" | "medal" | "megaphone-off" | "megaphone" | "meh" | "memory-stick" | "menu-square" | "merge" | "message-circle-check" | "message-circle-code" | "message-circle-dashed-check" | "message-circle-dashed" | "message-circle-heart" | "message-circle-more" | "message-circle-off" | "message-circle-plus" | "message-circle-question-mark" | "message-circle-question" | "message-circle-reply" | "message-circle-text" | "message-circle-warning" | "message-circle-x" | "message-circle" | "message-square-check" | "message-square-code" | "message-square-dashed" | "message-square-diff" | "message-square-dot" | "message-square-heart" | "message-square-lock" | "message-square-more" | "message-square-off" | "message-square-plus" | "message-square-quote" | "message-square-reply" | "message-square-share" | "message-square-text" | "message-square-warning" | "message-square-x" | "message-square" | "messages-circle" | "messages-square" | "metronome" | "mic-2" | "mic-audio-lines" | "mic-off" | "mic-signal" | "mic-vocal" | "mic" | "microchip" | "microscope" | "microwave" | "midi-port" | "milestone" | "milk-off" | "milk" | "minimize-2" | "minimize" | "minus-circle" | "minus-square" | "minus" | "mirror-rectangular" | "mirror-round" | "monitor-check" | "monitor-cloud" | "monitor-cog" | "monitor-dot" | "monitor-down" | "monitor-off" | "monitor-pause" | "monitor-pc" | "monitor-play" | "monitor-smartphone" | "monitor-speaker" | "monitor-stop" | "monitor-up" | "monitor-x" | "monitor" | "moon-star" | "moon" | "mop-sparkles" | "mop" | "more-horizontal" | "more-vertical" | "mosque" | "motorbike" | "mountain-snow" | "mountain" | "mouse-left" | "mouse-off" | "mouse-pointer-2-off" | "mouse-pointer-2" | "mouse-pointer-ban" | "mouse-pointer-click" | "mouse-pointer-square-dashed" | "mouse-pointer" | "mouse-right" | "mouse" | "mouth-off" | "mouth" | "move-3-d" | "move-3d" | "move-diagonal-2" | "move-diagonal" | "move-down-left" | "move-down-right" | "move-down" | "move-horizontal" | "move-left" | "move-right" | "move-up-left" | "move-up-right" | "move-up" | "move-vertical" | "move" | "music-2" | "music-3" | "music-4" | "music" | "navigation-2-off" | "navigation-2" | "navigation-off" | "navigation" | "nepali-rupee" | "network" | "newspaper" | "nfc" | "non-binary" | "notebook-dot" | "notebook-pen" | "notebook-tabs" | "notebook-text" | "notebook" | "notepad-text-dashed" | "notepad-text" | "nut-off" | "nut" | "octagon-alert" | "octagon-minus" | "octagon-pause" | "octagon-x" | "octagon" | "omega" | "orbit" | "origami" | "outdent" | "package-2" | "package-check" | "package-minus" | "package-open" | "package-plus" | "package-search" | "package-x" | "package" | "paint-bucket" | "paint-roller" | "paintbrush-2" | "paintbrush-vertical" | "paintbrush" | "palette" | "palmtree" | "panda" | "panel-bottom-close" | "panel-bottom-dashed" | "panel-bottom-inactive" | "panel-bottom-open" | "panel-bottom" | "panel-left-close" | "panel-left-dashed" | "panel-left-inactive" | "panel-left-open" | "panel-left-right-dashed" | "panel-left" | "panel-right-close" | "panel-right-dashed" | "panel-right-inactive" | "panel-right-open" | "panel-right" | "panel-top-bottom-dashed" | "panel-top-close" | "panel-top-dashed" | "panel-top-inactive" | "panel-top-open" | "panel-top" | "panels-left-bottom" | "panels-left-right" | "panels-right-bottom" | "panels-top-bottom" | "panels-top-left" | "paper-bag" | "paperclip" | "parasol" | "parentheses" | "park" | "parking-circle-off" | "parking-circle" | "parking-meter" | "parking-square-off" | "parking-square" | "party-popper" | "pause-circle" | "pause-octagon" | "paw-print" | "pc-case" | "pen-box" | "pen-line" | "pen-off" | "pen-square" | "pen-tool" | "pen" | "pencil-line" | "pencil-off" | "pencil-ruler" | "pencil-sparkles" | "pencil" | "pentagon" | "percent-circle" | "percent-diamond" | "percent-square" | "percent" | "perfume-bottle" | "person-standing" | "phi" | "philippine-peso" | "phone-call" | "phone-forwarded" | "phone-incoming" | "phone-log" | "phone-missed" | "phone-off" | "phone-outgoing" | "phone" | "pi-square" | "pi" | "piano" | "pickaxe" | "picture-in-picture-2" | "picture-in-picture" | "pie-chart" | "piggy-bank" | "pilcrow-left" | "pilcrow-right" | "pilcrow-square" | "pilcrow" | "pill-bottle" | "pill" | "pin-off" | "pin" | "pipette" | "pizza" | "plane-landing" | "plane-takeoff" | "plane" | "plant-pot" | "play-circle" | "play-off" | "play-square" | "playing-card" | "playing-cards-fan" | "playing-cards" | "plug-2" | "plug-zap-2" | "plug-zap" | "plug" | "plus-circle" | "plus-square" | "plus" | "pocket-knife" | "podcast" | "podium" | "pointer-off" | "pointer" | "popcorn" | "popsicle" | "pound-sterling" | "power-circle" | "power-off" | "power-square" | "power" | "presentation" | "printer-3d" | "printer-check" | "printer-x" | "printer" | "projector" | "proportions" | "puzzle" | "pyramid" | "qr-code" | "quote" | "rabbit" | "radar" | "radiation" | "radical" | "radio-off" | "radio-receiver" | "radio-tower" | "radio" | "radius" | "rainbow" | "rat" | "ratio" | "receipt-cent" | "receipt-euro" | "receipt-indian-rupee" | "receipt-japanese-yen" | "receipt-pound-sterling" | "receipt-russian-ruble" | "receipt-swiss-franc" | "receipt-text" | "receipt-turkish-lira" | "receipt" | "rectangle-circle" | "rectangle-ellipsis" | "rectangle-goggles" | "rectangle-horizontal" | "rectangle-vertical" | "recycle" | "redo-2" | "redo-dot" | "redo" | "refresh-ccw-dot" | "refresh-ccw" | "refresh-cw-off" | "refresh-cw" | "refrigerator" | "regex" | "remove-formatting" | "repeat-1" | "repeat-2" | "repeat-off" | "repeat" | "replace-all" | "replace" | "reply-all" | "reply" | "rewind" | "ribbon" | "road" | "robot-arm" | "robot-vacuum" | "rocket" | "rocking-chair" | "roller-coaster" | "rose" | "rotate-3-d" | "rotate-3d" | "rotate-ccw-clock" | "rotate-ccw-key" | "rotate-ccw-square" | "rotate-ccw" | "rotate-cw-clock" | "rotate-cw-fading-clock" | "rotate-cw-square" | "rotate-cw" | "route-off" | "route" | "router" | "rows-2" | "rows-3" | "rows-4" | "rows" | "rss" | "rugby-ball" | "ruler-dimension-line" | "ruler" | "russian-ruble" | "sailboat" | "salad" | "sandwich" | "satellite-dish" | "satellite" | "saudi-riyal" | "save-all" | "save-check" | "save-off" | "save-pen" | "save-plus" | "save" | "scale-3-d" | "scale-3d" | "scale" | "scaling" | "scan-barcode" | "scan-box" | "scan-eye" | "scan-face" | "scan-heart" | "scan-line" | "scan-qr-code" | "scan-search" | "scan-square" | "scan-text" | "scan" | "scatter-chart" | "school-2" | "school" | "scissors-line-dashed" | "scissors-square-dashed-bottom" | "scissors-square" | "scissors" | "scooter" | "scratch-blocks" | "screen-share-off" | "screen-share" | "screw" | "scroll-text" | "search-alert" | "search-check" | "search-code" | "search-slash" | "search-x" | "send-horizonal" | "send-horizontal" | "send-to-back" | "send" | "separator-horizontal" | "separator-vertical" | "server-cog" | "server-crash" | "server-nas" | "server-off" | "server-plus" | "server" | "settings-2" | "settings" | "shapes" | "share-2" | "share" | "sheet" | "shell" | "shelving-unit" | "shield-alert" | "shield-ban" | "shield-check" | "shield-close" | "shield-cog-corner" | "shield-cog" | "shield-ellipsis" | "shield-half" | "shield-house" | "shield-keyhole" | "shield-lock" | "shield-minus" | "shield-off" | "shield-plus" | "shield-question-mark" | "shield-question" | "shield-user" | "shield-x" | "shield" | "ship-cargo" | "ship-wheel" | "ship" | "shirt" | "shopping-bag" | "shopping-basket" | "shopping-cart-minus" | "shopping-cart-plus" | "shopping-cart" | "shovel" | "shower-head" | "shredder" | "shrimp-off" | "shrimp" | "shrink" | "shrub" | "shuffle" | "sidebar-close" | "sidebar-open" | "sidebar" | "sigma-square" | "sigma" | "signal-high" | "signal-low" | "signal-medium" | "signal-zero" | "signal" | "signature" | "signpost-big" | "signpost" | "siren" | "sixteenth-notes" | "skip-back" | "skip-forward" | "skull" | "slash-square" | "slash" | "sliders-horizontal" | "sliders-vertical" | "sliders" | "smartphone-charging" | "smartphone-nfc" | "smartphone-user-round" | "smartphone" | "smile-plus" | "smile" | "snail" | "snowflake" | "soap-dispenser-droplet" | "sofa" | "solar-panel" | "sort-asc" | "sort-desc" | "soup" | "space" | "spade" | "sparkle" | "sparkles" | "speaker" | "speech" | "spell-check-2" | "spell-check" | "spline-pointer" | "spline" | "split-square-horizontal" | "split-square-vertical" | "split" | "spool" | "sport-shoe" | "spotlight" | "spray-can" | "sprout" | "square-activity" | "square-arrow-down-left" | "square-arrow-down-right" | "square-arrow-down" | "square-arrow-left" | "square-arrow-out-down-left" | "square-arrow-out-down-right" | "square-arrow-out-up-left" | "square-arrow-out-up-right" | "square-arrow-right-enter" | "square-arrow-right-exit" | "square-arrow-right" | "square-arrow-up-left" | "square-arrow-up-right" | "square-arrow-up" | "square-asterisk" | "square-bookmark" | "square-bottom-dashed-scissors" | "square-centerline-dashed-horizontal" | "square-centerline-dashed-vertical" | "square-chart-gantt" | "square-check-big" | "square-check" | "square-chevron-down" | "square-chevron-left" | "square-chevron-right" | "square-chevron-up" | "square-code" | "square-dashed-bottom-code" | "square-dashed-bottom" | "square-dashed-kanban" | "square-dashed-mouse-pointer" | "square-dashed-plus" | "square-dashed-text" | "square-dashed-top-solid" | "square-dashed-x-corner" | "square-dashed-x" | "square-dashed" | "square-dimensions" | "square-divide" | "square-dot" | "square-equal" | "square-exclamation-point" | "square-function" | "square-gantt-chart" | "square-kanban" | "square-library" | "square-m" | "square-menu" | "square-minus" | "square-mouse-pointer" | "square-off" | "square-parking-off" | "square-parking" | "square-pause" | "square-pen" | "square-percent" | "square-pi" | "square-pilcrow" | "square-play" | "square-plus" | "square-power" | "square-radical" | "square-round-corner" | "square-scissors" | "square-sigma" | "square-slash" | "square-sparkles" | "square-split-horizontal" | "square-split-vertical" | "square-square" | "square-stack" | "square-star" | "square-stop" | "square-terminal" | "square-text" | "square-user-round" | "square-user" | "square-x" | "square" | "squares-exclude" | "squares-intersect" | "squares-subtract" | "squares-unite" | "squircle-dashed" | "squircle" | "squirrel" | "stamp" | "star-check" | "star-half" | "star-minus" | "star-off" | "star-plus" | "star-x" | "star" | "stars" | "step-back" | "step-forward" | "stethoscope" | "sticker" | "sticky-note-check" | "sticky-note-minus" | "sticky-note-off" | "sticky-note-plus" | "sticky-note-x" | "sticky-note" | "sticky-notes" | "stone" | "stop-circle" | "store" | "stretch-horizontal" | "stretch-vertical" | "strikethrough" | "subscript" | "subtitles" | "sun-dim" | "sun-medium" | "sun-moon" | "sun-snow" | "sun" | "sunrise" | "sunset" | "superscript" | "swatch-book" | "swiss-franc" | "switch-camera" | "sword" | "swords" | "syringe" | "table-2" | "table-cells-merge" | "table-cells-split" | "table-columns-split" | "table-config" | "table-of-contents" | "table-properties" | "table-rows-split" | "tablet-smartphone" | "tablet" | "tablets" | "tag-plus" | "tag-x" | "tag" | "tags" | "tally-1" | "tally-2" | "tally-3" | "tally-4" | "tally-5" | "tangent" | "target" | "telescope" | "tent-tree" | "tent" | "terminal-square" | "terminal" | "test-tube-2" | "test-tube-diagonal" | "test-tube" | "test-tubes" | "text-align-center" | "text-align-end" | "text-align-justify-center" | "text-align-justify-end" | "text-align-justify-start" | "text-align-justify" | "text-align-start" | "text-cursor-input" | "text-cursor" | "text-initial" | "text-quote" | "text-search" | "text-select" | "text-selection" | "text-wrap" | "theater" | "thermometer-snowflake" | "thermometer-sun" | "thermometer" | "thumbs-down" | "thumbs-up" | "tic-tac-toe" | "ticket-check" | "ticket-minus" | "ticket-percent" | "ticket-plus" | "ticket-slash" | "ticket-x" | "ticket" | "tickets-plane" | "tickets" | "timeline" | "timer-off" | "timer-reset" | "timer" | "toggle-left" | "toggle-right" | "toilet" | "tombstone" | "tool-case" | "toolbox" | "toothbrush-sparkles" | "toothbrush" | "tornado" | "torus" | "touchpad-off" | "touchpad" | "towel-rack" | "tower-control" | "toy-brick" | "tractor" | "traffic-cone" | "trailer" | "train-front-tunnel" | "train-front" | "train-track" | "train" | "tram-front" | "transgender" | "trash-2" | "trash-off" | "trash" | "tree-deciduous" | "tree-palm" | "tree-pine" | "trees" | "trending-down" | "trending-up-down" | "trending-up" | "triangle-alert" | "triangle-dashed" | "triangle-right" | "triangle" | "triangles-centerline-dashed-horizontal" | "triangles-centerline-dashed-vertical" | "trophy" | "truck-electric" | "truck" | "tube-lotion" | "turkish-lira" | "turntable" | "turtle" | "tv-2" | "tv-minimal-play" | "tv-minimal" | "tv" | "type-outline" | "type" | "umbrella-off" | "umbrella" | "underline" | "undo-2" | "undo-dot" | "undo" | "unfold-horizontal" | "unfold-vertical" | "ungroup" | "university" | "unlink-2" | "unlink" | "unlock-keyhole" | "unlock" | "unplug" | "upload-cloud" | "upload" | "usb-c-port" | "usb" | "user-2" | "user-check-2" | "user-check" | "user-circle-2" | "user-circle" | "user-cog-2" | "user-cog" | "user-group" | "user-key" | "user-lock" | "user-minus-2" | "user-minus" | "user-pen" | "user-plus-2" | "user-plus" | "user-round-arrow-left" | "user-round-check" | "user-round-cog" | "user-round-group" | "user-round-key" | "user-round-minus" | "user-round-pen" | "user-round-plus" | "user-round-search" | "user-round-star" | "user-round-x" | "user-round" | "user-search" | "user-shield" | "user-square-2" | "user-square" | "user-star" | "user-x-2" | "user-x" | "user" | "users-2" | "users-collaboration" | "users-round-collaboration" | "users-round" | "users" | "utensils-crossed" | "utensils" | "utility-pole" | "van" | "variable" | "vault" | "vector-polygon" | "vector-square" | "vegan" | "venetian-mask" | "venus-and-mars" | "venus" | "verified" | "vibrate-off" | "vibrate" | "video-off" | "videotape" | "virus-off" | "virus" | "voicemail" | "volleyball" | "volume-1" | "volume-2" | "volume-off" | "volume-x" | "volume" | "vote" | "wallet-2" | "wallet-cards" | "wallet-minimal" | "wallet" | "wallpaper" | "wand-2" | "wand-sparkles" | "wand" | "warehouse" | "washing-machine" | "watch" | "waves-arrow-down" | "waves-arrow-up" | "waves-horizontal" | "waves-ladder" | "waves-vertical" | "waves" | "waypoints" | "webcam-off" | "webcam" | "webhook-off" | "webhook" | "weight-tilde" | "weight" | "wheat-off" | "wheat" | "whistle" | "whole-word" | "wifi-cog" | "wifi-high" | "wifi-lock" | "wifi-low" | "wifi-off" | "wifi-pen" | "wifi-sync" | "wifi-zero" | "wifi" | "wind-arrow-down" | "wind-arrow-up" | "wind" | "wine-off" | "wine" | "workflow" | "worm" | "wrap-text" | "wrench-off" | "wrench" | "x-circle" | "x-line-top" | "x-octagon" | "x-square" | "zap-off" | "zap" | "zodiac-aquarius" | "zodiac-aries" | "zodiac-cancer" | "zodiac-capricorn" | "zodiac-gemini" | "zodiac-leo" | "zodiac-libra" | "zodiac-ophiuchus" | "zodiac-pisces" | "zodiac-sagittarius" | "zodiac-scorpio" | "zodiac-taurus" | "zodiac-virgo" | "zoom-in" | "zoom-out" | undefined>;
|
|
34
34
|
readonly label: import("@angular/core").InputSignal<ResolvableText | undefined>;
|
|
35
35
|
readonly wrapLabel: import("@angular/core").InputSignal<boolean>;
|
|
36
36
|
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
@@ -127,6 +127,7 @@ export declare class DropdownDirective {
|
|
|
127
127
|
private readonly elementRef;
|
|
128
128
|
private readonly overlay;
|
|
129
129
|
private readonly positionBuilder;
|
|
130
|
+
private readonly overlayContext;
|
|
130
131
|
private readonly a11y;
|
|
131
132
|
private readonly zone;
|
|
132
133
|
private readonly vcr;
|
|
@@ -180,6 +181,7 @@ export declare class DropdownDirective {
|
|
|
180
181
|
export declare class ContextMenuDirective {
|
|
181
182
|
private readonly overlay;
|
|
182
183
|
private readonly positionBuilder;
|
|
184
|
+
private readonly overlayContext;
|
|
183
185
|
private readonly elementRef;
|
|
184
186
|
private readonly a11y;
|
|
185
187
|
private readonly zone;
|
|
@@ -209,4 +211,20 @@ export declare class ContextMenuDirective {
|
|
|
209
211
|
"isSignal": true;
|
|
210
212
|
};
|
|
211
213
|
}, {}, never, never, true, never>;
|
|
214
|
+
}
|
|
215
|
+
export interface IBxOverlayContext {
|
|
216
|
+
useTopLayer?: boolean;
|
|
217
|
+
}
|
|
218
|
+
export declare const BX_OVERLAY_CONTEXT: InjectionToken<IBxOverlayContext>;
|
|
219
|
+
export declare class BxOverlayContextDirective implements IBxOverlayContext {
|
|
220
|
+
readonly bxOverlayContext: import("@angular/core").InputSignal<IBxOverlayContext>;
|
|
221
|
+
get useTopLayer(): boolean | undefined;
|
|
222
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BxOverlayContextDirective, never>;
|
|
223
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BxOverlayContextDirective, "[bxOverlayContext]", never, {
|
|
224
|
+
"bxOverlayContext": {
|
|
225
|
+
"alias": "bxOverlayContext";
|
|
226
|
+
"required": false;
|
|
227
|
+
"isSignal": true;
|
|
228
|
+
};
|
|
229
|
+
}, {}, never, never, true, never>;
|
|
212
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const BLOCKS_VERSION = "1.4.
|
|
1
|
+
export declare const BLOCKS_VERSION = "1.4.7";
|