@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,8 +1,8 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Component } from '@angular/core';
|
|
3
2
|
import { TestBed } from '@angular/core/testing';
|
|
4
3
|
import { TngTree, TngTreeGroup, TngTreeIndicator, TngTreeItem } from '../index';
|
|
5
|
-
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TngTreeHarnessComponent {
|
|
6
6
|
valueChanges = [];
|
|
7
7
|
defaultValue = undefined;
|
|
8
8
|
orientation = 'vertical';
|
|
@@ -15,12 +15,56 @@ let TngTreeHarnessComponent = class TngTreeHarnessComponent {
|
|
|
15
15
|
resetValueChanges() {
|
|
16
16
|
this.valueChanges.length = 0;
|
|
17
17
|
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeHarnessComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: TngTreeHarnessComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
|
|
20
|
+
<button data-testid="before" type="button">Before</button>
|
|
21
|
+
|
|
22
|
+
<div
|
|
23
|
+
data-testid="tree"
|
|
24
|
+
tngTree
|
|
25
|
+
[defaultValue]="defaultValue"
|
|
26
|
+
[orientation]="orientation"
|
|
27
|
+
[selectionMode]="selectionMode"
|
|
28
|
+
[value]="value"
|
|
29
|
+
(valueChange)="onValueChange($event)"
|
|
30
|
+
>
|
|
31
|
+
<div
|
|
32
|
+
tngTreeItem
|
|
33
|
+
[defaultExpanded]="rootExpanded"
|
|
34
|
+
[value]="'root-a'"
|
|
35
|
+
aria-label="Alpha"
|
|
36
|
+
id="root-a"
|
|
37
|
+
>
|
|
38
|
+
<span tngTreeIndicator aria-hidden="true">▶</span>
|
|
39
|
+
Root A
|
|
40
|
+
|
|
41
|
+
<div tngTreeGroup>
|
|
42
|
+
<div tngTreeItem [value]="'a-1'" aria-label="Able" id="a-1">A-1</div>
|
|
43
|
+
<div
|
|
44
|
+
tngTreeItem
|
|
45
|
+
[disabled]="true"
|
|
46
|
+
[value]="'a-2'"
|
|
47
|
+
aria-label="Beta Disabled"
|
|
48
|
+
id="a-2"
|
|
49
|
+
>
|
|
50
|
+
A-2 Disabled
|
|
51
|
+
</div>
|
|
52
|
+
<div tngTreeItem [value]="'a-3'" aria-label="Charlie" id="a-3">A-3</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<div tngTreeItem [value]="'root-b'" aria-label="Beta" id="root-b">Root B</div>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<button data-testid="after" type="button">After</button>
|
|
60
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: TngTree, selector: "[tngTree]", inputs: ["selectionMode", "orientation", "value", "defaultValue", "disabled"], outputs: ["valueChange"], exportAs: ["tngTree"] }, { kind: "directive", type: TngTreeItem, selector: "[tngTreeItem]", inputs: ["value", "expanded", "defaultExpanded", "disabled"], outputs: ["expandedChange"], exportAs: ["tngTreeItem"] }, { kind: "directive", type: TngTreeGroup, selector: "[tngTreeGroup]", exportAs: ["tngTreeGroup"] }, { kind: "directive", type: TngTreeIndicator, selector: "[tngTreeIndicator]", exportAs: ["tngTreeIndicator"] }] });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeHarnessComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{
|
|
65
|
+
standalone: true,
|
|
66
|
+
imports: [TngTree, TngTreeItem, TngTreeGroup, TngTreeIndicator],
|
|
67
|
+
template: `
|
|
24
68
|
<button data-testid="before" type="button">Before</button>
|
|
25
69
|
|
|
26
70
|
<div
|
|
@@ -62,9 +106,8 @@ TngTreeHarnessComponent = __decorate([
|
|
|
62
106
|
|
|
63
107
|
<button data-testid="after" type="button">After</button>
|
|
64
108
|
`,
|
|
65
|
-
|
|
66
|
-
]
|
|
67
|
-
export { TngTreeHarnessComponent };
|
|
109
|
+
}]
|
|
110
|
+
}] });
|
|
68
111
|
export function createTreeHarnessFixture(initialState = {}) {
|
|
69
112
|
TestBed.configureTestingModule({
|
|
70
113
|
imports: [TngTreeHarnessComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree.test-harness.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/__tests__/tng-tree.test-harness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-tree.test-harness.js","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/__tests__/tng-tree.test-harness.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component } from '@angular/core';\nimport { type ComponentFixture, TestBed } from '@angular/core/testing';\nimport { type TngTreeOrientation, TngTree, TngTreeGroup, TngTreeIndicator, TngTreeItem, type TngTreeSelectionMode, type TngTreeValue } from '../index';\n\n@Component({\n standalone: true,\n imports: [TngTree, TngTreeItem, TngTreeGroup, TngTreeIndicator],\n template: `\n <button data-testid=\"before\" type=\"button\">Before</button>\n\n <div\n data-testid=\"tree\"\n tngTree\n [defaultValue]=\"defaultValue\"\n [orientation]=\"orientation\"\n [selectionMode]=\"selectionMode\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <div\n tngTreeItem\n [defaultExpanded]=\"rootExpanded\"\n [value]=\"'root-a'\"\n aria-label=\"Alpha\"\n id=\"root-a\"\n >\n <span tngTreeIndicator aria-hidden=\"true\">▶</span>\n Root A\n\n <div tngTreeGroup>\n <div tngTreeItem [value]=\"'a-1'\" aria-label=\"Able\" id=\"a-1\">A-1</div>\n <div\n tngTreeItem\n [disabled]=\"true\"\n [value]=\"'a-2'\"\n aria-label=\"Beta Disabled\"\n id=\"a-2\"\n >\n A-2 Disabled\n </div>\n <div tngTreeItem [value]=\"'a-3'\" aria-label=\"Charlie\" id=\"a-3\">A-3</div>\n </div>\n </div>\n\n <div tngTreeItem [value]=\"'root-b'\" aria-label=\"Beta\" id=\"root-b\">Root B</div>\n </div>\n\n <button data-testid=\"after\" type=\"button\">After</button>\n `,\n})\nexport class TngTreeHarnessComponent {\n public readonly valueChanges: Array<TngTreeValue | readonly TngTreeValue[] | null> = [];\n public defaultValue: TngTreeValue | readonly TngTreeValue[] | null | undefined = undefined;\n public orientation: TngTreeOrientation = 'vertical';\n public rootExpanded = false;\n public selectionMode: TngTreeSelectionMode = 'none';\n public value: TngTreeValue | readonly TngTreeValue[] | null | undefined = undefined;\n\n public onValueChange(value: TngTreeValue | readonly TngTreeValue[] | null): void {\n this.valueChanges.push(value);\n }\n\n public resetValueChanges(): void {\n this.valueChanges.length = 0;\n }\n}\n\ntype TreeHarnessInitialState = Partial<\n Pick<\n TngTreeHarnessComponent,\n 'defaultValue' | 'orientation' | 'rootExpanded' | 'selectionMode' | 'value'\n >\n>;\n\nexport function createTreeHarnessFixture(\n initialState: TreeHarnessInitialState = {},\n): ComponentFixture<TngTreeHarnessComponent> {\n TestBed.configureTestingModule({\n imports: [TngTreeHarnessComponent],\n });\n const fixture = TestBed.createComponent(TngTreeHarnessComponent);\n Object.assign(fixture.componentInstance, initialState);\n fixture.detectChanges();\n return fixture;\n}\n\nexport function getTreeHost(fixture: ComponentFixture<TngTreeHarnessComponent>): HTMLElement {\n const tree = fixture.nativeElement.querySelector('[data-testid=\"tree\"]');\n if (!(tree instanceof HTMLElement)) {\n throw new Error('Expected tree host element.');\n }\n return tree;\n}\n\nexport function getItem(\n fixture: ComponentFixture<TngTreeHarnessComponent>,\n id: string,\n): HTMLElement {\n const element = fixture.nativeElement.querySelector(`#${id}`);\n if (!(element instanceof HTMLElement)) {\n throw new Error(`Expected tree item #${id}.`);\n }\n return element;\n}\n\nexport function clickElement(element: HTMLElement): MouseEvent {\n const event = new MouseEvent('click', { bubbles: true, cancelable: true });\n element.dispatchEvent(event);\n return event;\n}\n\nexport function dispatchKeydown(\n target: HTMLElement,\n key: string,\n options: Pick<KeyboardEventInit, 'shiftKey' | 'ctrlKey' | 'metaKey' | 'altKey'> = {},\n): KeyboardEvent {\n const event = new KeyboardEvent('keydown', {\n bubbles: true,\n cancelable: true,\n key,\n ...options,\n });\n target.dispatchEvent(event);\n return event;\n}\n"]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { TngTreeItem } from './tng-tree-item';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class TngTreeGroup implements OnInit, OnDestroy {
|
|
4
5
|
readonly parentItem: TngTreeItem | null;
|
|
5
6
|
protected readonly dataSlot: "tree-group";
|
|
6
7
|
protected readonly role: "group";
|
|
7
8
|
ngOnInit(): void;
|
|
8
9
|
ngOnDestroy(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngTreeGroup, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngTreeGroup, "[tngTreeGroup]", ["tngTreeGroup"], {}, {}, never, never, true, never>;
|
|
9
12
|
}
|
|
10
13
|
//# sourceMappingURL=tng-tree-group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree-group.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC
|
|
1
|
+
{"version":3,"file":"tng-tree-group.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;;AAE9C,qBAIa,YAAa,YAAW,MAAM,EAAE,SAAS;IACpD,SAAgB,UAAU,qBAA2D;IAGrF,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAGpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IAE3C,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;yCAbR,YAAY;2CAAZ,YAAY;CAgBxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Directive, HostBinding, inject, } from '@angular/core';
|
|
3
2
|
import { TngTreeItem } from './tng-tree-item';
|
|
4
|
-
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TngTreeGroup {
|
|
5
5
|
parentItem = inject(TngTreeItem, { optional: true, skipSelf: true });
|
|
6
6
|
dataSlot = 'tree-group';
|
|
7
7
|
role = 'group';
|
|
@@ -11,19 +11,20 @@ let TngTreeGroup = class TngTreeGroup {
|
|
|
11
11
|
ngOnDestroy() {
|
|
12
12
|
this.parentItem?.unregisterChildGroup();
|
|
13
13
|
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
],
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngTreeGroup, isStandalone: true, selector: "[tngTreeGroup]", host: { properties: { "attr.data-slot": "this.dataSlot", "attr.role": "this.role" } }, exportAs: ["tngTreeGroup"], ngImport: i0 });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeGroup, decorators: [{
|
|
18
|
+
type: Directive,
|
|
19
|
+
args: [{
|
|
20
|
+
selector: '[tngTreeGroup]',
|
|
21
|
+
exportAs: 'tngTreeGroup',
|
|
22
|
+
}]
|
|
23
|
+
}], propDecorators: { dataSlot: [{
|
|
24
|
+
type: HostBinding,
|
|
25
|
+
args: ['attr.data-slot']
|
|
26
|
+
}], role: [{
|
|
27
|
+
type: HostBinding,
|
|
28
|
+
args: ['attr.role']
|
|
29
|
+
}] } });
|
|
29
30
|
//# sourceMappingURL=tng-tree-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree-group.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-group.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-tree-group.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,WAAW,EACX,MAAM,GAGP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;;AAM9C,MAAM,OAAO,YAAY;IACP,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAGlE,QAAQ,GAAG,YAAqB,CAAC;IAGjC,IAAI,GAAG,OAAgB,CAAC;IAE3C,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACxC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAC1C,CAAC;uGAfU,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAJxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBACzB;;sBAIE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,WAAW","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n inject,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { TngTreeItem } from './tng-tree-item';\n\n@Directive({\n selector: '[tngTreeGroup]',\n exportAs: 'tngTreeGroup',\n})\nexport class TngTreeGroup implements OnInit, OnDestroy {\n public readonly parentItem = inject(TngTreeItem, { optional: true, skipSelf: true });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tree-group' as const;\n\n @HostBinding('attr.role')\n protected readonly role = 'group' as const;\n\n ngOnInit(): void {\n this.parentItem?.registerChildGroup();\n }\n\n ngOnDestroy(): void {\n this.parentItem?.unregisterChildGroup();\n }\n}\n"]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
1
2
|
export declare class TngTreeIndicator {
|
|
2
3
|
private readonly item;
|
|
3
4
|
private readonly tree;
|
|
4
5
|
protected readonly dataSlot: "tree-indicator";
|
|
5
6
|
protected get dataExpanded(): 'true' | 'false';
|
|
6
7
|
protected onClick(event: MouseEvent): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngTreeIndicator, never>;
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngTreeIndicator, "[tngTreeIndicator]", ["tngTreeIndicator"], {}, {}, never, never, true, never>;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=tng-tree-indicator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree-indicator.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-indicator.ts"],"names":[],"mappings":"AASA,
|
|
1
|
+
{"version":3,"file":"tng-tree-indicator.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-indicator.ts"],"names":[],"mappings":";AASA,qBAIa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2C;IAChE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuC;IAG5D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,gBAAgB,CAAU;IAGxD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAE7C;IAGD,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;yCAb/B,gBAAgB;2CAAhB,gBAAgB;CAmB5B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Directive, HostBinding, HostListener, inject, } from '@angular/core';
|
|
3
2
|
import { TngTree } from './tng-tree';
|
|
4
3
|
import { TngTreeItem } from './tng-tree-item';
|
|
5
|
-
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TngTreeIndicator {
|
|
6
6
|
item = inject(TngTreeItem, { optional: true });
|
|
7
7
|
tree = inject(TngTree, { optional: true });
|
|
8
8
|
dataSlot = 'tree-indicator';
|
|
@@ -15,22 +15,23 @@ let TngTreeIndicator = class TngTreeIndicator {
|
|
|
15
15
|
this.tree.onIndicatorClicked(this.item);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
],
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
],
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TngTreeIndicator, isStandalone: true, selector: "[tngTreeIndicator]", host: { listeners: { "click": "onClick($event)" }, properties: { "attr.data-slot": "this.dataSlot", "attr.data-expanded": "this.dataExpanded" } }, exportAs: ["tngTreeIndicator"], ngImport: i0 });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeIndicator, decorators: [{
|
|
22
|
+
type: Directive,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: '[tngTreeIndicator]',
|
|
25
|
+
exportAs: 'tngTreeIndicator',
|
|
26
|
+
}]
|
|
27
|
+
}], propDecorators: { dataSlot: [{
|
|
28
|
+
type: HostBinding,
|
|
29
|
+
args: ['attr.data-slot']
|
|
30
|
+
}], dataExpanded: [{
|
|
31
|
+
type: HostBinding,
|
|
32
|
+
args: ['attr.data-expanded']
|
|
33
|
+
}], onClick: [{
|
|
34
|
+
type: HostListener,
|
|
35
|
+
args: ['click', ['$event']]
|
|
36
|
+
}] } });
|
|
36
37
|
//# sourceMappingURL=tng-tree-indicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree-indicator.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-indicator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-tree-indicator.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-indicator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;;AAM9C,MAAM,OAAO,gBAAgB;IACV,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAGzC,QAAQ,GAAG,gBAAyB,CAAC;IAExD,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACpD,CAAC;IAGS,OAAO,CAAC,KAAiB;QACjC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;uGAlBU,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAJ5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;iBAC7B;;sBAKE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,oBAAoB;;sBAKhC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC","sourcesContent":["import {\n Directive,\n HostBinding,\n HostListener,\n inject,\n} from '@angular/core';\nimport { TngTree } from './tng-tree';\nimport { TngTreeItem } from './tng-tree-item';\n\n@Directive({\n selector: '[tngTreeIndicator]',\n exportAs: 'tngTreeIndicator',\n})\nexport class TngTreeIndicator {\n private readonly item = inject(TngTreeItem, { optional: true });\n private readonly tree = inject(TngTree, { optional: true });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tree-indicator' as const;\n\n @HostBinding('attr.data-expanded')\n protected get dataExpanded(): 'true' | 'false' {\n return this.item?.isExpanded() ? 'true' : 'false';\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n event.stopPropagation();\n if (this.item && this.tree) {\n this.tree.onIndicatorClicked(this.item);\n }\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { OnInit, OnDestroy } from '@angular/core';
|
|
2
2
|
import { type TngTreeValue } from './tng-tree.transforms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class TngTreeItem implements OnInit, OnDestroy {
|
|
4
5
|
private readonly hostRef;
|
|
5
6
|
private readonly tree;
|
|
@@ -32,5 +33,7 @@ export declare class TngTreeItem implements OnInit, OnDestroy {
|
|
|
32
33
|
protected onFocus(): void;
|
|
33
34
|
protected onClick(event: MouseEvent): void;
|
|
34
35
|
focusHost(): void;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngTreeItem, never>;
|
|
37
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngTreeItem, "[tngTreeItem]", ["tngTreeItem"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "defaultExpanded": { "alias": "defaultExpanded"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "expandedChange": "expandedChange"; }, never, never, true, never>;
|
|
35
38
|
}
|
|
36
39
|
//# sourceMappingURL=tng-tree-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree-item.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-item.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"tng-tree-item.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-item.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;;AAE/B,qBAIa,WAAY,YAAW,MAAM,EAAE,SAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0H;IAEtJ,SAAgB,KAAK,0EAElB;IAEH,SAAgB,QAAQ,iFAErB;IAEH,SAAgB,eAAe,qEAE5B;IAEH,SAAgB,QAAQ,qEAErB;IAEH,SAAgB,cAAc,oDAAqB;IAEnD,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,iBAAiB,CAAS;IAGlC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;IAGnD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAG9C,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAG1C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAG1C;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAE7C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAG7C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAE7C;IAEM,QAAQ,IAAI,IAAI;IAOhB,WAAW,IAAI,IAAI;IAInB,QAAQ,IAAI,YAAY;IAIxB,cAAc,IAAI,WAAW;IAI7B,aAAa,IAAI,WAAW,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAQpC,SAAS,IAAI,OAAO;IAIpB,kBAAkB,IAAI,IAAI;IAI1B,oBAAoB,IAAI,IAAI;IAKnC,SAAS,CAAC,OAAO,IAAI,IAAI;IAKzB,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMnC,SAAS,IAAI,IAAI;yCA5Hb,WAAW;2CAAX,WAAW;CA+HvB"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
1
|
import { Directive, ElementRef, HostBinding, HostListener, inject, input, output, forwardRef, } from '@angular/core';
|
|
3
2
|
import { TngTree } from './tng-tree';
|
|
4
3
|
import { TngTreeGroup } from './tng-tree-group';
|
|
5
4
|
import { normalizeOptionalBooleanAttribute, normalizeTreeBooleanInput, normalizeTreeValue, } from './tng-tree.transforms';
|
|
6
|
-
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TngTreeItem {
|
|
7
7
|
hostRef = inject(ElementRef);
|
|
8
8
|
tree = inject(TngTree, { optional: true });
|
|
9
9
|
parentGroup = inject(forwardRef(() => TngTreeGroup), { optional: true, skipSelf: true });
|
|
10
|
-
value = input.required({
|
|
11
|
-
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
transform: normalizeOptionalBooleanAttribute,
|
|
15
|
-
});
|
|
16
|
-
defaultExpanded = input(false, {
|
|
17
|
-
transform: normalizeTreeBooleanInput,
|
|
18
|
-
});
|
|
19
|
-
disabled = input(false, {
|
|
20
|
-
transform: normalizeTreeBooleanInput,
|
|
21
|
-
});
|
|
10
|
+
value = input.required({ ...(ngDevMode ? { debugName: "value" } : {}), transform: normalizeTreeValue });
|
|
11
|
+
expanded = input(undefined, { ...(ngDevMode ? { debugName: "expanded" } : {}), transform: normalizeOptionalBooleanAttribute });
|
|
12
|
+
defaultExpanded = input(false, { ...(ngDevMode ? { debugName: "defaultExpanded" } : {}), transform: normalizeTreeBooleanInput });
|
|
13
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: normalizeTreeBooleanInput });
|
|
22
14
|
expandedChange = output();
|
|
23
15
|
uncontrolledExpanded = false;
|
|
24
16
|
hasChildrenStatus = false;
|
|
@@ -97,43 +89,44 @@ let TngTreeItem = class TngTreeItem {
|
|
|
97
89
|
focusHost() {
|
|
98
90
|
this.hostRef.nativeElement.focus();
|
|
99
91
|
}
|
|
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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
93
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TngTreeItem, isStandalone: true, selector: "[tngTreeItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, defaultExpanded: { classPropertyName: "defaultExpanded", publicName: "defaultExpanded", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandedChange: "expandedChange" }, host: { listeners: { "focus": "onFocus()", "click": "onClick($event)" }, properties: { "attr.data-slot": "this.dataSlot", "attr.role": "this.role", "attr.aria-selected": "this.ariaSelected", "attr.aria-expanded": "this.ariaExpanded", "attr.tabindex": "this.tabIndex", "attr.data-expanded": "this.dataExpanded", "attr.data-selected": "this.dataSelected", "attr.data-disabled": "this.dataDisabled" } }, exportAs: ["tngTreeItem"], ngImport: i0 });
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTreeItem, decorators: [{
|
|
96
|
+
type: Directive,
|
|
97
|
+
args: [{
|
|
98
|
+
selector: '[tngTreeItem]',
|
|
99
|
+
exportAs: 'tngTreeItem',
|
|
100
|
+
}]
|
|
101
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], defaultExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultExpanded", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }], dataSlot: [{
|
|
102
|
+
type: HostBinding,
|
|
103
|
+
args: ['attr.data-slot']
|
|
104
|
+
}], role: [{
|
|
105
|
+
type: HostBinding,
|
|
106
|
+
args: ['attr.role']
|
|
107
|
+
}], ariaSelected: [{
|
|
108
|
+
type: HostBinding,
|
|
109
|
+
args: ['attr.aria-selected']
|
|
110
|
+
}], ariaExpanded: [{
|
|
111
|
+
type: HostBinding,
|
|
112
|
+
args: ['attr.aria-expanded']
|
|
113
|
+
}], tabIndex: [{
|
|
114
|
+
type: HostBinding,
|
|
115
|
+
args: ['attr.tabindex']
|
|
116
|
+
}], dataExpanded: [{
|
|
117
|
+
type: HostBinding,
|
|
118
|
+
args: ['attr.data-expanded']
|
|
119
|
+
}], dataSelected: [{
|
|
120
|
+
type: HostBinding,
|
|
121
|
+
args: ['attr.data-selected']
|
|
122
|
+
}], dataDisabled: [{
|
|
123
|
+
type: HostBinding,
|
|
124
|
+
args: ['attr.data-disabled']
|
|
125
|
+
}], onFocus: [{
|
|
126
|
+
type: HostListener,
|
|
127
|
+
args: ['focus']
|
|
128
|
+
}], onClick: [{
|
|
129
|
+
type: HostListener,
|
|
130
|
+
args: ['click', ['$event']]
|
|
131
|
+
}] } });
|
|
139
132
|
//# sourceMappingURL=tng-tree-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree-item.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-item.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-tree-item.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree-item.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n forwardRef,\n} from '@angular/core';\nimport type { OnInit, OnDestroy } from '@angular/core';\nimport { TngTree } from './tng-tree';\nimport { TngTreeGroup } from './tng-tree-group';\nimport {\n normalizeOptionalBooleanAttribute,\n normalizeTreeBooleanInput,\n normalizeTreeValue,\n type TngTreeValue,\n} from './tng-tree.transforms';\n\n@Directive({\n selector: '[tngTreeItem]',\n exportAs: 'tngTreeItem',\n})\nexport class TngTreeItem implements OnInit, OnDestroy {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tree = inject(TngTree, { optional: true });\n private readonly parentGroup: TngTreeGroup | null = inject(forwardRef(() => TngTreeGroup), { optional: true, skipSelf: true }) as TngTreeGroup | null;\n\n public readonly value = input.required<TngTreeValue, unknown>({\n transform: normalizeTreeValue,\n });\n \n public readonly expanded = input<boolean, unknown>(undefined, {\n transform: normalizeOptionalBooleanAttribute,\n });\n \n public readonly defaultExpanded = input<boolean, unknown>(false, {\n transform: normalizeTreeBooleanInput,\n });\n \n public readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeTreeBooleanInput,\n });\n\n public readonly expandedChange = output<boolean>();\n\n private uncontrolledExpanded = false;\n private hasChildrenStatus = false;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tree-item' as const;\n\n @HostBinding('attr.role')\n protected readonly role = 'treeitem' as const;\n\n @HostBinding('attr.aria-selected')\n protected get ariaSelected(): string | null {\n if (!this.tree || this.tree.selectionMode() === 'none') return null;\n return this.tree.isItemSelected(this) ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): string | null {\n if (!this.canExpand()) return null;\n return this.isExpanded() ? 'true' : 'false';\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndex(): string {\n return this.tree ? this.tree.getTriggerTabIndex(this) : '-1';\n }\n\n @HostBinding('attr.data-expanded')\n protected get dataExpanded(): 'true' | 'false' {\n return this.isExpanded() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-selected')\n protected get dataSelected(): 'true' | 'false' {\n if (!this.tree || this.tree.selectionMode() === 'none') return 'false';\n return this.tree.isItemSelected(this) ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.tree?.isItemDisabled(this) ? 'true' : 'false';\n }\n\n public ngOnInit(): void {\n if (this.expanded() === undefined) {\n this.uncontrolledExpanded = this.defaultExpanded();\n }\n this.tree?.registerItem(this);\n }\n\n public ngOnDestroy(): void {\n this.tree?.unregisterItem(this);\n }\n\n public getValue(): TngTreeValue {\n return this.value();\n }\n\n public getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n public getParentItem(): TngTreeItem | null {\n return this.parentGroup?.parentItem ?? null;\n }\n\n public isExpanded(): boolean {\n return this.expanded() ?? this.uncontrolledExpanded;\n }\n\n public setExpanded(expanded: boolean): void {\n if (this.disabled()) return;\n if (this.expanded() === undefined) {\n this.uncontrolledExpanded = expanded;\n }\n this.expandedChange.emit(expanded);\n }\n\n public canExpand(): boolean {\n return this.hasChildrenStatus || this.expanded() !== undefined || this.defaultExpanded();\n }\n\n public registerChildGroup(): void {\n this.hasChildrenStatus = true;\n }\n\n public unregisterChildGroup(): void {\n this.hasChildrenStatus = false;\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n this.tree?.onItemFocused(this);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n event.stopPropagation();\n this.tree?.onItemClicked(this);\n this.focusHost(); // Ensure it receives focus mentally on click\n }\n\n public focusHost(): void {\n this.hostRef.nativeElement.focus();\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { TngTreeItem } from './tng-tree-item';
|
|
3
3
|
import { type TngTreeOrientation, type TngTreeSelectionMode, type TngTreeValue } from './tng-tree.transforms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
4
5
|
export type { TngTreeOrientation, TngTreeSelectionMode, TngTreeValue } from './tng-tree.transforms';
|
|
5
6
|
export declare class TngTree implements OnDestroy {
|
|
6
7
|
private readonly hostRef;
|
|
@@ -63,5 +64,7 @@ export declare class TngTree implements OnDestroy {
|
|
|
63
64
|
private rebuildModel;
|
|
64
65
|
private buildOrderedModelItems;
|
|
65
66
|
private resolvePreferredActiveId;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TngTree, never>;
|
|
68
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TngTree, "[tngTree]", ["tngTree"], { "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
66
69
|
}
|
|
67
70
|
//# sourceMappingURL=tng-tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tree.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,SAAS,EACV,MAAM,eAAe,CAAC;AAcvB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"tng-tree.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,SAAS,EACV,MAAM,eAAe,CAAC;AAcvB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;;AAE/B,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AA+CpG,qBAIa,OAAQ,YAAW,SAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6C;IAC7E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkD;IACtF,OAAO,CAAC,KAAK,CAAkE;IAC/E,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEvB;IAEH,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,uBAAuB,CAAwC;IACvE,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,WAAW,CAAS;IAE5B,QAAQ,CAAC,aAAa,kFAEnB;IACH,QAAQ,CAAC,WAAW,gFAEjB;IACH,QAAQ,CAAC,KAAK,uHAGZ;IACF,QAAQ,CAAC,YAAY,uHAGnB;IACF,QAAQ,CAAC,QAAQ,qEAEd;IAEH,QAAQ,CAAC,WAAW,0FAA2D;IAG/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IAG9C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAG1C,SAAS,KAAK,eAAe,IAAI,MAAM,CAEtC;IAGD,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAIjD;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,CAa/B;IAED,WAAW,IAAI,IAAI;IAOnB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IASrC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAmBvC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAO1C,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAI1C,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAS7C,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAWtC,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAatC,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAY3C,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,sBAAsB;IAqC9B,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAyCnD,SAAS,CAAC,WAAW,IAAI,IAAI;IAW7B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,+BAA+B;IAsBvC,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,wBAAwB;yCA1kBrB,OAAO;2CAAP,OAAO;CA6kBnB"}
|