@tailng-ui/components 0.1.0 → 0.12.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/README.md +83 -5
- package/package.json +9 -4
- package/src/lib/feedback/empty/tng-empty.component.d.ts.map +1 -1
- package/src/lib/feedback/empty/tng-empty.component.js +5 -0
- package/src/lib/feedback/empty/tng-empty.component.js.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.component.d.ts.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.component.js +1 -0
- package/src/lib/feedback/progress-bar/tng-progress-bar.component.js.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.d.ts.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.js +1 -0
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.component.js.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.component.d.ts.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.component.js +1 -0
- package/src/lib/feedback/skeleton/tng-skeleton.component.js.map +1 -1
- package/src/lib/feedback/toast/tng-toast.component.d.ts +55 -6
- package/src/lib/feedback/toast/tng-toast.component.d.ts.map +1 -1
- package/src/lib/feedback/toast/tng-toast.component.js +235 -23
- package/src/lib/feedback/toast/tng-toast.component.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.component.js +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.component.js.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle-group.component.d.ts.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle-group.component.js +1 -0
- package/src/lib/form/button-toggle/tng-button-toggle-group.component.js.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.component.d.ts.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.component.js +1 -0
- package/src/lib/form/button-toggle/tng-button-toggle.component.js.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.component.d.ts.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.component.js +1 -0
- package/src/lib/form/checkbox/tng-checkbox.component.js.map +1 -1
- package/src/lib/form/chips/tng-chips.component.d.ts +9 -1
- package/src/lib/form/chips/tng-chips.component.d.ts.map +1 -1
- package/src/lib/form/chips/tng-chips.component.js +40 -3
- package/src/lib/form/chips/tng-chips.component.js.map +1 -1
- package/src/lib/form/combobox/tng-combobox.component.d.ts.map +1 -1
- package/src/lib/form/combobox/tng-combobox.component.js +1 -0
- package/src/lib/form/combobox/tng-combobox.component.js.map +1 -1
- package/src/lib/form/index.d.ts +2 -2
- package/src/lib/form/index.d.ts.map +1 -1
- package/src/lib/form/index.js +2 -2
- package/src/lib/form/index.js.map +1 -1
- package/src/lib/form/input-otp/index.d.ts +3 -0
- package/src/lib/form/input-otp/index.d.ts.map +1 -0
- package/src/lib/form/input-otp/index.js +3 -0
- package/src/lib/form/input-otp/index.js.map +1 -0
- package/src/lib/form/input-otp/tng-input-otp.component.d.ts +79 -7
- package/src/lib/form/input-otp/tng-input-otp.component.d.ts.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.component.js +441 -81
- package/src/lib/form/input-otp/tng-input-otp.component.js.map +1 -1
- package/src/lib/form/label/tng-label.component.d.ts.map +1 -1
- package/src/lib/form/label/tng-label.component.js +1 -0
- package/src/lib/form/label/tng-label.component.js.map +1 -1
- package/src/lib/form/radio/tng-radio.component.d.ts +4 -0
- package/src/lib/form/radio/tng-radio.component.d.ts.map +1 -1
- package/src/lib/form/radio/tng-radio.component.js +16 -0
- package/src/lib/form/radio/tng-radio.component.js.map +1 -1
- package/src/lib/form/slider/tng-slider.component.d.ts.map +1 -1
- package/src/lib/form/slider/tng-slider.component.js +1 -0
- package/src/lib/form/slider/tng-slider.component.js.map +1 -1
- package/src/lib/form/switch/tng-switch.component.d.ts.map +1 -1
- package/src/lib/form/switch/tng-switch.component.js +1 -0
- package/src/lib/form/switch/tng-switch.component.js.map +1 -1
- package/src/lib/form/textarea/tng-textarea.component.d.ts +2 -0
- package/src/lib/form/textarea/tng-textarea.component.d.ts.map +1 -1
- package/src/lib/form/textarea/tng-textarea.component.js +8 -4
- package/src/lib/form/textarea/tng-textarea.component.js.map +1 -1
- package/src/lib/form/toggle/tng-toggle.component.d.ts.map +1 -1
- package/src/lib/form/toggle/tng-toggle.component.js +1 -0
- package/src/lib/form/toggle/tng-toggle.component.js.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.component.d.ts.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.component.js +1 -0
- package/src/lib/form/toggle-group/tng-toggle-group.component.js.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.d.ts.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.js +1 -0
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.component.js.map +1 -1
- package/src/lib/layout/card/tng-card.component.d.ts.map +1 -1
- package/src/lib/layout/card/tng-card.component.js +10 -0
- package/src/lib/layout/card/tng-card.component.js.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.component.d.ts.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.component.js +1 -0
- package/src/lib/layout/collapsible/tng-collapsible.component.js.map +1 -1
- package/src/lib/layout/grid/tng-grid.component.d.ts.map +1 -1
- package/src/lib/layout/grid/tng-grid.component.js +1 -0
- package/src/lib/layout/grid/tng-grid.component.js.map +1 -1
- package/src/lib/layout/separator/tng-separator.component.d.ts.map +1 -1
- package/src/lib/layout/separator/tng-separator.component.js +1 -0
- package/src/lib/layout/separator/tng-separator.component.js.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.component.d.ts.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.component.js +1 -0
- package/src/lib/layout/stepper/tng-stepper.component.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.d.ts +10 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.js +53 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-item.component.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.js +1 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-link.component.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.js +1 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-list.component.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.js +1 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator-template.directive.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.js +1 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb-separator.component.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.js +1 -0
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.component.js.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.component.d.ts +1 -0
- package/src/lib/navigation/context-menu/tng-context-menu.component.d.ts.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.component.js +21 -4
- package/src/lib/navigation/context-menu/tng-context-menu.component.js.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.d.ts.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.js +1 -0
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.js.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.d.ts.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.js +1 -0
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.component.js.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.component.d.ts.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.component.js +1 -0
- package/src/lib/navigation/toolbar/tng-toolbar.component.js.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.component.d.ts.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.component.js +1 -0
- package/src/lib/overlay/dialog/tng-dialog.component.js.map +1 -1
- package/src/lib/overlay/popover/tng-popover.component.d.ts +14 -19
- package/src/lib/overlay/popover/tng-popover.component.d.ts.map +1 -1
- package/src/lib/overlay/popover/tng-popover.component.js +25 -105
- package/src/lib/overlay/popover/tng-popover.component.js.map +1 -1
- package/src/lib/overlay/tng-overlay-focus-handoff.d.ts +10 -0
- package/src/lib/overlay/tng-overlay-focus-handoff.d.ts.map +1 -0
- package/src/lib/overlay/tng-overlay-focus-handoff.js +3 -0
- package/src/lib/overlay/tng-overlay-focus-handoff.js.map +1 -0
- package/src/lib/overlay/tng-overlay-runtime.d.ts +2 -2
- package/src/lib/overlay/tooltip/tng-tooltip.component.d.ts +1 -18
- package/src/lib/overlay/tooltip/tng-tooltip.component.d.ts.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.component.js +6 -85
- package/src/lib/overlay/tooltip/tng-tooltip.component.js.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.component.d.ts.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.component.js +9 -1
- package/src/lib/utility/avatar/tng-avatar.component.js.map +1 -1
- package/src/lib/utility/badge/tng-badge.component.d.ts.map +1 -1
- package/src/lib/utility/badge/tng-badge.component.js +1 -0
- package/src/lib/utility/badge/tng-badge.component.js.map +1 -1
- package/src/lib/utility/button/tng-button.component.d.ts.map +1 -1
- package/src/lib/utility/button/tng-button.component.js +1 -0
- package/src/lib/utility/button/tng-button.component.js.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.component.d.ts.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.component.js +1 -0
- package/src/lib/utility/code-block/tng-code-block.component.js.map +1 -1
- package/src/lib/utility/copy-button/tng-copy-button.component.d.ts.map +1 -1
- package/src/lib/utility/copy-button/tng-copy-button.component.js +1 -0
- package/src/lib/utility/copy-button/tng-copy-button.component.js.map +1 -1
- package/src/lib/utility/tag/tng-tag.component.d.ts +8 -0
- package/src/lib/utility/tag/tng-tag.component.d.ts.map +1 -1
- package/src/lib/utility/tag/tng-tag.component.js +17 -3
- package/src/lib/utility/tag/tng-tag.component.js.map +1 -1
- package/src/lib/utility/tree/tng-tree.component.d.ts.map +1 -1
- package/src/lib/utility/tree/tng-tree.component.js +1 -0
- package/src/lib/utility/tree/tng-tree.component.js.map +1 -1
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, input } from '@angular/core';
|
|
3
|
-
import { TngContextMenu as TngContextMenuPrimitive } from '@tailng-ui/primitives';
|
|
2
|
+
import { Component, HostBinding, input } from '@angular/core';
|
|
3
|
+
import { TngContextMenu as TngContextMenuPrimitive, TngMenu as TngMenuPrimitive, } from '@tailng-ui/primitives';
|
|
4
4
|
let TngContextMenuComponent = class TngContextMenuComponent {
|
|
5
|
-
ariaLabel = input('Context
|
|
5
|
+
ariaLabel = input('Context menu');
|
|
6
|
+
get hostAriaLabel() {
|
|
7
|
+
return this.ariaLabel();
|
|
8
|
+
}
|
|
6
9
|
};
|
|
10
|
+
__decorate([
|
|
11
|
+
HostBinding('attr.aria-label')
|
|
12
|
+
], TngContextMenuComponent.prototype, "hostAriaLabel", null);
|
|
7
13
|
TngContextMenuComponent = __decorate([
|
|
8
14
|
Component({
|
|
15
|
+
standalone: true,
|
|
9
16
|
selector: 'tng-context-menu',
|
|
10
|
-
|
|
17
|
+
hostDirectives: [
|
|
18
|
+
{
|
|
19
|
+
directive: TngMenuPrimitive,
|
|
20
|
+
inputs: ['loop', 'disabled', 'closeOnSelect', 'dismissOnOutsideClick', 'dismissOnFocusout'],
|
|
21
|
+
outputs: ['tngMenuOpened', 'tngMenuClosed', 'tngMenuSelect'],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
directive: TngContextMenuPrimitive,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
11
27
|
templateUrl: './tng-context-menu.component.html',
|
|
12
28
|
styleUrl: './tng-context-menu.component.css',
|
|
29
|
+
exportAs: 'tngContextMenuComponent',
|
|
13
30
|
})
|
|
14
31
|
], TngContextMenuComponent);
|
|
15
32
|
export { TngContextMenuComponent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-context-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/context-menu/tng-context-menu.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"tng-context-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/context-menu/tng-context-menu.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,cAAc,IAAI,uBAAuB,EACzC,OAAO,IAAI,gBAAgB,GAC5B,MAAM,uBAAuB,CAAC;AAmBxB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClB,SAAS,GAAG,KAAK,CAAS,cAAc,CAAC,CAAC;IAG1D,IAAc,aAAa;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAHC;IADC,WAAW,CAAC,iBAAiB,CAAC;4DAG9B;AANU,uBAAuB;IAjBnC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,kBAAkB;QAC5B,cAAc,EAAE;YACd;gBACE,SAAS,EAAE,gBAAgB;gBAC3B,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;gBAC3F,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC;aAC7D;YACD;gBACE,SAAS,EAAE,uBAAuB;aACnC;SACF;QACD,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,yBAAyB;KACpC,CAAC;GACW,uBAAuB,CAOnC","sourcesContent":["import { Component, HostBinding, input } from '@angular/core';\nimport {\n TngContextMenu as TngContextMenuPrimitive,\n TngMenu as TngMenuPrimitive,\n} from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-context-menu',\n hostDirectives: [\n {\n directive: TngMenuPrimitive,\n inputs: ['loop', 'disabled', 'closeOnSelect', 'dismissOnOutsideClick', 'dismissOnFocusout'],\n outputs: ['tngMenuOpened', 'tngMenuClosed', 'tngMenuSelect'],\n },\n {\n directive: TngContextMenuPrimitive,\n },\n ],\n templateUrl: './tng-context-menu.component.html',\n styleUrl: './tng-context-menu.component.css',\n exportAs: 'tngContextMenuComponent',\n})\nexport class TngContextMenuComponent {\n public readonly ariaLabel = input<string>('Context menu');\n\n @HostBinding('attr.aria-label')\n protected get hostAriaLabel(): string {\n return this.ariaLabel();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-dropdown-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.ts"],"names":[],"mappings":"AAWA,
|
|
1
|
+
{"version":3,"file":"tng-dropdown-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.ts"],"names":[],"mappings":"AAWA,qBAOa,wBAAwB;IACnC,SAAgB,QAAQ,8EAErB;IACH,SAAgB,KAAK,8CAA4B;IAEjD,SAAS,CAAC,QAAQ,CAAC,IAAI,kDAAiB;IAExC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IAGvE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAoB/C,SAAS,CAAC,eAAe,IAAI,IAAI;IAQjC,SAAS,CAAC,UAAU,IAAI,IAAI;CAO7B"}
|
|
@@ -44,6 +44,7 @@ __decorate([
|
|
|
44
44
|
], TngDropdownMenuComponent.prototype, "onEscapeKeydown", null);
|
|
45
45
|
TngDropdownMenuComponent = __decorate([
|
|
46
46
|
Component({
|
|
47
|
+
standalone: true,
|
|
47
48
|
selector: 'tng-dropdown-menu',
|
|
48
49
|
imports: [TngDropdownMenuPrimitive],
|
|
49
50
|
templateUrl: './tng-dropdown-menu.component.html',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-dropdown-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"tng-dropdown-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/dropdown-menu/tng-dropdown-menu.component.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAS7E,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnB,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAAS,SAAS,CAAC,CAAC;IAE9B,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;IAG7D,eAAe,CAAC,KAAc;QACtC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAGS,eAAe;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAES,UAAU;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAnCW;IADT,YAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;+DAkB1C;AAGS;IADT,YAAY,CAAC,yBAAyB,CAAC;+DAOvC;AArCU,wBAAwB;IAPpC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,mCAAmC;KAC9C,CAAC;GACW,wBAAwB,CA8CpC","sourcesContent":["import {\n Component,\n ElementRef,\n HostListener,\n booleanAttribute,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { TngDropdownMenu as TngDropdownMenuPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-dropdown-menu',\n imports: [TngDropdownMenuPrimitive],\n templateUrl: './tng-dropdown-menu.component.html',\n styleUrl: './tng-dropdown-menu.component.css',\n})\nexport class TngDropdownMenuComponent {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly label = input<string>('Actions');\n\n protected readonly open = signal(false);\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @HostListener('document:click', ['$event'])\n protected onDocumentClick(event: unknown): void {\n if (!(event instanceof Event)) {\n return;\n }\n\n if (!this.open()) {\n return;\n }\n\n const target = event.target;\n if (!(target instanceof Node)) {\n return;\n }\n\n if (!this.hostRef.nativeElement.contains(target)) {\n this.open.set(false);\n }\n }\n\n @HostListener('document:keydown.escape')\n protected onEscapeKeydown(): void {\n if (!this.open()) {\n return;\n }\n\n this.open.set(false);\n }\n\n protected toggleOpen(): void {\n if (this.disabled()) {\n return;\n }\n\n this.open.set(!this.open());\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-navigation-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/navigation-menu/tng-navigation-menu.component.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"tng-navigation-menu.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/navigation-menu/tng-navigation-menu.component.ts"],"names":[],"mappings":"AAGA,qBAOa,0BAA0B;IACrC,SAAgB,SAAS,8CAAoC;CAC9D"}
|
|
@@ -6,6 +6,7 @@ let TngNavigationMenuComponent = class TngNavigationMenuComponent {
|
|
|
6
6
|
};
|
|
7
7
|
TngNavigationMenuComponent = __decorate([
|
|
8
8
|
Component({
|
|
9
|
+
standalone: true,
|
|
9
10
|
selector: 'tng-navigation-menu',
|
|
10
11
|
imports: [TngNavigationMenuPrimitive],
|
|
11
12
|
templateUrl: './tng-navigation-menu.component.html',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-navigation-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/navigation-menu/tng-navigation-menu.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"tng-navigation-menu.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/navigation-menu/tng-navigation-menu.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AASjF,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrB,SAAS,GAAG,KAAK,CAAS,iBAAiB,CAAC,CAAC;CAC9D,CAAA;AAFY,0BAA0B;IAPtC,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,qBAAqB;QAC/B,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,qCAAqC;KAChD,CAAC;GACW,0BAA0B,CAEtC","sourcesContent":["import { Component, input } from '@angular/core';\nimport { TngNavigationMenu as TngNavigationMenuPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-navigation-menu',\n imports: [TngNavigationMenuPrimitive],\n templateUrl: './tng-navigation-menu.component.html',\n styleUrl: './tng-navigation-menu.component.css',\n})\nexport class TngNavigationMenuComponent {\n public readonly ariaLabel = input<string>('Navigation Menu');\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-toolbar.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/toolbar/tng-toolbar.component.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"tng-toolbar.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/toolbar/tng-toolbar.component.ts"],"names":[],"mappings":"AAGA,qBAOa,mBAAmB;IAC9B,SAAgB,SAAS,8CAA4B;CACtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-toolbar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/toolbar/tng-toolbar.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"tng-toolbar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/navigation/toolbar/tng-toolbar.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AASnE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACd,SAAS,GAAG,KAAK,CAAS,SAAS,CAAC,CAAC;CACtD,CAAA;AAFY,mBAAmB;IAP/B,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;QAC9B,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,6BAA6B;KACxC,CAAC;GACW,mBAAmB,CAE/B","sourcesContent":["import { Component, input } from '@angular/core';\nimport { TngToolbar as TngToolbarPrimitive } from '@tailng-ui/primitives';\n\n@Component({\n standalone: true,\n selector: 'tng-toolbar',\n imports: [TngToolbarPrimitive],\n templateUrl: './tng-toolbar.component.html',\n styleUrl: './tng-toolbar.component.css',\n})\nexport class TngToolbarComponent {\n public readonly ariaLabel = input<string>('Toolbar');\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-dialog.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/dialog/tng-dialog.component.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,eAAe,CAAC;AA2B3D,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAwE/C,
|
|
1
|
+
{"version":3,"file":"tng-dialog.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/dialog/tng-dialog.component.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,eAAe,CAAC;AA2B3D,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,cAAc,CAAC;AAC3F,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAwE/C,qBAMa,kBAAmB,YAAW,SAAS;IAClD,SAAgB,eAAe,8EAE5B;IACH,SAAgB,aAAa,8EAE1B;IACH,SAAgB,WAAW,qDAA8B;IACzD,SAAgB,IAAI,8EAEjB;IACH,SAAgB,IAAI,qDAA8B;IAClD,SAAgB,KAAK,8CAA2B;IAEhD,SAAgB,MAAM,iEAAkC;IACxD,SAAgB,UAAU,oDAAqB;IAE/C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqD;IACjF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkD;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAExB;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAA4B;IAEvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAO7B;;IAQI,KAAK,IAAI,IAAI;IAIb,WAAW,IAAI,IAAI;IAKnB,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW3C,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,iBAAiB;CAkB1B"}
|
|
@@ -277,6 +277,7 @@ let TngDialogComponent = class TngDialogComponent {
|
|
|
277
277
|
};
|
|
278
278
|
TngDialogComponent = __decorate([
|
|
279
279
|
Component({
|
|
280
|
+
standalone: true,
|
|
280
281
|
selector: 'tng-dialog',
|
|
281
282
|
templateUrl: './tng-dialog.component.html',
|
|
282
283
|
styleUrl: './tng-dialog.component.css',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/dialog/tng-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n afterNextRender,\n booleanAttribute,\n Component,\n effect,\n inject,\n Injector,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport type { ElementRef, OnDestroy } from '@angular/core';\nimport {\n createOverlayScrollLockManager,\n createTngIdFactory,\n type TngOverlayDismissReason,\n} from '@tailng-ui/cdk';\nimport type { TngScrollLockDocument } from '@tailng-ui/cdk/overlay';\nimport { tngOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createDialogId = createTngIdFactory('tng-dialog');\n\nconst focusableSelector = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\n\ntype TngFocusTrapState = Readonly<{\n activeElement: HTMLElement | null;\n first: HTMLElement;\n last: HTMLElement;\n panel: HTMLElement;\n}>;\n\nexport type TngDialogCloseReason = 'backdrop' | 'close-button' | 'escape' | 'programmatic';\nexport type TngDialogSize = 'lg' | 'md' | 'sm';\n\nfunction readKeyboardEvent(event: unknown): KeyboardEvent | null {\n return event instanceof KeyboardEvent ? event : null;\n}\n\nfunction resolveActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const activeElement = documentRef.activeElement;\n return activeElement instanceof HTMLElement ? activeElement : null;\n}\n\nfunction resolveFocusableElements(container: unknown): readonly HTMLElement[] {\n if (!(container instanceof HTMLElement)) {\n return [];\n }\n\n const candidates = Array.from(container.querySelectorAll<HTMLElement>(focusableSelector));\n const focusableElements: HTMLElement[] = [];\n for (const candidate of candidates) {\n if (!candidate.hasAttribute('disabled')) {\n focusableElements.push(candidate);\n }\n }\n\n return focusableElements;\n}\n\nfunction resolveFirstFocusableWithin(container: unknown): HTMLElement | null {\n return resolveFocusableElements(container)[0] ?? null;\n}\n\nfunction resolveMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-dialog-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolveFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolveFirstFocusableWithin(markedInitial);\n}\n\nfunction toScrollLockDocument(documentRef: unknown): TngScrollLockDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngScrollLockDocument;\n}\n\nfunction toDialogCloseReason(reason: TngOverlayDismissReason): TngDialogCloseReason | null {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'backdrop';\n }\n\n return null;\n}\n\n@Component({\n selector: 'tng-dialog',\n templateUrl: './tng-dialog.component.html',\n styleUrl: './tng-dialog.component.css',\n})\nexport class TngDialogComponent implements OnDestroy {\n public readonly closeOnBackdrop = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly description = input<string | null>(null);\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly size = input<TngDialogSize>('md');\n public readonly title = input<string>('Dialog');\n\n public readonly closed = output<TngDialogCloseReason>();\n public readonly openChange = output<boolean>();\n\n protected readonly descriptionId: string;\n protected readonly panelId: string;\n protected readonly titleId: string;\n\n private readonly documentRef = typeof document === 'undefined' ? null : document;\n private readonly injector = inject(Injector);\n private readonly panelRef = viewChild<ElementRef<HTMLElement>>('panelRef');\n private readonly scrollLock = createOverlayScrollLockManager({\n documentRef: toScrollLockDocument(this.documentRef),\n });\n private readonly instanceId = createDialogId();\n private isActive = false;\n private isLayerRegistered = false;\n private restoreFocusElement: HTMLElement | null = null;\n\n private readonly openStateEffect = effect((): void => {\n if (this.open()) {\n this.activateDialog();\n return;\n }\n\n this.deactivateDialog();\n });\n\n public constructor() {\n this.descriptionId = `${this.instanceId}-description`;\n this.panelId = `${this.instanceId}-panel`;\n this.titleId = `${this.instanceId}-title`;\n }\n\n public close(): void {\n this.requestClose('programmatic');\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivateDialog();\n }\n\n public onCloseButtonClick(): void {\n this.requestClose('close-button');\n }\n\n public onPanelKeydown(event: unknown): void {\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null) {\n return;\n }\n\n if (keyboardEvent.key === 'Tab') {\n this.trapTabNavigation(event);\n }\n }\n\n private activateDialog(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n this.registerOverlayLayer();\n this.restoreFocusElement = resolveActiveElement(this.documentRef);\n this.scrollLock.acquire(this.instanceId);\n afterNextRender(\n (): void => {\n this.focusInitialElement();\n },\n { injector: this.injector },\n );\n }\n\n private deactivateDialog(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n this.unregisterOverlayLayer();\n this.scrollLock.release(this.instanceId);\n this.restoreFocusElement?.focus();\n this.restoreFocusElement = null;\n }\n\n private handleOverlayDismiss(reason: TngOverlayDismissReason): void {\n const closeReason = toDialogCloseReason(reason);\n if (closeReason === null) {\n return;\n }\n\n this.requestClose(closeReason);\n }\n\n private registerOverlayLayer(): void {\n if (this.isLayerRegistered) {\n return;\n }\n\n this.isLayerRegistered = true;\n tngOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n const panel = this.panelRef()?.nativeElement;\n if (panel === undefined) {\n return false;\n }\n\n if (path.includes(panel)) {\n return true;\n }\n\n return target instanceof Node ? panel.contains(target) : false;\n },\n dismissOnEscape: this.closeOnEscape(),\n dismissOnOutsidePointer: this.closeOnBackdrop(),\n id: this.instanceId,\n modal: true,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n this.handleOverlayDismiss(reason);\n },\n priority: 100,\n });\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isLayerRegistered) {\n return;\n }\n\n this.isLayerRegistered = false;\n tngOverlayRuntime.unregisterLayer(this.instanceId);\n }\n\n private focusInitialElement(): void {\n const panel = this.panelRef()?.nativeElement;\n if (panel === undefined) {\n return;\n }\n\n const markedInitial = resolveMarkedInitialElement(panel);\n if (markedInitial !== null) {\n markedInitial.focus();\n return;\n }\n\n const firstFocusable = resolveFirstFocusableWithin(panel);\n if (firstFocusable !== null) {\n firstFocusable.focus();\n return;\n }\n\n panel.focus();\n }\n\n private preventAndFocus(event: unknown, target: unknown): void {\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null || !(target instanceof HTMLElement)) {\n return;\n }\n\n keyboardEvent.preventDefault();\n target.focus();\n }\n\n private requestClose(reason: TngDialogCloseReason): void {\n this.closed.emit(reason);\n this.openChange.emit(false);\n }\n\n private resolveFocusTrapState(panel: unknown): TngFocusTrapState | null {\n if (!(panel instanceof HTMLElement)) {\n return null;\n }\n\n const focusableElements = resolveFocusableElements(panel);\n const first = focusableElements[0];\n if (first === undefined) {\n return null;\n }\n\n return {\n activeElement: resolveActiveElement(this.documentRef),\n first,\n last: focusableElements[focusableElements.length - 1] ?? first,\n panel,\n };\n }\n\n private focusEdgeWhenOutsidePanel(event: unknown, focusState: unknown): boolean {\n const state = focusState as TngFocusTrapState;\n const activeElement = state.activeElement;\n if (activeElement !== null && state.panel.contains(activeElement)) {\n return false;\n }\n\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null) {\n return true;\n }\n\n const edge = keyboardEvent.shiftKey ? state.last : state.first;\n this.preventAndFocus(keyboardEvent, edge);\n return true;\n }\n\n private wrapTabAtEdges(event: unknown, focusState: unknown): void {\n const state = focusState as TngFocusTrapState;\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null) {\n return;\n }\n\n if (keyboardEvent.shiftKey && state.activeElement === state.first) {\n this.preventAndFocus(keyboardEvent, state.last);\n return;\n }\n\n if (!keyboardEvent.shiftKey && state.activeElement === state.last) {\n this.preventAndFocus(keyboardEvent, state.first);\n }\n }\n\n private trapTabNavigation(event: unknown): void {\n const panel = this.panelRef()?.nativeElement;\n if (panel === undefined) {\n return;\n }\n\n const focusState = this.resolveFocusTrapState(panel);\n if (focusState === null) {\n this.preventAndFocus(event, panel);\n return;\n }\n\n if (this.focusEdgeWhenOutsidePanel(event, focusState)) {\n return;\n }\n\n this.wrapTabAtEdges(event, focusState);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tng-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/dialog/tng-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n afterNextRender,\n booleanAttribute,\n Component,\n effect,\n inject,\n Injector,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport type { ElementRef, OnDestroy } from '@angular/core';\nimport {\n createOverlayScrollLockManager,\n createTngIdFactory,\n type TngOverlayDismissReason,\n} from '@tailng-ui/cdk';\nimport type { TngScrollLockDocument } from '@tailng-ui/cdk/overlay';\nimport { tngOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createDialogId = createTngIdFactory('tng-dialog');\n\nconst focusableSelector = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\n\ntype TngFocusTrapState = Readonly<{\n activeElement: HTMLElement | null;\n first: HTMLElement;\n last: HTMLElement;\n panel: HTMLElement;\n}>;\n\nexport type TngDialogCloseReason = 'backdrop' | 'close-button' | 'escape' | 'programmatic';\nexport type TngDialogSize = 'lg' | 'md' | 'sm';\n\nfunction readKeyboardEvent(event: unknown): KeyboardEvent | null {\n return event instanceof KeyboardEvent ? event : null;\n}\n\nfunction resolveActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const activeElement = documentRef.activeElement;\n return activeElement instanceof HTMLElement ? activeElement : null;\n}\n\nfunction resolveFocusableElements(container: unknown): readonly HTMLElement[] {\n if (!(container instanceof HTMLElement)) {\n return [];\n }\n\n const candidates = Array.from(container.querySelectorAll<HTMLElement>(focusableSelector));\n const focusableElements: HTMLElement[] = [];\n for (const candidate of candidates) {\n if (!candidate.hasAttribute('disabled')) {\n focusableElements.push(candidate);\n }\n }\n\n return focusableElements;\n}\n\nfunction resolveFirstFocusableWithin(container: unknown): HTMLElement | null {\n return resolveFocusableElements(container)[0] ?? null;\n}\n\nfunction resolveMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-dialog-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolveFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolveFirstFocusableWithin(markedInitial);\n}\n\nfunction toScrollLockDocument(documentRef: unknown): TngScrollLockDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngScrollLockDocument;\n}\n\nfunction toDialogCloseReason(reason: TngOverlayDismissReason): TngDialogCloseReason | null {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'backdrop';\n }\n\n return null;\n}\n\n@Component({\n standalone: true,\n selector: 'tng-dialog',\n templateUrl: './tng-dialog.component.html',\n styleUrl: './tng-dialog.component.css',\n})\nexport class TngDialogComponent implements OnDestroy {\n public readonly closeOnBackdrop = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly description = input<string | null>(null);\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly size = input<TngDialogSize>('md');\n public readonly title = input<string>('Dialog');\n\n public readonly closed = output<TngDialogCloseReason>();\n public readonly openChange = output<boolean>();\n\n protected readonly descriptionId: string;\n protected readonly panelId: string;\n protected readonly titleId: string;\n\n private readonly documentRef = typeof document === 'undefined' ? null : document;\n private readonly injector = inject(Injector);\n private readonly panelRef = viewChild<ElementRef<HTMLElement>>('panelRef');\n private readonly scrollLock = createOverlayScrollLockManager({\n documentRef: toScrollLockDocument(this.documentRef),\n });\n private readonly instanceId = createDialogId();\n private isActive = false;\n private isLayerRegistered = false;\n private restoreFocusElement: HTMLElement | null = null;\n\n private readonly openStateEffect = effect((): void => {\n if (this.open()) {\n this.activateDialog();\n return;\n }\n\n this.deactivateDialog();\n });\n\n public constructor() {\n this.descriptionId = `${this.instanceId}-description`;\n this.panelId = `${this.instanceId}-panel`;\n this.titleId = `${this.instanceId}-title`;\n }\n\n public close(): void {\n this.requestClose('programmatic');\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivateDialog();\n }\n\n public onCloseButtonClick(): void {\n this.requestClose('close-button');\n }\n\n public onPanelKeydown(event: unknown): void {\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null) {\n return;\n }\n\n if (keyboardEvent.key === 'Tab') {\n this.trapTabNavigation(event);\n }\n }\n\n private activateDialog(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n this.registerOverlayLayer();\n this.restoreFocusElement = resolveActiveElement(this.documentRef);\n this.scrollLock.acquire(this.instanceId);\n afterNextRender(\n (): void => {\n this.focusInitialElement();\n },\n { injector: this.injector },\n );\n }\n\n private deactivateDialog(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n this.unregisterOverlayLayer();\n this.scrollLock.release(this.instanceId);\n this.restoreFocusElement?.focus();\n this.restoreFocusElement = null;\n }\n\n private handleOverlayDismiss(reason: TngOverlayDismissReason): void {\n const closeReason = toDialogCloseReason(reason);\n if (closeReason === null) {\n return;\n }\n\n this.requestClose(closeReason);\n }\n\n private registerOverlayLayer(): void {\n if (this.isLayerRegistered) {\n return;\n }\n\n this.isLayerRegistered = true;\n tngOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n const panel = this.panelRef()?.nativeElement;\n if (panel === undefined) {\n return false;\n }\n\n if (path.includes(panel)) {\n return true;\n }\n\n return target instanceof Node ? panel.contains(target) : false;\n },\n dismissOnEscape: this.closeOnEscape(),\n dismissOnOutsidePointer: this.closeOnBackdrop(),\n id: this.instanceId,\n modal: true,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n this.handleOverlayDismiss(reason);\n },\n priority: 100,\n });\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isLayerRegistered) {\n return;\n }\n\n this.isLayerRegistered = false;\n tngOverlayRuntime.unregisterLayer(this.instanceId);\n }\n\n private focusInitialElement(): void {\n const panel = this.panelRef()?.nativeElement;\n if (panel === undefined) {\n return;\n }\n\n const markedInitial = resolveMarkedInitialElement(panel);\n if (markedInitial !== null) {\n markedInitial.focus();\n return;\n }\n\n const firstFocusable = resolveFirstFocusableWithin(panel);\n if (firstFocusable !== null) {\n firstFocusable.focus();\n return;\n }\n\n panel.focus();\n }\n\n private preventAndFocus(event: unknown, target: unknown): void {\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null || !(target instanceof HTMLElement)) {\n return;\n }\n\n keyboardEvent.preventDefault();\n target.focus();\n }\n\n private requestClose(reason: TngDialogCloseReason): void {\n this.closed.emit(reason);\n this.openChange.emit(false);\n }\n\n private resolveFocusTrapState(panel: unknown): TngFocusTrapState | null {\n if (!(panel instanceof HTMLElement)) {\n return null;\n }\n\n const focusableElements = resolveFocusableElements(panel);\n const first = focusableElements[0];\n if (first === undefined) {\n return null;\n }\n\n return {\n activeElement: resolveActiveElement(this.documentRef),\n first,\n last: focusableElements[focusableElements.length - 1] ?? first,\n panel,\n };\n }\n\n private focusEdgeWhenOutsidePanel(event: unknown, focusState: unknown): boolean {\n const state = focusState as TngFocusTrapState;\n const activeElement = state.activeElement;\n if (activeElement !== null && state.panel.contains(activeElement)) {\n return false;\n }\n\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null) {\n return true;\n }\n\n const edge = keyboardEvent.shiftKey ? state.last : state.first;\n this.preventAndFocus(keyboardEvent, edge);\n return true;\n }\n\n private wrapTabAtEdges(event: unknown, focusState: unknown): void {\n const state = focusState as TngFocusTrapState;\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null) {\n return;\n }\n\n if (keyboardEvent.shiftKey && state.activeElement === state.first) {\n this.preventAndFocus(keyboardEvent, state.last);\n return;\n }\n\n if (!keyboardEvent.shiftKey && state.activeElement === state.last) {\n this.preventAndFocus(keyboardEvent, state.first);\n }\n }\n\n private trapTabNavigation(event: unknown): void {\n const panel = this.panelRef()?.nativeElement;\n if (panel === undefined) {\n return;\n }\n\n const focusState = this.resolveFocusTrapState(panel);\n if (focusState === null) {\n this.preventAndFocus(event, panel);\n return;\n }\n\n if (this.focusEdgeWhenOutsidePanel(event, focusState)) {\n return;\n }\n\n this.wrapTabAtEdges(event, focusState);\n }\n}\n"]}
|
|
@@ -1,28 +1,23 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export type
|
|
3
|
-
|
|
1
|
+
import { TngPopover as TngPopoverPrimitive, type TngPopoverAlign, type TngPopoverAriaHasPopup, type TngPopoverAutoFocus, type TngPopoverCloseReason, type TngPopoverPanelRole, type TngPopoverSide } from '@tailng-ui/primitives';
|
|
2
|
+
export type { TngPopoverAlign, TngPopoverAriaHasPopup, TngPopoverAutoFocus, TngPopoverCloseReason, TngPopoverPanelRole, TngPopoverSide, } from '@tailng-ui/primitives';
|
|
3
|
+
type OptionalBooleanInput = boolean | null | string | undefined;
|
|
4
|
+
export declare class TngPopoverComponent {
|
|
4
5
|
readonly ariaLabel: import("@angular/core").InputSignal<string>;
|
|
6
|
+
readonly ariaHasPopup: import("@angular/core").InputSignal<TngPopoverAriaHasPopup>;
|
|
7
|
+
readonly autoFocus: import("@angular/core").InputSignal<TngPopoverAutoFocus>;
|
|
8
|
+
readonly align: import("@angular/core").InputSignal<TngPopoverAlign>;
|
|
5
9
|
readonly closeOnEscape: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
6
10
|
readonly closeOnOutsidePointer: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
7
|
-
readonly
|
|
11
|
+
readonly defaultOpen: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
12
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
13
|
+
readonly open: import("@angular/core").InputSignalWithTransform<boolean | undefined, OptionalBooleanInput>;
|
|
14
|
+
readonly panelRole: import("@angular/core").InputSignal<TngPopoverPanelRole>;
|
|
15
|
+
readonly restoreFocus: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
16
|
+
readonly side: import("@angular/core").InputSignal<TngPopoverSide>;
|
|
8
17
|
readonly triggerLabel: import("@angular/core").InputSignal<string>;
|
|
9
18
|
readonly closed: import("@angular/core").OutputEmitterRef<TngPopoverCloseReason>;
|
|
10
19
|
readonly openChange: import("@angular/core").OutputEmitterRef<boolean>;
|
|
11
|
-
protected readonly
|
|
12
|
-
private readonly hostRef;
|
|
13
|
-
private readonly injector;
|
|
14
|
-
private readonly panelRef;
|
|
15
|
-
private readonly instanceId;
|
|
16
|
-
private isLayerRegistered;
|
|
17
|
-
private readonly openStateEffect;
|
|
18
|
-
constructor();
|
|
20
|
+
protected readonly popoverRef: import("@angular/core").Signal<TngPopoverPrimitive>;
|
|
19
21
|
close(): void;
|
|
20
|
-
ngOnDestroy(): void;
|
|
21
|
-
onTriggerClick(): void;
|
|
22
|
-
private handleOverlayDismiss;
|
|
23
|
-
private registerOverlayLayer;
|
|
24
|
-
private unregisterOverlayLayer;
|
|
25
|
-
private focusInitialElement;
|
|
26
|
-
private requestClose;
|
|
27
22
|
}
|
|
28
23
|
//# sourceMappingURL=tng-popover.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-popover.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/popover/tng-popover.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tng-popover.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/popover/tng-popover.component.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,UAAU,IAAI,mBAAmB,EAGjC,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,KAAK,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAUhE,qBAOa,mBAAmB;IAC9B,SAAgB,SAAS,8CAA4B;IACrD,SAAgB,YAAY,8DAA2C;IACvE,SAAgB,SAAS,2DAAiD;IAC1E,SAAgB,KAAK,uDAAmC;IACxD,SAAgB,aAAa,8EAE1B;IACH,SAAgB,qBAAqB,8EAElC;IACH,SAAgB,WAAW,8EAExB;IACH,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8FAEjB;IACH,SAAgB,SAAS,2DAAwC;IACjE,SAAgB,YAAY,8EAEzB;IACH,SAAgB,IAAI,sDAAmC;IACvD,SAAgB,YAAY,8CAAmC;IAE/D,SAAgB,MAAM,kEAAmC;IACzD,SAAgB,UAAU,oDAAqB;IAE/C,SAAS,CAAC,QAAQ,CAAC,UAAU,sDAAyD;IAE/E,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -1,130 +1,50 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
'a[href]',
|
|
8
|
-
'button:not([disabled])',
|
|
9
|
-
'input:not([disabled])',
|
|
10
|
-
'select:not([disabled])',
|
|
11
|
-
'textarea:not([disabled])',
|
|
12
|
-
'[tabindex]:not([tabindex="-1"])',
|
|
13
|
-
].join(',');
|
|
14
|
-
function resolveFocusableElements(container) {
|
|
15
|
-
if (!(container instanceof HTMLElement)) {
|
|
16
|
-
return [];
|
|
2
|
+
import { booleanAttribute, Component, input, output, viewChild, } from '@angular/core';
|
|
3
|
+
import { TngPopover as TngPopoverPrimitive, TngPopoverPanel, TngPopoverTrigger, } from '@tailng-ui/primitives';
|
|
4
|
+
function normalizeOptionalBooleanInput(value) {
|
|
5
|
+
if (value === null || value === undefined) {
|
|
6
|
+
return undefined;
|
|
17
7
|
}
|
|
18
|
-
return
|
|
19
|
-
}
|
|
20
|
-
function toPopoverCloseReason(reason) {
|
|
21
|
-
if (reason === 'escape-key') {
|
|
22
|
-
return 'escape';
|
|
23
|
-
}
|
|
24
|
-
if (reason === 'outside-pointer') {
|
|
25
|
-
return 'outside-pointer';
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
8
|
+
return booleanAttribute(value);
|
|
28
9
|
}
|
|
29
10
|
let TngPopoverComponent = class TngPopoverComponent {
|
|
30
11
|
ariaLabel = input('Popover');
|
|
12
|
+
ariaHasPopup = input('dialog');
|
|
13
|
+
autoFocus = input('first-focusable');
|
|
14
|
+
align = input('start');
|
|
31
15
|
closeOnEscape = input(true, {
|
|
32
16
|
transform: booleanAttribute,
|
|
33
17
|
});
|
|
34
18
|
closeOnOutsidePointer = input(true, {
|
|
35
19
|
transform: booleanAttribute,
|
|
36
20
|
});
|
|
37
|
-
|
|
21
|
+
defaultOpen = input(false, {
|
|
22
|
+
transform: booleanAttribute,
|
|
23
|
+
});
|
|
24
|
+
disabled = input(false, {
|
|
38
25
|
transform: booleanAttribute,
|
|
39
26
|
});
|
|
27
|
+
open = input(undefined, {
|
|
28
|
+
transform: normalizeOptionalBooleanInput,
|
|
29
|
+
});
|
|
30
|
+
panelRole = input('dialog');
|
|
31
|
+
restoreFocus = input(true, {
|
|
32
|
+
transform: booleanAttribute,
|
|
33
|
+
});
|
|
34
|
+
side = input('bottom');
|
|
40
35
|
triggerLabel = input('Toggle Popover');
|
|
41
36
|
closed = output();
|
|
42
37
|
openChange = output();
|
|
43
|
-
|
|
44
|
-
hostRef = inject(ElementRef);
|
|
45
|
-
injector = inject(Injector);
|
|
46
|
-
panelRef = viewChild('panelRef');
|
|
47
|
-
instanceId = createPopoverId();
|
|
48
|
-
isLayerRegistered = false;
|
|
49
|
-
openStateEffect = effect(() => {
|
|
50
|
-
if (this.open()) {
|
|
51
|
-
this.registerOverlayLayer();
|
|
52
|
-
this.focusInitialElement();
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
this.unregisterOverlayLayer();
|
|
56
|
-
});
|
|
57
|
-
constructor() {
|
|
58
|
-
this.panelId = `${this.instanceId}-panel`;
|
|
59
|
-
}
|
|
38
|
+
popoverRef = viewChild.required('popoverRef');
|
|
60
39
|
close() {
|
|
61
|
-
this.
|
|
62
|
-
}
|
|
63
|
-
ngOnDestroy() {
|
|
64
|
-
this.openStateEffect.destroy();
|
|
65
|
-
this.unregisterOverlayLayer();
|
|
66
|
-
}
|
|
67
|
-
onTriggerClick() {
|
|
68
|
-
if (this.open()) {
|
|
69
|
-
this.requestClose('trigger-toggle');
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
this.openChange.emit(true);
|
|
73
|
-
}
|
|
74
|
-
handleOverlayDismiss(reason) {
|
|
75
|
-
const closeReason = toPopoverCloseReason(reason);
|
|
76
|
-
if (closeReason === null) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
this.requestClose(closeReason);
|
|
80
|
-
}
|
|
81
|
-
registerOverlayLayer() {
|
|
82
|
-
if (this.isLayerRegistered) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
this.isLayerRegistered = true;
|
|
86
|
-
tngOverlayRuntime.registerLayer({
|
|
87
|
-
containsTarget: (target) => {
|
|
88
|
-
return target instanceof Node ? this.hostRef.nativeElement.contains(target) : false;
|
|
89
|
-
},
|
|
90
|
-
dismissOnEscape: this.closeOnEscape(),
|
|
91
|
-
dismissOnOutsidePointer: this.closeOnOutsidePointer(),
|
|
92
|
-
id: this.instanceId,
|
|
93
|
-
onDismiss: (reason) => {
|
|
94
|
-
this.handleOverlayDismiss(reason);
|
|
95
|
-
},
|
|
96
|
-
priority: 110,
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
unregisterOverlayLayer() {
|
|
100
|
-
if (!this.isLayerRegistered) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
this.isLayerRegistered = false;
|
|
104
|
-
tngOverlayRuntime.unregisterLayer(this.instanceId);
|
|
105
|
-
}
|
|
106
|
-
focusInitialElement() {
|
|
107
|
-
afterNextRender(() => {
|
|
108
|
-
const panel = this.panelRef()?.nativeElement;
|
|
109
|
-
if (panel === undefined) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const firstFocusable = resolveFocusableElements(panel)[0];
|
|
113
|
-
if (firstFocusable !== undefined) {
|
|
114
|
-
firstFocusable.focus();
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
panel.focus();
|
|
118
|
-
}, { injector: this.injector });
|
|
119
|
-
}
|
|
120
|
-
requestClose(reason) {
|
|
121
|
-
this.closed.emit(reason);
|
|
122
|
-
this.openChange.emit(false);
|
|
40
|
+
this.popoverRef().closePopover('programmatic');
|
|
123
41
|
}
|
|
124
42
|
};
|
|
125
43
|
TngPopoverComponent = __decorate([
|
|
126
44
|
Component({
|
|
45
|
+
standalone: true,
|
|
127
46
|
selector: 'tng-popover',
|
|
47
|
+
imports: [TngPopoverPrimitive, TngPopoverTrigger, TngPopoverPanel],
|
|
128
48
|
templateUrl: './tng-popover.component.html',
|
|
129
49
|
styleUrl: './tng-popover.component.css',
|
|
130
50
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-popover.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/popover/tng-popover.component.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"tng-popover.component.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/popover/tng-popover.component.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,IAAI,mBAAmB,EACjC,eAAe,EACf,iBAAiB,GAOlB,MAAM,uBAAuB,CAAC;AAY/B,SAAS,6BAA6B,CAAC,KAA2B;IAChE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AASM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACd,SAAS,GAAG,KAAK,CAAS,SAAS,CAAC,CAAC;IACrC,YAAY,GAAG,KAAK,CAAyB,QAAQ,CAAC,CAAC;IACvD,SAAS,GAAG,KAAK,CAAsB,iBAAiB,CAAC,CAAC;IAC1D,KAAK,GAAG,KAAK,CAAkB,OAAO,CAAC,CAAC;IACxC,aAAa,GAAG,KAAK,CAA4B,IAAI,EAAE;QACrE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,qBAAqB,GAAG,KAAK,CAA4B,IAAI,EAAE;QAC7E,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAA4B,KAAK,EAAE;QACpE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,QAAQ,GAAG,KAAK,CAA4B,KAAK,EAAE;QACjE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAA4C,SAAS,EAAE;QACjF,SAAS,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACa,SAAS,GAAG,KAAK,CAAsB,QAAQ,CAAC,CAAC;IACjD,YAAY,GAAG,KAAK,CAA4B,IAAI,EAAE;QACpE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,IAAI,GAAG,KAAK,CAAiB,QAAQ,CAAC,CAAC;IACvC,YAAY,GAAG,KAAK,CAAS,gBAAgB,CAAC,CAAC;IAE/C,MAAM,GAAG,MAAM,EAAyB,CAAC;IACzC,UAAU,GAAG,MAAM,EAAW,CAAC;IAE5B,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAsB,YAAY,CAAC,CAAC;IAE/E,KAAK;QACV,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAnCY,mBAAmB;IAP/B,SAAS,CAAC;QACT,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,CAAC;QAClE,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,6BAA6B;KACxC,CAAC;GACW,mBAAmB,CAmC/B","sourcesContent":["import {\n booleanAttribute,\n Component,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport {\n TngPopover as TngPopoverPrimitive,\n TngPopoverPanel,\n TngPopoverTrigger,\n type TngPopoverAlign,\n type TngPopoverAriaHasPopup,\n type TngPopoverAutoFocus,\n type TngPopoverCloseReason,\n type TngPopoverPanelRole,\n type TngPopoverSide,\n} from '@tailng-ui/primitives';\nexport type {\n TngPopoverAlign,\n TngPopoverAriaHasPopup,\n TngPopoverAutoFocus,\n TngPopoverCloseReason,\n TngPopoverPanelRole,\n TngPopoverSide,\n} from '@tailng-ui/primitives';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\n@Component({\n standalone: true,\n selector: 'tng-popover',\n imports: [TngPopoverPrimitive, TngPopoverTrigger, TngPopoverPanel],\n templateUrl: './tng-popover.component.html',\n styleUrl: './tng-popover.component.css',\n})\nexport class TngPopoverComponent {\n public readonly ariaLabel = input<string>('Popover');\n public readonly ariaHasPopup = input<TngPopoverAriaHasPopup>('dialog');\n public readonly autoFocus = input<TngPopoverAutoFocus>('first-focusable');\n public readonly align = input<TngPopoverAlign>('start');\n public readonly closeOnEscape = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnOutsidePointer = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly defaultOpen = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n transform: normalizeOptionalBooleanInput,\n });\n public readonly panelRole = input<TngPopoverPanelRole>('dialog');\n public readonly restoreFocus = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly side = input<TngPopoverSide>('bottom');\n public readonly triggerLabel = input<string>('Toggle Popover');\n\n public readonly closed = output<TngPopoverCloseReason>();\n public readonly openChange = output<boolean>();\n\n protected readonly popoverRef = viewChild.required<TngPopoverPrimitive>('popoverRef');\n\n public close(): void {\n this.popoverRef().closePopover('programmatic');\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const tngOverlayFocusHandoff: Readonly<{
|
|
2
|
+
activateLayer: (layerId: string, restoreFocusTargetId?: string | null) => string | null;
|
|
3
|
+
deactivateLayer: (layerId: string) => string | null;
|
|
4
|
+
isTrapActive: (layerId: string) => boolean;
|
|
5
|
+
recordFocus: (layerId: string, id: string | null) => void;
|
|
6
|
+
registerLayer: (config: import("@tailng-ui/cdk").TngOverlayFocusLayerConfig) => void;
|
|
7
|
+
resolveFocusCandidate: (layerId: string, candidateId: string | null) => string | null;
|
|
8
|
+
unregisterLayer: (layerId: string) => void;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=tng-overlay-focus-handoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tng-overlay-focus-handoff.d.ts","sourceRoot":"","sources":["../../../../../../../libs/tailng-ui/components/src/lib/overlay/tng-overlay-focus-handoff.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB;yDACyI,CAAC;;;;;;;EADlG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tng-overlay-focus-handoff.js","sourceRoot":"","sources":["../../../../../../../libs/tailng-ui/components/src/lib/overlay/tng-overlay-focus-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC;AAErE,MAAM,CAAC,MAAM,sBAAsB,GAAG,mCAAmC,EAAE,CAAC","sourcesContent":["import { createOverlayFocusHandoffController } from '@tailng-ui/cdk';\n\nexport const tngOverlayFocusHandoff = createOverlayFocusHandoffController();\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const tngOverlayRuntime: Readonly<{
|
|
2
2
|
clearLayers: () => void;
|
|
3
|
-
dispatchKeydown: (event: import("@tailng-ui/cdk").TngOverlayKeyboardEvent) => void;
|
|
4
|
-
dispatchPointerDown: (event: import("@tailng-ui/cdk").TngOverlayPointerEvent) => void;
|
|
3
|
+
dispatchKeydown: (event: Readonly<import("@tailng-ui/cdk").TngOverlayKeyboardEvent>) => void;
|
|
4
|
+
dispatchPointerDown: (event: Readonly<import("@tailng-ui/cdk").TngOverlayPointerEvent>) => void;
|
|
5
5
|
dismissById: (id: string, reason: import("@tailng-ui/cdk").TngOverlayDismissReason) => void;
|
|
6
6
|
getLayerIds: () => readonly string[];
|
|
7
7
|
isTopLayer: (id: string) => boolean;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import type { OnDestroy } from '@angular/core';
|
|
2
1
|
import { type TngTooltipSide } from '@tailng-ui/primitives';
|
|
3
|
-
type TngTooltipKeyboardEvent = Readonly<Pick<KeyboardEvent, 'key'>> & Readonly<{
|
|
4
|
-
preventDefault: () => void;
|
|
5
|
-
}>;
|
|
6
2
|
export declare function normalizeTngTooltipDelay(value: number): number;
|
|
7
3
|
export declare function shouldCloseTngTooltipForKey(key: string): boolean;
|
|
8
|
-
export declare class TngTooltipComponent
|
|
9
|
-
private closeTimerId;
|
|
10
|
-
private openTimerId;
|
|
4
|
+
export declare class TngTooltipComponent {
|
|
11
5
|
readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
|
|
12
6
|
readonly closeDelay: import("@angular/core").InputSignal<number>;
|
|
13
7
|
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
|
|
@@ -16,16 +10,5 @@ export declare class TngTooltipComponent implements OnDestroy {
|
|
|
16
10
|
readonly text: import("@angular/core").InputSignal<string>;
|
|
17
11
|
readonly triggerLabel: import("@angular/core").InputSignal<string>;
|
|
18
12
|
readonly openChange: import("@angular/core").OutputEmitterRef<boolean>;
|
|
19
|
-
protected readonly open: import("@angular/core").WritableSignal<boolean>;
|
|
20
|
-
protected readonly tooltipId: string;
|
|
21
|
-
private readonly syncDisabledState;
|
|
22
|
-
ngOnDestroy(): void;
|
|
23
|
-
protected onCloseIntent(): void;
|
|
24
|
-
protected onOpenIntent(): void;
|
|
25
|
-
protected onTriggerKeydown(event: TngTooltipKeyboardEvent): void;
|
|
26
|
-
private clearCloseTimer;
|
|
27
|
-
private clearOpenTimer;
|
|
28
|
-
private setOpen;
|
|
29
13
|
}
|
|
30
|
-
export {};
|
|
31
14
|
//# sourceMappingURL=tng-tooltip.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tooltip.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/tooltip/tng-tooltip.component.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"tng-tooltip.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/components/src/lib/overlay/tooltip/tng-tooltip.component.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,qBAOa,mBAAmB;IAC9B,SAAgB,SAAS,qDAA8B;IACvD,SAAgB,UAAU,8CAAqB;IAC/C,SAAgB,QAAQ,8EAErB;IACH,SAAgB,SAAS,8CAAsB;IAC/C,SAAgB,IAAI,sDAAgC;IACpD,SAAgB,IAAI,8CAAqC;IACzD,SAAgB,YAAY,8CAAyB;IAErD,SAAgB,UAAU,oDAAqB;CAChD"}
|