@tailng-ui/primitives 0.12.0 → 0.14.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/package.json +12 -6
- package/src/lib/feedback/empty/tng-empty.d.ts +11 -0
- package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
- package/src/lib/feedback/empty/tng-empty.js +71 -66
- package/src/lib/feedback/empty/tng-empty.js.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts +5 -0
- package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.js +48 -54
- package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts +3 -0
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +34 -41
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.d.ts +3 -0
- package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.js +29 -32
- package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
- package/src/lib/feedback/toast/tng-toast.d.ts +5 -0
- package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
- package/src/lib/feedback/toast/tng-toast.js +49 -49
- package/src/lib/feedback/toast/tng-toast.js.map +1 -1
- package/src/lib/form/_shared/id/tng-unique-id.service.d.ts +3 -0
- package/src/lib/form/_shared/id/tng-unique-id.service.d.ts.map +1 -1
- package/src/lib/form/_shared/id/tng-unique-id.service.js +9 -7
- package/src/lib/form/_shared/id/tng-unique-id.service.js.map +1 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts +3 -0
- package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.js +21 -20
- package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
- package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts +9 -0
- package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
- package/src/lib/form/_shared/select/tng-select.parts.shared.js +102 -98
- package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.d.ts +3 -0
- package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.js +39 -38
- package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts +6 -0
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +52 -46
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts +3 -0
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +21 -20
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts +9 -0
- package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.parts.js +105 -101
- package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.d.ts +5 -0
- package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.js +119 -155
- package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.d.ts +3 -0
- package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.js +94 -107
- package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
- package/src/lib/form/chips/tng-chips.d.ts +7 -0
- package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
- package/src/lib/form/chips/tng-chips.js +104 -115
- package/src/lib/form/chips/tng-chips.js.map +1 -1
- package/src/lib/form/combobox/tng-combobox.d.ts +3 -0
- package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
- package/src/lib/form/combobox/tng-combobox.js +15 -14
- package/src/lib/form/combobox/tng-combobox.js.map +1 -1
- package/src/lib/form/input/tng-input.d.ts +9 -0
- package/src/lib/form/input/tng-input.d.ts.map +1 -1
- package/src/lib/form/input/tng-input.js +157 -141
- package/src/lib/form/input/tng-input.js.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.d.ts +3 -0
- package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.js +57 -70
- package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
- package/src/lib/form/label/tng-label.d.ts +3 -0
- package/src/lib/form/label/tng-label.d.ts.map +1 -1
- package/src/lib/form/label/tng-label.js +23 -26
- package/src/lib/form/label/tng-label.js.map +1 -1
- package/src/lib/form/listbox/listbox.directive.d.ts +3 -0
- package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
- package/src/lib/form/listbox/listbox.directive.js +44 -43
- package/src/lib/form/listbox/listbox.directive.js.map +1 -1
- package/src/lib/form/listbox/option.directive.d.ts +3 -0
- package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
- package/src/lib/form/listbox/option.directive.js +39 -38
- package/src/lib/form/listbox/option.directive.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts +3 -0
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +22 -21
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts +3 -0
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +24 -23
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts +3 -0
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +34 -33
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts +6 -0
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +55 -46
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts +3 -0
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +15 -14
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts +3 -0
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +51 -50
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.d.ts +3 -0
- package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.js +40 -36
- package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts +6 -0
- package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.listbox.js +48 -45
- package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
- package/src/lib/form/multiselect/tng-multiselect.d.ts +3 -0
- package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
- package/src/lib/form/multiselect/tng-multiselect.js +15 -14
- package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
- package/src/lib/form/radio/tng-radio.d.ts +3 -0
- package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
- package/src/lib/form/radio/tng-radio.js +90 -101
- package/src/lib/form/radio/tng-radio.js.map +1 -1
- package/src/lib/form/select/tng-select.d.ts +3 -0
- package/src/lib/form/select/tng-select.d.ts.map +1 -1
- package/src/lib/form/select/tng-select.js +40 -36
- package/src/lib/form/select/tng-select.js.map +1 -1
- package/src/lib/form/select/tng-select.listbox.d.ts +6 -0
- package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
- package/src/lib/form/select/tng-select.listbox.js +48 -45
- package/src/lib/form/select/tng-select.listbox.js.map +1 -1
- package/src/lib/form/slider/tng-slider.d.ts +3 -0
- package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
- package/src/lib/form/slider/tng-slider.js +41 -50
- package/src/lib/form/slider/tng-slider.js.map +1 -1
- package/src/lib/form/switch/tng-switch.d.ts +3 -0
- package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
- package/src/lib/form/switch/tng-switch.js +43 -48
- package/src/lib/form/switch/tng-switch.js.map +1 -1
- package/src/lib/form/textarea/tng-textarea.d.ts +4 -0
- package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
- package/src/lib/form/textarea/tng-textarea.js +39 -41
- package/src/lib/form/textarea/tng-textarea.js.map +1 -1
- package/src/lib/form/toggle/tng-toggle.d.ts +3 -0
- package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
- package/src/lib/form/toggle/tng-toggle.js +70 -75
- package/src/lib/form/toggle/tng-toggle.js.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.d.ts +3 -0
- package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.js +47 -50
- package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
- package/src/lib/layout/accordion/tng-accordion.d.ts +9 -0
- package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
- package/src/lib/layout/accordion/tng-accordion.js +139 -155
- package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts +3 -0
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +15 -14
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
- package/src/lib/layout/card/tng-card.d.ts +21 -0
- package/src/lib/layout/card/tng-card.d.ts.map +1 -1
- package/src/lib/layout/card/tng-card.js +141 -131
- package/src/lib/layout/card/tng-card.js.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.d.ts +7 -0
- package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.js +79 -86
- package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
- package/src/lib/layout/drawer/tng-drawer.d.ts +13 -0
- package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
- package/src/lib/layout/drawer/tng-drawer.js +211 -226
- package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
- package/src/lib/layout/grid/tng-grid.d.ts +3 -0
- package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
- package/src/lib/layout/grid/tng-grid.js +15 -14
- package/src/lib/layout/grid/tng-grid.js.map +1 -1
- package/src/lib/layout/separator/tng-separator.d.ts +3 -0
- package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
- package/src/lib/layout/separator/tng-separator.js +29 -30
- package/src/lib/layout/separator/tng-separator.js.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.d.ts +3 -0
- package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.js +15 -14
- package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
- package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts +3 -0
- package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts.map +1 -1
- package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js +54 -11
- package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-group.d.ts +3 -0
- package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-group.js +18 -17
- package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-indicator.d.ts +3 -0
- package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-indicator.js +21 -20
- package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-item.d.ts +3 -0
- package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-item.js +46 -53
- package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
- package/src/lib/layout/tree/tng-tree.d.ts +3 -0
- package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree.js +38 -43
- package/src/lib/layout/tree/tng-tree.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts +11 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +74 -69
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.d.ts +5 -0
- package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.js +42 -42
- package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts +3 -0
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +15 -14
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
- package/src/lib/navigation/menu/tng-menu.d.ts +13 -0
- package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
- package/src/lib/navigation/menu/tng-menu.js +178 -186
- package/src/lib/navigation/menu/tng-menu.js.map +1 -1
- package/src/lib/navigation/menubar/tng-menubar.d.ts +5 -0
- package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
- package/src/lib/navigation/menubar/tng-menubar.js +70 -70
- package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts +3 -0
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +15 -14
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
- package/src/lib/navigation/tabs/tng-tabs.d.ts +13 -0
- package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
- package/src/lib/navigation/tabs/tng-tabs.js +228 -258
- package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.d.ts +3 -0
- package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.js +15 -14
- package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.d.ts +19 -0
- package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.js +240 -255
- package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
- package/src/lib/overlay/popover/tng-popover.d.ts +9 -0
- package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
- package/src/lib/overlay/popover/tng-popover.js +148 -170
- package/src/lib/overlay/popover/tng-popover.js.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.d.ts +7 -0
- package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.js +121 -130
- package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.d.ts +7 -0
- package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.js +43 -40
- package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
- package/src/lib/utility/badge/tng-badge.d.ts +3 -0
- package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
- package/src/lib/utility/badge/tng-badge.js +25 -40
- package/src/lib/utility/badge/tng-badge.js.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.d.ts +11 -0
- package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.js +71 -66
- package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
- package/src/lib/utility/copy/tng-copy.d.ts +3 -0
- package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
- package/src/lib/utility/copy/tng-copy.js +43 -52
- package/src/lib/utility/copy/tng-copy.js.map +1 -1
- package/src/lib/utility/press/tng-press.d.ts +3 -0
- package/src/lib/utility/press/tng-press.d.ts.map +1 -1
- package/src/lib/utility/press/tng-press.js +54 -61
- package/src/lib/utility/press/tng-press.js.map +1 -1
- package/src/lib/utility/tag/tng-tag.d.ts +7 -0
- package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
- package/src/lib/utility/tag/tng-tag.js +91 -96
- package/src/lib/utility/tag/tng-tag.js.map +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';
|
|
3
2
|
import { createTngIdFactory } from '@tailng-ui/cdk';
|
|
4
3
|
import { ensureActiveAndSync, handleComboboxKeydown } from '../../../internal/combobox';
|
|
5
4
|
import { TNG_SELECT_HOST } from './tng-select.tokens.shared';
|
|
6
|
-
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TngSelectTrigger {
|
|
7
7
|
host = inject(TNG_SELECT_HOST);
|
|
8
8
|
el = inject((ElementRef));
|
|
9
9
|
get listbox() {
|
|
@@ -80,84 +80,87 @@ let TngSelectTrigger = class TngSelectTrigger {
|
|
|
80
80
|
multiSelect: this.host.multiple(),
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
],
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
],
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
],
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
],
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
],
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
],
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
],
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
],
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
],
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
],
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
],
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
],
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
84
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngSelectTrigger, isStandalone: true, selector: "[tngSelectTrigger]", host: { listeners: { "pointerdown": "onPointerDown($event)", "keydown": "onKeydown($event)" }, properties: { "attr.data-slot": "this.dataSlot", "attr.role": "this.role", "attr.aria-haspopup": "this.haspopup", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-controls": "this.ariaControls", "attr.aria-activedescendant": "this.ariaActiveDescendant", "attr.tabindex": "this.tabindex", "attr.aria-invalid": "this.ariaInvalid", "attr.aria-labelledby": "this.ariaLabelledby", "attr.aria-describedby": "this.ariaDescribedby" } }, exportAs: ["tngSelectTrigger"], ngImport: i0 });
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectTrigger, decorators: [{
|
|
87
|
+
type: Directive,
|
|
88
|
+
args: [{
|
|
89
|
+
selector: '[tngSelectTrigger]',
|
|
90
|
+
exportAs: 'tngSelectTrigger',
|
|
91
|
+
}]
|
|
92
|
+
}], propDecorators: { dataSlot: [{
|
|
93
|
+
type: HostBinding,
|
|
94
|
+
args: ['attr.data-slot']
|
|
95
|
+
}], role: [{
|
|
96
|
+
type: HostBinding,
|
|
97
|
+
args: ['attr.role']
|
|
98
|
+
}], haspopup: [{
|
|
99
|
+
type: HostBinding,
|
|
100
|
+
args: ['attr.aria-haspopup']
|
|
101
|
+
}], ariaExpanded: [{
|
|
102
|
+
type: HostBinding,
|
|
103
|
+
args: ['attr.aria-expanded']
|
|
104
|
+
}], ariaDisabled: [{
|
|
105
|
+
type: HostBinding,
|
|
106
|
+
args: ['attr.aria-disabled']
|
|
107
|
+
}], ariaControls: [{
|
|
108
|
+
type: HostBinding,
|
|
109
|
+
args: ['attr.aria-controls']
|
|
110
|
+
}], ariaActiveDescendant: [{
|
|
111
|
+
type: HostBinding,
|
|
112
|
+
args: ['attr.aria-activedescendant']
|
|
113
|
+
}], tabindex: [{
|
|
114
|
+
type: HostBinding,
|
|
115
|
+
args: ['attr.tabindex']
|
|
116
|
+
}], ariaInvalid: [{
|
|
117
|
+
type: HostBinding,
|
|
118
|
+
args: ['attr.aria-invalid']
|
|
119
|
+
}], ariaLabelledby: [{
|
|
120
|
+
type: HostBinding,
|
|
121
|
+
args: ['attr.aria-labelledby']
|
|
122
|
+
}], ariaDescribedby: [{
|
|
123
|
+
type: HostBinding,
|
|
124
|
+
args: ['attr.aria-describedby']
|
|
125
|
+
}], onPointerDown: [{
|
|
126
|
+
type: HostListener,
|
|
127
|
+
args: ['pointerdown', ['$event']]
|
|
128
|
+
}], onKeydown: [{
|
|
129
|
+
type: HostListener,
|
|
130
|
+
args: ['keydown', ['$event']]
|
|
131
|
+
}] } });
|
|
132
|
+
export class TngSelectValue {
|
|
132
133
|
dataSlot = 'select-value';
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
134
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectValue, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
135
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngSelectValue, isStandalone: true, selector: "[tngSelectValue]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngSelectValue"], ngImport: i0 });
|
|
136
|
+
}
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectValue, decorators: [{
|
|
138
|
+
type: Directive,
|
|
139
|
+
args: [{
|
|
140
|
+
selector: '[tngSelectValue]',
|
|
141
|
+
exportAs: 'tngSelectValue',
|
|
142
|
+
}]
|
|
143
|
+
}], propDecorators: { dataSlot: [{
|
|
144
|
+
type: HostBinding,
|
|
145
|
+
args: ['attr.data-slot']
|
|
146
|
+
}] } });
|
|
147
|
+
export class TngSelectIcon {
|
|
146
148
|
dataSlot = 'select-icon';
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
149
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
150
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngSelectIcon, isStandalone: true, selector: "[tngSelectIcon]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, exportAs: ["tngSelectIcon"], ngImport: i0 });
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectIcon, decorators: [{
|
|
153
|
+
type: Directive,
|
|
154
|
+
args: [{
|
|
155
|
+
selector: '[tngSelectIcon]',
|
|
156
|
+
exportAs: 'tngSelectIcon',
|
|
157
|
+
}]
|
|
158
|
+
}], propDecorators: { dataSlot: [{
|
|
159
|
+
type: HostBinding,
|
|
160
|
+
args: ['attr.data-slot']
|
|
161
|
+
}] } });
|
|
159
162
|
const createContentId = createTngIdFactory('tng-select-content');
|
|
160
|
-
|
|
163
|
+
export class TngSelectContent {
|
|
161
164
|
host = inject(TNG_SELECT_HOST);
|
|
162
165
|
destroyRef = inject(DestroyRef);
|
|
163
166
|
id = createContentId();
|
|
@@ -175,25 +178,26 @@ let TngSelectContent = class TngSelectContent {
|
|
|
175
178
|
this.host.setContentId(null);
|
|
176
179
|
});
|
|
177
180
|
}
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
],
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
],
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
],
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
181
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
182
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngSelectContent, isStandalone: true, selector: "[tngSelectContent]", host: { properties: { "attr.id": "this.id", "attr.data-slot": "this.dataSlot", "attr.hidden": "this.hidden", "attr.aria-busy": "this.ariaBusy" } }, exportAs: ["tngSelectContent"], ngImport: i0 });
|
|
183
|
+
}
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngSelectContent, decorators: [{
|
|
185
|
+
type: Directive,
|
|
186
|
+
args: [{
|
|
187
|
+
selector: '[tngSelectContent]',
|
|
188
|
+
exportAs: 'tngSelectContent',
|
|
189
|
+
}]
|
|
190
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
191
|
+
type: HostBinding,
|
|
192
|
+
args: ['attr.id']
|
|
193
|
+
}], dataSlot: [{
|
|
194
|
+
type: HostBinding,
|
|
195
|
+
args: ['attr.data-slot']
|
|
196
|
+
}], hidden: [{
|
|
197
|
+
type: HostBinding,
|
|
198
|
+
args: ['attr.hidden']
|
|
199
|
+
}], ariaBusy: [{
|
|
200
|
+
type: HostBinding,
|
|
201
|
+
args: ['attr.aria-busy']
|
|
202
|
+
}] } });
|
|
199
203
|
//# sourceMappingURL=tng-select.parts.shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-select.parts.shared.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.parts.shared.ts"],"names":[],"mappings":"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","sourcesContent":["import { DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\nimport { ensureActiveAndSync, handleComboboxKeydown } from '../../../internal/combobox';\nimport type { TngSelectHostApi } from './tng-select.host-api';\nimport { TNG_SELECT_HOST } from './tng-select.tokens.shared';\n\n@Directive({\n selector: '[tngSelectTrigger]',\n exportAs: 'tngSelectTrigger',\n standalone: true,\n})\nexport class TngSelectTrigger {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly el = inject(ElementRef<HTMLElement>);\n\n private get listbox() {\n return this.host.getListboxApi();\n }\n private readonly authorTabindex = this.el.nativeElement.getAttribute('tabindex') !== null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-trigger' = 'select-trigger';\n\n @HostBinding('attr.role') protected readonly role: 'combobox' = 'combobox';\n @HostBinding('attr.aria-haspopup') protected readonly haspopup: 'listbox' = 'listbox';\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n return this.host.open() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.host.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n if (!this.host.open()) return null;\n return this.host.getContentId() ?? this.host.getListboxId();\n }\n\n @HostBinding('attr.aria-activedescendant')\n protected get ariaActiveDescendant(): string | null {\n return this.host.open() ? this.host.getActiveDescendantId() : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabindex(): '0' | null {\n const node = this.el.nativeElement;\n const isNaturallyFocusable =\n node instanceof HTMLButtonElement ||\n node instanceof HTMLInputElement ||\n node instanceof HTMLSelectElement ||\n node instanceof HTMLTextAreaElement;\n return isNaturallyFocusable || this.authorTabindex ? null : '0';\n }\n\n @HostBinding('attr.aria-invalid')\n protected get ariaInvalid(): 'true' | null {\n return this.host.invalid() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledby(): string | null {\n const node = this.el.nativeElement;\n if (node.hasAttribute('aria-label')) return null;\n return this.host.labelId();\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedby(): string | null {\n const ids: string[] = [];\n const desc = this.host.descriptionId();\n if (desc) ids.push(desc);\n if (this.host.invalid()) {\n const err = this.host.errorId();\n if (err) ids.push(err);\n }\n return ids.length ? ids.join(' ') : null;\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n if (this.host.disabled()) return;\n const btn = event.button ?? 0;\n if (btn !== 0) return;\n\n event.preventDefault();\n this.el.nativeElement.focus();\n this.host.toggle();\n\n if (this.host.open()) {\n ensureActiveAndSync(this.listbox, (id) => this.host.setActiveDescendantId(id));\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n handleComboboxKeydown(event, {\n disabled: this.host.disabled(),\n open: this.host.open(),\n openSelect: () => this.host.openSelect(),\n close: () => this.host.close(),\n listbox: this.listbox,\n setActiveDescendantId: (id) => this.host.setActiveDescendantId(id),\n multiSelect: this.host.multiple(),\n });\n }\n}\n\n@Directive({\n selector: '[tngSelectValue]',\n exportAs: 'tngSelectValue',\n standalone: true,\n})\nexport class TngSelectValue {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-value' = 'select-value';\n}\n\n@Directive({\n selector: '[tngSelectIcon]',\n exportAs: 'tngSelectIcon',\n standalone: true,\n})\nexport class TngSelectIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-icon' = 'select-icon';\n}\n\nconst createContentId = createTngIdFactory('tng-select-content');\n\n@Directive({\n selector: '[tngSelectContent]',\n exportAs: 'tngSelectContent',\n standalone: true,\n})\nexport class TngSelectContent {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly destroyRef = inject(DestroyRef);\n\n @HostBinding('attr.id')\n readonly id = createContentId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-content' = 'select-content';\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.host.open() ? null : '';\n }\n\n @HostBinding('attr.aria-busy')\n protected get ariaBusy(): 'true' | null {\n return this.host.loading() ? 'true' : null;\n }\n\n constructor() {\n this.host.setContentId(this.id);\n this.destroyRef.onDestroy(() => {\n if (this.host.getContentId() === this.id) this.host.setContentId(null);\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tng-select.parts.shared.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/form/_shared/select/tng-select.parts.shared.ts"],"names":[],"mappings":"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","sourcesContent":["import { DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject } from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\nimport { ensureActiveAndSync, handleComboboxKeydown } from '../../../internal/combobox';\nimport type { TngSelectHostApi } from './tng-select.host-api';\nimport { TNG_SELECT_HOST } from './tng-select.tokens.shared';\n\n@Directive({\n selector: '[tngSelectTrigger]',\n exportAs: 'tngSelectTrigger',\n})\nexport class TngSelectTrigger {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly el = inject(ElementRef<HTMLElement>);\n\n private get listbox() {\n return this.host.getListboxApi();\n }\n private readonly authorTabindex = this.el.nativeElement.getAttribute('tabindex') !== null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-trigger' = 'select-trigger';\n\n @HostBinding('attr.role') protected readonly role: 'combobox' = 'combobox';\n @HostBinding('attr.aria-haspopup') protected readonly haspopup: 'listbox' = 'listbox';\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n return this.host.open() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.host.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n if (!this.host.open()) return null;\n return this.host.getContentId() ?? this.host.getListboxId();\n }\n\n @HostBinding('attr.aria-activedescendant')\n protected get ariaActiveDescendant(): string | null {\n return this.host.open() ? this.host.getActiveDescendantId() : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabindex(): '0' | null {\n const node = this.el.nativeElement;\n const isNaturallyFocusable =\n node instanceof HTMLButtonElement ||\n node instanceof HTMLInputElement ||\n node instanceof HTMLSelectElement ||\n node instanceof HTMLTextAreaElement;\n return isNaturallyFocusable || this.authorTabindex ? null : '0';\n }\n\n @HostBinding('attr.aria-invalid')\n protected get ariaInvalid(): 'true' | null {\n return this.host.invalid() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledby(): string | null {\n const node = this.el.nativeElement;\n if (node.hasAttribute('aria-label')) return null;\n return this.host.labelId();\n }\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedby(): string | null {\n const ids: string[] = [];\n const desc = this.host.descriptionId();\n if (desc) ids.push(desc);\n if (this.host.invalid()) {\n const err = this.host.errorId();\n if (err) ids.push(err);\n }\n return ids.length ? ids.join(' ') : null;\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n if (this.host.disabled()) return;\n const btn = event.button ?? 0;\n if (btn !== 0) return;\n\n event.preventDefault();\n this.el.nativeElement.focus();\n this.host.toggle();\n\n if (this.host.open()) {\n ensureActiveAndSync(this.listbox, (id) => this.host.setActiveDescendantId(id));\n }\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n handleComboboxKeydown(event, {\n disabled: this.host.disabled(),\n open: this.host.open(),\n openSelect: () => this.host.openSelect(),\n close: () => this.host.close(),\n listbox: this.listbox,\n setActiveDescendantId: (id) => this.host.setActiveDescendantId(id),\n multiSelect: this.host.multiple(),\n });\n }\n}\n\n@Directive({\n selector: '[tngSelectValue]',\n exportAs: 'tngSelectValue',\n})\nexport class TngSelectValue {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-value' = 'select-value';\n}\n\n@Directive({\n selector: '[tngSelectIcon]',\n exportAs: 'tngSelectIcon',\n})\nexport class TngSelectIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-icon' = 'select-icon';\n}\n\nconst createContentId = createTngIdFactory('tng-select-content');\n\n@Directive({\n selector: '[tngSelectContent]',\n exportAs: 'tngSelectContent',\n})\nexport class TngSelectContent {\n private readonly host = inject<TngSelectHostApi>(TNG_SELECT_HOST);\n private readonly destroyRef = inject(DestroyRef);\n\n @HostBinding('attr.id')\n readonly id = createContentId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot: 'select-content' = 'select-content';\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.host.open() ? null : '';\n }\n\n @HostBinding('attr.aria-busy')\n protected get ariaBusy(): 'true' | null {\n return this.host.loading() ? 'true' : null;\n }\n\n constructor() {\n this.host.setContentId(this.id);\n this.destroyRef.onDestroy(() => {\n if (this.host.getContentId() === this.id) this.host.setContentId(null);\n });\n }\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
2
3
|
/** Emitted when user commits a free-form value (Enter with no active option). */
|
|
3
4
|
export interface TngAutocompleteCreateEvent {
|
|
4
5
|
query: string;
|
|
@@ -48,5 +49,7 @@ export declare class TngAutocomplete<T = unknown> {
|
|
|
48
49
|
selectValue(value: T): void;
|
|
49
50
|
setListboxApi(api: TngAutocompleteListboxApi | null): void;
|
|
50
51
|
getListboxApi(): TngAutocompleteListboxApi | null;
|
|
52
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngAutocomplete<any>, never>;
|
|
53
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngAutocomplete<any>, "[tngAutocomplete]", ["tngAutocomplete"], { "open": { "alias": "open"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "allowCreate": { "alias": "allowCreate"; "required": false; "isSignal": true; }; "strict": { "alias": "strict"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "labelId": { "alias": "labelId"; "required": false; "isSignal": true; }; "descriptionId": { "alias": "descriptionId"; "required": false; "isSignal": true; }; "errorId": { "alias": "errorId"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "value": "valueChange"; "create": "create"; "query": "queryChange"; "queryChange": "queryChange"; }, never, never, true, never>;
|
|
51
54
|
}
|
|
52
55
|
//# sourceMappingURL=tng-autocomplete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;AAElF,iFAAiF;AACjF,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAKa,eAAe,CAAC,CAAC,GAAG,OAAO;IACtC,QAAQ,CAAC,WAAW,MAAiD;IAErE,SAAgB,IAAI,+CAAyB;IAC7C,SAAgB,QAAQ,+CAAyB;IACjD,oCAAoC;IACpC,SAAgB,KAAK,gDAAyB;IAC9C,+DAA+D;IAC/D,SAAgB,WAAW,+CAAyB;IACpD,2EAA2E;IAC3E,SAAgB,MAAM,+CAAyB;IAC/C,yFAAyF;IACzF,SAAgB,MAAM,uEAAwC;IAE9D,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAA0C;IAC7D,mFAAmF;IACnF,eAAe,UAAS;IACxB,4GAA4G;IAC5G,kBAAkB,UAAS;IAE3B,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,+CAAyB;IAChD,SAAgB,OAAO,qDAA8B;IACrD,SAAgB,aAAa,qDAA8B;IAC3D,SAAgB,OAAO,qDAA8B;IAEnD,gDAAgD;IAClD,SAAgB,KAAK,8CAAqB;IAE1C,uEAAuE;IACvE,SAAgB,WAAW,mDAAoB;IAG/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,QAAQ,CAE3C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAGD,SAAS,KAAK,WAAW,IAAI,EAAE,GAAG,IAAI,CAErC;IAED,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IACrC,YAAY,IAAI,MAAM,GAAG,IAAI;IAC7B,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAC9C,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAEtC,UAAU,IAAI,IAAI;IAKlB,KAAK,IAAI,IAAI;IAEb,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,aAAa,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI;IAI1D,aAAa,IAAI,yBAAyB,GAAG,IAAI;yCAlFtC,eAAe;2CAAf,eAAe;CAqF3B"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Directive, ElementRef, HostBinding, inject, input, model, output, } from '@angular/core';
|
|
3
2
|
import { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';
|
|
4
|
-
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TngAutocomplete {
|
|
5
5
|
hostElement = inject((ElementRef)).nativeElement;
|
|
6
|
-
open = model(false);
|
|
7
|
-
disabled = input(false);
|
|
6
|
+
open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
7
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
8
8
|
/** Value of the selected option. */
|
|
9
|
-
value = model(null);
|
|
9
|
+
value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
10
10
|
/** Allow free-form create when Enter with no active option. */
|
|
11
|
-
allowCreate = input(false);
|
|
11
|
+
allowCreate = input(false, ...(ngDevMode ? [{ debugName: "allowCreate" }] : []));
|
|
12
12
|
/** When true, blocks free-form create (strict = must select from list). */
|
|
13
|
-
strict = input(false);
|
|
13
|
+
strict = input(false, ...(ngDevMode ? [{ debugName: "strict" }] : []));
|
|
14
14
|
/** Emitted when user presses Enter with no active option and allowCreate and !strict. */
|
|
15
15
|
create = output();
|
|
16
16
|
_contentId = null;
|
|
@@ -21,13 +21,13 @@ let TngAutocomplete = class TngAutocomplete {
|
|
|
21
21
|
_restoringFocus = false;
|
|
22
22
|
/** Set by trigger when create is emitted; listbox effect skips sync to avoid overwriting consumer value. */
|
|
23
23
|
_createJustEmitted = false;
|
|
24
|
-
loading = input(false);
|
|
25
|
-
invalid = input(false);
|
|
26
|
-
labelId = input(null);
|
|
27
|
-
descriptionId = input(null);
|
|
28
|
-
errorId = input(null);
|
|
24
|
+
loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
25
|
+
invalid = input(false, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
|
|
26
|
+
labelId = input(null, ...(ngDevMode ? [{ debugName: "labelId" }] : []));
|
|
27
|
+
descriptionId = input(null, ...(ngDevMode ? [{ debugName: "descriptionId" }] : []));
|
|
28
|
+
errorId = input(null, ...(ngDevMode ? [{ debugName: "errorId" }] : []));
|
|
29
29
|
/** Current input query (used for filtering). */
|
|
30
|
-
query = model('');
|
|
30
|
+
query = model('', ...(ngDevMode ? [{ debugName: "query" }] : []));
|
|
31
31
|
/** Emitted when query changes (typing OR open-on-focus empty emit). */
|
|
32
32
|
queryChange = output();
|
|
33
33
|
dataSlot = 'autocomplete';
|
|
@@ -67,29 +67,30 @@ let TngAutocomplete = class TngAutocomplete {
|
|
|
67
67
|
getListboxApi() {
|
|
68
68
|
return this._listboxApi;
|
|
69
69
|
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
],
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
]
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
71
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TngAutocomplete, isStandalone: true, selector: "[tngAutocomplete]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, allowCreate: { classPropertyName: "allowCreate", publicName: "allowCreate", isSignal: true, isRequired: false, transformFunction: null }, strict: { classPropertyName: "strict", publicName: "strict", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, labelId: { classPropertyName: "labelId", publicName: "labelId", isSignal: true, isRequired: false, transformFunction: null }, descriptionId: { classPropertyName: "descriptionId", publicName: "descriptionId", isSignal: true, isRequired: false, transformFunction: null }, errorId: { classPropertyName: "errorId", publicName: "errorId", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", value: "valueChange", create: "create", query: "queryChange", queryChange: "queryChange" }, host: { properties: { "attr.data-slot": "this.dataSlot", "attr.data-state": "this.dataState", "attr.data-disabled": "this.dataDisabled", "attr.data-loading": "this.dataLoading", "attr.data-invalid": "this.dataInvalid" } }, providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }], exportAs: ["tngAutocomplete"], ngImport: i0 });
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocomplete, decorators: [{
|
|
74
|
+
type: Directive,
|
|
75
|
+
args: [{
|
|
76
|
+
selector: '[tngAutocomplete]',
|
|
77
|
+
exportAs: 'tngAutocomplete',
|
|
78
|
+
providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }],
|
|
79
|
+
}]
|
|
80
|
+
}], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], allowCreate: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowCreate", required: false }] }], strict: [{ type: i0.Input, args: [{ isSignal: true, alias: "strict", required: false }] }], create: [{ type: i0.Output, args: ["create"] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], labelId: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelId", required: false }] }], descriptionId: [{ type: i0.Input, args: [{ isSignal: true, alias: "descriptionId", required: false }] }], errorId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorId", required: false }] }], query: [{ type: i0.Input, args: [{ isSignal: true, alias: "query", required: false }] }, { type: i0.Output, args: ["queryChange"] }], queryChange: [{ type: i0.Output, args: ["queryChange"] }], dataSlot: [{
|
|
81
|
+
type: HostBinding,
|
|
82
|
+
args: ['attr.data-slot']
|
|
83
|
+
}], dataState: [{
|
|
84
|
+
type: HostBinding,
|
|
85
|
+
args: ['attr.data-state']
|
|
86
|
+
}], dataDisabled: [{
|
|
87
|
+
type: HostBinding,
|
|
88
|
+
args: ['attr.data-disabled']
|
|
89
|
+
}], dataLoading: [{
|
|
90
|
+
type: HostBinding,
|
|
91
|
+
args: ['attr.data-loading']
|
|
92
|
+
}], dataInvalid: [{
|
|
93
|
+
type: HostBinding,
|
|
94
|
+
args: ['attr.data-invalid']
|
|
95
|
+
}] } });
|
|
95
96
|
//# sourceMappingURL=tng-autocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';\nimport type { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';\n\n/** Emitted when user commits a free-form value (Enter with no active option). */\nexport interface TngAutocompleteCreateEvent {\n query: string;\n}\n\n@Directive({\n selector: '[tngAutocomplete]',\n exportAs: 'tngAutocomplete',\n providers: [{ provide: TNG_AUTOCOMPLETE, useExisting: TngAutocomplete }],\n})\nexport class TngAutocomplete<T = unknown> {\n readonly hostElement = inject(ElementRef<HTMLElement>).nativeElement;\n\n public readonly open = model<boolean>(false);\n public readonly disabled = input<boolean>(false);\n /** Value of the selected option. */\n public readonly value = model<T | null>(null);\n /** Allow free-form create when Enter with no active option. */\n public readonly allowCreate = input<boolean>(false);\n /** When true, blocks free-form create (strict = must select from list). */\n public readonly strict = input<boolean>(false);\n /** Emitted when user presses Enter with no active option and allowCreate and !strict. */\n public readonly create = output<TngAutocompleteCreateEvent>();\n\n private _contentId: string | null = null;\n private _listboxId: string | null = null;\n private _activeId: string | null = null;\n private _listboxApi: TngAutocompleteListboxApi | null = null;\n /** Set by overlay before programmatic focus restore to prevent reopen-on-focus. */\n _restoringFocus = false;\n /** Set by trigger when create is emitted; listbox effect skips sync to avoid overwriting consumer value. */\n _createJustEmitted = false;\n\n public readonly loading = input<boolean>(false);\n public readonly invalid = input<boolean>(false);\n public readonly labelId = input<string | null>(null);\n public readonly descriptionId = input<string | null>(null);\n public readonly errorId = input<string | null>(null);\n\n /** Current input query (used for filtering). */\n public readonly query = model<string>('');\n\n /** Emitted when query changes (typing OR open-on-focus empty emit). */\n public readonly queryChange = output<string>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'autocomplete' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.open() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-loading')\n protected get dataLoading(): '' | null {\n return this.loading() ? '' : null;\n }\n\n @HostBinding('attr.data-invalid')\n protected get dataInvalid(): '' | null {\n return this.invalid() ? '' : null;\n }\n\n setContentId(id: string | null): void { this._contentId = id; }\n getContentId(): string | null { return this._contentId; }\n setListboxId(id: string | null): void { this._listboxId = id; }\n getListboxId(): string | null { return this._listboxId; }\n setActiveDescendantId(id: string | null): void { this._activeId = id; }\n getActiveDescendantId(): string | null { return this._activeId; }\n\n openSelect(): void {\n if (this.disabled()) return;\n this.open.set(true);\n }\n\n close(): void { this.open.set(false); }\n\n selectValue(value: T): void {\n if (this.disabled()) return;\n this.value.set(value);\n this.close();\n }\n\n setListboxApi(api: TngAutocompleteListboxApi | null): void {\n this._listboxApi = api;\n }\n\n getListboxApi(): TngAutocompleteListboxApi | null {\n return this._listboxApi;\n }\n}\n"]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { TngAutocompleteListboxApi } from './tng-autocomplete.listbox.types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@tailng-ui/primitives";
|
|
2
4
|
export declare class TngAutocompleteListbox<T = unknown> implements TngAutocompleteListboxApi {
|
|
3
5
|
private readonly autocomplete;
|
|
4
6
|
private readonly destroyRef;
|
|
@@ -12,8 +14,12 @@ export declare class TngAutocompleteListbox<T = unknown> implements TngAutocompl
|
|
|
12
14
|
handleKey(key: string, shiftKey?: boolean): boolean;
|
|
13
15
|
commitActive(): void;
|
|
14
16
|
protected onListboxValueChange(value: T | readonly T[] | null): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngAutocompleteListbox<any>, never>;
|
|
18
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngAutocompleteListbox<any>, "[tngAutocompleteListbox]", never, {}, {}, never, never, true, [{ directive: typeof i1.TngListboxDirective; inputs: { "orientation": "orientation"; "direction": "direction"; "disabled": "disabled"; "loop": "loop"; "value": "value"; }; outputs: { "valueChange": "valueChange"; }; }]>;
|
|
15
19
|
}
|
|
16
20
|
export declare class TngAutocompleteOption<T> {
|
|
17
21
|
protected readonly dataSlot: "autocomplete-option";
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngAutocompleteOption<any>, never>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngAutocompleteOption<any>, "[tngAutocompleteOption]", never, {}, {}, never, never, true, [{ directive: typeof i1.TngOptionDirective; inputs: { "tngValue": "tngValue"; "disabled": "disabled"; }; outputs: {}; }]>;
|
|
18
24
|
}
|
|
19
25
|
//# sourceMappingURL=tng-autocomplete.listbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-autocomplete.listbox.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC
|
|
1
|
+
{"version":3,"file":"tng-autocomplete.listbox.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/form/autocomplete/tng-autocomplete.listbox.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;;;AAK7E,qBAca,sBAAsB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,yBAAyB;IACnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgD;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAG1E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,sBAAsB,CAAU;IAG9D,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAqB;;IA2B1C,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAI3C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IAInD,YAAY,IAAI,IAAI;IAOpB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI;yCA3DzD,sBAAsB;2CAAtB,sBAAsB;CAmFlC;AAED,qBASa,qBAAqB,CAAC,CAAC;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;yCAFlD,qBAAqB;2CAArB,qBAAqB;CAGjC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { DestroyRef, Directive, effect, HostBinding, HostListener, inject, untracked } from '@angular/core';
|
|
3
2
|
import { createTngIdFactory } from '@tailng-ui/cdk';
|
|
4
3
|
import { TNG_LISTBOX_FORCE_TYPEAHEAD, TngListboxDirective, TngOptionDirective } from '@tailng-ui/primitives';
|
|
5
4
|
import { normalizeToSingle } from '../../internal/combobox';
|
|
6
5
|
import { TNG_AUTOCOMPLETE_LISTBOX } from './tng-autocomplete.listbox.tokens';
|
|
7
6
|
import { TNG_AUTOCOMPLETE } from './tng-autocomplete.tokens';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@tailng-ui/primitives";
|
|
8
9
|
const createListboxId = createTngIdFactory('tng-autocomplete-listbox');
|
|
9
|
-
|
|
10
|
+
export class TngAutocompleteListbox {
|
|
10
11
|
autocomplete = inject(TNG_AUTOCOMPLETE);
|
|
11
12
|
destroyRef = inject(DestroyRef);
|
|
12
13
|
listbox = inject((TngListboxDirective), { self: true });
|
|
@@ -73,51 +74,56 @@ let TngAutocompleteListbox = class TngAutocompleteListbox {
|
|
|
73
74
|
}
|
|
74
75
|
this.autocomplete.selectValue(next);
|
|
75
76
|
}
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
HostBinding('attr.data-slot')
|
|
79
|
-
], TngAutocompleteListbox.prototype, "dataSlot", void 0);
|
|
80
|
-
__decorate([
|
|
81
|
-
HostBinding('attr.id')
|
|
82
|
-
], TngAutocompleteListbox.prototype, "id", void 0);
|
|
83
|
-
__decorate([
|
|
84
|
-
HostListener('valueChange', ['$event'])
|
|
85
|
-
], TngAutocompleteListbox.prototype, "onListboxValueChange", null);
|
|
86
|
-
TngAutocompleteListbox = __decorate([
|
|
87
|
-
Directive({
|
|
88
|
-
selector: '[tngAutocompleteListbox]',
|
|
89
|
-
standalone: true,
|
|
90
|
-
providers: [
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocompleteListbox, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngAutocompleteListbox, isStandalone: true, selector: "[tngAutocompleteListbox]", host: { listeners: { "valueChange": "onListboxValueChange($event)" }, properties: { "attr.data-slot": "this.dataSlot", "attr.id": "this.id" } }, providers: [
|
|
91
79
|
{ provide: TNG_AUTOCOMPLETE_LISTBOX, useExisting: TngAutocompleteListbox },
|
|
92
80
|
{ provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false }
|
|
93
|
-
],
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
],
|
|
103
|
-
|
|
104
|
-
|
|
81
|
+
], hostDirectives: [{ directive: i1.TngListboxDirective, inputs: ["orientation", "orientation", "direction", "direction", "disabled", "disabled", "loop", "loop", "value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 });
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocompleteListbox, decorators: [{
|
|
84
|
+
type: Directive,
|
|
85
|
+
args: [{
|
|
86
|
+
selector: '[tngAutocompleteListbox]',
|
|
87
|
+
providers: [
|
|
88
|
+
{ provide: TNG_AUTOCOMPLETE_LISTBOX, useExisting: TngAutocompleteListbox },
|
|
89
|
+
{ provide: TNG_LISTBOX_FORCE_TYPEAHEAD, useValue: false }
|
|
90
|
+
],
|
|
91
|
+
hostDirectives: [
|
|
92
|
+
{
|
|
93
|
+
directive: TngListboxDirective,
|
|
94
|
+
inputs: ['orientation', 'direction', 'disabled', 'loop', 'value'],
|
|
95
|
+
outputs: ['valueChange'],
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
}]
|
|
99
|
+
}], ctorParameters: () => [], propDecorators: { dataSlot: [{
|
|
100
|
+
type: HostBinding,
|
|
101
|
+
args: ['attr.data-slot']
|
|
102
|
+
}], id: [{
|
|
103
|
+
type: HostBinding,
|
|
104
|
+
args: ['attr.id']
|
|
105
|
+
}], onListboxValueChange: [{
|
|
106
|
+
type: HostListener,
|
|
107
|
+
args: ['valueChange', ['$event']]
|
|
108
|
+
}] } });
|
|
109
|
+
export class TngAutocompleteOption {
|
|
105
110
|
dataSlot = 'autocomplete-option';
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
111
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocompleteOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
112
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngAutocompleteOption, isStandalone: true, selector: "[tngAutocompleteOption]", host: { properties: { "attr.data-slot": "this.dataSlot" } }, hostDirectives: [{ directive: i1.TngOptionDirective, inputs: ["tngValue", "tngValue", "disabled", "disabled"] }], ngImport: i0 });
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngAutocompleteOption, decorators: [{
|
|
115
|
+
type: Directive,
|
|
116
|
+
args: [{
|
|
117
|
+
selector: '[tngAutocompleteOption]',
|
|
118
|
+
hostDirectives: [
|
|
119
|
+
{
|
|
120
|
+
directive: TngOptionDirective,
|
|
121
|
+
inputs: ['tngValue', 'disabled'],
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
}]
|
|
125
|
+
}], propDecorators: { dataSlot: [{
|
|
126
|
+
type: HostBinding,
|
|
127
|
+
args: ['attr.data-slot']
|
|
128
|
+
}] } });
|
|
123
129
|
//# sourceMappingURL=tng-autocomplete.listbox.js.map
|