@weeehaoooz/talos-ui 0.1.0
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/LICENSE +21 -0
- package/README.md +85 -0
- package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs +237 -0
- package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +93 -0
- package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-core.mjs +438 -0
- package/fesm2022/weeehaoooz-talos-ui-core.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +233 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +361 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +312 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +235 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +462 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +805 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +267 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +351 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +566 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +534 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +446 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +376 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +147 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +242 -0
- package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +514 -0
- package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +548 -0
- package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +692 -0
- package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +761 -0
- package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +896 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +872 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +119 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +135 -0
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +666 -0
- package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +147 -0
- package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +33 -0
- package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +455 -0
- package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +379 -0
- package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +297 -0
- package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +661 -0
- package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +346 -0
- package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +896 -0
- package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +252 -0
- package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +916 -0
- package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-layout.mjs +851 -0
- package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-nav.mjs +897 -0
- package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui.mjs +17058 -0
- package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -0
- package/package.json +203 -0
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +99 -0
- package/schematics/ng-add/schema.d.ts +10 -0
- package/schematics/ng-add/schema.js +2 -0
- package/schematics/ng-add/schema.json +52 -0
- package/styles/_alert.scss +56 -0
- package/styles/_badge.scss +279 -0
- package/styles/_button-group.scss +470 -0
- package/styles/_buttons.scss +442 -0
- package/styles/_card.scss +18 -0
- package/styles/_dialog.scss +116 -0
- package/styles/_drop-zone.scss +19 -0
- package/styles/_form-controls.scss +660 -0
- package/styles/_slide-toggle.scss +171 -0
- package/styles/_status-tag.scss +108 -0
- package/styles/_timeline.scss +19 -0
- package/styles/_tooltip.scss +32 -0
- package/styles/_typography.scss +279 -0
- package/styles/_variables.scss +590 -0
- package/styles/index.scss +15 -0
- package/types/weeehaoooz-talos-ui-button-button-group.d.ts +59 -0
- package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-button-button.d.ts +38 -0
- package/types/weeehaoooz-talos-ui-button-button.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-core.d.ts +95 -0
- package/types/weeehaoooz-talos-ui-core.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +119 -0
- package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +135 -0
- package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +144 -0
- package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +83 -0
- package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +255 -0
- package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +204 -0
- package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +101 -0
- package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +138 -0
- package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +161 -0
- package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +212 -0
- package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +259 -0
- package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +147 -0
- package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +32 -0
- package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-affix.d.ts +88 -0
- package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +113 -0
- package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +165 -0
- package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-chips.d.ts +152 -0
- package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +144 -0
- package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +138 -0
- package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +148 -0
- package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +44 -0
- package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +48 -0
- package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +227 -0
- package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-form-field.d.ts +42 -0
- package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-input.d.ts +15 -0
- package/types/weeehaoooz-talos-ui-form-input.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-otp.d.ts +111 -0
- package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-password-input.d.ts +145 -0
- package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-radio.d.ts +84 -0
- package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-range-input.d.ts +181 -0
- package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-rating.d.ts +110 -0
- package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-select-input.d.ts +195 -0
- package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +79 -0
- package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +192 -0
- package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-layout.d.ts +286 -0
- package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-nav.d.ts +384 -0
- package/types/weeehaoooz-talos-ui-nav.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui.d.ts +5050 -0
- package/types/weeehaoooz-talos-ui.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weeehaoooz-talos-ui-form-chips.mjs","sources":["../../../projects/talos-ui/form/chips/chip/chip.component.ts","../../../projects/talos-ui/form/chips/chip/chip.component.html","../../../projects/talos-ui/form/chips/chips/chips.component.ts","../../../projects/talos-ui/form/chips/chips/chips.component.html","../../../projects/talos-ui/form/chips/chips.module.ts","../../../projects/talos-ui/form/chips/weeehaoooz-talos-ui-form-chips.ts"],"sourcesContent":["import { Component, computed, input, output } from '@angular/core';\nimport { ChipColor, ChipSize, ChipVariant } from '../chips.types';\n\n@Component({\n selector: 'talos-chip',\n templateUrl: './chip.component.html',\n styleUrl: './chip.component.scss',\n host: {\n 'class': 'talos-chip',\n '[class.talos-chip-sm]': 'size() === \"sm\"',\n '[class.talos-chip-md]': 'size() === \"md\"',\n '[class.talos-chip-lg]': 'size() === \"lg\"',\n '[class.talos-chip-filled]': 'variant() === \"filled\"',\n '[class.talos-chip-outline]': 'variant() === \"outline\"',\n '[class.talos-chip-subtle]': 'variant() === \"subtle\"',\n '[class.talos-chip-primary]': 'color() === \"primary\"',\n '[class.talos-chip-neutral]': 'color() === \"neutral\"',\n '[class.talos-chip-success]': 'color() === \"success\"',\n '[class.talos-chip-warning]': 'color() === \"warning\"',\n '[class.talos-chip-error]': 'color() === \"error\"',\n '[class.talos-chip-indigo]': 'color() === \"indigo\"',\n '[class.talos-chip-purple]': 'color() === \"purple\"',\n '[class.talos-chip-cyan]': 'color() === \"cyan\"',\n '[class.is-disabled]': 'disabled()',\n '[class.is-removable]': 'removable() && !disabled()',\n '[attr.aria-disabled]': 'disabled() ? \"true\" : null',\n '(click)': 'onChipClick($event)'\n }\n})\nexport class TalosChipComponent {\n readonly label = input<string>('');\n readonly value = input<unknown>(null);\n readonly size = input<ChipSize>('sm');\n readonly variant = input<ChipVariant>('subtle');\n readonly color = input<ChipColor>('primary');\n readonly removable = input<boolean>(true);\n readonly disabled = input<boolean>(false);\n readonly avatarUrl = input<string>('');\n readonly removeAriaLabel = input<string>('Remove');\n\n readonly removed = output<unknown>();\n readonly chipClick = output<unknown>();\n\n readonly hasAvatar = computed(() => !!this.avatarUrl());\n\n onChipClick(event: MouseEvent): void {\n if (this.disabled()) return;\n this.chipClick.emit(this.value() ?? this.label());\n }\n\n onRemove(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.disabled()) return;\n this.removed.emit(this.value() ?? this.label());\n }\n}\n","@if (avatarUrl()) {\n <span class=\"talos-chip-avatar\">\n <img [src]=\"avatarUrl()\" alt=\"\" aria-hidden=\"true\" />\n </span>\n}\n\n<span class=\"talos-chip-content\">\n <ng-content>{{ label() }}</ng-content>\n</span>\n\n@if (removable() && !disabled()) {\n <button\n type=\"button\"\n class=\"talos-chip-remove-btn\"\n [attr.aria-label]=\"removeAriaLabel() + (label() ? ' ' + label() : '')\"\n (click)=\"onRemove($event)\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n}\n","import {\n Component,\n ElementRef,\n TemplateRef,\n ViewChild,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChipColor,\n ChipDisplayFn,\n ChipFilterFn,\n ChipHighlightPart,\n ChipItemContext,\n ChipSize,\n ChipValueFn,\n ChipVariant,\n FormattedChipOption\n} from '../chips.types';\nimport { TalosChipComponent } from '../chip/chip.component';\n\nlet uniqueChipsIdCounter = 0;\n\nexport interface SelectedChipData {\n display: string;\n value: unknown;\n originalItem: unknown;\n}\n\n@Component({\n selector: 'talos-chips',\n imports: [NgTemplateOutlet, TalosChipComponent],\n templateUrl: './chips.component.html',\n styleUrl: './chips.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TalosChipsComponent),\n multi: true\n }\n ],\n host: {\n 'class': 'talos-chips-host',\n '[class.is-open]': 'isOpen()',\n '[class.is-disabled]': 'effectiveDisabled()',\n '[class.is-searching]': 'effectiveSearching()',\n '[class.has-label]': '!!label()',\n '[class.is-floating]': 'isFloatingMode()',\n '[class.is-floated]': 'isFloated()',\n '[class.chips-sm]': 'size() === \"sm\"',\n '[class.chips-md]': 'size() === \"md\"',\n '[class.chips-lg]': 'size() === \"lg\"',\n '(document:click)': 'onDocumentClick($event)'\n }\n})\nexport class TalosChipsComponent<T = unknown> implements ControlValueAccessor {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n // Signal Inputs\n readonly options = input<readonly T[] | T[]>([]);\n readonly label = input<string>('');\n readonly floatingLabel = input<boolean>(false);\n readonly floating = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly searching = input<boolean>(false);\n readonly loading = input<boolean>(false);\n readonly placeholder = input<string>('Type or select...');\n readonly disabled = input<boolean>(false);\n readonly clearable = input<boolean>(true);\n readonly removable = input<boolean>(true);\n readonly size = input<ChipSize>('sm');\n readonly maxChips = input<number | null>(null);\n readonly allowCustom = input<boolean>(false);\n readonly separatorKeys = input<string[]>(['Enter', ',']);\n readonly displayWith = input<ChipDisplayFn<T> | keyof T | null>(null);\n readonly valueWith = input<ChipValueFn<T> | keyof T | null>(null);\n readonly filterFn = input<ChipFilterFn<T> | null | undefined>(undefined);\n readonly highlightMatch = input<boolean>(true);\n readonly noResultsText = input<string>('No matching options');\n readonly searchingText = input<string>('Searching...');\n readonly chipVariant = input<ChipVariant>('subtle');\n readonly chipColor = input<ChipColor>('primary');\n readonly itemTemplate = input<TemplateRef<ChipItemContext<T>> | null>(null);\n readonly openOnFocus = input<boolean>(true);\n readonly id = input<string>('');\n\n // Signal Outputs\n readonly search = output<string>();\n readonly searchChange = output<string>();\n readonly selectionChange = output<unknown[]>();\n readonly chipAdd = output<unknown>();\n readonly chipRemove = output<unknown>();\n readonly opened = output<void>();\n readonly closed = output<void>();\n readonly cleared = output<void>();\n\n // View Children\n @ViewChild('inputEl') inputEl?: ElementRef<HTMLInputElement>;\n @ViewChild('dropdownEl') dropdownEl?: ElementRef<HTMLDivElement>;\n\n // Component IDs for ARIA attributes\n private readonly autoId = `talos-chips-${uniqueChipsIdCounter++}`;\n readonly componentId = computed(() => this.id() || this.autoId);\n readonly inputId = computed(() => `${this.componentId()}-input`);\n readonly listboxId = computed(() => `${this.componentId()}-listbox`);\n\n // Internal Reactive State\n readonly inputValue = signal<string>('');\n readonly selectedValues = signal<unknown[]>([]);\n readonly isOpen = signal<boolean>(false);\n readonly activeIndex = signal<number>(-1);\n readonly isDisabled = signal<boolean>(false);\n readonly isTouched = signal<boolean>(false);\n readonly isInputFocused = signal<boolean>(false);\n\n // ControlValueAccessor Callbacks\n private onChange: (val: unknown[]) => void = () => { };\n private onTouched: () => void = () => { };\n\n // Computed State\n readonly effectiveDisabled = computed(() => this.disabled() || this.isDisabled());\n readonly effectiveSearching = computed(() => this.searching() || this.loading());\n readonly isFloatingMode = computed(() => this.floatingLabel() || this.floating());\n\n readonly isFloated = computed(() => {\n if (!this.isFloatingMode()) return false;\n return (\n this.isOpen() ||\n this.isInputFocused() ||\n this.selectedValues().length > 0 ||\n !!this.inputValue().trim()\n );\n });\n\n readonly isMaxReached = computed(() => {\n const max = this.maxChips();\n if (max === null || max === undefined) return false;\n return this.selectedValues().length >= max;\n });\n\n readonly effectivePlaceholder = computed(() => {\n if (this.isFloatingMode() && !this.isFloated()) {\n return '';\n }\n if (this.isMaxReached()) {\n return 'Maximum selections reached';\n }\n return this.placeholder();\n });\n\n readonly activeOptionId = computed(() => {\n const idx = this.activeIndex();\n if (idx < 0) return null;\n return `${this.componentId()}-option-${idx}`;\n });\n\n // Selected representations as Chips\n readonly selectedChips = computed<SelectedChipData[]>(() => {\n const values = this.selectedValues();\n const rawOpts = this.options();\n\n return values.map((val) => {\n // Find matching item in options if any\n const matched = rawOpts.find((opt) => this.getItemValue(opt) === val || opt === val);\n if (matched !== undefined) {\n return {\n display: this.getItemDisplay(matched),\n value: this.getItemValue(matched),\n originalItem: matched\n };\n }\n\n // Handle raw object with display/value or primitive\n if (val && typeof val === 'object') {\n return {\n display: this.getItemDisplay(val as T),\n value: this.getItemValue(val as T),\n originalItem: val\n };\n }\n\n return {\n display: String(val ?? ''),\n value: val,\n originalItem: val\n };\n });\n });\n\n // Filtered dropdown options\n readonly filteredOptions = computed<FormattedChipOption<T>[]>(() => {\n const rawOptions = this.options();\n const search = this.inputValue().trim();\n const customFilter = this.filterFn();\n const selectedVals = this.selectedValues();\n\n const result: FormattedChipOption<T>[] = [];\n\n for (const item of rawOptions) {\n const display = this.getItemDisplay(item);\n const value = this.getItemValue(item);\n const isSelected = selectedVals.some(\n (v) => v === value || v === item || (typeof v === 'object' && typeof value === 'object' && JSON.stringify(v) === JSON.stringify(value))\n );\n\n // Check if matches filter\n let matches = true;\n if (search) {\n if (customFilter === null) {\n // Explicit null filterFn indicates external/server-side filtering\n matches = true;\n } else if (typeof customFilter === 'function') {\n matches = customFilter(item, search);\n } else {\n matches = display.toLowerCase().includes(search.toLowerCase());\n }\n }\n\n if (matches) {\n const parts = this.highlightMatch()\n ? this.computeHighlightParts(display, search)\n : [{ text: display, matched: false }];\n\n result.push({\n item,\n display,\n value,\n disabled: false,\n selected: isSelected,\n parts\n });\n }\n }\n\n return result;\n });\n\n constructor() {\n // Reset activeIndex whenever filtered options change or search changes\n effect(() => {\n this.filteredOptions();\n this.activeIndex.set(-1);\n });\n }\n\n // --- ControlValueAccessor Implementation ---\n\n writeValue(value: unknown[] | unknown | null): void {\n if (value === null || value === undefined) {\n this.selectedValues.set([]);\n } else if (Array.isArray(value)) {\n this.selectedValues.set([...value]);\n } else {\n this.selectedValues.set([value]);\n }\n }\n\n registerOnChange(fn: (val: unknown[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n if (isDisabled && this.isOpen()) {\n this.closeDropdown();\n }\n }\n\n // --- Helpers for Display & Value Extraction ---\n\n getItemDisplay(item: T): string {\n if (item === null || item === undefined) return '';\n const displayFn = this.displayWith();\n if (typeof displayFn === 'function') {\n return displayFn(item);\n }\n if (typeof displayFn === 'string' && typeof item === 'object') {\n return String((item as Record<string, unknown>)[displayFn] ?? '');\n }\n if (typeof item === 'object') {\n const obj = item as Record<string, unknown>;\n if ('label' in obj) return String(obj['label']);\n if ('name' in obj) return String(obj['name']);\n if ('title' in obj) return String(obj['title']);\n if ('value' in obj) return String(obj['value']);\n }\n return String(item);\n }\n\n getItemValue(item: T): unknown {\n if (item === null || item === undefined) return item;\n const valueFn = this.valueWith();\n if (typeof valueFn === 'function') {\n return valueFn(item);\n }\n if (typeof valueFn === 'string' && typeof item === 'object') {\n return (item as Record<string, unknown>)[valueFn];\n }\n if (typeof item === 'object') {\n const obj = item as Record<string, unknown>;\n if ('value' in obj) return obj['value'];\n if ('id' in obj) return obj['id'];\n }\n return item;\n }\n\n private computeHighlightParts(text: string, search: string): ChipHighlightPart[] {\n if (!search || !text) {\n return [{ text, matched: false }];\n }\n\n const regex = new RegExp(`(${this.escapeRegex(search)})`, 'gi');\n const segments = text.split(regex);\n\n return segments\n .filter((seg) => seg.length > 0)\n .map((seg) => ({\n text: seg,\n matched: seg.toLowerCase() === search.toLowerCase()\n }));\n }\n\n private escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n\n // --- Interaction Handlers ---\n\n onContainerClick(event: MouseEvent): void {\n if (this.effectiveDisabled()) return;\n\n // Focus search input\n if (this.inputEl && !this.isMaxReached()) {\n this.inputEl.nativeElement.focus();\n }\n\n if (!this.isOpen() && this.options().length > 0) {\n this.openDropdown();\n }\n }\n\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n const value = target.value;\n\n // Check if ends with separator (like comma)\n const separators = this.separatorKeys();\n for (const sep of separators) {\n if (sep !== 'Enter' && value.includes(sep)) {\n const parts = value.split(sep);\n for (const part of parts) {\n const trimmed = part.trim();\n if (trimmed) {\n this.addCustomChip(trimmed);\n }\n }\n this.inputValue.set('');\n target.value = '';\n this.emitSearch('');\n return;\n }\n }\n\n this.inputValue.set(value);\n this.emitSearch(value);\n\n if (!this.isOpen() && this.options().length > 0) {\n this.openDropdown();\n }\n }\n\n onFocus(): void {\n this.isInputFocused.set(true);\n if (this.openOnFocus() && !this.effectiveDisabled() && this.options().length > 0) {\n this.openDropdown();\n }\n }\n\n onBlur(): void {\n this.isInputFocused.set(false);\n this.markAsTouched();\n\n // If allowCustom is enabled and user left some text in the input, commit it as a chip\n if (this.allowCustom()) {\n const text = this.inputValue().trim();\n if (text) {\n this.addCustomChip(text);\n this.inputValue.set('');\n if (this.inputEl) {\n this.inputEl.nativeElement.value = '';\n }\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (this.effectiveDisabled()) return;\n\n const opts = this.filteredOptions();\n const currentIdx = this.activeIndex();\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n if (!this.isOpen()) {\n this.openDropdown();\n } else if (opts.length > 0) {\n const nextIdx = currentIdx < opts.length - 1 ? currentIdx + 1 : 0;\n this.activeIndex.set(nextIdx);\n this.scrollActiveOptionIntoView(nextIdx);\n }\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n if (!this.isOpen()) {\n this.openDropdown();\n } else if (opts.length > 0) {\n const prevIdx = currentIdx > 0 ? currentIdx - 1 : opts.length - 1;\n this.activeIndex.set(prevIdx);\n this.scrollActiveOptionIntoView(prevIdx);\n }\n break;\n }\n\n case 'Enter': {\n event.preventDefault();\n if (this.isOpen() && currentIdx >= 0 && currentIdx < opts.length) {\n const activeOpt = opts[currentIdx];\n this.toggleOption(activeOpt);\n } else if (this.allowCustom()) {\n const text = this.inputValue().trim();\n if (text) {\n this.addCustomChip(text);\n this.inputValue.set('');\n if (this.inputEl) {\n this.inputEl.nativeElement.value = '';\n }\n }\n }\n break;\n }\n\n case 'Backspace': {\n if (!this.inputValue() && this.selectedValues().length > 0 && this.removable()) {\n // Remove the last selected chip\n const current = [...this.selectedValues()];\n const removed = current.pop();\n this.selectedValues.set(current);\n this.emitSelection(current);\n this.chipRemove.emit(removed);\n }\n break;\n }\n\n case 'Escape': {\n if (this.isOpen()) {\n event.preventDefault();\n this.closeDropdown();\n }\n break;\n }\n\n case 'Tab': {\n if (this.isOpen()) {\n this.closeDropdown();\n }\n break;\n }\n }\n }\n\n toggleOption(option: FormattedChipOption<T>): void {\n if (this.effectiveDisabled() || option.disabled) return;\n\n const valToToggle = option.value;\n const currentValues = [...this.selectedValues()];\n const index = currentValues.findIndex((v) => v === valToToggle || v === option.item);\n\n if (index >= 0) {\n // Deselect\n currentValues.splice(index, 1);\n this.selectedValues.set(currentValues);\n this.emitSelection(currentValues);\n this.chipRemove.emit(valToToggle);\n } else {\n // Select (if not max reached)\n if (this.isMaxReached()) return;\n\n currentValues.push(valToToggle);\n this.selectedValues.set(currentValues);\n this.emitSelection(currentValues);\n this.chipAdd.emit(valToToggle);\n\n // Clear search input on selection\n this.inputValue.set('');\n if (this.inputEl) {\n this.inputEl.nativeElement.value = '';\n }\n this.emitSearch('');\n }\n\n // Keep focus in input\n if (this.inputEl && !this.isMaxReached()) {\n this.inputEl.nativeElement.focus();\n }\n }\n\n addCustomChip(text: string): void {\n if (!text || this.effectiveDisabled() || this.isMaxReached()) return;\n\n const currentValues = [...this.selectedValues()];\n // Prevent exact duplicates\n if (!currentValues.includes(text)) {\n currentValues.push(text);\n this.selectedValues.set(currentValues);\n this.emitSelection(currentValues);\n this.chipAdd.emit(text);\n }\n }\n\n removeChip(chipData: SelectedChipData): void {\n if (this.effectiveDisabled() || !this.removable()) return;\n\n const currentValues = this.selectedValues().filter(\n (v) => v !== chipData.value && v !== chipData.originalItem && v !== chipData.display\n );\n\n this.selectedValues.set(currentValues);\n this.emitSelection(currentValues);\n this.chipRemove.emit(chipData.value);\n\n // Refocus input if available\n if (this.inputEl && !this.isMaxReached()) {\n this.inputEl.nativeElement.focus();\n }\n }\n\n clearAll(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.effectiveDisabled()) return;\n\n this.selectedValues.set([]);\n this.inputValue.set('');\n if (this.inputEl) {\n this.inputEl.nativeElement.value = '';\n }\n this.emitSelection([]);\n this.cleared.emit();\n this.emitSearch('');\n\n if (this.inputEl) {\n this.inputEl.nativeElement.focus();\n }\n }\n\n toggleDropdown(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n if (this.effectiveDisabled()) return;\n\n if (this.isOpen()) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n if (this.inputEl && !this.isMaxReached()) {\n this.inputEl.nativeElement.focus();\n }\n }\n }\n\n openDropdown(): void {\n if (this.isOpen() || this.effectiveDisabled()) return;\n this.isOpen.set(true);\n this.opened.emit();\n }\n\n closeDropdown(): void {\n if (!this.isOpen()) return;\n this.isOpen.set(false);\n this.activeIndex.set(-1);\n this.closed.emit();\n }\n\n onDocumentClick(event: MouseEvent): void {\n if (!this.isOpen()) return;\n const clickedInside = this.elementRef.nativeElement.contains(event.target as Node);\n if (!clickedInside) {\n this.closeDropdown();\n this.markAsTouched();\n }\n }\n\n private emitSearch(val: string): void {\n this.search.emit(val);\n this.searchChange.emit(val);\n }\n\n private emitSelection(values: unknown[]): void {\n this.onChange(values);\n this.selectionChange.emit(values);\n this.markAsTouched();\n }\n\n private markAsTouched(): void {\n if (!this.isTouched()) {\n this.isTouched.set(true);\n this.onTouched();\n }\n }\n\n private scrollActiveOptionIntoView(index: number): void {\n if (!this.dropdownEl) return;\n const optionEl = this.dropdownEl.nativeElement.querySelector(\n `#${this.componentId()}-option-${index}`\n ) as HTMLElement | null;\n\n if (optionEl) {\n optionEl.scrollIntoView({ block: 'nearest' });\n }\n }\n}\n","@if (label() && !isFloatingMode()) {\n <label class=\"talos-field-label\" [attr.for]=\"inputId()\" (click)=\"onContainerClick($event)\">\n {{ label() }}\n @if (required()) {\n <span class=\"required-star\" aria-hidden=\"true\">*</span>\n }\n </label>\n}\n\n<div class=\"chips-wrapper\" [class.has-floating-label]=\"isFloatingMode()\">\n <!-- Main Interactive Input Box -->\n <div\n class=\"chips-control\"\n [class.is-focused]=\"isInputFocused() || isOpen()\"\n [class.is-empty]=\"selectedChips().length === 0 && !inputValue()\"\n (click)=\"onContainerClick($event)\"\n >\n <!-- Selected Chips Pills Container -->\n <div class=\"chips-pills-container\">\n @for (chip of selectedChips(); track chip.value) {\n <talos-chip\n [label]=\"chip.display\"\n [value]=\"chip.value\"\n [size]=\"size()\"\n [variant]=\"chipVariant()\"\n [color]=\"chipColor()\"\n [removable]=\"removable() && !effectiveDisabled()\"\n [disabled]=\"effectiveDisabled()\"\n (removed)=\"removeChip(chip)\"\n />\n }\n\n <!-- Inline Search / Input Field -->\n @if (!isMaxReached()) {\n <input\n #inputEl\n type=\"text\"\n class=\"chips-input\"\n [id]=\"inputId()\"\n [placeholder]=\"effectivePlaceholder()\"\n [value]=\"inputValue()\"\n [disabled]=\"effectiveDisabled()\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n [attr.aria-disabled]=\"effectiveDisabled()\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n />\n }\n </div>\n\n @if (label() && isFloatingMode()) {\n <label\n class=\"talos-floating-label\"\n [class.is-floated]=\"isFloated()\"\n [attr.for]=\"inputId()\"\n (click)=\"onContainerClick($event)\"\n >\n {{ label() }}\n @if (required()) {\n <span class=\"required-star\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <!-- Trailing Action Icons -->\n <div class=\"chips-actions\" (click)=\"$event.stopPropagation()\">\n <!-- Searching / Loading Spinner -->\n @if (effectiveSearching()) {\n <span class=\"chips-spinner\" aria-label=\"Searching...\" title=\"Searching...\">\n <svg class=\"spinner-svg\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle class=\"spinner-track\" cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"2.5\" opacity=\"0.25\"></circle>\n <path class=\"spinner-head\" d=\"M12 3a9 9 0 0 1 9 9\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"></path>\n </svg>\n </span>\n }\n\n <!-- Clear All Chips Button -->\n @if (clearable() && (selectedChips().length > 0 || inputValue()) && !effectiveDisabled() && !effectiveSearching()) {\n <button\n type=\"button\"\n class=\"chips-clear-btn\"\n aria-label=\"Clear all selections\"\n title=\"Clear all\"\n (click)=\"clearAll($event)\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n }\n\n <!-- Dropdown Toggle Arrow -->\n @if (options().length > 0) {\n <button\n type=\"button\"\n class=\"chips-arrow-btn\"\n [class.is-open]=\"isOpen()\"\n [disabled]=\"effectiveDisabled()\"\n aria-label=\"Toggle options menu\"\n tabindex=\"-1\"\n (click)=\"toggleDropdown($event)\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n </button>\n }\n </div>\n </div>\n\n <!-- Dropdown Menu / Listbox -->\n @if (isOpen() && !effectiveDisabled()) {\n <div\n #dropdownEl\n class=\"chips-dropdown\"\n [id]=\"listboxId()\"\n role=\"listbox\"\n aria-multiselectable=\"true\"\n [attr.aria-label]=\"label() || 'Options'\"\n (mousedown)=\"$event.preventDefault()\"\n >\n @if (effectiveSearching()) {\n <div class=\"chips-status-message\">\n <svg class=\"spinner-svg\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle class=\"spinner-track\" cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"2.5\" opacity=\"0.25\"></circle>\n <path class=\"spinner-head\" d=\"M12 3a9 9 0 0 1 9 9\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"></path>\n </svg>\n <span>{{ searchingText() }}</span>\n </div>\n } @else if (filteredOptions().length > 0) {\n <ul class=\"chips-options-list\" role=\"presentation\">\n @for (option of filteredOptions(); track option.value; let idx = $index) {\n <li\n class=\"chips-option-item\"\n [id]=\"componentId() + '-option-' + idx\"\n role=\"option\"\n [attr.aria-selected]=\"option.selected\"\n [attr.aria-disabled]=\"option.disabled\"\n [class.is-selected]=\"option.selected\"\n [class.is-active]=\"activeIndex() === idx\"\n [class.is-disabled]=\"option.disabled\"\n (click)=\"toggleOption(option)\"\n (mouseenter)=\"activeIndex.set(idx)\"\n >\n <!-- Option Checkbox Indicator -->\n <span class=\"option-checkbox\" [class.is-checked]=\"option.selected\" aria-hidden=\"true\">\n @if (option.selected) {\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n }\n </span>\n\n <!-- Content / Template Outlet -->\n @if (itemTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()!\"\n [ngTemplateOutletContext]=\"{\n $implicit: option.item,\n display: option.display,\n selected: option.selected,\n disabled: option.disabled\n }\"\n />\n } @else {\n <span class=\"option-label\">\n @for (part of option.parts; track $index) {\n @if (part.matched) {\n <strong class=\"highlight-match\">{{ part.text }}</strong>\n } @else {\n <span>{{ part.text }}</span>\n }\n }\n </span>\n }\n </li>\n }\n </ul>\n } @else {\n <!-- Empty / No Results -->\n <div class=\"chips-empty-message\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>\n <line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"></line>\n </svg>\n <span>{{ noResultsText() }}</span>\n </div>\n\n @if (allowCustom() && inputValue().trim()) {\n <div class=\"chips-create-tag-action\" (click)=\"addCustomChip(inputValue().trim()); inputValue.set('')\">\n <span>Add \"<strong>{{ inputValue().trim() }}</strong>\"</span>\n <kbd>↵ Enter</kbd>\n </div>\n }\n }\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { TalosChipsComponent } from './chips/chips.component';\nimport { TalosChipComponent } from './chip/chip.component';\n\n@NgModule({\n imports: [TalosChipsComponent, TalosChipComponent],\n exports: [TalosChipsComponent, TalosChipComponent]\n})\nexport class TalosChipsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|